Cabal 2.0.1.1 → 2.2.0.0
raw patch · 559 files changed
+27500/−49485 lines, 559 filesdep +Diffdep +base-compatdep +base-orphansdep −generics-sopdep −keysdep −singleton-booldep ~QuickCheckdep ~Win32dep ~arrayPVP ok
version bump matches the API change (PVP)
Dependencies added: Diff, base-compat, base-orphans, integer-logarithms, mtl, optparse-applicative, tasty-golden, text, tree-diff
Dependencies removed: generics-sop, keys, singleton-bool, these
Dependency ranges changed: QuickCheck, Win32, array, base, binary, bytestring, containers, deepseq, directory, filepath, old-time, parsec, pretty, process, tar, tasty, transformers, unix
API changes (from Hackage documentation)
Files
- Cabal.cabal +250/−76
- ChangeLog.md +771/−0
- Distribution/Backpack.hs +88/−23
- Distribution/Backpack/ConfiguredComponent.hs +6/−1
- Distribution/Backpack/LinkedComponent.hs +68/−62
- Distribution/Backpack/MixLink.hs +26/−33
- Distribution/Backpack/ModuleScope.hs +61/−18
- Distribution/Backpack/PreModuleShape.hs +45/−0
- Distribution/Backpack/UnifyM.hs +18/−30
- Distribution/CabalSpecVersion.hs +66/−0
- Distribution/Compat/Binary/Class.hs +49/−49
- Distribution/Compat/CharParsing.hs +356/−0
- Distribution/Compat/CopyFile.hs +69/−23
- Distribution/Compat/DList.hs +8/−0
- Distribution/Compat/Directory.hs +27/−0
- Distribution/Compat/Environment.hs +9/−0
- Distribution/Compat/Lens.hs +254/−0
- Distribution/Compat/Map/Strict.hs +5/−0
- Distribution/Compat/Newtype.hs +70/−0
- Distribution/Compat/Parsec.hs +0/−73
- Distribution/Compat/Parsing.hs +403/−0
- Distribution/Compat/Prelude.hs +3/−2
- Distribution/Compat/ReadP.hs +12/−4
- Distribution/Compiler.hs +21/−6
- Distribution/FieldGrammar.hs +85/−0
- Distribution/FieldGrammar/Class.hs +147/−0
- Distribution/FieldGrammar/FieldDescrs.hs +86/−0
- Distribution/FieldGrammar/Parsec.hs +297/−0
- Distribution/FieldGrammar/Pretty.hs +80/−0
- Distribution/InstalledPackageInfo.hs +47/−414
- Distribution/License.hs +118/−16
- Distribution/Make.hs +2/−0
- Distribution/ModuleName.hs +18/−5
- Distribution/Package.hs +1/−1
- Distribution/PackageDescription.hs +9/−6
- Distribution/PackageDescription/Check.hs +272/−197
- Distribution/PackageDescription/Configuration.hs +5/−5
- Distribution/PackageDescription/FieldGrammar.hs +532/−0
- Distribution/PackageDescription/Parse.hs +0/−1309
- Distribution/PackageDescription/Parsec.hs +587/−326
- Distribution/PackageDescription/Parsec/FieldDescr.hs +0/−619
- Distribution/PackageDescription/PrettyPrint.hs +116/−257
- Distribution/PackageDescription/Quirks.hs +203/−0
- Distribution/ParseUtils.hs +12/−1
- Distribution/Parsec/Class.hs +271/−400
- Distribution/Parsec/Common.hs +100/−0
- Distribution/Parsec/ConfVar.hs +25/−43
- Distribution/Parsec/Field.hs +96/−0
- Distribution/Parsec/FieldLineStream.hs +96/−0
- Distribution/Parsec/Lexer.hs +422/−0
- Distribution/Parsec/Lexer.x +0/−269
- Distribution/Parsec/LexerMonad.hs +26/−18
- Distribution/Parsec/Newtypes.hs +278/−0
- Distribution/Parsec/ParseResult.hs +142/−0
- Distribution/Parsec/Parser.hs +24/−49
- Distribution/Parsec/Types/Common.hs +0/−89
- Distribution/Parsec/Types/Field.hs +0/−82
- Distribution/Parsec/Types/FieldDescr.hs +0/−238
- Distribution/Parsec/Types/ParseResult.hs +0/−87
- Distribution/Pretty.hs +95/−0
- Distribution/PrettyUtils.hs +3/−44
- Distribution/ReadE.hs +13/−2
- Distribution/SPDX.hs +34/−0
- Distribution/SPDX/License.hs +64/−0
- Distribution/SPDX/LicenseExceptionId.hs +143/−0
- Distribution/SPDX/LicenseExpression.hs +158/−0
- Distribution/SPDX/LicenseId.hs +1485/−0
- Distribution/SPDX/LicenseReference.hs +79/−0
- Distribution/Simple.hs +83/−45
- Distribution/Simple/Build.hs +10/−1
- Distribution/Simple/Build/PathsModule.hs +24/−11
- Distribution/Simple/BuildPaths.hs +27/−7
- Distribution/Simple/BuildTarget.hs +4/−0
- Distribution/Simple/Compiler.hs +25/−4
- Distribution/Simple/Configure.hs +113/−54
- Distribution/Simple/GHC.hs +100/−15
- Distribution/Simple/GHC/IPIConvert.hs +9/−8
- Distribution/Simple/GHC/Internal.hs +66/−14
- Distribution/Simple/GHCJS.hs +6/−7
- Distribution/Simple/Haddock.hs +31/−37
- Distribution/Simple/HaskellSuite.hs +2/−2
- Distribution/Simple/Install.hs +9/−7
- Distribution/Simple/InstallDirs.hs +15/−3
- Distribution/Simple/JHC.hs +9/−9
- Distribution/Simple/LHC.hs +8/−8
- Distribution/Simple/PackageIndex.hs +2/−2
- Distribution/Simple/PreProcess.hs +2/−1
- Distribution/Simple/Program.hs +9/−10
- Distribution/Simple/Program/Ar.hs +27/−6
- Distribution/Simple/Program/GHC.hs +25/−8
- Distribution/Simple/Program/HcPkg.hs +1/−5
- Distribution/Simple/Program/Ld.hs +34/−9
- Distribution/Simple/Program/ResponseFile.hs +60/−0
- Distribution/Simple/Program/Run.hs +31/−27
- Distribution/Simple/Register.hs +20/−5
- Distribution/Simple/Setup.hs +172/−183
- Distribution/Simple/SrcDist.hs +1/−1
- Distribution/Simple/Test.hs +4/−4
- Distribution/Simple/Test/ExeV10.hs +2/−2
- Distribution/Simple/Test/LibV09.hs +2/−2
- Distribution/Simple/UHC.hs +4/−4
- Distribution/Simple/Utils.hs +91/−48
- Distribution/System.hs +54/−15
- Distribution/Text.hs +17/−23
- Distribution/Types/AbiDependency.hs +52/−0
- Distribution/Types/AbiHash.hs +13/−2
- Distribution/Types/AnnotatedId.hs +9/−0
- Distribution/Types/Benchmark.hs +7/−0
- Distribution/Types/Benchmark/Lens.hs +27/−0
- Distribution/Types/BenchmarkInterface.hs +2/−0
- Distribution/Types/BenchmarkType.hs +17/−8
- Distribution/Types/BuildInfo.hs +54/−0
- Distribution/Types/BuildInfo/Lens.hs +316/−0
- Distribution/Types/BuildType.hs +35/−16
- Distribution/Types/Component.hs +9/−0
- Distribution/Types/ComponentId.hs +10/−2
- Distribution/Types/ComponentName.hs +9/−7
- Distribution/Types/CondTree.hs +4/−0
- Distribution/Types/Condition.hs +2/−0
- Distribution/Types/Dependency.hs +13/−5
- Distribution/Types/ExeDependency.hs +23/−12
- Distribution/Types/Executable.hs +7/−0
- Distribution/Types/Executable/Lens.hs +32/−0
- Distribution/Types/ExecutableScope.hs +28/−19
- Distribution/Types/ExposedModule.hs +57/−0
- Distribution/Types/ForeignLib.hs +35/−10
- Distribution/Types/ForeignLib/Lens.hs +45/−0
- Distribution/Types/ForeignLibOption.hs +17/−4
- Distribution/Types/ForeignLibType.hs +21/−6
- Distribution/Types/GenericPackageDescription.hs +190/−24
- Distribution/Types/GenericPackageDescription/Lens.hs +121/−0
- Distribution/Types/IncludeRenaming.hs +29/−12
- Distribution/Types/InstalledPackageInfo.hs +168/−0
- Distribution/Types/InstalledPackageInfo/FieldGrammar.hs +262/−0
- Distribution/Types/InstalledPackageInfo/Lens.hs +179/−0
- Distribution/Types/LegacyExeDependency.hs +29/−15
- Distribution/Types/Lens.hs +25/−0
- Distribution/Types/Library.hs +15/−8
- Distribution/Types/Library/Lens.hs +40/−0
- Distribution/Types/LocalBuildInfo.hs +6/−2
- Distribution/Types/Mixin.hs +22/−9
- Distribution/Types/Module.hs +14/−2
- Distribution/Types/ModuleReexport.hs +27/−9
- Distribution/Types/ModuleRenaming.hs +61/−12
- Distribution/Types/MungedPackageName.hs +14/−7
- Distribution/Types/PackageDescription.hs +87/−36
- Distribution/Types/PackageDescription/Lens.hs +150/−0
- Distribution/Types/PackageId.hs +6/−4
- Distribution/Types/PackageId/Lens.hs +22/−0
- Distribution/Types/PackageName.hs +8/−1
- Distribution/Types/PkgconfigDependency.hs +22/−10
- Distribution/Types/PkgconfigName.hs +13/−4
- Distribution/Types/SetupBuildInfo.hs +10/−7
- Distribution/Types/SetupBuildInfo/Lens.hs +21/−0
- Distribution/Types/SourceRepo.hs +32/−13
- Distribution/Types/SourceRepo/Lens.hs +39/−0
- Distribution/Types/TestSuite.hs +7/−0
- Distribution/Types/TestSuite/Lens.hs +27/−0
- Distribution/Types/TestSuiteInterface.hs +1/−0
- Distribution/Types/TestType.hs +19/−9
- Distribution/Types/UnitId.hs +20/−3
- Distribution/Types/UnqualComponentName.hs +12/−7
- Distribution/Types/Version.hs +255/−0
- Distribution/Types/VersionInterval.hs +361/−0
- Distribution/Types/VersionRange.hs +586/−0
- Distribution/Utils/Generic.hs +165/−105
- Distribution/Utils/IOData.hs +73/−0
- Distribution/Utils/String.hs +12/−4
- Distribution/Verbosity.hs +37/−6
- Distribution/Version.hs +262/−1086
- Language/Haskell/Extension.hs +166/−120
- changelog +0/−671
- dist/build/Distribution/Parsec/Lexer.hs +0/−491
- doc/API/Cabal/Cabal.haddock binary
- doc/API/Cabal/Distribution-Backpack-ComponentsGraph.html +0/−11
- doc/API/Cabal/Distribution-Backpack-Configure.html +0/−5
- doc/API/Cabal/Distribution-Backpack-ConfiguredComponent.html +0/−16
- doc/API/Cabal/Distribution-Backpack-DescribeUnitId.html +0/−8
- doc/API/Cabal/Distribution-Backpack-FullUnitId.html +0/−4
- doc/API/Cabal/Distribution-Backpack-LinkedComponent.html +0/−20
- doc/API/Cabal/Distribution-Backpack-ModSubst.html +0/−5
- doc/API/Cabal/Distribution-Backpack-ModuleShape.html +0/−6
- doc/API/Cabal/Distribution-Backpack.html +0/−39
- doc/API/Cabal/Distribution-Compat-Binary.html +0/−4
- doc/API/Cabal/Distribution-Compat-CreatePipe.html +0/−4
- doc/API/Cabal/Distribution-Compat-DList.html +0/−4
- doc/API/Cabal/Distribution-Compat-Exception.html +0/−4
- doc/API/Cabal/Distribution-Compat-Graph.html +0/−46
- doc/API/Cabal/Distribution-Compat-Map-Strict.html +0/−4
- doc/API/Cabal/Distribution-Compat-Prelude-Internal.html too large to diff
- doc/API/Cabal/Distribution-Compat-ReadP.html +0/−41
- doc/API/Cabal/Distribution-Compat-Semigroup.html +0/−33
- doc/API/Cabal/Distribution-Compat-Stack.html +0/−41
- doc/API/Cabal/Distribution-Compat-Time.html +0/−12
- doc/API/Cabal/Distribution-Compiler.html +0/−26
- doc/API/Cabal/Distribution-InstalledPackageInfo.html +0/−30
- doc/API/Cabal/Distribution-License.html +0/−34
- doc/API/Cabal/Distribution-Make.html +0/−46
- doc/API/Cabal/Distribution-ModuleName.html +0/−8
- doc/API/Cabal/Distribution-Package.html +0/−14
- doc/API/Cabal/Distribution-PackageDescription-Check.html +0/−39
- doc/API/Cabal/Distribution-PackageDescription-Configuration.html +0/−44
- doc/API/Cabal/Distribution-PackageDescription-Parse.html +0/−13
- doc/API/Cabal/Distribution-PackageDescription-PrettyPrint.html +0/−4
- doc/API/Cabal/Distribution-PackageDescription-Utils.html +0/−4
- doc/API/Cabal/Distribution-PackageDescription.html +0/−185
- doc/API/Cabal/Distribution-ReadE.html +0/−4
- doc/API/Cabal/Distribution-Simple-Bench.html +0/−6
- doc/API/Cabal/Distribution-Simple-Build-Macros.html +0/−10
- doc/API/Cabal/Distribution-Simple-Build-PathsModule.html +0/−9
- doc/API/Cabal/Distribution-Simple-Build.html +0/−7
- doc/API/Cabal/Distribution-Simple-BuildPaths.html +0/−11
- doc/API/Cabal/Distribution-Simple-BuildTarget.html +0/−10
- doc/API/Cabal/Distribution-Simple-BuildToolDepends.html +0/−25
- doc/API/Cabal/Distribution-Simple-CCompiler.html +0/−13
- doc/API/Cabal/Distribution-Simple-Command.html +0/−30
- doc/API/Cabal/Distribution-Simple-Compiler.html +0/−42
- doc/API/Cabal/Distribution-Simple-Configure.html +0/−97
- doc/API/Cabal/Distribution-Simple-Doctest.html +0/−4
- doc/API/Cabal/Distribution-Simple-GHC.html +0/−29
- doc/API/Cabal/Distribution-Simple-GHCJS.html +0/−6
- doc/API/Cabal/Distribution-Simple-Haddock.html +0/−8
- doc/API/Cabal/Distribution-Simple-HaskellSuite.html +0/−4
- doc/API/Cabal/Distribution-Simple-Hpc.html +0/−7
- doc/API/Cabal/Distribution-Simple-Install.html +0/−9
- doc/API/Cabal/Distribution-Simple-InstallDirs.html +0/−40
- doc/API/Cabal/Distribution-Simple-JHC.html +0/−7
- doc/API/Cabal/Distribution-Simple-LHC.html +0/−19
- doc/API/Cabal/Distribution-Simple-LocalBuildInfo.html +0/−154
- doc/API/Cabal/Distribution-Simple-PackageIndex.html +0/−63
- doc/API/Cabal/Distribution-Simple-PreProcess-Unlit.html +0/−6
- doc/API/Cabal/Distribution-Simple-PreProcess.html +0/−41
- doc/API/Cabal/Distribution-Simple-Program-Ar.html +0/−14
- doc/API/Cabal/Distribution-Simple-Program-Builtin.html +0/−5
- doc/API/Cabal/Distribution-Simple-Program-Db.html +0/−54
- doc/API/Cabal/Distribution-Simple-Program-Find.html +0/−20
- doc/API/Cabal/Distribution-Simple-Program-GHC.html +0/−27
- doc/API/Cabal/Distribution-Simple-Program-HcPkg.html +0/−17
- doc/API/Cabal/Distribution-Simple-Program-Hpc.html +0/−8
- doc/API/Cabal/Distribution-Simple-Program-Internal.html +0/−7
- doc/API/Cabal/Distribution-Simple-Program-Ld.html +0/−4
- doc/API/Cabal/Distribution-Simple-Program-Run.html +0/−20
- doc/API/Cabal/Distribution-Simple-Program-Script.html +0/−6
- doc/API/Cabal/Distribution-Simple-Program-Strip.html +0/−4
- doc/API/Cabal/Distribution-Simple-Program-Types.html +0/−42
- doc/API/Cabal/Distribution-Simple-Program.html +0/−97
- doc/API/Cabal/Distribution-Simple-Register.html +0/−27
- doc/API/Cabal/Distribution-Simple-Setup.html +0/−56
- doc/API/Cabal/Distribution-Simple-SrcDist.html +0/−19
- doc/API/Cabal/Distribution-Simple-Test-ExeV10.html +0/−4
- doc/API/Cabal/Distribution-Simple-Test-LibV09.html +0/−10
- doc/API/Cabal/Distribution-Simple-Test-Log.html +0/−11
- doc/API/Cabal/Distribution-Simple-Test.html +0/−6
- doc/API/Cabal/Distribution-Simple-UHC.html +0/−7
- doc/API/Cabal/Distribution-Simple-UserHooks.html +0/−21
- doc/API/Cabal/Distribution-Simple-Utils.html +0/−116
- doc/API/Cabal/Distribution-Simple.html +0/−29
- doc/API/Cabal/Distribution-System.html +0/−33
- doc/API/Cabal/Distribution-TestSuite.html +0/−19
- doc/API/Cabal/Distribution-Text.html +0/−10
- doc/API/Cabal/Distribution-Types-AbiHash.html +0/−6
- doc/API/Cabal/Distribution-Types-AnnotatedId.html +0/−6
- doc/API/Cabal/Distribution-Types-Benchmark.html +0/−5
- doc/API/Cabal/Distribution-Types-BenchmarkInterface.html +0/−11
- doc/API/Cabal/Distribution-Types-BenchmarkType.html +0/−4
- doc/API/Cabal/Distribution-Types-BuildInfo.html +0/−11
- doc/API/Cabal/Distribution-Types-BuildType.html +0/−9
- doc/API/Cabal/Distribution-Types-Component.html +0/−6
- doc/API/Cabal/Distribution-Types-ComponentId.html +0/−9
- doc/API/Cabal/Distribution-Types-ComponentInclude.html +0/−5
- doc/API/Cabal/Distribution-Types-ComponentLocalBuildInfo.html +0/−91
- doc/API/Cabal/Distribution-Types-ComponentName.html +0/−8
- doc/API/Cabal/Distribution-Types-ComponentRequestedSpec.html +0/−30
- doc/API/Cabal/Distribution-Types-CondTree.html +0/−26
- doc/API/Cabal/Distribution-Types-Condition.html +0/−4
- doc/API/Cabal/Distribution-Types-Dependency.html +0/−5
- doc/API/Cabal/Distribution-Types-DependencyMap.html +0/−5
- doc/API/Cabal/Distribution-Types-ExeDependency.html +0/−4
- doc/API/Cabal/Distribution-Types-Executable.html +0/−5
- doc/API/Cabal/Distribution-Types-ExecutableScope.html +0/−4
- doc/API/Cabal/Distribution-Types-ForeignLib.html +0/−17
- doc/API/Cabal/Distribution-Types-ForeignLibOption.html +0/−8
- doc/API/Cabal/Distribution-Types-ForeignLibType.html +0/−5
- doc/API/Cabal/Distribution-Types-GenericPackageDescription.html +0/−9
- doc/API/Cabal/Distribution-Types-HookedBuildInfo.html +0/−41
- doc/API/Cabal/Distribution-Types-IncludeRenaming.html +0/−5
- doc/API/Cabal/Distribution-Types-LegacyExeDependency.html +0/−6
- doc/API/Cabal/Distribution-Types-Library.html +0/−14
- doc/API/Cabal/Distribution-Types-LocalBuildInfo.html +0/−56
- doc/API/Cabal/Distribution-Types-Mixin.html +0/−4
- doc/API/Cabal/Distribution-Types-Module.html +0/−11
- doc/API/Cabal/Distribution-Types-ModuleReexport.html +0/−4
- doc/API/Cabal/Distribution-Types-ModuleRenaming.html +0/−14
- doc/API/Cabal/Distribution-Types-MungedPackageId.html +0/−8
- doc/API/Cabal/Distribution-Types-MungedPackageName.html +0/−26
- doc/API/Cabal/Distribution-Types-PackageDescription.html +0/−62
- doc/API/Cabal/Distribution-Types-PackageId.html +0/−4
- doc/API/Cabal/Distribution-Types-PackageName.html +0/−6
- doc/API/Cabal/Distribution-Types-PkgconfigDependency.html +0/−4
- doc/API/Cabal/Distribution-Types-PkgconfigName.html +0/−5
- doc/API/Cabal/Distribution-Types-SetupBuildInfo.html +0/−7
- doc/API/Cabal/Distribution-Types-SourceRepo.html +0/−34
- doc/API/Cabal/Distribution-Types-TargetInfo.html +0/−8
- doc/API/Cabal/Distribution-Types-TestSuite.html +0/−5
- doc/API/Cabal/Distribution-Types-TestSuiteInterface.html +0/−11
- doc/API/Cabal/Distribution-Types-TestType.html +0/−4
- doc/API/Cabal/Distribution-Types-UnitId.html +0/−34
- doc/API/Cabal/Distribution-Types-UnqualComponentName.html +0/−10
- doc/API/Cabal/Distribution-Utils-Generic.html +0/−59
- doc/API/Cabal/Distribution-Utils-LogProgress.html +0/−6
- doc/API/Cabal/Distribution-Utils-MapAccum.html +0/−4
- doc/API/Cabal/Distribution-Utils-NubList.html +0/−15
- doc/API/Cabal/Distribution-Utils-Progress.html +0/−11
- doc/API/Cabal/Distribution-Utils-ShortText.html +0/−8
- doc/API/Cabal/Distribution-Verbosity.html +0/−11
- doc/API/Cabal/Distribution-Version.html +0/−78
- doc/API/Cabal/Language-Haskell-Extension.html +0/−113
- doc/API/Cabal/doc-index-124.html +0/−4
- doc/API/Cabal/doc-index-33.html +0/−4
- doc/API/Cabal/doc-index-36.html +0/−4
- doc/API/Cabal/doc-index-38.html +0/−4
- doc/API/Cabal/doc-index-42.html +0/−4
- doc/API/Cabal/doc-index-43.html +0/−4
- doc/API/Cabal/doc-index-45.html +0/−4
- doc/API/Cabal/doc-index-46.html +0/−4
- doc/API/Cabal/doc-index-47.html +0/−4
- doc/API/Cabal/doc-index-60.html +0/−4
- doc/API/Cabal/doc-index-61.html +0/−4
- doc/API/Cabal/doc-index-62.html +0/−4
- doc/API/Cabal/doc-index-92.html +0/−4
- doc/API/Cabal/doc-index-94.html +0/−4
- doc/API/Cabal/doc-index-A.html +0/−4
- doc/API/Cabal/doc-index-All.html +0/−4
- doc/API/Cabal/doc-index-B.html +0/−4
- doc/API/Cabal/doc-index-C.html +0/−4
- doc/API/Cabal/doc-index-D.html +0/−4
- doc/API/Cabal/doc-index-E.html +0/−4
- doc/API/Cabal/doc-index-F.html +0/−4
- doc/API/Cabal/doc-index-G.html +0/−4
- doc/API/Cabal/doc-index-H.html +0/−4
- doc/API/Cabal/doc-index-I.html +0/−4
- doc/API/Cabal/doc-index-J.html +0/−4
- doc/API/Cabal/doc-index-K.html +0/−4
- doc/API/Cabal/doc-index-L.html +0/−4
- doc/API/Cabal/doc-index-M.html +0/−4
- doc/API/Cabal/doc-index-N.html +0/−4
- doc/API/Cabal/doc-index-O.html +0/−4
- doc/API/Cabal/doc-index-P.html +0/−4
- doc/API/Cabal/doc-index-Q.html +0/−4
- doc/API/Cabal/doc-index-R.html +0/−4
- doc/API/Cabal/doc-index-S.html +0/−4
- doc/API/Cabal/doc-index-T.html +0/−4
- doc/API/Cabal/doc-index-U.html +0/−4
- doc/API/Cabal/doc-index-V.html +0/−4
- doc/API/Cabal/doc-index-W.html +0/−4
- doc/API/Cabal/doc-index-X.html +0/−4
- doc/API/Cabal/doc-index-Y.html +0/−4
- doc/API/Cabal/doc-index-Z.html +0/−4
- doc/API/Cabal/doc-index.html +0/−4
- doc/API/Cabal/haddock-util.js +0/−186
- doc/API/Cabal/hslogo-16.png binary
- doc/API/Cabal/index.html +0/−7
- doc/API/Cabal/minus.gif binary
- doc/API/Cabal/ocean.css +0/−618
- doc/API/Cabal/plus.gif binary
- doc/API/Cabal/synopsis.png binary
- doc/README.md +6/−2
- doc/conf.py +12/−1
- doc/developing-packages.rst +435/−67
- doc/installing-packages.rst +24/−3
- doc/nix-local-build.rst +183/−39
- doc/references.inc +2/−0
- doc/users-guide/.buildinfo +0/−4
- doc/users-guide/.doctrees/bugs-and-stability.doctree binary
- doc/users-guide/.doctrees/concepts-and-development.doctree binary
- doc/users-guide/.doctrees/config-and-install.doctree binary
- doc/users-guide/.doctrees/developing-packages.doctree binary
- doc/users-guide/.doctrees/environment.pickle binary
- doc/users-guide/.doctrees/index.doctree binary
- doc/users-guide/.doctrees/installing-packages.doctree binary
- doc/users-guide/.doctrees/intro.doctree binary
- doc/users-guide/.doctrees/misc.doctree binary
- doc/users-guide/.doctrees/nix-integration.doctree binary
- doc/users-guide/.doctrees/nix-local-build-overview.doctree binary
- doc/users-guide/.doctrees/nix-local-build.doctree binary
- doc/users-guide/_sources/bugs-and-stability.rst.txt +0/−6
- doc/users-guide/_sources/concepts-and-development.rst.txt +0/−7
- doc/users-guide/_sources/config-and-install.rst.txt +0/−5
- doc/users-guide/_sources/developing-packages.rst.txt +0/−2866
- doc/users-guide/_sources/index.rst.txt +0/−14
- doc/users-guide/_sources/installing-packages.rst.txt +0/−1702
- doc/users-guide/_sources/intro.rst.txt +0/−200
- doc/users-guide/_sources/misc.rst.txt +0/−103
- doc/users-guide/_sources/nix-integration.rst.txt +0/−49
- doc/users-guide/_sources/nix-local-build-overview.rst.txt +0/−34
- doc/users-guide/_sources/nix-local-build.rst.txt +0/−1719
- doc/users-guide/_static/Cabal-dark.png binary
- doc/users-guide/_static/ajax-loader.gif binary
- doc/users-guide/_static/basic.css +0/−639
- doc/users-guide/_static/comment-bright.png binary
- doc/users-guide/_static/comment-close.png binary
- doc/users-guide/_static/comment.png binary
- doc/users-guide/_static/css/badge_only.css +0/−2
- doc/users-guide/_static/css/theme.css +0/−5
- doc/users-guide/_static/doctools.js +0/−287
- doc/users-guide/_static/down-pressed.png binary
- doc/users-guide/_static/down.png binary
- doc/users-guide/_static/file.png binary
- doc/users-guide/_static/fonts/Inconsolata-Bold.ttf binary
- doc/users-guide/_static/fonts/Inconsolata-Regular.ttf binary
- doc/users-guide/_static/fonts/Lato-Bold.ttf binary
- doc/users-guide/_static/fonts/Lato-Regular.ttf binary
- doc/users-guide/_static/fonts/RobotoSlab-Bold.ttf binary
- doc/users-guide/_static/fonts/RobotoSlab-Regular.ttf binary
- doc/users-guide/_static/fonts/fontawesome-webfont.eot binary
- doc/users-guide/_static/fonts/fontawesome-webfont.svg +0/−685
- doc/users-guide/_static/fonts/fontawesome-webfont.ttf binary
- doc/users-guide/_static/fonts/fontawesome-webfont.woff binary
- doc/users-guide/_static/jquery-3.1.0.js +0/−10074
- doc/users-guide/_static/jquery.js +0/−4
- doc/users-guide/_static/js/modernizr.min.js +0/−4
- doc/users-guide/_static/js/theme.js +0/−169
- doc/users-guide/_static/minus.png binary
- doc/users-guide/_static/plus.png binary
- doc/users-guide/_static/pygments.css +0/−2
- doc/users-guide/_static/searchtools.js +0/−758
- doc/users-guide/_static/underscore-1.3.1.js +0/−999
- doc/users-guide/_static/underscore.js +0/−31
- doc/users-guide/_static/up-pressed.png binary
- doc/users-guide/_static/up.png binary
- doc/users-guide/_static/websupport.js +0/−808
- doc/users-guide/bugs-and-stability.html +0/−272
- doc/users-guide/cabal-projectindex.html +0/−1604
- doc/users-guide/concepts-and-development.html +0/−284
- doc/users-guide/config-and-install.html +0/−299
- doc/users-guide/developing-packages.html +0/−3144
- doc/users-guide/genindex.html +0/−3277
- doc/users-guide/index.html +0/−285
- doc/users-guide/installing-packages.html +0/−1973
- doc/users-guide/intro.html +0/−413
- doc/users-guide/misc.html +0/−357
- doc/users-guide/nix-integration.html +0/−286
- doc/users-guide/nix-local-build-overview.html +0/−322
- doc/users-guide/nix-local-build.html +0/−2293
- doc/users-guide/objects.inv binary
- doc/users-guide/search.html +0/−248
- doc/users-guide/searchindex.js +0/−1
- tests/CheckTests.hs +73/−0
- tests/DiffInstances.hs +0/−107
- tests/HackageTests.hs +299/−0
- tests/Instances/TreeDiff.hs +91/−0
- tests/Instances/TreeDiff/Language.hs +17/−0
- tests/Instances/TreeDiff/SPDX.hs +28/−0
- tests/Instances/TreeDiff/Version.hs +14/−0
- tests/ParserHackageTests.hs +0/−365
- tests/ParserTests.hs +257/−11
- tests/ParserTests/errors/common1.cabal +29/−0
- tests/ParserTests/errors/common1.errors +2/−0
- tests/ParserTests/errors/common2.cabal +29/−0
- tests/ParserTests/errors/common2.errors +2/−0
- tests/ParserTests/errors/common3.cabal +31/−0
- tests/ParserTests/errors/common3.errors +2/−0
- tests/ParserTests/errors/forward-compat.cabal +4/−0
- tests/ParserTests/errors/forward-compat.errors +5/−0
- tests/ParserTests/errors/forward-compat2.cabal +16/−0
- tests/ParserTests/errors/forward-compat2.errors +2/−0
- tests/ParserTests/errors/forward-compat3.cabal +16/−0
- tests/ParserTests/errors/forward-compat3.errors +2/−0
- tests/ParserTests/errors/issue-5055-2.cabal +25/−0
- tests/ParserTests/errors/issue-5055-2.errors +2/−0
- tests/ParserTests/errors/issue-5055.cabal +21/−0
- tests/ParserTests/errors/issue-5055.errors +2/−0
- tests/ParserTests/errors/leading-comma.cabal +20/−0
- tests/ParserTests/errors/leading-comma.errors +8/−0
- tests/ParserTests/errors/noVersion.cabal +10/−0
- tests/ParserTests/errors/noVersion.errors +6/−0
- tests/ParserTests/errors/noVersion2.cabal +10/−0
- tests/ParserTests/errors/noVersion2.errors +7/−0
- tests/ParserTests/errors/range-ge-wild.cabal +10/−0
- tests/ParserTests/errors/range-ge-wild.errors +6/−0
- tests/ParserTests/ipi/Includes2.cabal +27/−0
- tests/ParserTests/ipi/Includes2.expr +50/−0
- tests/ParserTests/ipi/Includes2.format +24/−0
- tests/ParserTests/ipi/internal-preprocessor-test.cabal +26/−0
- tests/ParserTests/ipi/internal-preprocessor-test.expr +45/−0
- tests/ParserTests/ipi/internal-preprocessor-test.format +23/−0
- tests/ParserTests/ipi/issue-2276-ghc-9885.cabal +175/−0
- tests/ParserTests/ipi/issue-2276-ghc-9885.expr +2085/−0
- tests/ParserTests/ipi/issue-2276-ghc-9885.format +173/−0
- tests/ParserTests/ipi/transformers.cabal +59/−0
- tests/ParserTests/ipi/transformers.expr +85/−0
- tests/ParserTests/ipi/transformers.format +55/−0
- tests/ParserTests/regressions/MiniAgda.cabal +89/−0
- tests/ParserTests/regressions/MiniAgda.check +1/−0
- tests/ParserTests/regressions/Octree-0.5.cabal +44/−0
- tests/ParserTests/regressions/Octree-0.5.expr +286/−0
- tests/ParserTests/regressions/Octree-0.5.format +52/−0
- tests/ParserTests/regressions/common.cabal +32/−0
- tests/ParserTests/regressions/common.expr +156/−0
- tests/ParserTests/regressions/common.format +25/−0
- tests/ParserTests/regressions/common2.cabal +43/−0
- tests/ParserTests/regressions/common2.expr +412/−0
- tests/ParserTests/regressions/common2.format +41/−0
- tests/ParserTests/regressions/elif.cabal +20/−0
- tests/ParserTests/regressions/elif.expr +157/−0
- tests/ParserTests/regressions/elif.format +20/−0
- tests/ParserTests/regressions/elif2.cabal +20/−0
- tests/ParserTests/regressions/elif2.expr +316/−0
- tests/ParserTests/regressions/elif2.format +25/−0
- tests/ParserTests/regressions/encoding-0.8.cabal +24/−0
- tests/ParserTests/regressions/encoding-0.8.expr +119/−0
- tests/ParserTests/regressions/encoding-0.8.format +19/−0
- tests/ParserTests/regressions/extensions-paths-5054.cabal +39/−0
- tests/ParserTests/regressions/extensions-paths-5054.check +1/−0
- tests/ParserTests/regressions/generics-sop.cabal +128/−0
- tests/ParserTests/regressions/generics-sop.expr +638/−0
- tests/ParserTests/regressions/generics-sop.format +121/−0
- tests/ParserTests/regressions/haddock-api-2.18.1-check.cabal +147/−0
- tests/ParserTests/regressions/haddock-api-2.18.1-check.check +11/−0
- tests/ParserTests/regressions/issue-5055.cabal +25/−0
- tests/ParserTests/regressions/issue-5055.expr +215/−0
- tests/ParserTests/regressions/issue-5055.format +24/−0
- tests/ParserTests/regressions/issue-774.cabal +21/−0
- tests/ParserTests/regressions/issue-774.check +7/−0
- tests/ParserTests/regressions/issue-774.expr +105/−0
- tests/ParserTests/regressions/issue-774.format +19/−0
- tests/ParserTests/regressions/leading-comma.cabal +19/−0
- tests/ParserTests/regressions/leading-comma.expr +115/−0
- tests/ParserTests/regressions/leading-comma.format +17/−0
- tests/ParserTests/regressions/noVersion.cabal +11/−0
- tests/ParserTests/regressions/noVersion.expr +103/−0
- tests/ParserTests/regressions/noVersion.format +12/−0
- tests/ParserTests/regressions/nothing-unicode.cabal +21/−0
- tests/ParserTests/regressions/nothing-unicode.check +6/−0
- tests/ParserTests/regressions/nothing-unicode.expr +157/−0
- tests/ParserTests/regressions/nothing-unicode.format +22/−0
- tests/ParserTests/regressions/shake.cabal +402/−0
- tests/ParserTests/regressions/shake.expr +1721/−0
- tests/ParserTests/regressions/shake.format +411/−0
- tests/ParserTests/regressions/th-lift-instances.cabal +76/−0
- tests/ParserTests/regressions/th-lift-instances.expr +432/−0
- tests/ParserTests/regressions/th-lift-instances.format +78/−0
- tests/ParserTests/regressions/wl-pprint-indef.cabal +34/−0
- tests/ParserTests/regressions/wl-pprint-indef.expr +183/−0
- tests/ParserTests/regressions/wl-pprint-indef.format +38/−0
- tests/ParserTests/warnings/doubledash.cabal +9/−0
- tests/ParserTests/warnings/multiplesingular.cabal +8/−0
- tests/ParserTests/warnings/subsection.cabal +1/−1
- tests/ParserTests/warnings/tab.cabal +12/−0
- tests/StructDiff.hs +0/−162
- tests/UnitTests.hs +9/−0
- tests/UnitTests/Distribution/SPDX.hs +99/−0
- tests/UnitTests/Distribution/Simple/Utils.hs +6/−5
- tests/UnitTests/Distribution/Types/GenericPackageDescription.hs +37/−0
- tests/UnitTests/Distribution/Utils/Generic.hs +71/−0
- tests/UnitTests/Distribution/Version.hs +173/−188
- tests/custom-setup/CabalDoctestSetup.hs +475/−0
- tests/custom-setup/CustomSetupTests.hs +8/−0
- tests/custom-setup/IdrisSetup.hs +383/−0
@@ -1,6 +1,6 @@ name: Cabal-version: 2.0.1.1-copyright: 2003-2017, Cabal Development Team (see AUTHORS file)+version: 2.2.0.0+copyright: 2003-2018, Cabal Development Team (see AUTHORS file) license: BSD3 license-file: LICENSE author: Cabal Development Team <cabal-devel@haskell.org>@@ -22,25 +22,117 @@ -- we can bootstrap. extra-source-files:- README.md tests/README.md changelog+ README.md tests/README.md ChangeLog.md doc/bugs-and-stability.rst doc/concepts-and-development.rst doc/conf.py doc/config-and-install.rst doc/developing-packages.rst doc/images/Cabal-dark.png doc/index.rst doc/installing-packages.rst doc/intro.rst doc/misc.rst doc/nix-local-build-overview.rst doc/nix-local-build.rst doc/README.md doc/references.inc - -- Generated with 'misc/gen-extra-source-files.sh'+ -- Generated with 'make gen-extra-source-files' -- Do NOT edit this section manually; instead, run the script. -- BEGIN gen-extra-source-files+ tests/ParserTests/errors/common1.cabal+ tests/ParserTests/errors/common1.errors+ tests/ParserTests/errors/common2.cabal+ tests/ParserTests/errors/common2.errors+ tests/ParserTests/errors/common3.cabal+ tests/ParserTests/errors/common3.errors+ tests/ParserTests/errors/forward-compat.cabal+ tests/ParserTests/errors/forward-compat.errors+ tests/ParserTests/errors/forward-compat2.cabal+ tests/ParserTests/errors/forward-compat2.errors+ tests/ParserTests/errors/forward-compat3.cabal+ tests/ParserTests/errors/forward-compat3.errors+ tests/ParserTests/errors/issue-5055-2.cabal+ tests/ParserTests/errors/issue-5055-2.errors+ tests/ParserTests/errors/issue-5055.cabal+ tests/ParserTests/errors/issue-5055.errors+ tests/ParserTests/errors/leading-comma.cabal+ tests/ParserTests/errors/leading-comma.errors+ tests/ParserTests/errors/noVersion.cabal+ tests/ParserTests/errors/noVersion.errors+ tests/ParserTests/errors/noVersion2.cabal+ tests/ParserTests/errors/noVersion2.errors+ tests/ParserTests/errors/range-ge-wild.cabal+ tests/ParserTests/errors/range-ge-wild.errors+ tests/ParserTests/ipi/Includes2.cabal+ tests/ParserTests/ipi/Includes2.expr+ tests/ParserTests/ipi/Includes2.format+ tests/ParserTests/ipi/internal-preprocessor-test.cabal+ tests/ParserTests/ipi/internal-preprocessor-test.expr+ tests/ParserTests/ipi/internal-preprocessor-test.format+ tests/ParserTests/ipi/issue-2276-ghc-9885.cabal+ tests/ParserTests/ipi/issue-2276-ghc-9885.expr+ tests/ParserTests/ipi/issue-2276-ghc-9885.format+ tests/ParserTests/ipi/transformers.cabal+ tests/ParserTests/ipi/transformers.expr+ tests/ParserTests/ipi/transformers.format+ tests/ParserTests/regressions/MiniAgda.cabal+ tests/ParserTests/regressions/MiniAgda.check+ tests/ParserTests/regressions/Octree-0.5.cabal+ tests/ParserTests/regressions/Octree-0.5.expr+ tests/ParserTests/regressions/Octree-0.5.format+ tests/ParserTests/regressions/common.cabal+ tests/ParserTests/regressions/common.expr+ tests/ParserTests/regressions/common.format+ tests/ParserTests/regressions/common2.cabal+ tests/ParserTests/regressions/common2.expr+ tests/ParserTests/regressions/common2.format+ tests/ParserTests/regressions/elif.cabal+ tests/ParserTests/regressions/elif.expr+ tests/ParserTests/regressions/elif.format+ tests/ParserTests/regressions/elif2.cabal+ tests/ParserTests/regressions/elif2.expr+ tests/ParserTests/regressions/elif2.format+ tests/ParserTests/regressions/encoding-0.8.cabal+ tests/ParserTests/regressions/encoding-0.8.expr+ tests/ParserTests/regressions/encoding-0.8.format+ tests/ParserTests/regressions/extensions-paths-5054.cabal+ tests/ParserTests/regressions/extensions-paths-5054.check+ tests/ParserTests/regressions/generics-sop.cabal+ tests/ParserTests/regressions/generics-sop.expr+ tests/ParserTests/regressions/generics-sop.format+ tests/ParserTests/regressions/haddock-api-2.18.1-check.cabal+ tests/ParserTests/regressions/haddock-api-2.18.1-check.check+ tests/ParserTests/regressions/issue-5055.cabal+ tests/ParserTests/regressions/issue-5055.expr+ tests/ParserTests/regressions/issue-5055.format+ tests/ParserTests/regressions/issue-774.cabal+ tests/ParserTests/regressions/issue-774.check+ tests/ParserTests/regressions/issue-774.expr+ tests/ParserTests/regressions/issue-774.format+ tests/ParserTests/regressions/leading-comma.cabal+ tests/ParserTests/regressions/leading-comma.expr+ tests/ParserTests/regressions/leading-comma.format+ tests/ParserTests/regressions/noVersion.cabal+ tests/ParserTests/regressions/noVersion.expr+ tests/ParserTests/regressions/noVersion.format+ tests/ParserTests/regressions/nothing-unicode.cabal+ tests/ParserTests/regressions/nothing-unicode.check+ tests/ParserTests/regressions/nothing-unicode.expr+ tests/ParserTests/regressions/nothing-unicode.format+ tests/ParserTests/regressions/shake.cabal+ tests/ParserTests/regressions/shake.expr+ tests/ParserTests/regressions/shake.format+ tests/ParserTests/regressions/th-lift-instances.cabal+ tests/ParserTests/regressions/th-lift-instances.expr+ tests/ParserTests/regressions/th-lift-instances.format+ tests/ParserTests/regressions/wl-pprint-indef.cabal+ tests/ParserTests/regressions/wl-pprint-indef.expr+ tests/ParserTests/regressions/wl-pprint-indef.format tests/ParserTests/warnings/bom.cabal tests/ParserTests/warnings/bool.cabal tests/ParserTests/warnings/deprecatedfield.cabal+ tests/ParserTests/warnings/doubledash.cabal tests/ParserTests/warnings/extratestmodule.cabal tests/ParserTests/warnings/gluedop.cabal+ tests/ParserTests/warnings/multiplesingular.cabal tests/ParserTests/warnings/nbsp.cabal tests/ParserTests/warnings/newsyntax.cabal tests/ParserTests/warnings/oldsyntax.cabal tests/ParserTests/warnings/subsection.cabal+ tests/ParserTests/warnings/tab.cabal tests/ParserTests/warnings/trailingfield.cabal tests/ParserTests/warnings/unknownfield.cabal tests/ParserTests/warnings/unknownsection.cabal@@ -64,37 +156,28 @@ description: Use directory < 1.2 and old-time default: False -flag parsec- description: Use parsec parser- default: False- manual: True--flag parsec-struct-diff- description: Use StructDiff in parsec tests. Affects only parsec tests.- default: False- manual: True- library build-depends:- array >= 0.1 && < 0.6,- base >= 4.5 && < 5,- bytestring >= 0.9 && < 1,- containers >= 0.4 && < 0.6,- deepseq >= 1.3 && < 1.5,- filepath >= 1.3 && < 1.5,- pretty >= 1.1 && < 1.2,+ array >= 0.4 && < 0.6,+ base >= 4.5 && < 5,+ bytestring >= 0.9.2.1 && < 0.11,+ containers >= 0.4.2.1 && < 0.6,+ deepseq >= 1.3 && < 1.5,+ filepath >= 1.3 && < 1.5,+ pretty >= 1.1.1 && < 1.2, process >= 1.1.0.1 && < 1.7,- time >= 1.4 && < 1.9+ time >= 1.4 && < 1.9 if flag(old-directory)- build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,- process >= 1.0.1.1 && < 1.1.0.2+ build-depends: directory >= 1.1.0.2 && < 1.2,+ process >= 1.0.1.1 && < 1.1.0.2,+ old-time >= 1.1 && < 1.2 else- build-depends: directory >= 1.2 && < 1.4,+ build-depends: directory >= 1.2 && < 1.4, process >= 1.1.0.2 && < 1.7 if flag(bundled-binary-generic)- build-depends: binary >= 0.5 && < 0.7+ build-depends: binary >= 0.5.1 && < 0.7 else build-depends: binary >= 0.7 && < 0.9 @@ -102,13 +185,10 @@ if impl(ghc < 7.6) build-depends: ghc-prim >= 0.2 && < 0.3 - if !os(windows)- build-depends:- unix >= 2.5 && < 2.8- if os(windows)- build-depends:- Win32 >= 2.2 && < 2.7+ build-depends: Win32 >= 2.2.2 && < 2.7+ else+ build-depends: unix >= 2.5.1 && < 2.8 ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs if impl(ghc >= 8.0)@@ -125,14 +205,19 @@ Distribution.Backpack.LinkedComponent Distribution.Backpack.ModSubst Distribution.Backpack.ModuleShape+ Distribution.Backpack.PreModuleShape+ Distribution.CabalSpecVersion+ Distribution.Utils.IOData Distribution.Utils.LogProgress Distribution.Utils.MapAccum Distribution.Compat.CreatePipe+ Distribution.Compat.Directory Distribution.Compat.Environment Distribution.Compat.Exception Distribution.Compat.Graph Distribution.Compat.Internal.TempFile Distribution.Compat.Map.Strict+ Distribution.Compat.Newtype Distribution.Compat.Prelude.Internal Distribution.Compat.ReadP Distribution.Compat.Semigroup@@ -141,6 +226,10 @@ Distribution.Compat.DList Distribution.Compiler Distribution.InstalledPackageInfo+ Distribution.Types.AbiDependency+ Distribution.Types.ExposedModule+ Distribution.Types.InstalledPackageInfo+ Distribution.Types.InstalledPackageInfo.FieldGrammar Distribution.License Distribution.Make Distribution.ModuleName@@ -148,7 +237,6 @@ Distribution.PackageDescription Distribution.PackageDescription.Check Distribution.PackageDescription.Configuration- Distribution.PackageDescription.Parse Distribution.PackageDescription.PrettyPrint Distribution.PackageDescription.Utils Distribution.ParseUtils@@ -190,6 +278,7 @@ Distribution.Simple.Program.Hpc Distribution.Simple.Program.Internal Distribution.Simple.Program.Ld+ Distribution.Simple.Program.ResponseFile Distribution.Simple.Program.Run Distribution.Simple.Program.Script Distribution.Simple.Program.Strip@@ -204,9 +293,16 @@ Distribution.Simple.UHC Distribution.Simple.UserHooks Distribution.Simple.Utils+ Distribution.SPDX+ Distribution.SPDX.License+ Distribution.SPDX.LicenseId+ Distribution.SPDX.LicenseExceptionId+ Distribution.SPDX.LicenseExpression+ Distribution.SPDX.LicenseReference Distribution.System Distribution.TestSuite Distribution.Text+ Distribution.Pretty Distribution.Types.AbiHash Distribution.Types.AnnotatedId Distribution.Types.Benchmark@@ -255,6 +351,9 @@ Distribution.Types.LocalBuildInfo Distribution.Types.ComponentRequestedSpec Distribution.Types.TargetInfo+ Distribution.Types.Version+ Distribution.Types.VersionRange+ Distribution.Types.VersionInterval Distribution.Utils.Generic Distribution.Utils.NubList Distribution.Utils.ShortText@@ -264,27 +363,51 @@ Language.Haskell.Extension Distribution.Compat.Binary - if flag(parsec)- cpp-options: -DCABAL_PARSEC- build-depends:- transformers,- parsec >= 3.1.9 && <3.2- build-tools:- alex >=3.1.4 && <3.3- exposed-modules:- Distribution.Compat.Parsec- Distribution.PackageDescription.Parsec- Distribution.PackageDescription.Parsec.FieldDescr- Distribution.Parsec.Class- Distribution.Parsec.ConfVar- Distribution.Parsec.Lexer- Distribution.Parsec.LexerMonad- Distribution.Parsec.Parser- Distribution.Parsec.Types.Common- Distribution.Parsec.Types.Field- Distribution.Parsec.Types.FieldDescr- Distribution.Parsec.Types.ParseResult+ -- Parsec parser-related modules+ build-depends:+ transformers >= 0.3 && < 0.6,+ mtl >= 2.1 && < 2.3,+ text >= 1.2.3.0 && < 1.3,+ parsec >= 3.1.13.0 && < 3.2+ exposed-modules:+ Distribution.Compat.Parsing+ Distribution.Compat.CharParsing+ Distribution.FieldGrammar+ Distribution.FieldGrammar.Class+ Distribution.FieldGrammar.FieldDescrs+ Distribution.FieldGrammar.Parsec+ Distribution.FieldGrammar.Pretty+ Distribution.PackageDescription.FieldGrammar+ Distribution.PackageDescription.Parsec+ Distribution.PackageDescription.Quirks+ Distribution.Parsec.Class+ Distribution.Parsec.Common+ Distribution.Parsec.ConfVar+ Distribution.Parsec.Field+ Distribution.Parsec.FieldLineStream+ Distribution.Parsec.Lexer+ Distribution.Parsec.LexerMonad+ Distribution.Parsec.Newtypes+ Distribution.Parsec.ParseResult+ Distribution.Parsec.Parser + -- Lens functionality+ exposed-modules:+ Distribution.Compat.Lens+ Distribution.Types.Lens+ Distribution.Types.Benchmark.Lens+ Distribution.Types.BuildInfo.Lens+ Distribution.Types.Executable.Lens+ Distribution.Types.ForeignLib.Lens+ Distribution.Types.GenericPackageDescription.Lens+ Distribution.Types.InstalledPackageInfo.Lens+ Distribution.Types.Library.Lens+ Distribution.Types.PackageDescription.Lens+ Distribution.Types.PackageId.Lens+ Distribution.Types.SetupBuildInfo.Lens+ Distribution.Types.SourceRepo.Lens+ Distribution.Types.TestSuite.Lens+ other-modules: Distribution.Backpack.PreExistingComponent Distribution.Backpack.ReadyComponent@@ -357,7 +480,10 @@ UnitTests.Distribution.Compat.Graph UnitTests.Distribution.Simple.Program.Internal UnitTests.Distribution.Simple.Utils+ UnitTests.Distribution.SPDX UnitTests.Distribution.System+ UnitTests.Distribution.Types.GenericPackageDescription+ UnitTests.Distribution.Utils.Generic UnitTests.Distribution.Utils.NubList UnitTests.Distribution.Utils.ShortText UnitTests.Distribution.Version@@ -365,65 +491,113 @@ build-depends: array, base,+ bytestring, containers, directory, filepath,- tasty,+ integer-logarithms >= 1.0.2 && <1.1,+ tasty >= 1.0 && < 1.1, tasty-hunit, tasty-quickcheck, tagged,+ text, pretty,- QuickCheck >= 2.7 && < 2.11,+ QuickCheck >= 2.11.3 && < 2.12, Cabal ghc-options: -Wall default-language: Haskell2010 test-suite parser-tests- if !flag(parsec)- buildable: False- type: exitcode-stdio-1.0 hs-source-dirs: tests main-is: ParserTests.hs build-depends: base,+ base-compat >=0.9.3 && <0.10, bytestring, filepath,- tasty,+ tasty >= 1.0 && < 1.1, tasty-hunit, tasty-quickcheck,+ tasty-golden >=2.3.1.1 && <2.4,+ Diff >=0.3.4 && <0.4, Cabal ghc-options: -Wall default-language: Haskell2010 -test-suite parser-hackage-tests- if !flag(parsec)- buildable: False+ if impl(ghc >= 7.8)+ build-depends:+ tree-diff >= 0.0.1 && <0.1+ other-modules:+ Instances.TreeDiff+ Instances.TreeDiff.Language+ Instances.TreeDiff.SPDX+ Instances.TreeDiff.Version +test-suite check-tests type: exitcode-stdio-1.0- main-is: ParserHackageTests.hs- hs-source-dirs: tests+ main-is: CheckTests.hs build-depends: base,- containers,- tar >=0.5 && <0.6, bytestring,- directory, filepath,+ tasty >= 1.0 && < 1.1,+ tasty-golden >=2.3.1.1 && <2.4,+ Diff >=0.3.4 && <0.4, Cabal+ ghc-options: -Wall+ default-language: Haskell2010 - if flag(parsec-struct-diff)+test-suite custom-setup-tests+ type: exitcode-stdio-1.0+ hs-source-dirs: tests/custom-setup+ main-is: CustomSetupTests.hs+ other-modules:+ CabalDoctestSetup+ IdrisSetup+ build-depends:+ Cabal,+ base,+ directory,+ filepath,+ process+ default-language: Haskell2010++test-suite hackage-tests+ type: exitcode-stdio-1.0+ main-is: HackageTests.hs++ -- TODO: need to get 01-index.tar on appveyor+ if os(windows)+ buildable: False++ hs-source-dirs: tests++ build-depends:+ base,+ Cabal,+ bytestring,+ deepseq,+ containers,+ directory,+ filepath++ build-depends:+ base-compat >=0.9.3 && <0.10,+ base-orphans >=0.6 && <0.7,+ optparse-applicative >=0.13.2.0 && <0.15,+ tar >=0.5.0.3 && <0.6++ if impl(ghc >= 7.8) build-depends:- generics-sop ==0.2.*,- these >=0.7.1 && <0.8,- singleton-bool >=0.1.1.0 && <0.2,- keys+ tree-diff >= 0.0.1 && <0.1 other-modules:- DiffInstances- StructDiff- cpp-options: -DHAS_STRUCT_DIFF+ Instances.TreeDiff+ Instances.TreeDiff.Language+ Instances.TreeDiff.SPDX+ Instances.TreeDiff.Version - ghc-options: -Wall -rtsopts+ ghc-options: -Wall -rtsopts -threaded default-extensions: CPP default-language: Haskell2010
@@ -0,0 +1,771 @@+# 2.2.0.0 [Mikhail Glushenkov](mailto:mikhail.glushenkov@gmail.com) March 2018++ * The 2.2 migration guide gives advice on adapting Custom setup+ scripts to backwards-incompatible changes in this release:+ https://github.com/haskell/cabal/wiki/2.2-migration-guide.+ * New Parsec-based parser for `.cabal` files is now the+ default. This brings memory consumption and speed improvements, as+ well as making new syntax extensions easier to implement.+ * Support for common stanzas (#4751).+ * Added elif-conditionals to `.cabal` syntax (#4750).+ * The package license information can now be specified using the+ SPDX syntax. This requires setting `cabal-version` to 2.2+ (#2547,+ #5050).+ * Support for GHC's numeric -g debug levels (#4673).+ * Compilation with section splitting is now supported via the+ `--enable-split-sections` flag (#4819)+ * Fields with mandatory commas (e.g. build-depends) may now have a+ leading or a trailing comma (either one, not both) (#4953)+ * Added `virtual-modules` field, to allow modules that are not built+ but registered (#4875).+ * Use better defaulting for `build-type`; rename `PackageDescription`'s+ `buildType` field to `buildTypeRaw` and introduce new `buildType`+ function (#4958)+ * `D.T.PackageDescription.allBuildInfo` now returns all build infos, not+ only for buildable components (#5087).+ * Removed `UnknownBuildType` constructor from `BuildType` (#5003).+ * Added `HexFloatLiterals` to `KnownExtension`.+ * Cabal will no longer try to build an empty set of `inputModules`+ (#4890).+ * `copyComponent` and `installIncludeFiles` will now look for+ include headers in the build directory (`dist/build/...` by+ default) as well (#4866).+ * Added `cxx-options` and `cxx-sources` buildinfo fields for+ separate compilation of C++ source files (#3700).+ * Removed unused `--allow-newer`/`--allow-older` support from+ `Setup configure` (#4527).+ * Changed `FlagAssignment` to be an opaque `newtype` (#4849).+ * Changed `rawSystemStdInOut` to use proper type to represent+ binary and textual data; new `Distribution.Utils.IOData` module;+ removed obsolete `startsWithBOM`, `fileHasBOM`, `fromUTF8`,+ and `toUTF8` functions; add new `toUTF8BS`/`toUTF8LBS`+ encoding functions. (#4666)+ * Added a `cabal check` warning when the `.cabal` file name does+ not match package name (#4592).+ * The `ar` program now receives its arguments via a response file+ (`@file`). Old behaviour can be restored with+ `--disable-response-files` argument to `configure` or+ `install` (#4596).+ * Added `.Lens` modules, with optics for package description data+ types (#4701).+ * Support for building with Win32 version 2.6 (#4835).+ * Change `compilerExtensions` and `ghcOptExtensionMap` to contain+ `Maybe Flag`s, since a supported extention can lack a flag (#4443).+ * Pretty-printing of `.cabal` files is slightly different due to+ parser changes. For an example, see+ https://mail.haskell.org/pipermail/cabal-devel/2017-December/010414.html.+ * `--hyperlink-source` now uses Haddock's hyperlinker backend when+ Haddock is new enough, falling back to HsColour otherwise.+ * `D.S.defaultHookedPackageDesc` has been deprecated in favour of+ `D.S.findHookedPackageDesc` (#4874).+ * `D.S.getHookedBuildInfo` now takes an additional parameter+ specifying the build directory path (#4874).+ * Emit warning when encountering unknown GHC versions (#415).++### 2.0.1.1 [Mikhail Glushenkov](mailto:mikhail.glushenkov@gmail.com) December 2017++ * Don't pass `other-modules` to stub executable for detailed-0.9+ (#4918).+ * Hpc: Use relative .mix search paths (#4917).++## 2.0.1.0 [Mikhail Glushenkov](mailto:mikhail.glushenkov@gmail.com) November 2017++ * Support for GHC's numeric -g debug levels (#4673).+ * Added a new `Distribution.Verbosity.modifyVerbosity` combinator+ (#4724).+ * Added a new `cabal check` warning about unused, undeclared or+ non-Unicode flags. Also, it warns about leading dash, which is+ unusable but accepted if it's unused in conditionals. (#4687)+ * Modify `allBuildInfo` to include foreign library info (#4763).+ * Documentation fixes.++### 2.0.0.2 [Mikhail Glushenkov](mailto:mikhail.glushenkov@gmail.com) July 2017++ * See http://coldwa.st/e/blog/2017-09-09-Cabal-2-0.html+ for more detailed release notes.+ * The 2.0 migration guide gives advice on adapting Custom setup+ scripts to backwards-incompatible changes in this release:+ https://github.com/haskell/cabal/wiki/2.0-migration-guide+ * Add CURRENT_PACKAGE_VERSION to cabal_macros.h (#4319)+ * Dropped support for versions of GHC earlier than 6.12 (#3111).+ * GHC compatibility window for the Cabal library has been extended+ to five years (#3838).+ * Convenience/internal libraries are now supported (#269).+ An internal library is declared using the stanza `library+ 'libname'`. Packages which use internal libraries can+ result in multiple registrations; thus `--gen-pkg-config`+ can now output a directory of registration scripts rather than+ a single file.+ * Backwards incompatible change to preprocessor interface:+ the function in `PPSuffixHandler` now takes an additional+ `ComponentLocalBuildInfo` specifying the build information+ of the component being preprocessed.+ * Backwards incompatible change to `cabal_macros.h` (#1893): we now+ generate a macro file for each component which contains only+ information about the direct dependencies of that component.+ Consequently, `dist/build/autogen/cabal_macros.h` contains+ only the macros for the library, and is not generated if a+ package has no library; to find the macros for an executable+ named `foobar`, look in `dist/build/foobar/autogen/cabal_macros.h`.+ Similarly, if you used `autogenModulesDir` you should now+ use `autogenComponentModulesDir`, which now requires a+ `ComponentLocalBuildInfo` argument as well in order to+ disambiguate which component the autogenerated files are for.+ * Backwards incompatible change to `Component`: `TestSuite` and+ `Benchmark` no longer have `testEnabled` and+ `benchmarkEnabled`. If you used+ `enabledTests` or `enabledBenchmarks`, please instead use+ `enabledTestLBIs` and `enabledBenchLBIs`+ (you will need a `LocalBuildInfo` for these functions.)+ Additionally, the semantics of `withTest` and `withBench`+ have changed: they now iterate over all buildable+ such components, regardless of whether or not they have+ been enabled; if you only want enabled components,+ use `withTestLBI` and `withBenchLBI`.+ `finalizePackageDescription` is deprecated:+ its replacement `finalizePD` now takes an extra argument+ `ComponentRequestedSpec` which specifies what components+ are to be enabled: use this instead of modifying the+ `Component` in a `GenericPackageDescription`. (As+ it's not possible now, `finalizePackageDescription`+ will assume tests/benchmarks are disabled.)+ If you only need to test if a component is buildable+ (i.e., it is marked buildable in the Cabal file)+ use the new function `componentBuildable`.+ * Backwards incompatible change to `PackageName` (#3896):+ `PackageName` is now opaque; conversion to/from `String` now works+ via (old) `unPackageName` and (new) `mkPackageName` functions.+ * Backwards incompatible change to `ComponentId` (#3917):+ `ComponentId` is now opaque; conversion to/from `String` now works+ via `unComponentId` and `mkComponentId` functions.+ * Backwards incompatible change to `AbiHash` (#3921):+ `AbiHash` is now opaque; conversion to/from `String` now works+ via `unAbiHash` and `mkAbiHash` functions.+ * Backwards incompatible change to `FlagName` (#4062):+ `FlagName` is now opaque; conversion to/from `String` now works+ via `unFlagName` and `mkFlagName` functions.+ * Backwards incompatible change to `Version` (#3905):+ Version is now opaque; conversion to/from `[Int]` now works+ via `versionNumbers` and `mkVersion` functions.+ * Add support for `--allow-older` (dual to `--allow-newer`) (#3466)+ * Improved an error message for process output decoding errors+ (#3408).+ * `getComponentLocalBuildInfo`, `withComponentsInBuildOrder`+ and `componentsInBuildOrder` are deprecated in favor of a+ new interface in `Distribution.Types.LocalBuildInfo`.+ * New `autogen-modules` field. Modules that are built automatically at+ setup, like Paths_PACKAGENAME or others created with a build-type+ custom, appear on `other-modules` for the Library, Executable,+ Test-Suite or Benchmark stanzas or also on `exposed-modules` for+ libraries but are not really on the package when distributed. This+ makes commands like sdist fail because the file is not found, so with+ this new field modules that appear there are treated the same way as+ Paths_PACKAGENAME was and there is no need to create complex build+ hooks. Just add the module names on `other-modules` and+ `exposed-modules` as always and on the new `autogen-modules` besides.+ (#3656).+ * New `./Setup configure` flag `--cabal-file`, allowing multiple+ `.cabal` files in a single directory (#3553). Primarily intended for+ internal use.+ * Macros in `cabal_macros.h` are now ifndef'd, so that they+ don't cause an error if the macro is already defined. (#3041)+ * `./Setup configure` now accepts a single argument specifying+ the component to be configured. The semantics of this mode+ of operation are described in+ <https://github.com/ghc-proposals/ghc-proposals/pull/4>+ * Internal `build-tools` dependencies are now added to PATH+ upon invocation of GHC, so that they can be conveniently+ used via `-pgmF`. (#1541)+ * Add support for new caret-style version range operator `^>=` (#3705)+ * Verbosity `-v` now takes an extended format which allows+ specifying exactly what you want to be logged. The format is+ `[silent|normal|verbose|debug] flags`, where flags is a space+ separated list of flags. At the moment, only the flags+ +callsite and +callstack are supported; these report the+ call site/stack of a logging output respectively (these+ are only supported if Cabal is built with GHC 8.0/7.10.2+ or greater, respectively).+ * New `Distribution.Utils.ShortText.ShortText` type for representing+ short text strings compactly (#3898)+ * Cabal no longer supports using a version bound to disambiguate+ between an internal and external package (#4020). This should+ not affect many people, as this mode of use already did not+ work with the dependency solver.+ * Support for "foreign libraries" (#2540), which are Haskell+ libraries intended to be used by foreign languages like C.+ Foreign libraries only work with GHC 7.8 and later.+ * Added a technical preview version of integrated doctest support (#4480).+ * Added a new `scope` field to the executable stanza. Executables+ with `scope: private` get installed into+ $libexecdir/$libexecsubdir. Additionally $libexecdir now has a+ subdir structure similar to $lib(sub)dir to allow installing+ private executables of different packages and package versions+ alongside one another. Private executables are those that are+ expected to be run by other programs rather than users. (#3461)++## 1.24.2.0 [Mikhail Glushenkov](mailto:mikhail.glushenkov@gmail.com) December 2016+ * Fixed a bug in the handling of non-buildable components (#4094).+ * Reverted a PVP-noncompliant API change in 1.24.1.0 (#4123).+ * Bumped the directory upper bound to < 1.4 (#4158).++## 1.24.1.0 [Ryan Thomas](mailto:ryan@ryant.org) October 2016+ * API addition: `differenceVersionRanges` (#3519).+ * Fixed reexported-modules display mangling (#3928).+ * Check that the correct cabal-version is specified when the+ extra-doc-files field is present (#3825).+ * Fixed an incorrect invocation of GetShortPathName that was+ causing build failures on Windows (#3649).+ * Linker flags are now set correctly on GHC >= 7.8 (#3443).++# 1.24.0.0 [Ryan Thomas](mailto:ryan@ryant.org) March 2016+ * Support GHC 8.+ * Deal with extra C sources from preprocessors (#238).+ * Include cabal_macros.h when running c2hs (#2600).+ * Don't recompile C sources unless needed (#2601).+ * Read `builddir` option from `CABAL_BUILDDIR` environment variable.+ * Add `--profiling-detail=$level` flag with a default for libraries+ and executables of `exported-functions` and `toplevel-functions`+ respectively (GHC's `-fprof-auto-{exported,top}` flags) (#193).+ * New `custom-setup` stanza to specify setup deps. Setup is also built+ with the cabal_macros.h style macros, for conditional compilation.+ * Support Haddock response files (#2746).+ * Fixed a bug in the Text instance for Platform (#2862).+ * New `setup haddock` option: `--for-hackage` (#2852).+ * New `--show-detail=direct`; like streaming, but allows the test+ program to detect that is connected to a terminal, and works+ reliable with a non-threaded runtime (#2911, and serves as a+ work-around for #2398)+ * Library support for multi-instance package DBs (#2948).+ * Improved the `./Setup configure` solver (#3082, #3076).+ * The `--allow-newer` option can be now used with `./Setup+ configure` (#3163).+ * Added a way to specify extra locations to find OS X frameworks+ in (`extra-framework-dirs`). Can be used both in `.cabal` files and+ as an argument to `./Setup configure` (#3158).+ * Macros `VERSION_$pkgname` and `MIN_VERSION_$pkgname` are now+ also generated for the current package. (#3235).+ * Backpack is supported! Two new fields supported in Cabal+ files: signatures and mixins; and a new flag+ to setup scripts, `--instantiate-with`. See+ https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst+ for more details.++----++## 1.22.8.0 [Ryan Thomas](mailto:ryan@ryant.org) March 2016+ * Distribution.Simple.Setup: remove job cap. Fixes #3191.+ * Check all object file suffixes for recompilation. Fixes #3128.+ * Move source files under `src/`. Fixes #3003.++## 1.22.7.0 [Ryan Thomas](mailto:ryan@ryant.org) January 2016+ * Backport #3012 to the 1.22 branch+ * Cabal.cabal: change build-type to Simple+ * Add foldl' import+ * The Cabal part for fully gcc-like response files++## 1.22.6.0 [Ryan Thomas](mailto:ryan@ryant.org) December 2015+ * Relax upper bound to allow upcoming binary-0.8++## 1.22.5.0 [Ryan Thomas](mailto:ryan@ryant.org) November 2015+ * Don't recompile C sources unless needed (#2601). (Luke Iannini)+ * Support Haddock response files.+ * Add frameworks when linking a dynamic library.++## 1.22.4.0 [Ryan Thomas](mailto:ryan@ryant.org) June 2015+ * Add libname install-dirs variable, use it by default. Fixes #2437. (Edward Z. Yang)+ * Reduce temporary directory name length, fixes #2502. (Edward Z. Yang)+ * Workaround for #2527. (Mikhail Glushenkov)++## 1.22.3.0 [Ryan Thomas](mailto:ryan@ryant.org) April 2015+ * Fix for the ghcjs-pkg version number handling (Luite Stegeman)+ * filterConfigureFlags: filter more flags (Mikhail Glushenkov)+ * Cabal check will fail on -fprof-auto passed as a ghc-option - Fixes #2479 (John Chee)++## 1.22.2.0 [Ryan Thomas](mailto:ryan@ryant.org) March 2015+ * Don't pass `--{en,dis}able-profiling` to old setup.+ * Add -Wall police+ * Fix dependencies on `old-time`+ * Fix test interface detailed-0.9 with GHC 7.10+ * Fix HPC tests with GHC 7.10+ * Make sure to pass the package key to ghc+ * Use `--package-{name|version}` when available for Haddock when available+ * Put full package name and version in library names+ * Fully specify package key format, so external tools can generate it.++# 1.22.0.0 [Johan Tibell](mailto:johan.tibell@gmail.com) January 2015+ * Support GHC 7.10.+ * Experimental support for emitting DWARF debug info.+ * Preliminary support for relocatable packages.+ * Allow cabal to be used inside cabal exec enviroments.+ * hpc: support mutliple "ways" (e.g. profiling and vanilla).+ * Support GHCJS.+ * Improved command line documentation.+ * Add `-none` constraint syntax for version ranges (#2093).+ * Make the default doc index file path compiler/arch/os-dependent+ (#2136).+ * Warn instead of dying when generating documentation and hscolour+ isn't installed (455f51622fa38347db62197a04bb0fa5b928ff17).+ * Support the new BinaryLiterals extension+ (1f25ab3c5eff311ada73c6c987061b80e9bbebd9).+ * Warn about `ghc-prof-options: -auto-all` in `cabal check` (#2162).+ * Add preliminary support for multiple instances of the same package+ version installed side-by-side (#2002).+ * New binary build config format - faster build times (#2076).+ * Support module thinning and renaming (#2038).+ * Add a new license type: UnspecifiedLicense (#2141).+ * Remove support for Hugs and nhc98 (#2168).+ * Invoke `tar` with `--formar ustar` if possible in `sdist` (#1903).+ * Replace `--enable-library-coverage` with `--enable-coverage`, which+ enables program coverage for all components (#1945).+ * Suggest that `ExitFailure 9` is probably due to memory+ exhaustion (#1522).+ * Drop support for Haddock < 2.0 (#1808, #1718).+ * Make `cabal test`/`cabal bench` build only what's needed for+ running tests/benchmarks (#1821).+ * Build shared libraries by default when linking executables dynamically.+ * Build profiled libraries by default when profiling executables.++----++### 1.20.0.4 [Ryan Thomas](mailto:ryan@ryant.org) January 2016+ * Cabal.cabal: change build-type to Simple.++### 1.20.0.1 [Johan Tibell](mailto:johan.tibell@gmail.com) May 2014+ * Fix streaming test output.++# 1.20.0.0 [Johan Tibell](mailto:johan.tibell@gmail.com) April 2014+ * Rewrite user guide+ * Fix repl Ctrl+C handling+ * Add haskell-suite compiler support+ * Add __HADDOCK_VERSION__ define+ * Allow specifying exact dependency version using hash+ * Rename extra-html-files to extra-doc-files+ * Add parallel build support for GHC 7.8 and later+ * Don't call ranlib on OS X+ * Avoid re-linking executables, test suites, and benchmarks+ unnecessarily, shortening build times+ * Add `--allow-newer` which allows upper version bounds to be+ ignored+ * Add `--enable-library-stripping`+ * Add command for freezing dependencies+ * Allow repl to be used outside Cabal packages+ * Add `--require-sandbox`+ * Don't use `--strip-unneeded` on OS X or iOS+ * Add new license-files field got additional licenses+ * Fix if(solaris) on some Solaris versions+ * Don't use -dylib-install-name on OS X with GHC > 7.8+ * Add DragonFly as a known OS+ * Improve pretty-printing of Cabal files+ * Add test flag `--show-details=streaming` for real-time test output+ * Add exec command++----++## 1.10.2.0 [Duncan Coutts](mailto:duncan@community.haskell.org) June 2011+ * Include test suites in cabal sdist+ * Fix for conditionals in test suite stanzas in `.cabal` files+ * Fix permissions of directories created during install+ * Fix for global builds when $HOME env var is not set++## 1.10.1.0 [Duncan Coutts](mailto:duncan@community.haskell.org) February 2011+ * Improved error messages when test suites are not enabled+ * Template parameters allowed in test `--test-option(s)` flag+ * Improved documentation of the test feature+ * Relaxed QA check on cabal-version when using test-suite sections+ * `haddock` command now allows both `--hoogle` and `--html` at the same time+ * Find ghc-version-specific instances of the hsc2hs program+ * Preserve file executable permissions in sdist tarballs+ * Pass gcc location and flags to ./configure scripts+ * Get default gcc flags from ghc++# 1.10.0.0 [Duncan Coutts](mailto:duncan@haskell.org) November 2010+ * New cabal test feature+ * Initial support for UHC+ * New default-language and other-languages fields (e.g. Haskell98/2010)+ * New default-extensions and other-extensions fields+ * Deprecated extensions field (for packages using cabal-version >=1.10)+ * Cabal-version field must now only be of the form `>= x.y`+ * Removed deprecated `--copy-prefix=` feature+ * Auto-reconfigure when `.cabal` file changes+ * Workaround for haddock overwriting .hi and .o files when using TH+ * Extra cpp flags used with hsc2hs and c2hs (-D${os}_BUILD_OS etc)+ * New cpp define VERSION_<package> gives string version of dependencies+ * User guide source now in markdown format for easier editing+ * Improved checks and error messages for C libraries and headers+ * Removed BSD4 from the list of suggested licenses+ * Updated list of known language extensions+ * Fix for include paths to allow C code to import FFI stub.h files+ * Fix for intra-package dependencies on OSX+ * Stricter checks on various bits of `.cabal` file syntax+ * Minor fixes for c2hs++----++### 1.8.0.6 [Duncan Coutts](mailto:duncan@haskell.org) June 2010+ * Fix `register --global/--user`++### 1.8.0.4 [Duncan Coutts](mailto:duncan@haskell.org) March 2010+ * Set dylib-install-name for dynalic libs on OSX+ * Stricter configure check that compiler supports a package's extensions+ * More configure-time warnings+ * Hugs can compile Cabal lib again+ * Default datadir now follows prefix on Windows+ * Support for finding installed packages for hugs+ * Cabal version macros now have proper parenthesis+ * Reverted change to filter out deps of non-buildable components+ * Fix for registering implace when using a specific package db+ * Fix mismatch between $os and $arch path template variables+ * Fix for finding ar.exe on Windows, always pick ghc's version+ * Fix for intra-package dependencies with ghc-6.12++# 1.8.0.2 [Duncan Coutts](mailto:duncan@haskell.org) December 2009+ * Support for GHC-6.12+ * New unique installed package IDs which use a package hash+ * Allow executables to depend on the lib within the same package+ * Dependencies for each component apply only to that component+ (previously applied to all the other components too)+ * Added new known license MIT and versioned GPL and LGPL+ * More liberal package version range syntax+ * Package registration files are now UTF8+ * Support for LHC and JHC-0.7.2+ * Deprecated RecordPuns extension in favour of NamedFieldPuns+ * Deprecated PatternSignatures extension in favor of ScopedTypeVariables+ * New VersionRange semantic view as a sequence of intervals+ * Improved package quality checks+ * Minor simplification in a couple `Setup.hs` hooks+ * Beginnings of a unit level testsuite using QuickCheck+ * Various bug fixes+ * Various internal cleanups++----++### 1.6.0.2 [Duncan Coutts](mailto:duncan@haskell.org) February 2009+ * New configure-time check for C headers and libraries+ * Added language extensions present in ghc-6.10+ * Added support for NamedFieldPuns extension in ghc-6.8+ * Fix in configure step for ghc-6.6 on Windows+ * Fix warnings in `Path_pkgname.hs` module on Windows+ * Fix for exotic flags in ld-options field+ * Fix for using pkg-config in a package with a lib and an executable+ * Fix for building haddock docs for exes that use the Paths module+ * Fix for installing header files in subdirectories+ * Fix for the case of building profiling libs but not ordinary libs+ * Fix read-only attribute of installed files on Windows+ * Ignore ghc -threaded flag when profiling in ghc-6.8 and older++### 1.6.0.1 [Duncan Coutts](mailto:duncan@haskell.org) October 2008+ * Export a compat function to help alex and happy++# 1.6.0.0 [Duncan Coutts](mailto:duncan@haskell.org) October 2008+ * Support for ghc-6.10+ * Source control repositories can now be specified in `.cabal` files+ * Bug report URLs can be now specified in `.cabal` files+ * Wildcards now allowed in data-files and extra-source-files fields+ * New syntactic sugar for dependencies `build-depends: foo ==1.2.*`+ * New cabal_macros.h provides macros to test versions of dependencies+ * Relocatable bindists now possible on unix via env vars+ * New `exposed` field allows packages to be not exposed by default+ * Install dir flags can now use $os and $arch variables+ * New `--builddir` flag allows multiple builds from a single sources dir+ * cc-options now only apply to .c files, not for -fvia-C+ * cc-options are not longer propagated to dependent packages+ * The cpp/cc/ld-options fields no longer use `,` as a separator+ * hsc2hs is now called using gcc instead of using ghc as gcc+ * New api for manipulating sets and graphs of packages+ * Internal api improvements and code cleanups+ * Minor improvements to the user guide+ * Miscellaneous minor bug fixes++----++### 1.4.0.2 [Duncan Coutts](mailto:duncan@haskell.org) August 2008+ * Fix executable stripping default+ * Fix striping exes on OSX that export dynamic symbols (like ghc)+ * Correct the order of arguments given by `--prog-options=`+ * Fix corner case with overlapping user and global packages+ * Fix for modules that use pre-processing and `.hs-boot` files+ * Clarify some points in the user guide and readme text+ * Fix verbosity flags passed to sub-command like haddock+ * Fix `sdist --snapshot`+ * Allow meta-packages that contain no modules or C code+ * Make the generated Paths module -Wall clean on Windows++### 1.4.0.1 [Duncan Coutts](mailto:duncan@haskell.org) June 2008+ * Fix a bug which caused `.` to always be in the sources search path+ * Haddock-2.2 and later do now support the `--hoogle` flag++# 1.4.0.0 [Duncan Coutts](mailto:duncan@haskell.org) June 2008+ * Rewritten command line handling support+ * Command line completion with bash+ * Better support for Haddock 2+ * Improved support for nhc98+ * Removed support for ghc-6.2+ * Haddock markup in `.lhs` files now supported+ * Default colour scheme for highlighted source code+ * Default prefix for `--user` installs is now `$HOME/.cabal`+ * All `.cabal` files are treaded as UTF-8 and must be valid+ * Many checks added for common mistakes+ * New `--package-db=` option for specific package databases+ * Many internal changes to support cabal-install+ * Stricter parsing for version strings, eg dissalows "1.05"+ * Improved user guide introduction+ * Programatica support removed+ * New options `--program-prefix/suffix` allows eg versioned programs+ * Support packages that use `.hs-boot` files+ * Fix sdist for Main modules that require preprocessing+ * New configure -O flag with optimisation level 0--2+ * Provide access to "`x-`" extension fields through the Cabal api+ * Added check for broken installed packages+ * Added warning about using inconsistent versions of dependencies+ * Strip binary executable files by default with an option to disable+ * New options to add site-specific include and library search paths+ * Lift the restriction that libraries must have exposed-modules+ * Many bugs fixed.+ * Many internal structural improvements and code cleanups++----++## 1.2.4.0 [Duncan Coutts](mailto:duncan@haskell.org) June 2008+ * Released with GHC 6.8.3+ * Backported several fixes and minor improvements from Cabal-1.4+ * Use a default colour scheme for sources with hscolour >=1.9+ * Support `--hyperlink-source` for Haddock >= 2.0+ * Fix for running in a non-writable directory+ * Add OSX -framework arguments when linking executables+ * Updates to the user guide+ * Allow build-tools names to include + and _+ * Export autoconfUserHooks and simpleUserHooks+ * Export ccLdOptionsBuildInfo for `Setup.hs` scripts+ * Export unionBuildInfo and make BuildInfo an instance of Monoid+ * Fix to allow the `main-is` module to use a pre-processor++## 1.2.3.0 [Duncan Coutts](mailto:duncan@haskell.org) Nov 2007+ * Released with GHC 6.8.2+ * Includes full list of GHC language extensions+ * Fix infamous `dist/conftest.c` bug+ * Fix `configure --interfacedir=`+ * Find ld.exe on Windows correctly+ * Export PreProcessor constructor and mkSimplePreProcessor+ * Fix minor bug in unlit code+ * Fix some markup in the haddock docs++## 1.2.2.0 [Duncan Coutts](mailto:duncan@haskell.org) Nov 2007+ * Released with GHC 6.8.1+ * Support haddock-2.0+ * Support building DSOs with GHC+ * Require reconfiguring if the `.cabal` file has changed+ * Fix os(windows) configuration test+ * Fix building documentation+ * Fix building packages on Solaris+ * Other minor bug fixes++## 1.2.1 [Duncan Coutts](mailto:duncan@haskell.org) Oct 2007+ * To be included in GHC 6.8.1+ * New field `cpp-options` used when preprocessing Haskell modules+ * Fixes for hsc2hs when using ghc+ * C source code gets compiled with -O2 by default+ * OS aliases, to allow os(windows) rather than requiring os(mingw32)+ * Fix cleaning of `stub` files+ * Fix cabal-setup, command line ui that replaces `runhaskell Setup.hs`+ * Build docs even when dependent packages docs are missing+ * Allow the `--html-dir` to be specified at configure time+ * Fix building with ghc-6.2+ * Other minor bug fixes and build fixes++# 1.2.0 [Duncan Coutts](mailto:duncan.coutts@worc.ox.ac.uk) Sept 2007+ * To be included in GHC 6.8.x+ * New configurations feature+ * Can make haddock docs link to hilighted sources (with hscolour)+ * New flag to allow linking to haddock docs on the web+ * Supports pkg-config+ * New field `build-tools` for tool dependencies+ * Improved c2hs support+ * Preprocessor output no longer clutters source dirs+ * Separate `includes` and `install-includes` fields+ * Makefile command to generate makefiles for building libs with GHC+ * New `--docdir` configure flag+ * Generic `--with-prog` `--prog-args` configure flags+ * Better default installation paths on Windows+ * Install paths can be specified relative to each other+ * License files now installed+ * Initial support for NHC (incomplete)+ * Consistent treatment of verbosity+ * Reduced verbosity of configure step by default+ * Improved helpfulness of output messages+ * Help output now clearer and fits in 80 columns+ * New setup register `--gen-pkg-config` flag for distros+ * Major internal refactoring, hooks api has changed+ * Dozens of bug fixes++----++### 1.1.6.2 [Duncan Coutts](mailto:duncan.coutts@worc.ox.ac.uk) May 2007++ * Released with GHC 6.6.1+ * Handle windows text file encoding for `.cabal` files+ * Fix compiling a executable for profiling that uses Template Haskell+ * Other minor bug fixes and user guide clarifications++### 1.1.6.1 [Duncan Coutts](mailto:duncan.coutts@worc.ox.ac.uk) Oct 2006++ * fix unlit code+ * fix escaping in register.sh++## 1.1.6 [Duncan Coutts](mailto:duncan.coutts@worc.ox.ac.uk) Oct 2006++ * Released with GHC 6.6+ * Added support for hoogle+ * Allow profiling and normal builds of libs to be chosen indepentantly+ * Default installation directories on Win32 changed+ * Register haddock docs with ghc-pkg+ * Get haddock to make hyperlinks to dependent package docs+ * Added BangPatterns language extension+ * Various bug fixes++## 1.1.4 [Duncan Coutts](mailto:duncan.coutts@worc.ox.ac.uk) May 2006++ * Released with GHC 6.4.2+ * Better support for packages that need to install header files+ * cabal-setup added, but not installed by default yet+ * Implemented `setup register --inplace`+ * Have packages exposed by default with ghc-6.2+ * It is no longer necessary to run `configure` before `clean` or `sdist`+ * Added support for ghc's `-split-objs`+ * Initial support for JHC+ * Ignore extension fields in `.cabal` files (fields begining with "`x-`")+ * Some changes to command hooks API to improve consistency+ * Hugs support improvements+ * Added GeneralisedNewtypeDeriving language extension+ * Added cabal-version field+ * Support hidden modules with haddock+ * Internal code refactoring+ * More bug fixes++## 1.1.3 [Isaac Jones](mailto:ijones@syntaxpolice.org) Sept 2005++ * WARNING: Interfaces not documented in the user's guide may+ change in future releases.+ * Move building of GHCi .o libs to the build phase rather than+ register phase. (from Duncan Coutts)+ * Use .tar.gz for source package extension+ * Uses GHC instead of cpphs if the latter is not available+ * Added experimental "command hooks" which completely override the+ default behavior of a command.+ * Some bugfixes++# 1.1.1 [Isaac Jones](mailto:ijones@syntaxpolice.org) July 2005++ * WARNING: Interfaces not documented in the user's guide may+ change in future releases.+ * Handles recursive modules for GHC 6.2 and GHC 6.4.+ * Added `setup test` command (Used with UserHook)+ * implemented handling of _stub.{c,h,o} files+ * Added support for profiling+ * Changed install prefix of libraries (pref/pkgname-version+ to prefix/pkgname-version/compname-version)+ * Added pattern guards as a language extension+ * Moved some functionality to Language.Haskell.Extension+ * Register / unregister .bat files for windows+ * Exposed more of the API+ * Added support for the hide-all-packages flag in GHC > 6.4+ * Several bug fixes++----++# 1.0 [Isaac Jones](mailto:ijones@syntaxpolice.org) March 11 2005++ * Released with GHC 6.4, Hugs March 2005, and nhc98 1.18+ * Some sanity checking++----++# 0.5 [Isaac Jones](mailto:ijones@syntaxpolice.org) Wed Feb 19 2005++ * __WARNING__: this is a pre-release and the interfaces are+ still likely to change until we reach a 1.0 release.+ * Hooks interfaces changed+ * Added preprocessors to user hooks+ * No more executable-modules or hidden-modules. Use+ `other-modules` instead.+ * Certain fields moved into BuildInfo, much refactoring+ * `extra-libs` -> `extra-libraries`+ * Added `--gen-script` to configure and unconfigure.+ * `modules-ghc` (etc) now `ghc-modules` (etc)+ * added new fields including `synopsis`+ * Lots of bug fixes+ * spaces can sometimes be used instead of commas+ * A user manual has appeared (Thanks, ross!)+ * for ghc 6.4, configures versionsed depends properly+ * more features to `./setup haddock`++----++# 0.4 [Isaac Jones](mailto:ijones@syntaxpolice.org) Sun Jan 16 2005++ * Much thanks to all the awesome fptools hackers who have been+ working hard to build the Haskell Cabal!++ * __Interface Changes__:++ * __WARNING__: this is a pre-release and the interfaces are still+ likely to change until we reach a 1.0 release.++ * Instead of Package.description, you should name your+ description files <something>.cabal. In particular, we suggest+ that you name it <packagename>.cabal, but this is not enforced+ (yet). Multiple `.cabal` files in the same directory is an error,+ at least for now.++ * `./setup install --install-prefix` is gone. Use `./setup copy`+ `--copy-prefix` instead.++ * The `Modules` field is gone. Use `hidden-modules`,+ `exposed-modules`, and `executable-modules`.++ * `Build-depends` is now a package-only field, and can't go into+ executable stanzas. Build-depends is a package-to-package+ relationship.++ * Some new fields. Use the Source.++ * __New Features__++ * Cabal is now included as a package in the CVS version of+ fptools. That means it'll be released as `-package Cabal` in+ future versions of the compilers, and if you are a bleeding-edge+ user, you can grab it from the CVS repository with the compilers.++ * Hugs compatibility and NHC98 compatibility should both be+ improved.++ * Hooks Interface / Autoconf compatibility: Most of the hooks+ interface is hidden for now, because it's not finalized. I have+ exposed only `defaultMainWithHooks` and `defaultUserHooks`. This+ allows you to use a ./configure script to preprocess+ `foo.buildinfo`, which gets merged with `foo.cabal`. In future+ releases, we'll expose UserHooks, but we're definitely going to+ change the interface to those. The interface to the two functions+ I've exposed should stay the same, though.++ * ./setup haddock is a baby feature which pre-processes the+ source code with hscpp and runs haddock on it. This is brand new+ and hardly tested, so you get to knock it around and see what you+ think.++ * Some commands now actually implement verbosity.++ * The preprocessors have been tested a bit more, and seem to work+ OK. Please give feedback if you use these.++----++# 0.3 [Isaac Jones](mailto:ijones@syntaxpolice.org) Sun Jan 16 2005++ * Unstable snapshot release+ * From now on, stable releases are even.++----++# 0.2 [Isaac Jones](mailto:ijones@syntaxpolice.org)++ * Adds more HUGS support and preprocessor support.
@@ -1,9 +1,9 @@-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE RankNTypes #-}-{-# LANGUAGE PatternGuards #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternGuards #-}+{-# LANGUAGE RankNTypes #-} -- | This module defines the core data types for Backpack. For more -- details, see:@@ -31,6 +31,8 @@ dispOpenModuleSubstEntry, parseOpenModuleSubst, parseOpenModuleSubstEntry,+ parsecOpenModuleSubst,+ parsecOpenModuleSubstEntry, openModuleSubstFreeHoles, -- * Conversions to 'UnitId'@@ -38,22 +40,26 @@ hashModuleSubst, ) where -import Prelude () import Distribution.Compat.Prelude hiding (mod)-import Distribution.Compat.ReadP-import qualified Distribution.Compat.ReadP as Parse-import qualified Text.PrettyPrint as Disp-import Text.PrettyPrint (hcat)+import Distribution.Compat.ReadP ((<++))+import Distribution.Parsec.Class+import Distribution.Pretty+import Prelude ()+import Text.PrettyPrint (hcat) +import qualified Distribution.Compat.CharParsing as P+import qualified Distribution.Compat.ReadP as Parse+import qualified Text.PrettyPrint as Disp+ import Distribution.ModuleName import Distribution.Text import Distribution.Types.ComponentId-import Distribution.Types.UnitId import Distribution.Types.Module+import Distribution.Types.UnitId import Distribution.Utils.Base62 import qualified Data.Map as Map-import Data.Set (Set)+import Data.Set (Set) import qualified Data.Set as Set -----------------------------------------------------------------------@@ -103,13 +109,32 @@ rnf (IndefFullUnitId cid subst) = rnf cid `seq` rnf subst rnf (DefiniteUnitId uid) = rnf uid -instance Text OpenUnitId where- disp (IndefFullUnitId cid insts)+instance Pretty OpenUnitId where+ pretty (IndefFullUnitId cid insts) -- TODO: arguably a smart constructor to enforce invariant would be -- better- | Map.null insts = disp cid- | otherwise = disp cid <<>> Disp.brackets (dispOpenModuleSubst insts)- disp (DefiniteUnitId uid) = disp uid+ | Map.null insts = pretty cid+ | otherwise = pretty cid <<>> Disp.brackets (dispOpenModuleSubst insts)+ pretty (DefiniteUnitId uid) = pretty uid++-- |+--+-- >>> eitherParsec "foobar" :: Either String OpenUnitId+--Right (DefiniteUnitId (DefUnitId {unDefUnitId = UnitId "foobar"}))+--+-- >>> eitherParsec "foo[Str=text-1.2.3:Data.Text.Text]" :: Either String OpenUnitId+-- Right (IndefFullUnitId (ComponentId "foo") (fromList [(ModuleName ["Str"],OpenModule (DefiniteUnitId (DefUnitId {unDefUnitId = UnitId "text-1.2.3"})) (ModuleName ["Data","Text","Text"]))]))+--+instance Parsec OpenUnitId where+ parsec = P.try parseOpenUnitId <|> fmap DefiniteUnitId parsec+ where+ parseOpenUnitId = do+ cid <- parsec+ insts <- P.between (P.char '[') (P.char ']')+ parsecOpenModuleSubst+ return (IndefFullUnitId cid insts)++instance Text OpenUnitId where parse = parseOpenUnitId <++ fmap DefiniteUnitId parse where parseOpenUnitId = do@@ -160,11 +185,33 @@ rnf (OpenModule uid mod_name) = rnf uid `seq` rnf mod_name rnf (OpenModuleVar mod_name) = rnf mod_name +instance Pretty OpenModule where+ pretty (OpenModule uid mod_name) =+ hcat [pretty uid, Disp.text ":", pretty mod_name]+ pretty (OpenModuleVar mod_name) =+ hcat [Disp.char '<', pretty mod_name, Disp.char '>']++-- |+--+-- >>> eitherParsec "Includes2-0.1.0.0-inplace-mysql:Database.MySQL" :: Either String OpenModule+-- Right (OpenModule (DefiniteUnitId (DefUnitId {unDefUnitId = UnitId "Includes2-0.1.0.0-inplace-mysql"})) (ModuleName ["Database","MySQL"]))+--+instance Parsec OpenModule where+ parsec = parsecModuleVar <|> parsecOpenModule+ where+ parsecOpenModule = do+ uid <- parsec+ _ <- P.char ':'+ mod_name <- parsec+ return (OpenModule uid mod_name)++ parsecModuleVar = do+ _ <- P.char '<'+ mod_name <- parsec+ _ <- P.char '>'+ return (OpenModuleVar mod_name)+ instance Text OpenModule where- disp (OpenModule uid mod_name) =- hcat [disp uid, Disp.text ":", disp mod_name]- disp (OpenModuleVar mod_name) =- hcat [Disp.char '<', disp mod_name, Disp.char '>'] parse = parseModuleVar <++ parseOpenModule where parseOpenModule = do@@ -205,17 +252,35 @@ dispOpenModuleSubstEntry (k, v) = disp k <<>> Disp.char '=' <<>> disp v -- | Inverse to 'dispModSubst'.-parseOpenModuleSubst :: ReadP r OpenModuleSubst+parseOpenModuleSubst :: Parse.ReadP r OpenModuleSubst parseOpenModuleSubst = fmap Map.fromList . flip Parse.sepBy (Parse.char ',') $ parseOpenModuleSubstEntry -- | Inverse to 'dispModSubstEntry'.-parseOpenModuleSubstEntry :: ReadP r (ModuleName, OpenModule)+parseOpenModuleSubstEntry :: Parse.ReadP r (ModuleName, OpenModule) parseOpenModuleSubstEntry = do k <- parse _ <- Parse.char '=' v <- parse+ return (k, v)++-- | Inverse to 'dispModSubst'.+--+-- @since 2.2+parsecOpenModuleSubst :: CabalParsing m => m OpenModuleSubst+parsecOpenModuleSubst = fmap Map.fromList+ . flip P.sepBy (P.char ',')+ $ parsecOpenModuleSubstEntry++-- | Inverse to 'dispModSubstEntry'.+--+-- @since 2.2+parsecOpenModuleSubstEntry :: CabalParsing m => m (ModuleName, OpenModule)+parsecOpenModuleSubstEntry =+ do k <- parsec+ _ <- P.char '='+ v <- parsec return (k, v) -- | Get the set of holes ('ModuleVar') embedded in a 'OpenModuleSubst'.
@@ -40,6 +40,7 @@ import Distribution.Version import Distribution.Utils.LogProgress import Distribution.Utils.MapAccum+import Distribution.Utils.Generic import Control.Monad import qualified Data.Set as Set@@ -191,7 +192,11 @@ , pn /= packageName pkg_descr , (cn, e) <- Map.toList comp_map , cn == CLibName ]- exe_deps =+ -- We have to nub here, because 'getAllToolDependencies' may return+ -- duplicates (see #4986). (NB: This is not needed for lib_deps,+ -- since those elaborate into includes, for which there explicitly+ -- may be multiple instances of a package)+ exe_deps = ordNub $ [ exe | ExeDependency pn cn _ <- getAllToolDependencies pkg_descr bi -- The error suppression here is important, because in general
@@ -21,6 +21,7 @@ import Distribution.Backpack.FullUnitId import Distribution.Backpack.ConfiguredComponent import Distribution.Backpack.ModuleShape+import Distribution.Backpack.PreModuleShape import Distribution.Backpack.ModuleScope import Distribution.Backpack.UnifyM import Distribution.Backpack.MixLink@@ -122,7 +123,7 @@ -> ConfiguredComponent -> LogProgress LinkedComponent toLinkedComponent verbosity db this_pid pkg_map ConfiguredComponent {- cc_ann_id = aid@AnnotatedId { ann_id = this_cid, ann_cname = compname },+ cc_ann_id = aid@AnnotatedId { ann_id = this_cid }, cc_component = component, cc_exe_deps = exe_deps, cc_public = is_public,@@ -140,6 +141,7 @@ exposedModules lib, reexportedModules lib) _ -> ([], [], [])+ src_hidden = otherModules (componentBuildInfo component) -- Take each included ComponentId and resolve it into an -- *unlinked* unit identity. We will use unification (relying@@ -158,31 +160,55 @@ dieProgress (vcat (intersperse (text "") -- double newline! [ hang (text "-") 2 err | err <- errs])) + -- Pre-shaping+ let pre_shape = mixLinkPreModuleShape $+ PreModuleShape {+ preModShapeProvides = Set.fromList (src_provs ++ src_hidden),+ preModShapeRequires = Set.fromList src_reqs+ } : [ renamePreModuleShape (toPreModuleShape sh) rns+ | ComponentInclude (AnnotatedId { ann_id = (_, sh) }) rns _ <- unlinked_includes ]+ reqs = preModShapeRequires pre_shape+ insts = [ (req, OpenModuleVar req)+ | req <- Set.toList reqs ]+ this_uid = IndefFullUnitId this_cid . Map.fromList $ insts+ -- OK, actually do unification -- TODO: the unification monad might return errors, in which -- case we have to deal. Use monadic bind for now.- (linked_shape0 :: ModuleScope,+ (linked_shape0 :: ModuleScope, linked_includes0 :: [ComponentInclude OpenUnitId ModuleRenaming], linked_sig_includes0 :: [ComponentInclude OpenUnitId ModuleRenaming])- <- orErr $ runUnifyM verbosity db $ do+ <- orErr $ runUnifyM verbosity this_cid db $ do -- The unification monad is implemented using mutable -- references. Thus, we must convert our *pure* data -- structures into mutable ones to perform unification.- --- {-++ let convertMod :: (ModuleName -> ModuleSource) -> ModuleName -> UnifyM s (ModuleScopeU s)+ convertMod from m = do+ m_u <- convertModule (OpenModule this_uid m)+ return (Map.singleton m [WithSource (from m) m_u], Map.empty)+ -- Handle 'exposed-modules'+ exposed_mod_shapes_u <- mapM (convertMod FromExposedModules) src_provs+ -- Handle 'other-modules'+ other_mod_shapes_u <- mapM (convertMod FromOtherModules) src_hidden++ -- Handle 'signatures' let convertReq :: ModuleName -> UnifyM s (ModuleScopeU s) convertReq req = do req_u <- convertModule (OpenModuleVar req)- return (Map.empty, Map.singleton req req_u)- -- NB: We DON'T convert locally defined modules, as in the- -- absence of mutual recursion across packages they- -- cannot participate in mix-in linking.- -}- (shapes_u, all_includes_u) <- fmap unzip (mapM convertInclude unlinked_includes)+ return (Map.empty, Map.singleton req [WithSource (FromSignatures req) req_u])+ req_shapes_u <- mapM convertReq src_reqs++ -- Handle 'mixins'+ (incl_shapes_u, all_includes_u) <- fmap unzip (mapM convertInclude unlinked_includes)+ failIfErrs -- Prevent error cascade -- Mix-in link everything! mixLink is the real workhorse.- shape_u <- mixLink shapes_u- -- shape_u <- foldM mixLink emptyModuleScopeU (shapes_u ++ src_reqs_u)+ shape_u <- mixLink $ exposed_mod_shapes_u+ ++ other_mod_shapes_u+ ++ req_shapes_u+ ++ incl_shapes_u+ -- src_reqs_u <- mapM convertReq src_reqs -- Read out all the final results by converting back -- into a pure representation.@@ -199,40 +225,6 @@ sig_incls <- mapM convertIncludeU sig_includes_u return (shape, incls, sig_incls) - -- linked_shape0 is almost complete, but it doesn't contain- -- the actual modules we export ourselves. Add them!- let reqs = Map.keysSet (modScopeRequires linked_shape0)- `Set.union` Set.fromList src_reqs- -- TODO: check that there aren't pre-filled requirements...- insts = [ (req, OpenModuleVar req)- | req <- Set.toList reqs ]- this_uid = IndefFullUnitId this_cid . Map.fromList $ insts-- -- add the local exports to the scope- local_source m = [ModuleSource (packageName this_pid)- compname- defaultIncludeRenaming m True]- local_exports = Map.fromListWith (++) $- [ (mod_name, local_source (OpenModule this_uid mod_name)) | mod_name <- src_provs ]- local_reqs = Map.fromListWith (++) $- [ (mod_name, local_source (OpenModuleVar mod_name)) | mod_name <- src_reqs ]- -- NB: do NOT include hidden modules here: GHC 7.10's ghc-pkg- -- won't allow it (since someone could directly synthesize- -- an 'InstalledPackageInfo' that violates abstraction.)- -- Though, maybe it should be relaxed?- linked_shape = linked_shape0 {- modScopeProvides =- Map.unionWith (++)- local_exports- (modScopeProvides linked_shape0),- -- TODO: test that requirements aren't already- -- in scope- modScopeRequires =- Map.unionWith (++)- local_reqs- (modScopeRequires linked_shape0)- }- let isNotLib (CLib _) = False isNotLib _ = True when (not (Set.null reqs) && isNotLib component) $@@ -240,6 +232,19 @@ hang (text "Non-library component has unfilled requirements:") 4 (vcat [disp req | req <- Set.toList reqs]) + -- NB: do NOT include hidden modules here: GHC 7.10's ghc-pkg+ -- won't allow it (since someone could directly synthesize+ -- an 'InstalledPackageInfo' that violates abstraction.)+ -- Though, maybe it should be relaxed?+ let src_hidden_set = Set.fromList src_hidden+ linked_shape = linked_shape0 {+ modScopeProvides =+ -- Would rather use withoutKeys but need BC+ Map.filterWithKey+ (\k _ -> not (k `Set.member` src_hidden_set))+ (modScopeProvides linked_shape0)+ }+ -- OK, compute the reexports -- TODO: This code reports the errors for reexports one reexport at -- a time. Better to collect them all up and report them all at@@ -259,15 +264,20 @@ (x, xs) <- case mb_pn of Just pn ->- case filter ((pn==) . msrc_pkgname) cands of- (x1:xs1) -> return (x1, xs1)- _ -> Left (brokenReexportMsg reex)+ let matches_pn (FromMixins pn' _ _) = pn == pn'+ matches_pn (FromBuildDepends pn' _) = pn == pn'+ matches_pn (FromExposedModules _) = pn == packageName this_pid+ matches_pn (FromOtherModules _) = pn == packageName this_pid+ matches_pn (FromSignatures _) = pn == packageName this_pid+ in case filter (matches_pn . getSource) cands of+ (x1:xs1) -> return (x1, xs1)+ _ -> Left (brokenReexportMsg reex) Nothing -> return (x0, xs0) -- Test that all the candidates are consistent- case filter (\x' -> msrc_module x /= msrc_module x') xs of+ case filter (\x' -> unWithSource x /= unWithSource x') xs of [] -> return () _ -> Left $ ambiguousReexportMsg reex x xs- return (to, msrc_module x)+ return (to, unWithSource x) _ -> Left (brokenReexportMsg reex) @@ -362,15 +372,15 @@ , text "It occurs in neither the 'exposed-modules' of this package," , text "nor any of its 'build-depends' dependencies." ] -ambiguousReexportMsg :: ModuleReexport -> ModuleSource -> [ModuleSource] -> Doc+ambiguousReexportMsg :: ModuleReexport -> ModuleWithSource -> [ModuleWithSource] -> Doc ambiguousReexportMsg (ModuleReexport mb_pn from _to) y1 ys = vcat [ text "Ambiguous reexport" <+> quotes (disp from) , hang (text "It could refer to either:") 2 (vcat (msg : msgs)) , help_msg mb_pn ] where- msg = text " " <+> displaySource y1- msgs = [text "or" <+> displaySource y | y <- ys]+ msg = text " " <+> displayModuleWithSource y1+ msgs = [text "or" <+> displayModuleWithSource y | y <- ys] help_msg Nothing = -- TODO: This advice doesn't help if the ambiguous exports -- come from a package named the same thing@@ -382,12 +392,8 @@ vcat [ text "The ambiguity can be resolved by using the" , text "mixins field to rename one of the module" , text "names differently." ]- displaySource y- = vcat [ quotes (disp (msrc_module y))+ displayModuleWithSource y+ = vcat [ quotes (disp (unWithSource y)) , text "brought into scope by" <+>- if not (isDefaultIncludeRenaming (msrc_renaming y))- then text "the mixin" <+>- disp (msrc_pkgname y) <+>- parens (disp (includeProvidesRn (msrc_renaming y)))- else text "the build dependency on" <+> disp (msrc_pkgname y)+ dispModuleSource (getSource y) ]
@@ -10,12 +10,12 @@ import Distribution.Backpack import Distribution.Backpack.UnifyM import Distribution.Backpack.FullUnitId+import Distribution.Backpack.ModuleScope import qualified Distribution.Utils.UnionFind as UnionFind import Distribution.ModuleName import Distribution.Text import Distribution.Types.ComponentId-import Distribution.Types.ComponentName import Text.PrettyPrint import Control.Monad@@ -36,39 +36,21 @@ let remaining = Map.difference reqs filled return (provs, remaining) --- TODO: Deduplicate this with Distribution.Backpack.UnifyM.ci_msg-dispSource :: ModuleSourceU s -> Doc-dispSource src- | usrc_implicit src- = text "build-depends:" <+> pp_pn- | otherwise- = text "mixins:" <+> pp_pn <+> disp (usrc_renaming src)- where- pp_pn =- -- NB: This syntax isn't quite the source syntax, but it- -- should be clear enough. To do source syntax, we'd- -- need to know what the package we're linking is.- case usrc_compname src of- CLibName -> disp (usrc_pkgname src)- CSubLibName cn -> disp (usrc_pkgname src) <<>> colon <<>> disp cn- -- Shouldn't happen- cn -> disp (usrc_pkgname src) <+> parens (disp cn)- -- | Link a list of possibly provided modules to a single -- requirement. This applies a side-condition that all -- of the provided modules at the same name are *actually* -- the same module. linkProvision :: ModuleName- -> [ModuleSourceU s] -- provs- -> [ModuleSourceU s] -- reqs- -> UnifyM s [ModuleSourceU s]+ -> [ModuleWithSourceU s] -- provs+ -> [ModuleWithSourceU s] -- reqs+ -> UnifyM s [ModuleWithSourceU s] linkProvision mod_name ret@(prov:provs) (req:reqs) = do -- TODO: coalesce all the non-unifying modules together forM_ provs $ \prov' -> do -- Careful: read it out BEFORE unifying, because the -- unification algorithm preemptively unifies modules- mod <- convertModuleU (usrc_module prov)- mod' <- convertModuleU (usrc_module prov')+ mod <- convertModuleU (unWithSource prov)+ mod' <- convertModuleU (unWithSource prov') r <- unify prov prov' case r of Just () -> return ()@@ -76,11 +58,22 @@ addErr $ text "Ambiguous module" <+> quotes (disp mod_name) $$ text "It could refer to" <+>- ( text " " <+> (quotes (disp mod) $$ in_scope_by prov) $$- text "or" <+> (quotes (disp mod') $$ in_scope_by prov') ) $$+ ( text " " <+> (quotes (disp mod) $$ in_scope_by (getSource prov)) $$+ text "or" <+> (quotes (disp mod') $$ in_scope_by (getSource prov')) ) $$ link_doc- mod <- convertModuleU (usrc_module prov)- req_mod <- convertModuleU (usrc_module req)+ mod <- convertModuleU (unWithSource prov)+ req_mod <- convertModuleU (unWithSource req)+ self_cid <- fmap unify_self_cid getUnifEnv+ case mod of+ OpenModule (IndefFullUnitId cid _) _+ | cid == self_cid -> addErr $+ text "Cannot instantiate requirement" <+> quotes (disp mod_name) <+>+ in_scope_by (getSource req) $$+ text "with locally defined module" <+> in_scope_by (getSource prov) $$+ text "as this would create a cyclic dependency, which GHC does not support." $$+ text "Try moving this module to a separate library, e.g.," $$+ text "create a new stanza: library 'sublib'."+ _ -> return () r <- unify prov req case r of Just () -> return ()@@ -95,14 +88,14 @@ return ret where unify s1 s2 = tryM $ addErrContext short_link_doc- $ unifyModule (usrc_module s1) (usrc_module s2)- in_scope_by s = text "brought into scope by" <+> dispSource s+ $ unifyModule (unWithSource s1) (unWithSource s2)+ in_scope_by s = text "brought into scope by" <+> dispModuleSource s short_link_doc = text "While filling requirement" <+> quotes (disp mod_name) link_doc = text "While filling requirements of" <+> reqs_doc reqs_doc- | null reqs = dispSource req- | otherwise = ( text " " <+> dispSource req $$- vcat [ text "and" <+> dispSource r | r <- reqs])+ | null reqs = dispModuleSource (getSource req)+ | otherwise = ( text " " <+> dispModuleSource (getSource req) $$+ vcat [ text "and" <+> dispModuleSource (getSource r) | r <- reqs]) linkProvision _ _ _ = error "linkProvision"
@@ -1,3 +1,6 @@+{-# LANGUAGE DeriveFunctor #-}+{-# LANGUAGE DeriveTraversable #-}+{-# LANGUAGE DeriveFoldable #-} -- | See <https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst> module Distribution.Backpack.ModuleScope ( -- * Module scopes@@ -5,6 +8,11 @@ ModuleProvides, ModuleRequires, ModuleSource(..),+ dispModuleSource,+ WithSource(..),+ unWithSource,+ getSource,+ ModuleWithSource, emptyModuleScope, ) where @@ -18,8 +26,10 @@ import Distribution.Backpack import Distribution.Backpack.ModSubst+import Distribution.Text import qualified Data.Map as Map+import Text.PrettyPrint -----------------------------------------------------------------------@@ -61,28 +71,61 @@ modScopeRequires :: ModuleRequires } +-- | An empty 'ModuleScope'.+emptyModuleScope :: ModuleScope+emptyModuleScope = ModuleScope Map.empty Map.empty+ -- | Every 'Module' in scope at a 'ModuleName' is annotated with -- the 'PackageName' it comes from.-type ModuleProvides = Map ModuleName [ModuleSource]+type ModuleProvides = Map ModuleName [ModuleWithSource] -- | INVARIANT: entries for ModuleName m, have msrc_module is OpenModuleVar m-type ModuleRequires = Map ModuleName [ModuleSource]+type ModuleRequires = Map ModuleName [ModuleWithSource] -- TODO: consider newtping the two types above. -data ModuleSource =- ModuleSource {- -- We don't have line numbers, but if we did the- -- package name and renaming could be associated- -- with that as well- msrc_pkgname :: PackageName,- msrc_compname :: ComponentName,- msrc_renaming :: IncludeRenaming,- msrc_module :: OpenModule,- msrc_implicit :: Bool- }+-- | Description of where a module participating in mixin linking came+-- from.+data ModuleSource+ = FromMixins PackageName ComponentName IncludeRenaming+ | FromBuildDepends PackageName ComponentName+ | FromExposedModules ModuleName+ | FromOtherModules ModuleName+ | FromSignatures ModuleName+-- We don't have line numbers, but if we did, we'd want to record that+-- too --- | An empty 'ModuleScope'.-emptyModuleScope :: ModuleScope-emptyModuleScope = ModuleScope Map.empty Map.empty+-- TODO: Deduplicate this with Distribution.Backpack.UnifyM.ci_msg+dispModuleSource :: ModuleSource -> Doc+dispModuleSource (FromMixins pn cn incls)+ = text "mixins:" <+> dispComponent pn cn <+> disp incls+dispModuleSource (FromBuildDepends pn cn)+ = text "build-depends:" <+> dispComponent pn cn+dispModuleSource (FromExposedModules m)+ = text "exposed-modules:" <+> disp m+dispModuleSource (FromOtherModules m)+ = text "other-modules:" <+> disp m+dispModuleSource (FromSignatures m)+ = text "signatures:" <+> disp m -instance ModSubst ModuleSource where- modSubst subst src = src { msrc_module = modSubst subst (msrc_module src) }+-- Dependency+dispComponent :: PackageName -> ComponentName -> Doc+dispComponent pn cn =+ -- NB: This syntax isn't quite the source syntax, but it+ -- should be clear enough. To do source syntax, we'd+ -- need to know what the package we're linking is.+ case cn of+ CLibName -> disp pn+ CSubLibName ucn -> disp pn <<>> colon <<>> disp ucn+ -- Case below shouldn't happen+ _ -> disp pn <+> parens (disp cn)++-- | An 'OpenModule', annotated with where it came from in a Cabal file.+data WithSource a = WithSource ModuleSource a+ deriving (Functor, Foldable, Traversable)+unWithSource :: WithSource a -> a+unWithSource (WithSource _ x) = x+getSource :: WithSource a -> ModuleSource+getSource (WithSource s _) = s+type ModuleWithSource = WithSource OpenModule++instance ModSubst a => ModSubst (WithSource a) where+ modSubst subst (WithSource s m) = WithSource s (modSubst subst m)
@@ -0,0 +1,45 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}++module Distribution.Backpack.PreModuleShape (+ PreModuleShape(..),+ toPreModuleShape,+ renamePreModuleShape,+ mixLinkPreModuleShape,+) where++import Prelude ()+import Distribution.Compat.Prelude++import Data.Set (Set)+import qualified Data.Set as Set+import qualified Data.Map as Map++import Distribution.Backpack.ModuleShape+import Distribution.Types.IncludeRenaming+import Distribution.Types.ModuleRenaming+import Distribution.ModuleName++data PreModuleShape = PreModuleShape {+ preModShapeProvides :: Set ModuleName,+ preModShapeRequires :: Set ModuleName+ }+ deriving (Eq, Show, Generic)++toPreModuleShape :: ModuleShape -> PreModuleShape+toPreModuleShape (ModuleShape provs reqs) = PreModuleShape (Map.keysSet provs) reqs++renamePreModuleShape :: PreModuleShape -> IncludeRenaming -> PreModuleShape+renamePreModuleShape (PreModuleShape provs reqs) (IncludeRenaming prov_rn req_rn) =+ PreModuleShape+ (Set.fromList (mapMaybe prov_fn (Set.toList provs)))+ (Set.map req_fn reqs)+ where+ prov_fn = interpModuleRenaming prov_rn+ req_fn k = fromMaybe k (interpModuleRenaming req_rn k)++mixLinkPreModuleShape :: [PreModuleShape] -> PreModuleShape+mixLinkPreModuleShape shapes = PreModuleShape provs (Set.difference reqs provs)+ where+ provs = Set.unions (map preModShapeProvides shapes)+ reqs = Set.unions (map preModShapeRequires shapes)
@@ -35,7 +35,7 @@ emptyModuleScopeU, convertModuleScopeU, - ModuleSourceU(..),+ ModuleWithSourceU, convertInclude, convertModuleProvides,@@ -92,14 +92,15 @@ newtype UnifyM s a = UnifyM { unUnifyM :: UnifEnv s -> ST s (Maybe a) } -- | Run a computation in the unification monad.-runUnifyM :: Verbosity -> FullDb -> (forall s. UnifyM s a) -> Either [MsgDoc] a-runUnifyM verbosity db m+runUnifyM :: Verbosity -> ComponentId -> FullDb -> (forall s. UnifyM s a) -> Either [MsgDoc] a+runUnifyM verbosity self_cid db m = runST $ do i <- newSTRef 0 hmap <- newSTRef Map.empty errs <- newSTRef [] mb_r <- unUnifyM m UnifEnv { unify_uniq = i, unify_reqs = hmap,+ unify_self_cid = self_cid, unify_verbosity = verbosity, unify_ctx = [], unify_db = db,@@ -123,6 +124,11 @@ -- the requirement at the same module name to fill it. -- This mapping grows monotonically. unify_reqs :: UnifRef s (Map ModuleName (ModuleU s)),+ -- | Component id of the unit we're linking. We use this+ -- to detect if we fill a requirement with a local module,+ -- which in principle should be OK but is not currently+ -- supported by GHC.+ unify_self_cid :: ComponentId, -- | How verbose the error message should be unify_verbosity :: Verbosity, -- | The error reporting context@@ -422,19 +428,9 @@ -- | The mutable counterpart of 'ModuleScope'. type ModuleScopeU s = (ModuleProvidesU s, ModuleRequiresU s) -- | The mutable counterpart of 'ModuleProvides'-type ModuleProvidesU s = Map ModuleName [ModuleSourceU s]+type ModuleProvidesU s = Map ModuleName [ModuleWithSourceU s] type ModuleRequiresU s = ModuleProvidesU s-data ModuleSourceU s =- ModuleSourceU {- -- We don't have line numbers, but if we did the- -- package name and renaming could be associated- -- with that as well- usrc_pkgname :: PackageName,- usrc_compname :: ComponentName,- usrc_renaming :: IncludeRenaming,- usrc_module :: ModuleU s,- usrc_implicit :: Bool- }+type ModuleWithSourceU s = WithSource (ModuleU s) -- TODO: Deduplicate this with Distribution.Backpack.MixLink.dispSource ci_msg :: ComponentInclude (OpenUnitId, ModuleShape) IncludeRenaming -> Doc@@ -467,13 +463,11 @@ ci_implicit = implicit }) = addErrContext (text "In" <+> ci_msg ci) $ do let pn = packageName pid- source m = ModuleSource {- msrc_pkgname = pn,- msrc_compname = compname,- msrc_renaming = incl,- msrc_module = m,- msrc_implicit = implicit- }+ the_source | implicit+ = FromBuildDepends pn compname+ | otherwise+ = FromMixins pn compname incl+ source = WithSource the_source -- Suppose our package has two requirements A and B, and -- we include it with @requires (A as X)@@@ -621,17 +615,11 @@ -- | Convert a 'ModuleProvides' to a 'ModuleProvidesU' convertModuleProvides :: ModuleProvides -> UnifyM s (ModuleProvidesU s)-convertModuleProvides = T.mapM $ \ms ->- mapM (\(ModuleSource pn cn incl m i)- -> do m' <- convertModule m- return (ModuleSourceU pn cn incl m' i)) ms+convertModuleProvides = T.mapM (mapM (T.mapM convertModule)) -- | Convert a 'ModuleProvidesU' to a 'ModuleProvides' convertModuleProvidesU :: ModuleProvidesU s -> UnifyM s ModuleProvides-convertModuleProvidesU = T.mapM $ \ms ->- mapM (\(ModuleSourceU pn cn incl m i)- -> do m' <- convertModuleU m- return (ModuleSource pn cn incl m' i)) ms+convertModuleProvidesU = T.mapM (mapM (T.mapM convertModuleU)) convertModuleRequires :: ModuleRequires -> UnifyM s (ModuleRequiresU s) convertModuleRequires = convertModuleProvides
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+module Distribution.CabalSpecVersion where++import Prelude ()+import Distribution.Compat.Prelude+import qualified Data.Set as Set++-- | Different Cabal-the-spec versions.+--+-- We branch based on this at least in the parser.+--+data CabalSpecVersion+ = CabalSpecOld+ | CabalSpecV1_22+ | CabalSpecV1_24+ | CabalSpecV2_0+ | CabalSpecV2_2+ deriving (Eq, Ord, Show, Read, Enum, Bounded, Typeable, Data, Generic)++cabalSpecLatest :: CabalSpecVersion+cabalSpecLatest = CabalSpecV2_2++cabalSpecFeatures :: CabalSpecVersion -> Set.Set CabalFeature+cabalSpecFeatures CabalSpecOld = Set.empty+cabalSpecFeatures CabalSpecV1_22 = Set.empty+cabalSpecFeatures CabalSpecV1_24 = Set.empty+cabalSpecFeatures CabalSpecV2_0 = Set.empty+cabalSpecFeatures CabalSpecV2_2 = Set.fromList+ [ Elif+ , CommonStanzas+ ]++cabalSpecSupports :: CabalSpecVersion -> [Int] -> Bool+cabalSpecSupports CabalSpecOld v = v < [1,21]+cabalSpecSupports CabalSpecV1_22 v = v < [1,23]+cabalSpecSupports CabalSpecV1_24 v = v < [1,25]+cabalSpecSupports CabalSpecV2_0 v = v < [2,1]+cabalSpecSupports CabalSpecV2_2 _ = True++specHasCommonStanzas :: CabalSpecVersion -> HasCommonStanzas+specHasCommonStanzas CabalSpecV2_2 = HasCommonStanzas+specHasCommonStanzas _ = NoCommonStanzas++specHasElif :: CabalSpecVersion -> HasElif+specHasElif CabalSpecV2_2 = HasElif+specHasElif _ = NoElif++-------------------------------------------------------------------------------+-- Features+-------------------------------------------------------------------------------++data CabalFeature+ = Elif+ | CommonStanzas+ deriving (Eq, Ord, Show, Read, Enum, Bounded, Typeable, Data, Generic)++-------------------------------------------------------------------------------+-- Booleans+-------------------------------------------------------------------------------++data HasElif = HasElif | NoElif+ deriving (Eq, Show)++data HasCommonStanzas = HasCommonStanzas | NoCommonStanzas+ deriving (Eq, Show)
@@ -30,7 +30,7 @@ import Data.Binary.Put import Data.Binary.Get -import Control.Monad+import Control.Applicative ((<$>), (<*>), (*>)) import Foreign import Data.ByteString.Lazy (ByteString)@@ -104,12 +104,12 @@ -- Bools are encoded as a byte in the range 0 .. 1 instance Binary Bool where put = putWord8 . fromIntegral . fromEnum- get = liftM (toEnum . fromIntegral) getWord8+ get = fmap (toEnum . fromIntegral) getWord8 -- Values of type 'Ordering' are encoded as a byte in the range 0 .. 2 instance Binary Ordering where put = putWord8 . fromIntegral . fromEnum- get = liftM (toEnum . fromIntegral) getWord8+ get = fmap (toEnum . fromIntegral) getWord8 ------------------------------------------------------------------------ -- Words and Ints@@ -137,34 +137,34 @@ -- Int8s are written as a single byte. instance Binary Int8 where put i = put (fromIntegral i :: Word8)- get = liftM fromIntegral (get :: Get Word8)+ get = fmap fromIntegral (get :: Get Word8) -- Int16s are written as a 2 bytes in big endian format instance Binary Int16 where put i = put (fromIntegral i :: Word16)- get = liftM fromIntegral (get :: Get Word16)+ get = fmap fromIntegral (get :: Get Word16) -- Int32s are written as a 4 bytes in big endian format instance Binary Int32 where put i = put (fromIntegral i :: Word32)- get = liftM fromIntegral (get :: Get Word32)+ get = fmap fromIntegral (get :: Get Word32) -- Int64s are written as a 4 bytes in big endian format instance Binary Int64 where put i = put (fromIntegral i :: Word64)- get = liftM fromIntegral (get :: Get Word64)+ get = fmap fromIntegral (get :: Get Word64) ------------------------------------------------------------------------ -- Words are are written as Word64s, that is, 8 bytes in big endian format instance Binary Word where put i = put (fromIntegral i :: Word64)- get = liftM fromIntegral (get :: Get Word64)+ get = fmap fromIntegral (get :: Get Word64) -- Ints are are written as Int64s, that is, 8 bytes in big endian format instance Binary Int where put i = put (fromIntegral i :: Int64)- get = liftM fromIntegral (get :: Get Int64)+ get = fmap fromIntegral (get :: Get Int64) ------------------------------------------------------------------------ --@@ -200,7 +200,7 @@ get = do tag <- get :: Get Word8 case tag of- 0 -> liftM fromIntegral (get :: Get SmallInt)+ 0 -> fmap fromIntegral (get :: Get SmallInt) _ -> do sign <- get bytes <- get let v = roll bytes@@ -237,7 +237,7 @@ import GHC.IOBase (IO(..)) instance Binary Integer where- put (S# i) = putWord8 0 >> put (I# i)+ put (S# i) = putWord8 0 *> put (I# i) put (J# s ba) = do putWord8 1 put (I# s)@@ -263,7 +263,7 @@ -- Pretty scary. Should be quick though get = do- (fp, off, n@(I# sz)) <- liftM toForeignPtr get -- so decode a ByteString+ (fp, off, n@(I# sz)) <- fmap toForeignPtr get -- so decode a ByteString assert (off == 0) $ return $ unsafePerformIO $ do (MBA arr) <- newByteArray sz -- and copy it into a ByteArray# let to = byteArrayContents# (unsafeCoerce# arr) -- urk, is this safe?@@ -287,8 +287,8 @@ -} instance (Binary a,Integral a) => Binary (R.Ratio a) where- put r = put (R.numerator r) >> put (R.denominator r)- get = liftM2 (R.%) get get+ put r = put (R.numerator r) *> put (R.denominator r)+ get = (R.%) <$> get <*> get ------------------------------------------------------------------------ @@ -314,23 +314,23 @@ w = fromIntegral (shiftR c 18 .&. 0x7) get = do- let getByte = liftM (fromIntegral :: Word8 -> Int) get+ let getByte = fmap (fromIntegral :: Word8 -> Int) get shiftL6 = flip shiftL 6 :: Int -> Int w <- getByte r <- case () of _ | w < 0x80 -> return w | w < 0xe0 -> do- x <- liftM (xor 0x80) getByte+ x <- fmap (xor 0x80) getByte return (x .|. shiftL6 (xor 0xc0 w)) | w < 0xf0 -> do- x <- liftM (xor 0x80) getByte- y <- liftM (xor 0x80) getByte+ x <- fmap (xor 0x80) getByte+ y <- fmap (xor 0x80) getByte return (y .|. shiftL6 (x .|. shiftL6 (xor 0xe0 w))) | otherwise -> do- x <- liftM (xor 0x80) getByte- y <- liftM (xor 0x80) getByte- z <- liftM (xor 0x80) getByte+ x <- fmap (xor 0x80) getByte+ y <- fmap (xor 0x80) getByte+ z <- fmap (xor 0x80) getByte return (z .|. shiftL6 (y .|. shiftL6 (x .|. shiftL6 (xor 0xf0 w)))) return $! chr r@@ -339,20 +339,20 @@ -- Instances for the first few tuples instance (Binary a, Binary b) => Binary (a,b) where- put (a,b) = put a >> put b- get = liftM2 (,) get get+ put (a,b) = put a *> put b+ get = (,) <$> get <*> get instance (Binary a, Binary b, Binary c) => Binary (a,b,c) where- put (a,b,c) = put a >> put b >> put c- get = liftM3 (,,) get get get+ put (a,b,c) = put a *> put b *> put c+ get = (,,) <$> get <*> get <*> get instance (Binary a, Binary b, Binary c, Binary d) => Binary (a,b,c,d) where- put (a,b,c,d) = put a >> put b >> put c >> put d- get = liftM4 (,,,) get get get get+ put (a,b,c,d) = put a *> put b *> put c *> put d+ get = (,,,) <$> get <*> get <*> get <*> get instance (Binary a, Binary b, Binary c, Binary d, Binary e) => Binary (a,b,c,d,e) where- put (a,b,c,d,e) = put a >> put b >> put c >> put d >> put e- get = liftM5 (,,,,) get get get get get+ put (a,b,c,d,e) = put a *> put b *> put c *> put d *> put e+ get = (,,,,) <$> get <*> get <*> get <*> get <*> get -- -- and now just recurse:@@ -390,7 +390,7 @@ -- Container types instance Binary a => Binary [a] where- put l = put (length l) >> traverse_ put l+ put l = put (length l) *> traverse_ put l get = do n <- get :: Get Int getMany n @@ -407,21 +407,21 @@ instance (Binary a) => Binary (Maybe a) where put Nothing = putWord8 0- put (Just x) = putWord8 1 >> put x+ put (Just x) = putWord8 1 *> put x get = do w <- getWord8 case w of 0 -> return Nothing- _ -> liftM Just get+ _ -> fmap Just get instance (Binary a, Binary b) => Binary (Either a b) where- put (Left a) = putWord8 0 >> put a- put (Right b) = putWord8 1 >> put b+ put (Left a) = putWord8 0 *> put a+ put (Right b) = putWord8 1 *> put b get = do w <- getWord8 case w of- 0 -> liftM Left get- _ -> liftM Right get+ 0 -> fmap Left get+ _ -> fmap Right get ------------------------------------------------------------------------ -- ByteStrings (have specially efficient instances)@@ -445,26 +445,26 @@ -- Maps and Sets instance (Binary a) => Binary (Set.Set a) where- put s = put (Set.size s) >> traverse_ put (Set.toAscList s)- get = liftM Set.fromDistinctAscList get+ put s = put (Set.size s) *> traverse_ put (Set.toAscList s)+ get = fmap Set.fromDistinctAscList get instance (Binary k, Binary e) => Binary (Map.Map k e) where- put m = put (Map.size m) >> traverse_ put (Map.toAscList m)- get = liftM Map.fromDistinctAscList get+ put m = put (Map.size m) *> traverse_ put (Map.toAscList m)+ get = fmap Map.fromDistinctAscList get instance Binary IntSet.IntSet where- put s = put (IntSet.size s) >> traverse_ put (IntSet.toAscList s)- get = liftM IntSet.fromDistinctAscList get+ put s = put (IntSet.size s) *> traverse_ put (IntSet.toAscList s)+ get = fmap IntSet.fromDistinctAscList get instance (Binary e) => Binary (IntMap.IntMap e) where- put m = put (IntMap.size m) >> traverse_ put (IntMap.toAscList m)- get = liftM IntMap.fromDistinctAscList get+ put m = put (IntMap.size m) *> traverse_ put (IntMap.toAscList m)+ get = fmap IntMap.fromDistinctAscList get ------------------------------------------------------------------------ -- Queues and Sequences instance (Binary e) => Binary (Seq.Seq e) where- put s = put (Seq.length s) >> Fold.traverse_ put s+ put s = put (Seq.length s) *> Fold.traverse_ put s get = do n <- get :: Get Int rep Seq.empty n get where rep xs 0 _ = return $! xs@@ -477,18 +477,18 @@ instance Binary Double where put d = put (decodeFloat d)- get = liftM2 encodeFloat get get+ get = encodeFloat <$> get <*> get instance Binary Float where put f = put (decodeFloat f)- get = liftM2 encodeFloat get get+ get = encodeFloat <$> get <*> get ------------------------------------------------------------------------ -- Trees instance (Binary e) => Binary (T.Tree e) where- put (T.Node r s) = put r >> put s- get = liftM2 T.Node get get+ put (T.Node r s) = put r *> put s+ get = T.Node <$> get <*> get ------------------------------------------------------------------------ -- Arrays
@@ -0,0 +1,356 @@+{-# LANGUAGE GADTs #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# OPTIONS_GHC -fspec-constr -fspec-constr-count=8 #-}+-----------------------------------------------------------------------------+-- |+-- Module : Distribution.Compat.CharParsing+-- Copyright : (c) Edward Kmett 2011+-- License : BSD3+--+-- Maintainer : ekmett@gmail.com+-- Stability : experimental+-- Portability : non-portable+--+-- Parsers for character streams+--+-- Originally in @parsers@ package.+--+-----------------------------------------------------------------------------+module Distribution.Compat.CharParsing+ (+ -- * Combinators+ oneOf -- :: CharParsing m => [Char] -> m Char+ , noneOf -- :: CharParsing m => [Char] -> m Char+ , spaces -- :: CharParsing m => m ()+ , space -- :: CharParsing m => m Char+ , newline -- :: CharParsing m => m Char+ , tab -- :: CharParsing m => m Char+ , upper -- :: CharParsing m => m Char+ , lower -- :: CharParsing m => m Char+ , alphaNum -- :: CharParsing m => m Char+ , letter -- :: CharParsing m => m Char+ , digit -- :: CharParsing m => m Char+ , hexDigit -- :: CharParsing m => m Char+ , octDigit -- :: CharParsing m => m Char+ , satisfyRange -- :: CharParsing m => Char -> Char -> m Char+ -- * Class+ , CharParsing(..)+ -- * Cabal additions+ , integral+ , munch1+ , munch+ , skipSpaces1+ , module Distribution.Compat.Parsing+ ) where++import Prelude ()+import Distribution.Compat.Prelude++import Control.Monad.Trans.Class (lift)+import Control.Monad.Trans.State.Lazy as Lazy+import Control.Monad.Trans.State.Strict as Strict+import Control.Monad.Trans.Writer.Lazy as Lazy+import Control.Monad.Trans.Writer.Strict as Strict+import Control.Monad.Trans.RWS.Lazy as Lazy+import Control.Monad.Trans.RWS.Strict as Strict+import Control.Monad.Trans.Reader (ReaderT (..))+import Control.Monad.Trans.Identity (IdentityT (..))+import Data.Char+import Data.Text (Text, unpack)++import qualified Text.Parsec as Parsec+import qualified Distribution.Compat.ReadP as ReadP++import Distribution.Compat.Parsing++-- | @oneOf cs@ succeeds if the current character is in the supplied+-- list of characters @cs@. Returns the parsed character. See also+-- 'satisfy'.+--+-- > vowel = oneOf "aeiou"+oneOf :: CharParsing m => [Char] -> m Char+oneOf xs = satisfy (\c -> c `elem` xs)+{-# INLINE oneOf #-}++-- | As the dual of 'oneOf', @noneOf cs@ succeeds if the current+-- character is /not/ in the supplied list of characters @cs@. Returns the+-- parsed character.+--+-- > consonant = noneOf "aeiou"+noneOf :: CharParsing m => [Char] -> m Char+noneOf xs = satisfy (\c -> c `notElem` xs)+{-# INLINE noneOf #-}++-- | Skips /zero/ or more white space characters. See also 'skipMany'.+spaces :: CharParsing m => m ()+spaces = skipMany space <?> "white space"+{-# INLINE spaces #-}++-- | Parses a white space character (any character which satisfies 'isSpace')+-- Returns the parsed character.+space :: CharParsing m => m Char+space = satisfy isSpace <?> "space"+{-# INLINE space #-}++-- | Parses a newline character (\'\\n\'). Returns a newline character.+newline :: CharParsing m => m Char+newline = char '\n' <?> "new-line"+{-# INLINE newline #-}++-- | Parses a tab character (\'\\t\'). Returns a tab character.+tab :: CharParsing m => m Char+tab = char '\t' <?> "tab"+{-# INLINE tab #-}++-- | Parses an upper case letter. Returns the parsed character.+upper :: CharParsing m => m Char+upper = satisfy isUpper <?> "uppercase letter"+{-# INLINE upper #-}++-- | Parses a lower case character. Returns the parsed character.+lower :: CharParsing m => m Char+lower = satisfy isLower <?> "lowercase letter"+{-# INLINE lower #-}++-- | Parses a letter or digit. Returns the parsed character.+alphaNum :: CharParsing m => m Char+alphaNum = satisfy isAlphaNum <?> "letter or digit"+{-# INLINE alphaNum #-}++-- | Parses a letter (an upper case or lower case character). Returns the+-- parsed character.+letter :: CharParsing m => m Char+letter = satisfy isAlpha <?> "letter"+{-# INLINE letter #-}++-- | Parses a digit. Returns the parsed character.+digit :: CharParsing m => m Char+digit = satisfy isDigit <?> "digit"+{-# INLINE digit #-}++-- | Parses a hexadecimal digit (a digit or a letter between \'a\' and+-- \'f\' or \'A\' and \'F\'). Returns the parsed character.+hexDigit :: CharParsing m => m Char+hexDigit = satisfy isHexDigit <?> "hexadecimal digit"+{-# INLINE hexDigit #-}++-- | Parses an octal digit (a character between \'0\' and \'7\'). Returns+-- the parsed character.+octDigit :: CharParsing m => m Char+octDigit = satisfy isOctDigit <?> "octal digit"+{-# INLINE octDigit #-}++satisfyRange :: CharParsing m => Char -> Char -> m Char+satisfyRange a z = satisfy (\c -> c >= a && c <= z)+{-# INLINE satisfyRange #-}++-- | Additional functionality needed to parse character streams.+class Parsing m => CharParsing m where+ -- | Parse a single character of the input, with UTF-8 decoding+ satisfy :: (Char -> Bool) -> m Char++ -- | @char c@ parses a single character @c@. Returns the parsed+ -- character (i.e. @c@).+ --+ -- /e.g./+ --+ -- @semiColon = 'char' ';'@+ char :: Char -> m Char+ char c = satisfy (c ==) <?> show [c]+ {-# INLINE char #-}++ -- | @notChar c@ parses any single character other than @c@. Returns the parsed+ -- character.+ notChar :: Char -> m Char+ notChar c = satisfy (c /=)+ {-# INLINE notChar #-}++ -- | This parser succeeds for any character. Returns the parsed character.+ anyChar :: m Char+ anyChar = satisfy (const True)+ {-# INLINE anyChar #-}++ -- | @string s@ parses a sequence of characters given by @s@. Returns+ -- the parsed string (i.e. @s@).+ --+ -- > divOrMod = string "div"+ -- > <|> string "mod"+ string :: String -> m String+ string s = s <$ try (traverse_ char s) <?> show s+ {-# INLINE string #-}++ -- | @text t@ parses a sequence of characters determined by the text @t@ Returns+ -- the parsed text fragment (i.e. @t@).+ --+ -- Using @OverloadedStrings@:+ --+ -- > divOrMod = text "div"+ -- > <|> text "mod"+ text :: Text -> m Text+ text t = t <$ string (unpack t)+ {-# INLINE text #-}++instance (CharParsing m, MonadPlus m) => CharParsing (Lazy.StateT s m) where+ satisfy = lift . satisfy+ {-# INLINE satisfy #-}+ char = lift . char+ {-# INLINE char #-}+ notChar = lift . notChar+ {-# INLINE notChar #-}+ anyChar = lift anyChar+ {-# INLINE anyChar #-}+ string = lift . string+ {-# INLINE string #-}+ text = lift . text+ {-# INLINE text #-}++instance (CharParsing m, MonadPlus m) => CharParsing (Strict.StateT s m) where+ satisfy = lift . satisfy+ {-# INLINE satisfy #-}+ char = lift . char+ {-# INLINE char #-}+ notChar = lift . notChar+ {-# INLINE notChar #-}+ anyChar = lift anyChar+ {-# INLINE anyChar #-}+ string = lift . string+ {-# INLINE string #-}+ text = lift . text+ {-# INLINE text #-}++instance (CharParsing m, MonadPlus m) => CharParsing (ReaderT e m) where+ satisfy = lift . satisfy+ {-# INLINE satisfy #-}+ char = lift . char+ {-# INLINE char #-}+ notChar = lift . notChar+ {-# INLINE notChar #-}+ anyChar = lift anyChar+ {-# INLINE anyChar #-}+ string = lift . string+ {-# INLINE string #-}+ text = lift . text+ {-# INLINE text #-}++instance (CharParsing m, MonadPlus m, Monoid w) => CharParsing (Strict.WriterT w m) where+ satisfy = lift . satisfy+ {-# INLINE satisfy #-}+ char = lift . char+ {-# INLINE char #-}+ notChar = lift . notChar+ {-# INLINE notChar #-}+ anyChar = lift anyChar+ {-# INLINE anyChar #-}+ string = lift . string+ {-# INLINE string #-}+ text = lift . text+ {-# INLINE text #-}++instance (CharParsing m, MonadPlus m, Monoid w) => CharParsing (Lazy.WriterT w m) where+ satisfy = lift . satisfy+ {-# INLINE satisfy #-}+ char = lift . char+ {-# INLINE char #-}+ notChar = lift . notChar+ {-# INLINE notChar #-}+ anyChar = lift anyChar+ {-# INLINE anyChar #-}+ string = lift . string+ {-# INLINE string #-}+ text = lift . text+ {-# INLINE text #-}++instance (CharParsing m, MonadPlus m, Monoid w) => CharParsing (Lazy.RWST r w s m) where+ satisfy = lift . satisfy+ {-# INLINE satisfy #-}+ char = lift . char+ {-# INLINE char #-}+ notChar = lift . notChar+ {-# INLINE notChar #-}+ anyChar = lift anyChar+ {-# INLINE anyChar #-}+ string = lift . string+ {-# INLINE string #-}+ text = lift . text+ {-# INLINE text #-}++instance (CharParsing m, MonadPlus m, Monoid w) => CharParsing (Strict.RWST r w s m) where+ satisfy = lift . satisfy+ {-# INLINE satisfy #-}+ char = lift . char+ {-# INLINE char #-}+ notChar = lift . notChar+ {-# INLINE notChar #-}+ anyChar = lift anyChar+ {-# INLINE anyChar #-}+ string = lift . string+ {-# INLINE string #-}+ text = lift . text+ {-# INLINE text #-}++instance (CharParsing m, MonadPlus m) => CharParsing (IdentityT m) where+ satisfy = lift . satisfy+ {-# INLINE satisfy #-}+ char = lift . char+ {-# INLINE char #-}+ notChar = lift . notChar+ {-# INLINE notChar #-}+ anyChar = lift anyChar+ {-# INLINE anyChar #-}+ string = lift . string+ {-# INLINE string #-}+ text = lift . text+ {-# INLINE text #-}++instance Parsec.Stream s m Char => CharParsing (Parsec.ParsecT s u m) where+ satisfy = Parsec.satisfy+ char = Parsec.char+ notChar c = Parsec.satisfy (/= c)+ anyChar = Parsec.anyChar+ string = Parsec.string++instance t ~ Char => CharParsing (ReadP.Parser r t) where+ satisfy = ReadP.satisfy+ char = ReadP.char+ notChar c = ReadP.satisfy (/= c)+ anyChar = ReadP.get+ string = ReadP.string++-------------------------------------------------------------------------------+-- Our additions+-------------------------------------------------------------------------------++integral :: (CharParsing m, Integral a) => m a+integral = toNumber <$> some d <?> "integral"+ where+ toNumber = foldl' (\a b -> a * 10 + b) 0+ d = f <$> satisfyRange '0' '9'+ f '0' = 0+ f '1' = 1+ f '2' = 2+ f '3' = 3+ f '4' = 4+ f '5' = 5+ f '6' = 6+ f '7' = 7+ f '8' = 8+ f '9' = 9+ f _ = error "panic! integral"+{-# INLINE integral #-}++-- | Greedily munch characters while predicate holds.+-- Require at least one character.+munch1 :: CharParsing m => (Char -> Bool) -> m String+munch1 = some . satisfy+{-# INLINE munch1 #-}++-- | Greedely munch characters while predicate holds.+-- Always succeeds.+munch :: CharParsing m => (Char -> Bool) -> m String+munch = many . satisfy+{-# INLINE munch #-}++skipSpaces1 :: CharParsing m => m ()+skipSpaces1 = skipSome space+{-# INLINE skipSpaces1 #-}
@@ -15,6 +15,8 @@ import Distribution.Compat.Prelude import Distribution.Compat.Exception++#ifndef mingw32_HOST_OS import Distribution.Compat.Internal.TempFile import Control.Exception@@ -27,19 +29,34 @@ import System.FilePath ( takeDirectory ) import System.IO- ( IOMode(ReadMode), hClose, hGetBuf, hPutBuf+ ( IOMode(ReadMode), hClose, hGetBuf, hPutBuf, hFileSize , withBinaryFile ) import Foreign ( allocaBytes ) -#ifndef mingw32_HOST_OS-import System.Posix.Internals (withFilePath) import System.Posix.Types ( FileMode ) import System.Posix.Internals- ( c_chmod )+ ( c_chmod, withFilePath ) import Foreign.C ( throwErrnoPathIfMinus1_ )++#else /* else mingw32_HOST_OS */++import Control.Exception+ ( throwIO )+import qualified Data.ByteString.Lazy as BSL+import System.IO.Error+ ( ioeSetLocation )+import System.Directory+ ( doesFileExist )+import System.FilePath+ ( isRelative, normalise )+import System.IO+ ( IOMode(ReadMode), hFileSize+ , withBinaryFile )++import qualified System.Win32.File as Win32 ( copyFile ) #endif /* mingw32_HOST_OS */ copyOrdinaryFile, copyExecutableFile :: FilePath -> FilePath -> NoCallStackIO ()@@ -68,23 +85,46 @@ copyFile fromFPath toFPath = copy `catchIO` (\ioe -> throwIO (ioeSetLocation ioe "copyFile"))- where copy = withBinaryFile fromFPath ReadMode $ \hFrom ->- bracketOnError openTmp cleanTmp $ \(tmpFPath, hTmp) ->- do allocaBytes bufferSize $ copyContents hFrom hTmp- hClose hTmp- renameFile tmpFPath toFPath- openTmp = openBinaryTempFile (takeDirectory toFPath) ".copyFile.tmp"- cleanTmp (tmpFPath, hTmp) = do- hClose hTmp `catchIO` \_ -> return ()- removeFile tmpFPath `catchIO` \_ -> return ()- bufferSize = 4096+ where+#ifndef mingw32_HOST_OS+ copy = withBinaryFile fromFPath ReadMode $ \hFrom ->+ bracketOnError openTmp cleanTmp $ \(tmpFPath, hTmp) ->+ do allocaBytes bufferSize $ copyContents hFrom hTmp+ hClose hTmp+ renameFile tmpFPath toFPath+ openTmp = openBinaryTempFile (takeDirectory toFPath) ".copyFile.tmp"+ cleanTmp (tmpFPath, hTmp) = do+ hClose hTmp `catchIO` \_ -> return ()+ removeFile tmpFPath `catchIO` \_ -> return ()+ bufferSize = 4096 - copyContents hFrom hTo buffer = do- count <- hGetBuf hFrom buffer bufferSize- when (count > 0) $ do- hPutBuf hTo buffer count- copyContents hFrom hTo buffer+ copyContents hFrom hTo buffer = do+ count <- hGetBuf hFrom buffer bufferSize+ when (count > 0) $ do+ hPutBuf hTo buffer count+ copyContents hFrom hTo buffer+#else+ copy = Win32.copyFile (toExtendedLengthPath fromFPath)+ (toExtendedLengthPath toFPath)+ False +-- NOTE: Shamelessly lifted from System.Directory.Internal.Windows++-- | Add the @"\\\\?\\"@ prefix if necessary or possible. The path remains+-- unchanged if the prefix is not added. This function can sometimes be used+-- to bypass the @MAX_PATH@ length restriction in Windows API calls.+toExtendedLengthPath :: FilePath -> FilePath+toExtendedLengthPath path+ | isRelative path = path+ | otherwise =+ case normalise path of+ '\\' : '?' : '?' : '\\' : _ -> path+ '\\' : '\\' : '?' : '\\' : _ -> path+ '\\' : '\\' : '.' : '\\' : _ -> path+ '\\' : subpath@('\\' : _) -> "\\\\?\\UNC" <> subpath+ normalisedPath -> "\\\\?\\" <> normalisedPath+#endif /* mingw32_HOST_OS */+ -- | Like `copyFile`, but does not touch the target if source and destination -- are already byte-identical. This is recommended as it is useful for -- time-stamp based recompilation avoidance.@@ -94,7 +134,8 @@ unless equal $ copyFile src dest -- | Checks if two files are byte-identical.--- Returns False if either of the files do not exist.+-- Returns False if either of the files do not exist or if files+-- are of different size. filesEqual :: FilePath -> FilePath -> NoCallStackIO Bool filesEqual f1 f2 = do ex1 <- doesFileExist f1@@ -102,6 +143,11 @@ if not (ex1 && ex2) then return False else withBinaryFile f1 ReadMode $ \h1 -> withBinaryFile f2 ReadMode $ \h2 -> do- c1 <- BSL.hGetContents h1- c2 <- BSL.hGetContents h2- return $! c1 == c2+ s1 <- hFileSize h1+ s2 <- hFileSize h2+ if s1 /= s2+ then return False+ else do+ c1 <- BSL.hGetContents h1+ c2 <- BSL.hGetContents h2+ return $! c1 == c2
@@ -13,6 +13,8 @@ DList, runDList, singleton,+ fromList,+ toList, snoc, ) where @@ -28,6 +30,12 @@ -- | Make 'DList' with containing single element. singleton :: a -> DList a singleton a = DList (a:)++fromList :: [a] -> DList a+fromList as = DList (as ++)++toList :: DList a -> [a]+toList = runDList snoc :: DList a -> a -> DList a snoc xs x = xs <> singleton x
@@ -0,0 +1,27 @@+{-# LANGUAGE CPP #-}++module Distribution.Compat.Directory (listDirectory, makeAbsolute) where++import System.Directory as Dir+#if !MIN_VERSION_directory(1,2,2)+import System.FilePath as Path+#endif++#if !MIN_VERSION_directory(1,2,5)++listDirectory :: FilePath -> IO [FilePath]+listDirectory path =+ filter f `fmap` Dir.getDirectoryContents path+ where f filename = filename /= "." && filename /= ".."++#endif++#if !MIN_VERSION_directory(1,2,2)++makeAbsolute :: FilePath -> IO FilePath+makeAbsolute p | Path.isAbsolute p = return p+ | otherwise = do+ cwd <- Dir.getCurrentDirectory+ return $ cwd </> p++#endif
@@ -31,6 +31,9 @@ #ifdef mingw32_HOST_OS import Foreign.C+#if __GLASGOW_HASKELL__ < 708+import Foreign.Ptr (nullPtr)+#endif import GHC.Windows #else import Foreign.C.Types@@ -123,6 +126,12 @@ err <- c_GetLastError unless (err == eRROR_ENVVAR_NOT_FOUND) $ do throwGetLastError "unsetEnv"++eRROR_ENVVAR_NOT_FOUND :: DWORD+eRROR_ENVVAR_NOT_FOUND = 203++foreign import WINDOWS_CCONV unsafe "windows.h GetLastError"+ c_GetLastError:: IO DWORD #else unsetEnv key = withFilePath key (throwErrnoIf_ (/= 0) "unsetEnv" . c_unsetenv) #if __GLASGOW_HASKELL__ > 706
@@ -0,0 +1,254 @@+{-# LANGUAGE RankNTypes #-}+-- | This module provides very basic lens functionality, without extra dependencies.+--+-- For the documentation of the combinators see <http://hackage.haskell.org/package/lens lens> package.+-- This module uses the same vocabulary.+module Distribution.Compat.Lens (+ -- * Types+ Lens,+ Lens',+ Traversal,+ Traversal',+ -- ** LensLike+ LensLike,+ LensLike',+ -- ** rank-1 types+ Getting,+ AGetter,+ ASetter,+ ALens,+ ALens',+ -- * Getter+ view,+ use,+ -- * Setter+ set,+ over,+ -- * Fold+ toDListOf,+ toListOf,+ toSetOf,+ -- * Lens+ cloneLens,+ aview,+ -- * Common lenses+ _1, _2,+ -- * Operators+ (&),+ (^.),+ (.~), (?~), (%~),+ (.=), (?=), (%=),+ (^#),+ (#~), (#%~),+ -- * Internal Comonads+ Pretext (..),+ -- * Cabal developer info+ -- $development+ ) where++import Prelude()+import Distribution.Compat.Prelude++import Control.Applicative (Const (..))+import Data.Functor.Identity (Identity (..))+import Control.Monad.State.Class (MonadState (..), gets, modify)++import qualified Distribution.Compat.DList as DList+import qualified Data.Set as Set++-------------------------------------------------------------------------------+-- Types+-------------------------------------------------------------------------------++type LensLike f s t a b = (a -> f b) -> s -> f t+type LensLike' f s a = (a -> f a) -> s -> f s++type Lens s t a b = forall f. Functor f => LensLike f s t a b+type Traversal s t a b = forall f. Applicative f => LensLike f s t a b++type Lens' s a = Lens s s a a+type Traversal' s a = Traversal s s a a++type Getting r s a = LensLike (Const r) s s a a++type AGetter s a = LensLike (Const a) s s a a -- this doens't exist in 'lens'+type ASetter s t a b = LensLike Identity s t a b+type ALens s t a b = LensLike (Pretext a b) s t a b++type ALens' s a = ALens s s a a++-------------------------------------------------------------------------------+-- Getter+-------------------------------------------------------------------------------++view :: Getting a s a -> s -> a+view l s = getConst (l Const s)+{-# INLINE view #-}++use :: MonadState s m => Getting a s a -> m a+use l = gets (view l)+{-# INLINE use #-}++-------------------------------------------------------------------------------+-- Setter+-------------------------------------------------------------------------------++set :: ASetter s t a b -> b -> s -> t+set l x = over l (const x)++over :: ASetter s t a b -> (a -> b) -> s -> t+over l f s = runIdentity (l (\x -> Identity (f x)) s)++-------------------------------------------------------------------------------+-- Fold+-------------------------------------------------------------------------------++toDListOf :: Getting (DList.DList a) s a -> s -> DList.DList a+toDListOf l s = getConst (l (\x -> Const (DList.singleton x)) s)++toListOf :: Getting (DList.DList a) s a -> s -> [a]+toListOf l = DList.runDList . toDListOf l++toSetOf :: Getting (Set.Set a) s a -> s -> Set.Set a+toSetOf l s = getConst (l (\x -> Const (Set.singleton x)) s)++-------------------------------------------------------------------------------+-- Lens+-------------------------------------------------------------------------------++aview :: ALens s t a b -> s -> a+aview l = pretextPos . l pretextSell+{-# INLINE aview #-}+{-+lens :: (s -> a) -> (s -> a -> s) -> Lens' s a+lens sa sbt afb s = sbt s <$> afb (sa s)+-}++-------------------------------------------------------------------------------+-- Common+-------------------------------------------------------------------------------++_1 :: Lens (a, c) (b, c) a b+_1 f (a, c) = flip (,) c <$> f a++_2 :: Lens (c, a) (c, b) a b+_2 f (c, a) = (,) c <$> f a++-------------------------------------------------------------------------------+-- Operators+-------------------------------------------------------------------------------++-- | '&' is a reverse application operator+(&) :: a -> (a -> b) -> b+(&) = flip ($)+{-# INLINE (&) #-}+infixl 1 &++infixl 8 ^., ^#+infixr 4 .~, %~, ?~+infixr 4 #~, #%~+infixr 4 .=, %=, ?=++(^.) :: s -> Getting a s a -> a+s ^. l = getConst (l Const s)+{-# INLINE (^.) #-}++(.~) :: ASetter s t a b -> b -> s -> t+(.~) = set+{-# INLINE (.~) #-}++(?~) :: ASetter s t a (Maybe b) -> b -> s -> t+l ?~ b = set l (Just b)+{-# INLINE (?~) #-}++(%~) :: ASetter s t a b -> (a -> b) -> s -> t+(%~) = over+{-# INLINE (%~) #-}++(.=) :: MonadState s m => ASetter s s a b -> b -> m ()+l .= b = modify (l .~ b)+{-# INLINE (.=) #-}++(?=) :: MonadState s m => ASetter s s a (Maybe b) -> b -> m ()+l ?= b = modify (l ?~ b)+{-# INLINE (?=) #-}++(%=) :: MonadState s m => ASetter s s a b -> (a -> b) -> m ()+l %= f = modify (l %~ f)+{-# INLINE (%=) #-}++(^#) :: s -> ALens s t a b -> a+s ^# l = aview l s++(#~) :: ALens s t a b -> b -> s -> t+(#~) l b s = pretextPeek b (l pretextSell s)+{-# INLINE (#~) #-}++(#%~) :: ALens s t a b -> (a -> b) -> s -> t+(#%~) l f s = pretextPeeks f (l pretextSell s)+{-# INLINE (#%~) #-}++pretextSell :: a -> Pretext a b b+pretextSell a = Pretext (\afb -> afb a)+{-# INLINE pretextSell #-}++pretextPeeks :: (a -> b) -> Pretext a b t -> t+pretextPeeks f (Pretext m) = runIdentity $ m (\x -> Identity (f x))+{-# INLINE pretextPeeks #-}++pretextPeek :: b -> Pretext a b t -> t+pretextPeek b (Pretext m) = runIdentity $ m (\_ -> Identity b)+{-# INLINE pretextPeek #-}++pretextPos :: Pretext a b t -> a+pretextPos (Pretext m) = getConst (m Const)+{-# INLINE pretextPos #-}++cloneLens :: Functor f => ALens s t a b -> LensLike f s t a b+cloneLens l f s = runPretext (l pretextSell s) f+{-# INLINE cloneLens #-}++-------------------------------------------------------------------------------+-- Comonads+-------------------------------------------------------------------------------++-- | @lens@ variant is also parametrised by profunctor.+data Pretext a b t = Pretext { runPretext :: forall f. Functor f => (a -> f b) -> f t }++instance Functor (Pretext a b) where+ fmap f (Pretext pretext) = Pretext (\afb -> fmap f (pretext afb))++-------------------------------------------------------------------------------+-- Documentation+-------------------------------------------------------------------------------++-- $development+--+-- We cannot depend on @template-haskell@, because Cabal is a boot library.+-- This fact makes defining optics a manual task. Here is a small recipe to+-- make the process less tedious.+--+-- First start a repl+--+-- > cabal new-repl Cabal:hackage-tests+--+-- Because @--extra-package@ isn't yet implemented, we use a test-suite+-- with @generics-sop@ dependency.+--+-- In the repl, we load a helper script:+--+-- > :l ../generics-sop-lens.hs+--+-- Now we are set up to derive lenses!+--+-- > :m +Distribution.Types.SourceRepo+-- > putStr $ genericLenses (Proxy :: Proxy SourceRepo)+--+-- @+-- repoKind :: Lens' SourceRepo RepoKind+-- repoKind f s = fmap (\\x -> s { T.repoKind = x }) (f (T.repoKind s))+-- \{-# INLINE repoKind #-\}+-- ...+-- @+--+-- /Note:/ You may need to adjust type-aliases, e.g. `String` to `FilePath`.
@@ -12,6 +12,7 @@ #ifdef HAVE_containers_050 #else , insertWith+ , fromSet #endif ) where @@ -20,7 +21,11 @@ #else import Data.Map as X hiding (insertWith, insertWith') import qualified Data.Map+import qualified Data.Set insertWith :: Ord k => (a -> a -> a) -> k -> a -> Map k a -> Map k a insertWith = Data.Map.insertWith'++fromSet :: (k -> a) -> Data.Set.Set k -> Map k a+fromSet f = Data.Map.fromDistinctAscList . Prelude.map (\k -> (k, f k)) . Data.Set.toList #endif
@@ -0,0 +1,70 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+-- | Per Conor McBride, the 'Newtype' typeclass represents the packing and+-- unpacking of a newtype, and allows you to operatate under that newtype with+-- functions such as 'ala'.+module Distribution.Compat.Newtype (+ Newtype (..),+ ala,+ alaf,+ pack',+ unpack',+ ) where++import Data.Functor.Identity (Identity (..))+import Data.Monoid (Sum (..), Product (..), Endo (..))++-- | The @FunctionalDependencies@ version of 'Newtype' type-class.+--+-- /Note:/ for actual newtypes the implementation can be+-- @pack = coerce; unpack = coerce@. We don't have default implementation,+-- because @Cabal@ have to support older than @base >= 4.7@ compilers.+-- Also, 'Newtype' could witness a non-structural isomorphism.+class Newtype n o | n -> o where+ pack :: o -> n+ unpack :: n -> o++instance Newtype (Identity a) a where+ pack = Identity+ unpack = runIdentity++instance Newtype (Sum a) a where+ pack = Sum+ unpack = getSum++instance Newtype (Product a) a where+ pack = Product+ unpack = getProduct++instance Newtype (Endo a) (a -> a) where+ pack = Endo+ unpack = appEndo++-- |+--+-- >>> ala Sum foldMap [1, 2, 3, 4 :: Int]+-- 10+--+-- /Note:/ the user supplied function for the newtype is /ignored/.+--+-- >>> ala (Sum . (+1)) foldMap [1, 2, 3, 4 :: Int]+-- 10+ala :: (Newtype n o, Newtype n' o') => (o -> n) -> ((o -> n) -> b -> n') -> (b -> o')+ala pa hof = alaf pa hof id++-- |+--+-- >>> alaf Sum foldMap length ["cabal", "install"]+-- 12+--+-- /Note:/ as with 'ala', the user supplied function for the newtype is /ignored/.+alaf :: (Newtype n o, Newtype n' o') => (o -> n) -> ((a -> n) -> b -> n') -> (a -> o) -> (b -> o')+alaf _ hof f = unpack . hof (pack . f)++-- | Variant of 'pack', which takes a phantom type.+pack' :: Newtype n o => (o -> n) -> o -> n+pack' _ = pack++-- | Variant of 'pack', which takes a phantom type.+unpack' :: Newtype n o => (o -> n) -> n -> o+unpack' _ = unpack
@@ -1,73 +0,0 @@-{-# LANGUAGE FlexibleContexts #-}-module Distribution.Compat.Parsec (- P.Parsec,- P.ParsecT,- P.Stream,- (P.<?>),-- P.runParser,-- -- * Combinators- P.between,- P.option,- P.optional,- P.optionMaybe,- P.try,- P.sepBy,- P.sepBy1,- P.choice,-- -- * Char- integral,- P.char,- P.anyChar,- P.satisfy,- P.space,- P.spaces,- P.string,- munch,- munch1,- P.oneOf,- ) where--import Distribution.Compat.Prelude-import Prelude ()--import qualified Text.Parsec as P-import qualified Text.Parsec.Pos as P--integral :: (P.Stream s m Char, Integral a) => P.ParsecT s u m a-integral = toNumber <$> some d P.<?> "integral"- where- toNumber = foldl' (\a b -> a * 10 + b) 0- d = P.tokenPrim- (\c -> show [c])- (\pos c _cs -> P.updatePosChar pos c)- f- f '0' = Just 0- f '1' = Just 1- f '2' = Just 2- f '3' = Just 3- f '4' = Just 4- f '5' = Just 5- f '6' = Just 6- f '7' = Just 7- f '8' = Just 8- f '9' = Just 9- f _ = Nothing---- | Greedily munch characters while predicate holds.--- Require at least one character.-munch1- :: P.Stream s m Char- => (Char -> Bool)- -> P.ParsecT s u m String-munch1 = some . P.satisfy---- | Greedely munch characters while predicate holds.--- Always succeeds.-munch- :: P.Stream s m Char- => (Char -> Bool)- -> P.ParsecT s u m String-munch = many . P.satisfy
@@ -0,0 +1,403 @@+{-# LANGUAGE GADTs, UndecidableInstances #-}+-----------------------------------------------------------------------------+-- |+-- Module : Distribution.Compat.Parsing+-- Copyright : (c) Edward Kmett 2011-2012+-- License : BSD3+--+-- Maintainer : ekmett@gmail.com+-- Stability : experimental+-- Portability : non-portable+--+-- Alternative parser combinators.+--+-- Originally in @parsers@ package.+--+-----------------------------------------------------------------------------+module Distribution.Compat.Parsing+ (+ -- * Parsing Combinators+ choice+ , option+ , optional -- from Control.Applicative, parsec optionMaybe+ , skipOptional -- parsec optional+ , between+ , some -- from Control.Applicative, parsec many1+ , many -- from Control.Applicative+ , sepBy+ , sepBy1+ -- , sepByNonEmpty+ , sepEndBy1+ -- , sepEndByNonEmpty+ , sepEndBy+ , endBy1+ -- , endByNonEmpty+ , endBy+ , count+ , chainl+ , chainr+ , chainl1+ , chainr1+ , manyTill+ -- * Parsing Class+ , Parsing(..)+ ) where++import Prelude ()+import Distribution.Compat.Prelude++import Control.Applicative ((<**>), optional)+import Control.Monad.Trans.Class (lift)+import Control.Monad.Trans.State.Lazy as Lazy+import Control.Monad.Trans.State.Strict as Strict+import Control.Monad.Trans.Writer.Lazy as Lazy+import Control.Monad.Trans.Writer.Strict as Strict+import Control.Monad.Trans.RWS.Lazy as Lazy+import Control.Monad.Trans.RWS.Strict as Strict+import Control.Monad.Trans.Reader (ReaderT (..))+import Control.Monad.Trans.Identity (IdentityT (..))+import Data.Foldable (asum)++import qualified Text.Parsec as Parsec+import qualified Distribution.Compat.ReadP as ReadP++-- | @choice ps@ tries to apply the parsers in the list @ps@ in order,+-- until one of them succeeds. Returns the value of the succeeding+-- parser.+choice :: Alternative m => [m a] -> m a+choice = asum+{-# INLINE choice #-}++-- | @option x p@ tries to apply parser @p@. If @p@ fails without+-- consuming input, it returns the value @x@, otherwise the value+-- returned by @p@.+--+-- > priority = option 0 (digitToInt <$> digit)+option :: Alternative m => a -> m a -> m a+option x p = p <|> pure x+{-# INLINE option #-}++-- | @skipOptional p@ tries to apply parser @p@. It will parse @p@ or nothing.+-- It only fails if @p@ fails after consuming input. It discards the result+-- of @p@. (Plays the role of parsec's optional, which conflicts with Applicative's optional)+skipOptional :: Alternative m => m a -> m ()+skipOptional p = (() <$ p) <|> pure ()+{-# INLINE skipOptional #-}++-- | @between open close p@ parses @open@, followed by @p@ and @close@.+-- Returns the value returned by @p@.+--+-- > braces = between (symbol "{") (symbol "}")+between :: Applicative m => m bra -> m ket -> m a -> m a+between bra ket p = bra *> p <* ket+{-# INLINE between #-}++-- | @sepBy p sep@ parses /zero/ or more occurrences of @p@, separated+-- by @sep@. Returns a list of values returned by @p@.+--+-- > commaSep p = p `sepBy` (symbol ",")+sepBy :: Alternative m => m a -> m sep -> m [a]+sepBy p sep = sepBy1 p sep <|> pure []+{-# INLINE sepBy #-}++-- | @sepBy1 p sep@ parses /one/ or more occurrences of @p@, separated+-- by @sep@. Returns a list of values returned by @p@.+sepBy1 :: Alternative m => m a -> m sep -> m [a]+sepBy1 p sep = (:) <$> p <*> many (sep *> p)+-- toList <$> sepByNonEmpty p sep+{-# INLINE sepBy1 #-}++{-+-- | @sepByNonEmpty p sep@ parses /one/ or more occurrences of @p@, separated+-- by @sep@. Returns a non-empty list of values returned by @p@.+sepByNonEmpty :: Alternative m => m a -> m sep -> m (NonEmpty a)+sepByNonEmpty p sep = (:|) <$> p <*> many (sep *> p)+{-# INLINE sepByNonEmpty #-}+-}++-- | @sepEndBy1 p sep@ parses /one/ or more occurrences of @p@,+-- separated and optionally ended by @sep@. Returns a list of values+-- returned by @p@.+sepEndBy1 :: Alternative m => m a -> m sep -> m [a]+sepEndBy1 p sep = (:) <$> p <*> ((sep *> sepEndBy p sep) <|> pure [])+-- toList <$> sepEndByNonEmpty p sep++{-+-- | @sepEndByNonEmpty p sep@ parses /one/ or more occurrences of @p@,+-- separated and optionally ended by @sep@. Returns a non-empty list of values+-- returned by @p@.+sepEndByNonEmpty :: Alternative m => m a -> m sep -> m (NonEmpty a)+sepEndByNonEmpty p sep = (:|) <$> p <*> ((sep *> sepEndBy p sep) <|> pure [])+-}++-- | @sepEndBy p sep@ parses /zero/ or more occurrences of @p@,+-- separated and optionally ended by @sep@, ie. haskell style+-- statements. Returns a list of values returned by @p@.+--+-- > haskellStatements = haskellStatement `sepEndBy` semi+sepEndBy :: Alternative m => m a -> m sep -> m [a]+sepEndBy p sep = sepEndBy1 p sep <|> pure []+{-# INLINE sepEndBy #-}++-- | @endBy1 p sep@ parses /one/ or more occurrences of @p@, separated+-- and ended by @sep@. Returns a list of values returned by @p@.+endBy1 :: Alternative m => m a -> m sep -> m [a]+endBy1 p sep = some (p <* sep)+{-# INLINE endBy1 #-}++{-+-- | @endByNonEmpty p sep@ parses /one/ or more occurrences of @p@, separated+-- and ended by @sep@. Returns a non-empty list of values returned by @p@.+endByNonEmpty :: Alternative m => m a -> m sep -> m (NonEmpty a)+endByNonEmpty p sep = some1 (p <* sep)+{-# INLINE endByNonEmpty #-}+-}++-- | @endBy p sep@ parses /zero/ or more occurrences of @p@, separated+-- and ended by @sep@. Returns a list of values returned by @p@.+--+-- > cStatements = cStatement `endBy` semi+endBy :: Alternative m => m a -> m sep -> m [a]+endBy p sep = many (p <* sep)+{-# INLINE endBy #-}++-- | @count n p@ parses @n@ occurrences of @p@. If @n@ is smaller or+-- equal to zero, the parser equals to @return []@. Returns a list of+-- @n@ values returned by @p@.+count :: Applicative m => Int -> m a -> m [a]+count n p | n <= 0 = pure []+ | otherwise = sequenceA (replicate n p)+{-# INLINE count #-}++-- | @chainr p op x@ parses /zero/ or more occurrences of @p@,+-- separated by @op@ Returns a value obtained by a /right/ associative+-- application of all functions returned by @op@ to the values returned+-- by @p@. If there are no occurrences of @p@, the value @x@ is+-- returned.+chainr :: Alternative m => m a -> m (a -> a -> a) -> a -> m a+chainr p op x = chainr1 p op <|> pure x+{-# INLINE chainr #-}++-- | @chainl p op x@ parses /zero/ or more occurrences of @p@,+-- separated by @op@. Returns a value obtained by a /left/ associative+-- application of all functions returned by @op@ to the values returned+-- by @p@. If there are zero occurrences of @p@, the value @x@ is+-- returned.+chainl :: Alternative m => m a -> m (a -> a -> a) -> a -> m a+chainl p op x = chainl1 p op <|> pure x+{-# INLINE chainl #-}++-- | @chainl1 p op x@ parses /one/ or more occurrences of @p@,+-- separated by @op@ Returns a value obtained by a /left/ associative+-- application of all functions returned by @op@ to the values returned+-- by @p@. . This parser can for example be used to eliminate left+-- recursion which typically occurs in expression grammars.+--+-- > expr = term `chainl1` addop+-- > term = factor `chainl1` mulop+-- > factor = parens expr <|> integer+-- >+-- > mulop = (*) <$ symbol "*"+-- > <|> div <$ symbol "/"+-- >+-- > addop = (+) <$ symbol "+"+-- > <|> (-) <$ symbol "-"+chainl1 :: Alternative m => m a -> m (a -> a -> a) -> m a+chainl1 p op = scan where+ scan = p <**> rst+ rst = (\f y g x -> g (f x y)) <$> op <*> p <*> rst <|> pure id+{-# INLINE chainl1 #-}++-- | @chainr1 p op x@ parses /one/ or more occurrences of @p@,+-- separated by @op@ Returns a value obtained by a /right/ associative+-- application of all functions returned by @op@ to the values returned+-- by @p@.+chainr1 :: Alternative m => m a -> m (a -> a -> a) -> m a+chainr1 p op = scan where+ scan = p <**> rst+ rst = (flip <$> op <*> scan) <|> pure id+{-# INLINE chainr1 #-}++-- | @manyTill p end@ applies parser @p@ /zero/ or more times until+-- parser @end@ succeeds. Returns the list of values returned by @p@.+-- This parser can be used to scan comments:+--+-- > simpleComment = do{ string "<!--"+-- > ; manyTill anyChar (try (string "-->"))+-- > }+--+-- Note the overlapping parsers @anyChar@ and @string \"-->\"@, and+-- therefore the use of the 'try' combinator.+manyTill :: Alternative m => m a -> m end -> m [a]+manyTill p end = go where go = ([] <$ end) <|> ((:) <$> p <*> go)+{-# INLINE manyTill #-}++infixr 0 <?>++-- | Additional functionality needed to describe parsers independent of input type.+class Alternative m => Parsing m where+ -- | Take a parser that may consume input, and on failure, go back to+ -- where we started and fail as if we didn't consume input.+ try :: m a -> m a++ -- | Give a parser a name+ (<?>) :: m a -> String -> m a++ -- | A version of many that discards its input. Specialized because it+ -- can often be implemented more cheaply.+ skipMany :: m a -> m ()+ skipMany p = () <$ many p+ {-# INLINE skipMany #-}++ -- | @skipSome p@ applies the parser @p@ /one/ or more times, skipping+ -- its result. (aka skipMany1 in parsec)+ skipSome :: m a -> m ()+ skipSome p = p *> skipMany p+ {-# INLINE skipSome #-}++ -- | Used to emit an error on an unexpected token+ unexpected :: String -> m a++ -- | This parser only succeeds at the end of the input. This is not a+ -- primitive parser but it is defined using 'notFollowedBy'.+ --+ -- > eof = notFollowedBy anyChar <?> "end of input"+ eof :: m ()++ -- | @notFollowedBy p@ only succeeds when parser @p@ fails. This parser+ -- does not consume any input. This parser can be used to implement the+ -- \'longest match\' rule. For example, when recognizing keywords (for+ -- example @let@), we want to make sure that a keyword is not followed+ -- by a legal identifier character, in which case the keyword is+ -- actually an identifier (for example @lets@). We can program this+ -- behaviour as follows:+ --+ -- > keywordLet = try $ string "let" <* notFollowedBy alphaNum+ notFollowedBy :: Show a => m a -> m ()++instance (Parsing m, MonadPlus m) => Parsing (Lazy.StateT s m) where+ try (Lazy.StateT m) = Lazy.StateT $ try . m+ {-# INLINE try #-}+ Lazy.StateT m <?> l = Lazy.StateT $ \s -> m s <?> l+ {-# INLINE (<?>) #-}+ unexpected = lift . unexpected+ {-# INLINE unexpected #-}+ eof = lift eof+ {-# INLINE eof #-}+ notFollowedBy (Lazy.StateT m) = Lazy.StateT+ $ \s -> notFollowedBy (fst <$> m s) >> return ((),s)+ {-# INLINE notFollowedBy #-}++instance (Parsing m, MonadPlus m) => Parsing (Strict.StateT s m) where+ try (Strict.StateT m) = Strict.StateT $ try . m+ {-# INLINE try #-}+ Strict.StateT m <?> l = Strict.StateT $ \s -> m s <?> l+ {-# INLINE (<?>) #-}+ unexpected = lift . unexpected+ {-# INLINE unexpected #-}+ eof = lift eof+ {-# INLINE eof #-}+ notFollowedBy (Strict.StateT m) = Strict.StateT+ $ \s -> notFollowedBy (fst <$> m s) >> return ((),s)+ {-# INLINE notFollowedBy #-}++instance (Parsing m, MonadPlus m) => Parsing (ReaderT e m) where+ try (ReaderT m) = ReaderT $ try . m+ {-# INLINE try #-}+ ReaderT m <?> l = ReaderT $ \e -> m e <?> l+ {-# INLINE (<?>) #-}+ skipMany (ReaderT m) = ReaderT $ skipMany . m+ {-# INLINE skipMany #-}+ unexpected = lift . unexpected+ {-# INLINE unexpected #-}+ eof = lift eof+ {-# INLINE eof #-}+ notFollowedBy (ReaderT m) = ReaderT $ notFollowedBy . m+ {-# INLINE notFollowedBy #-}++instance (Parsing m, MonadPlus m, Monoid w) => Parsing (Strict.WriterT w m) where+ try (Strict.WriterT m) = Strict.WriterT $ try m+ {-# INLINE try #-}+ Strict.WriterT m <?> l = Strict.WriterT (m <?> l)+ {-# INLINE (<?>) #-}+ unexpected = lift . unexpected+ {-# INLINE unexpected #-}+ eof = lift eof+ {-# INLINE eof #-}+ notFollowedBy (Strict.WriterT m) = Strict.WriterT+ $ notFollowedBy (fst <$> m) >>= \x -> return (x, mempty)+ {-# INLINE notFollowedBy #-}++instance (Parsing m, MonadPlus m, Monoid w) => Parsing (Lazy.WriterT w m) where+ try (Lazy.WriterT m) = Lazy.WriterT $ try m+ {-# INLINE try #-}+ Lazy.WriterT m <?> l = Lazy.WriterT (m <?> l)+ {-# INLINE (<?>) #-}+ unexpected = lift . unexpected+ {-# INLINE unexpected #-}+ eof = lift eof+ {-# INLINE eof #-}+ notFollowedBy (Lazy.WriterT m) = Lazy.WriterT+ $ notFollowedBy (fst <$> m) >>= \x -> return (x, mempty)+ {-# INLINE notFollowedBy #-}++instance (Parsing m, MonadPlus m, Monoid w) => Parsing (Lazy.RWST r w s m) where+ try (Lazy.RWST m) = Lazy.RWST $ \r s -> try (m r s)+ {-# INLINE try #-}+ Lazy.RWST m <?> l = Lazy.RWST $ \r s -> m r s <?> l+ {-# INLINE (<?>) #-}+ unexpected = lift . unexpected+ {-# INLINE unexpected #-}+ eof = lift eof+ {-# INLINE eof #-}+ notFollowedBy (Lazy.RWST m) = Lazy.RWST+ $ \r s -> notFollowedBy ((\(a,_,_) -> a) <$> m r s) >>= \x -> return (x, s, mempty)+ {-# INLINE notFollowedBy #-}++instance (Parsing m, MonadPlus m, Monoid w) => Parsing (Strict.RWST r w s m) where+ try (Strict.RWST m) = Strict.RWST $ \r s -> try (m r s)+ {-# INLINE try #-}+ Strict.RWST m <?> l = Strict.RWST $ \r s -> m r s <?> l+ {-# INLINE (<?>) #-}+ unexpected = lift . unexpected+ {-# INLINE unexpected #-}+ eof = lift eof+ {-# INLINE eof #-}+ notFollowedBy (Strict.RWST m) = Strict.RWST+ $ \r s -> notFollowedBy ((\(a,_,_) -> a) <$> m r s) >>= \x -> return (x, s, mempty)+ {-# INLINE notFollowedBy #-}++instance (Parsing m, Monad m) => Parsing (IdentityT m) where+ try = IdentityT . try . runIdentityT+ {-# INLINE try #-}+ IdentityT m <?> l = IdentityT (m <?> l)+ {-# INLINE (<?>) #-}+ skipMany = IdentityT . skipMany . runIdentityT+ {-# INLINE skipMany #-}+ unexpected = lift . unexpected+ {-# INLINE unexpected #-}+ eof = lift eof+ {-# INLINE eof #-}+ notFollowedBy (IdentityT m) = IdentityT $ notFollowedBy m+ {-# INLINE notFollowedBy #-}++instance (Parsec.Stream s m t, Show t) => Parsing (Parsec.ParsecT s u m) where+ try = Parsec.try+ (<?>) = (Parsec.<?>)+ skipMany = Parsec.skipMany+ skipSome = Parsec.skipMany1+ unexpected = Parsec.unexpected+ eof = Parsec.eof+ notFollowedBy = Parsec.notFollowedBy++instance t ~ Char => Parsing (ReadP.Parser r t) where+ try = id+ (<?>) = const+ skipMany = ReadP.skipMany+ skipSome = ReadP.skipMany1+ unexpected = const ReadP.pfail+ eof = ReadP.eof++ -- TODO: we would like to have <++ here+ notFollowedBy p = ((Just <$> p) ReadP.+++ pure Nothing)+ >>= maybe (pure ()) (unexpected . show)
@@ -64,6 +64,7 @@ null, length, find, foldl', traverse_, for_,+ any, all, -- * Data.Traversable Traversable, traverse, sequenceA,@@ -94,7 +95,7 @@ -- We also could hide few partial function import Prelude as BasePrelude hiding- ( IO, mapM, mapM_, sequence, null, length, foldr+ ( IO, mapM, mapM_, sequence, null, length, foldr, any, all #if MINVER_base_48 , Word -- We hide them, as we import only some members@@ -110,7 +111,7 @@ import Data.Foldable (length, null) #endif -import Data.Foldable (Foldable (foldMap, foldr), find, foldl', for_, traverse_)+import Data.Foldable (Foldable (foldMap, foldr), find, foldl', for_, traverse_, any, all) import Data.Traversable (Traversable (traverse, sequenceA), for) import Control.Applicative (Alternative (..))
@@ -1,3 +1,4 @@+{-# LANGUAGE GADTs #-} ----------------------------------------------------------------------------- -- | -- Module : Distribution.Compat.ReadP@@ -67,7 +68,10 @@ -- * Running a parser ReadS, -- :: *; = String -> [(a,String)] readP_to_S, -- :: ReadP a -> ReadS a- readS_to_P -- :: ReadS a -> ReadP a+ readS_to_P, -- :: ReadS a -> ReadP a++ -- ** Internal+ Parser, ) where @@ -162,6 +166,10 @@ pure x = R (\k -> k x) (<*>) = ap +instance s ~ Char => Alternative (Parser r s) where+ empty = pfail+ (<|>) = (+++)+ instance Monad (Parser r s) where return = pure fail = Fail.fail@@ -170,9 +178,9 @@ instance Fail.MonadFail (Parser r s) where fail _ = R (const Fail) ---instance MonadPlus (Parser r s) where--- mzero = pfail--- mplus = (+++)+instance s ~ Char => MonadPlus (Parser r s) where+ mzero = pfail+ mplus = (+++) -- --------------------------------------------------------------------------- -- Operations over P
@@ -51,8 +51,11 @@ import Distribution.Version (Version, mkVersion', nullVersion) import qualified System.Info (compilerName, compilerVersion)+import Distribution.Parsec.Class (Parsec (..))+import Distribution.Pretty (Pretty (..)) import Distribution.Text (Text(..), display) import qualified Distribution.Compat.ReadP as Parse+import qualified Distribution.Compat.CharParsing as P import qualified Text.PrettyPrint as Disp data CompilerFlavor =@@ -63,15 +66,25 @@ instance Binary CompilerFlavor +instance NFData CompilerFlavor where rnf = genericRnf+ knownCompilerFlavors :: [CompilerFlavor] knownCompilerFlavors = [GHC, GHCJS, NHC, YHC, Hugs, HBC, Helium, JHC, LHC, UHC] -instance Text CompilerFlavor where- disp (OtherCompiler name) = Disp.text name- disp (HaskellSuite name) = Disp.text name- disp NHC = Disp.text "nhc98"- disp other = Disp.text (lowercase (show other))+instance Pretty CompilerFlavor where+ pretty (OtherCompiler name) = Disp.text name+ pretty (HaskellSuite name) = Disp.text name+ pretty NHC = Disp.text "nhc98"+ pretty other = Disp.text (lowercase (show other)) +instance Parsec CompilerFlavor where+ parsec = classifyCompilerFlavor <$> component+ where+ component = do+ cs <- P.munch1 isAlphaNum+ if all isDigit cs then fail "all digits compiler name" else return cs++instance Text CompilerFlavor where parse = do comp <- Parse.munch1 isAlphaNum when (all isDigit comp) Parse.pfail@@ -81,7 +94,7 @@ classifyCompilerFlavor s = fromMaybe (OtherCompiler s) $ lookup (lowercase s) compilerMap where- compilerMap = [ (display compiler, compiler)+ compilerMap = [ (lowercase (display compiler), compiler) | compiler <- knownCompilerFlavors ] @@ -137,6 +150,8 @@ deriving (Eq, Generic, Ord, Read, Show) instance Binary CompilerId++instance NFData CompilerId where rnf = genericRnf instance Text CompilerId where disp (CompilerId f v)
@@ -0,0 +1,85 @@+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ScopedTypeVariables #-}+-- | This module provides a way to specify a grammar of @.cabal@ -like files.+module Distribution.FieldGrammar (+ -- * Field grammar type+ FieldGrammar (..),+ uniqueField,+ optionalField,+ optionalFieldDef,+ monoidalField,+ deprecatedField',+ -- * Concrete grammar implementations+ ParsecFieldGrammar,+ ParsecFieldGrammar',+ parseFieldGrammar,+ fieldGrammarKnownFieldList,+ PrettyFieldGrammar,+ PrettyFieldGrammar',+ prettyFieldGrammar,+ -- * Auxlilary+ (^^^),+ Section(..),+ Fields,+ partitionFields,+ takeFields,+ runFieldParser,+ runFieldParser',+ ) where++import Distribution.Compat.Prelude+import Prelude ()++import qualified Distribution.Compat.Map.Strict as Map++import Distribution.FieldGrammar.Class+import Distribution.FieldGrammar.Parsec+import Distribution.FieldGrammar.Pretty+import Distribution.Parsec.Field+import Distribution.Utils.Generic (spanMaybe)++type ParsecFieldGrammar' a = ParsecFieldGrammar a a+type PrettyFieldGrammar' a = PrettyFieldGrammar a a++infixl 5 ^^^++-- | Reverse function application which binds tighter than '<$>' and '<*>'.+-- Useful for refining grammar specification.+--+-- @+-- \<*\> 'monoidalFieldAla' "extensions" (alaList' FSep MQuoted) oldExtensions+-- ^^^ 'deprecatedSince' [1,12] "Please use 'default-extensions' or 'other-extensions' fields."+-- @+(^^^) :: a -> (a -> b) -> b+x ^^^ f = f x++-- | Partitioning state+data PS ann = PS (Fields ann) [Section ann] [[Section ann]]++-- | Partition field list into field map and groups of sections.+partitionFields :: [Field ann] -> (Fields ann, [[Section ann]])+partitionFields = finalize . foldl' f (PS mempty mempty mempty)+ where+ finalize :: PS ann -> (Fields ann, [[Section ann]])+ finalize (PS fs s ss)+ | null s = (fs, reverse ss)+ | otherwise = (fs, reverse (reverse s : ss))++ f :: PS ann -> Field ann -> PS ann+ f (PS fs s ss) (Field (Name ann name) fss) =+ PS (Map.insertWith (flip (++)) name [MkNamelessField ann fss] fs) [] ss'+ where+ ss' | null s = ss+ | otherwise = reverse s : ss+ f (PS fs s ss) (Section name sargs sfields) =+ PS fs (MkSection name sargs sfields : s) ss++-- | Take all fields from the front.+takeFields :: [Field ann] -> (Fields ann, [Field ann])+takeFields = finalize . spanMaybe match+ where+ finalize (fs, rest) = (Map.fromListWith (flip (++)) fs, rest)++ match (Field (Name ann name) fs) = Just (name, [MkNamelessField ann fs])+ match _ = Nothing
@@ -0,0 +1,147 @@+module Distribution.FieldGrammar.Class (+ FieldGrammar (..),+ uniqueField,+ optionalField,+ optionalFieldDef,+ monoidalField,+ deprecatedField',+ ) where++import Distribution.Compat.Lens+import Distribution.Compat.Prelude+import Prelude ()++import Data.Functor.Identity (Identity (..))++import Distribution.Compat.Newtype (Newtype)+import Distribution.Parsec.Class (Parsec)+import Distribution.Parsec.Field+import Distribution.Pretty (Pretty)++-- | 'FieldGrammar' is parametrised by+--+-- * @s@ which is a structure we are parsing. We need this to provide prettyprinter+-- functionality+--+-- * @a@ type of the field.+--+-- /Note:/ We'd like to have @forall s. Applicative (f s)@ context.+--+class FieldGrammar g where+ -- | Unfocus, zoom out, /blur/ 'FieldGrammar'.+ blurFieldGrammar :: ALens' a b -> g b c -> g a c++ -- | Field which should be defined, exactly once.+ uniqueFieldAla+ :: (Parsec b, Pretty b, Newtype b a)+ => FieldName -- ^ field name+ -> (a -> b) -- ^ 'Newtype' pack+ -> ALens' s a -- ^ lens into the field+ -> g s a++ -- | Boolean field with a default value.+ booleanFieldDef+ :: FieldName -- ^ field name+ -> ALens' s Bool -- ^ lens into the field+ -> Bool -- ^ default+ -> g s Bool++ -- | Optional field.+ optionalFieldAla+ :: (Parsec b, Pretty b, Newtype b a)+ => FieldName -- ^ field name+ -> (a -> b) -- ^ 'pack'+ -> ALens' s (Maybe a) -- ^ lens into the field+ -> g s (Maybe a)++ -- | Optional field with default value.+ optionalFieldDefAla+ :: (Parsec b, Pretty b, Newtype b a, Eq a)+ => FieldName -- ^ field name+ -> (a -> b) -- ^ 'Newtype' pack+ -> ALens' s a -- ^ @'Lens'' s a@: lens into the field+ -> a -- ^ default value+ -> g s a++ -- | Monoidal field.+ --+ -- Values are combined with 'mappend'.+ --+ -- /Note:/ 'optionalFieldAla' is a @monoidalField@ with 'Last' monoid.+ --+ monoidalFieldAla+ :: (Parsec b, Pretty b, Monoid a, Newtype b a)+ => FieldName -- ^ field name+ -> (a -> b) -- ^ 'pack'+ -> ALens' s a -- ^ lens into the field+ -> g s a++ -- | Parser matching all fields with a name starting with a prefix.+ prefixedFields+ :: FieldName -- ^ field name prefix+ -> ALens' s [(String, String)] -- ^ lens into the field+ -> g s [(String, String)]++ -- | Known field, which we don't parse, neither pretty print.+ knownField :: FieldName -> g s ()++ -- | Field which is parsed but not pretty printed.+ hiddenField :: g s a -> g s a++ -- | Deprecated since+ deprecatedSince+ :: [Int] -- ^ version+ -> String -- ^ deprecation message+ -> g s a+ -> g s a++ -- | Annotate field with since spec-version.+ availableSince+ :: [Int] -- ^ spec version+ -> a -- ^ default value+ -> g s a+ -> g s a++-- | Field which can be defined at most once.+uniqueField+ :: (FieldGrammar g, Parsec a, Pretty a)+ => FieldName -- ^ field name+ -> ALens' s a -- ^ lens into the field+ -> g s a+uniqueField fn = uniqueFieldAla fn Identity++-- | Field which can be defined at most once.+optionalField+ :: (FieldGrammar g, Parsec a, Pretty a)+ => FieldName -- ^ field name+ -> ALens' s (Maybe a) -- ^ lens into the field+ -> g s (Maybe a)+optionalField fn = optionalFieldAla fn Identity++-- | Optional field with default value.+optionalFieldDef+ :: (FieldGrammar g, Functor (g s), Parsec a, Pretty a, Eq a)+ => FieldName -- ^ field name+ -> ALens' s a -- ^ @'Lens'' s a@: lens into the field+ -> a -- ^ default value+ -> g s a+optionalFieldDef fn = optionalFieldDefAla fn Identity++-- | Field which can be define multiple times, and the results are @mappend@ed.+monoidalField+ :: (FieldGrammar g, Parsec a, Pretty a, Monoid a)+ => FieldName -- ^ field name+ -> ALens' s a -- ^ lens into the field+ -> g s a+monoidalField fn = monoidalFieldAla fn Identity++-- | Deprecated field. If found, warning is issued.+--+-- /Note:/ also it's not pretty printed!+--+deprecatedField'+ :: FieldGrammar g+ => String -- ^ deprecation message+ -> g s a+ -> g s a+deprecatedField' = deprecatedSince []
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveFunctor #-}+{-# LANGUAGE RankNTypes #-}+module Distribution.FieldGrammar.FieldDescrs (+ FieldDescrs,+ fieldDescrPretty,+ fieldDescrParse,+ fieldDescrsToList,+ ) where++import Distribution.Compat.Prelude+import Prelude ()++import Distribution.Compat.Lens (aview, cloneLens)+import Distribution.Compat.Newtype+import Distribution.FieldGrammar+import Distribution.Pretty (pretty)+import Distribution.Utils.Generic (fromUTF8BS)++import qualified Data.Map as Map+import qualified Distribution.Parsec.Class as P+import qualified Distribution.Parsec.Field as P+import qualified Text.PrettyPrint as Disp++-- strict pair+data SP s = SP+ { pPretty :: !(s -> Disp.Doc)+ , pParse :: !(forall m. P.CabalParsing m => s -> m s)+ }++-- | A collection field parsers and pretty-printers.+newtype FieldDescrs s a = F { runF :: Map String (SP s) }+ deriving (Functor)++instance Applicative (FieldDescrs s) where+ pure _ = F mempty+ f <*> x = F (mappend (runF f) (runF x))++singletonF :: P.FieldName -> (s -> Disp.Doc) -> (forall m. P.CabalParsing m => s -> m s) -> FieldDescrs s a+singletonF fn f g = F $ Map.singleton (fromUTF8BS fn) (SP f g)++-- | Lookup a field value pretty-printer.+fieldDescrPretty :: FieldDescrs s a -> String -> Maybe (s -> Disp.Doc)+fieldDescrPretty (F m) fn = pPretty <$> Map.lookup fn m++-- | Lookup a field value parser.+fieldDescrParse :: P.CabalParsing m => FieldDescrs s a -> String -> Maybe (s -> m s)+fieldDescrParse (F m) fn = pParse <$> Map.lookup fn m++fieldDescrsToList+ :: P.CabalParsing m+ => FieldDescrs s a+ -> [(String, s -> Disp.Doc, s -> m s)]+fieldDescrsToList = map mk . Map.toList . runF where+ mk (name, SP ppr parse) = (name, ppr, parse)++-- | /Note:/ default values are printed.+instance FieldGrammar FieldDescrs where+ blurFieldGrammar l (F m) = F (fmap blur m) where+ blur (SP f g) = SP (f . aview l) (cloneLens l g)++ booleanFieldDef fn l _def = singletonF fn f g where+ f s = Disp.text (show (aview l s))+ g s = cloneLens l (const P.parsec) s+ -- Note: eta expansion is needed for RankNTypes type-checking to work.++ uniqueFieldAla fn _pack l = singletonF fn f g where+ f s = pretty (pack' _pack (aview l s))+ g s = cloneLens l (const (unpack' _pack <$> P.parsec)) s++ optionalFieldAla fn _pack l = singletonF fn f g where+ f s = maybe mempty (pretty . pack' _pack) (aview l s)+ g s = cloneLens l (const (Just . unpack' _pack <$> P.parsec)) s++ optionalFieldDefAla fn _pack l _def = singletonF fn f g where+ f s = pretty (pack' _pack (aview l s))+ g s = cloneLens l (const (unpack' _pack <$> P.parsec)) s++ monoidalFieldAla fn _pack l = singletonF fn f g where+ f s = pretty (pack' _pack (aview l s))+ g s = cloneLens l (\x -> mappend x . unpack' _pack <$> P.parsec) s++ prefixedFields _fnPfx _l = F mempty+ knownField _ = pure ()+ deprecatedSince _ _ x = x+ availableSince _ _ = id+ hiddenField _ = F mempty
@@ -0,0 +1,297 @@+{-# LANGUAGE DeriveFunctor #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE ScopedTypeVariables #-}+-- | This module provides a 'FieldGrammarParser', one way to parse+-- @.cabal@ -like files.+--+-- Fields can be specified multiple times in the .cabal files. The order of+-- such entries is important, but the mutual ordering of different fields is+-- not.Also conditional sections are considered after non-conditional data.+-- The example of this silent-commutation quirk is the fact that+--+-- @+-- buildable: True+-- if os(linux)+-- buildable: False+-- @+--+-- and+--+-- @+-- if os(linux)+-- buildable: False+-- buildable: True+-- @+--+-- behave the same! This is the limitation of 'GeneralPackageDescription'+-- structure.+--+-- So we transform the list of fields @['Field' ann]@ into+-- a map of grouped ordinary fields and a list of lists of sections:+-- @'Fields' ann = 'Map' 'FieldName' ['NamelessField' ann]@ and @[['Section' ann]]@.+--+-- We need list of list of sections, because we need to distinguish situations+-- where there are fields in between. For example+--+-- @+-- if flag(bytestring-lt-0_10_4)+-- build-depends: bytestring < 0.10.4+--+-- default-language: Haskell2020+--+-- else+-- build-depends: bytestring >= 0.10.4+--+-- @+--+-- is obviously invalid specification.+--+-- We can parse 'Fields' like we parse @aeson@ objects, yet we use+-- slighly higher-level API, so we can process unspecified fields,+-- to report unknown fields and save custom @x-fields@.+--+module Distribution.FieldGrammar.Parsec (+ ParsecFieldGrammar,+ parseFieldGrammar,+ fieldGrammarKnownFieldList,+ -- * Auxiliary+ Fields,+ NamelessField (..),+ namelessFieldAnn,+ Section (..),+ runFieldParser,+ runFieldParser',+ ) where++import Data.List (dropWhileEnd)+import Data.Ord (comparing)+import Data.Set (Set)+import Distribution.Compat.Newtype+import Distribution.Compat.Prelude+import Distribution.Simple.Utils (fromUTF8BS)+import Prelude ()++import qualified Data.ByteString as BS+import qualified Data.Set as Set+import qualified Distribution.Compat.Map.Strict as Map+import qualified Text.Parsec as P+import qualified Text.Parsec.Error as P++import Distribution.CabalSpecVersion+import Distribution.FieldGrammar.Class+import Distribution.Parsec.Class+import Distribution.Parsec.Common+import Distribution.Parsec.Field+import Distribution.Parsec.FieldLineStream+import Distribution.Parsec.ParseResult++-------------------------------------------------------------------------------+-- Auxiliary types+-------------------------------------------------------------------------------++type Fields ann = Map FieldName [NamelessField ann]++-- | Single field, without name, but with its annotation.+data NamelessField ann = MkNamelessField !ann [FieldLine ann]+ deriving (Eq, Show, Functor)++namelessFieldAnn :: NamelessField ann -> ann+namelessFieldAnn (MkNamelessField ann _) = ann++-- | The 'Section' constructor of 'Field'.+data Section ann = MkSection !(Name ann) [SectionArg ann] [Field ann]+ deriving (Eq, Show, Functor)++-------------------------------------------------------------------------------+-- ParsecFieldGrammar+-------------------------------------------------------------------------------++data ParsecFieldGrammar s a = ParsecFG+ { fieldGrammarKnownFields :: !(Set FieldName)+ , fieldGrammarKnownPrefixes :: !(Set FieldName)+ , fieldGrammarParser :: !(CabalSpecVersion -> Fields Position -> ParseResult a)+ }+ deriving (Functor)++parseFieldGrammar :: CabalSpecVersion -> Fields Position -> ParsecFieldGrammar s a -> ParseResult a+parseFieldGrammar v fields grammar = do+ for_ (Map.toList (Map.filterWithKey isUnknownField fields)) $ \(name, nfields) ->+ for_ nfields $ \(MkNamelessField pos _) ->+ parseWarning pos PWTUnknownField $ "Unknown field: " ++ show name+ -- TODO: fields allowed in this section++ -- parse+ fieldGrammarParser grammar v fields++ where+ isUnknownField k _ = not $+ k `Set.member` fieldGrammarKnownFields grammar+ || any (`BS.isPrefixOf` k) (fieldGrammarKnownPrefixes grammar)++fieldGrammarKnownFieldList :: ParsecFieldGrammar s a -> [FieldName]+fieldGrammarKnownFieldList = Set.toList . fieldGrammarKnownFields++instance Applicative (ParsecFieldGrammar s) where+ pure x = ParsecFG mempty mempty (\_ _ -> pure x)+ {-# INLINE pure #-}++ ParsecFG f f' f'' <*> ParsecFG x x' x'' = ParsecFG+ (mappend f x)+ (mappend f' x')+ (\v fields -> f'' v fields <*> x'' v fields)+ {-# INLINE (<*>) #-}++warnMultipleSingularFields :: FieldName -> [NamelessField Position] -> ParseResult ()+warnMultipleSingularFields _ [] = pure ()+warnMultipleSingularFields fn (x : xs) = do+ let pos = namelessFieldAnn x+ poss = map namelessFieldAnn xs+ parseWarning pos PWTMultipleSingularField $+ "The field " <> show fn <> " is specified more than once at positions " ++ intercalate ", " (map showPos (pos : poss))++instance FieldGrammar ParsecFieldGrammar where+ blurFieldGrammar _ (ParsecFG s s' parser) = ParsecFG s s' parser++ uniqueFieldAla fn _pack _extract = ParsecFG (Set.singleton fn) Set.empty parser+ where+ parser v fields = case Map.lookup fn fields of+ Nothing -> parseFatalFailure zeroPos $ show fn ++ " field missing"+ Just [] -> parseFatalFailure zeroPos $ show fn ++ " field missing"+ Just [x] -> parseOne v x+ Just xs -> do+ warnMultipleSingularFields fn xs+ last <$> traverse (parseOne v) xs++ parseOne v (MkNamelessField pos fls) =+ unpack' _pack <$> runFieldParser pos parsec v fls++ booleanFieldDef fn _extract def = ParsecFG (Set.singleton fn) Set.empty parser+ where+ parser v fields = case Map.lookup fn fields of+ Nothing -> pure def+ Just [] -> pure def+ Just [x] -> parseOne v x+ Just xs -> do+ warnMultipleSingularFields fn xs+ last <$> traverse (parseOne v) xs++ parseOne v (MkNamelessField pos fls) = runFieldParser pos parsec v fls++ optionalFieldAla fn _pack _extract = ParsecFG (Set.singleton fn) Set.empty parser+ where+ parser v fields = case Map.lookup fn fields of+ Nothing -> pure Nothing+ Just [] -> pure Nothing+ Just [x] -> parseOne v x+ Just xs -> do+ warnMultipleSingularFields fn xs+ last <$> traverse (parseOne v) xs++ parseOne v (MkNamelessField pos fls)+ | null fls = pure Nothing+ | otherwise = Just . unpack' _pack <$> runFieldParser pos parsec v fls++ optionalFieldDefAla fn _pack _extract def = ParsecFG (Set.singleton fn) Set.empty parser+ where+ parser v fields = case Map.lookup fn fields of+ Nothing -> pure def+ Just [] -> pure def+ Just [x] -> parseOne v x+ Just xs -> do+ warnMultipleSingularFields fn xs+ last <$> traverse (parseOne v) xs++ parseOne v (MkNamelessField pos fls)+ | null fls = pure def+ | otherwise = unpack' _pack <$> runFieldParser pos parsec v fls++ monoidalFieldAla fn _pack _extract = ParsecFG (Set.singleton fn) Set.empty parser+ where+ parser v fields = case Map.lookup fn fields of+ Nothing -> pure mempty+ Just xs -> foldMap (unpack' _pack) <$> traverse (parseOne v) xs++ parseOne v (MkNamelessField pos fls) = runFieldParser pos parsec v fls++ prefixedFields fnPfx _extract = ParsecFG mempty (Set.singleton fnPfx) (\_ fs -> pure (parser fs))+ where+ parser :: Fields Position -> [(String, String)]+ parser values = reorder $ concatMap convert $ filter match $ Map.toList values++ match (fn, _) = fnPfx `BS.isPrefixOf` fn+ convert (fn, fields) =+ [ (pos, (fromUTF8BS fn, trim $ fromUTF8BS $ fieldlinesToBS fls))+ | MkNamelessField pos fls <- fields+ ]+ -- hack: recover the order of prefixed fields+ reorder = map snd . sortBy (comparing fst)+ trim :: String -> String+ trim = dropWhile isSpace . dropWhileEnd isSpace++ availableSince vs def (ParsecFG names prefixes parser) = ParsecFG names prefixes parser'+ where+ parser' v values+ | cabalSpecSupports v vs = parser v values+ | otherwise = do+ let unknownFields = Map.intersection values $ Map.fromSet (const ()) names+ for_ (Map.toList unknownFields) $ \(name, fields) ->+ for_ fields $ \(MkNamelessField pos _) ->+ parseWarning pos PWTUnknownField $+ "The field " <> show name <> " is available since Cabal " ++ show vs++ pure def++ -- todo we know about this field+ deprecatedSince (_ : _) _ grammar = grammar -- pass on non-empty version+ deprecatedSince _ msg (ParsecFG names prefixes parser) = ParsecFG names prefixes parser'+ where+ parser' v values = do+ let deprecatedFields = Map.intersection values $ Map.fromSet (const ()) names+ for_ (Map.toList deprecatedFields) $ \(name, fields) ->+ for_ fields $ \(MkNamelessField pos _) ->+ parseWarning pos PWTDeprecatedField $+ "The field " <> show name <> " is deprecated. " ++ msg++ parser v values++ knownField fn = ParsecFG (Set.singleton fn) Set.empty (\_ _ -> pure ())++ hiddenField = id++-------------------------------------------------------------------------------+-- Parsec+-------------------------------------------------------------------------------++runFieldParser' :: Position -> ParsecParser a -> CabalSpecVersion -> FieldLineStream -> ParseResult a+runFieldParser' (Position row col) p v str = case P.runParser p' [] "<field>" str of+ Right (pok, ws) -> do+ -- TODO: map pos+ traverse_ (\(PWarning t pos w) -> parseWarning pos t w) ws+ pure pok+ Left err -> do+ let ppos = P.errorPos err+ -- Positions start from 1:1, not 0:0+ let epos = Position (row - 1 + P.sourceLine ppos) (col - 1 + P.sourceColumn ppos)+ let msg = P.showErrorMessages+ "or" "unknown parse error" "expecting" "unexpected" "end of input"+ (P.errorMessages err)+ let str' = unlines (filter (not . all isSpace) (fieldLineStreamToLines str))++ parseFatalFailure epos $ msg ++ "\n" ++ "\n" ++ str'+ where+ p' = (,) <$ P.spaces <*> unPP p v <* P.spaces <* P.eof <*> P.getState++fieldLineStreamToLines :: FieldLineStream -> [String]+fieldLineStreamToLines (FLSLast bs) = [ fromUTF8BS bs ]+fieldLineStreamToLines (FLSCons bs s) = fromUTF8BS bs : fieldLineStreamToLines s++runFieldParser :: Position -> ParsecParser a -> CabalSpecVersion -> [FieldLine Position] -> ParseResult a+runFieldParser pp p v ls = runFieldParser' pos p v (fieldLinesToStream ls)+ where+ -- TODO: make per line lookup+ pos = case ls of+ [] -> pp+ (FieldLine pos' _ : _) -> pos'++fieldlinesToBS :: [FieldLine ann] -> BS.ByteString+fieldlinesToBS = BS.intercalate "\n" . map (\(FieldLine _ bs) -> bs)
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveFunctor #-}+module Distribution.FieldGrammar.Pretty (+ PrettyFieldGrammar,+ prettyFieldGrammar,+ ) where++import Distribution.Compat.Lens+import Distribution.Compat.Newtype+import Distribution.Compat.Prelude+import Distribution.Pretty (Pretty (..))+import Distribution.Simple.Utils (fromUTF8BS)+import Prelude ()+import Text.PrettyPrint (Doc)+import qualified Text.PrettyPrint as PP++import Distribution.FieldGrammar.Class+import Distribution.ParseUtils (ppField)++newtype PrettyFieldGrammar s a = PrettyFG+ { fieldGrammarPretty :: s -> Doc+ }+ deriving (Functor)++instance Applicative (PrettyFieldGrammar s) where+ pure _ = PrettyFG (\_ -> mempty)+ PrettyFG f <*> PrettyFG x = PrettyFG (\s -> f s PP.$$ x s)++-- | We can use 'PrettyFieldGrammar' to pp print the @s@.+--+-- /Note:/ there is not trailing @($+$ text "")@.+prettyFieldGrammar :: PrettyFieldGrammar s a -> s -> Doc+prettyFieldGrammar = fieldGrammarPretty++instance FieldGrammar PrettyFieldGrammar where+ blurFieldGrammar f (PrettyFG pp) = PrettyFG (pp . aview f)++ uniqueFieldAla fn _pack l = PrettyFG $ \s ->+ ppField (fromUTF8BS fn) (pretty (pack' _pack (aview l s)))++ booleanFieldDef fn l def = PrettyFG pp+ where+ pp s+ | b == def = mempty+ | otherwise = ppField (fromUTF8BS fn) (PP.text (show b))+ where+ b = aview l s++ optionalFieldAla fn _pack l = PrettyFG pp+ where+ pp s = case aview l s of+ Nothing -> mempty+ Just a -> ppField (fromUTF8BS fn) (pretty (pack' _pack a))++ optionalFieldDefAla fn _pack l def = PrettyFG pp+ where+ pp s+ | x == def = mempty+ | otherwise = ppField (fromUTF8BS fn) (pretty (pack' _pack x))+ where+ x = aview l s++ monoidalFieldAla fn _pack l = PrettyFG pp+ where+ pp s = ppField (fromUTF8BS fn) (pretty (pack' _pack (aview l s)))++ prefixedFields _fnPfx l = PrettyFG (pp . aview l)+ where+ pp xs = PP.vcat+ -- always print the field, even its Doc is empty+ -- i.e. don't use ppField+ [ PP.text n <<>> PP.colon PP.<+> (PP.vcat $ map PP.text $ lines s)+ | (n, s) <- xs+ -- fnPfx `isPrefixOf` n+ ]++ knownField _ = pure ()+ deprecatedSince [] _ _ = PrettyFG (\_ -> mempty)+ deprecatedSince _ _ x = x+ availableSince _ _ = id+ hiddenField _ = PrettyFG (\_ -> mempty)
@@ -1,7 +1,3 @@-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE TypeFamilies #-}- ----------------------------------------------------------------------------- -- | -- Module : Distribution.InstalledPackageInfo@@ -41,94 +37,38 @@ emptyInstalledPackageInfo, parseInstalledPackageInfo, showInstalledPackageInfo,+ showFullInstalledPackageInfo, showInstalledPackageInfoField, showSimpleInstalledPackageInfoField,- fieldsInstalledPackageInfo, ) where -import Prelude () import Distribution.Compat.Prelude+import Prelude () -import Distribution.ParseUtils-import Distribution.License-import Distribution.Package hiding (installedUnitId, installedPackageId)+import Data.Set (Set) import Distribution.Backpack-import qualified Distribution.Package as Package+import Distribution.CabalSpecVersion (cabalSpecLatest)+import Distribution.FieldGrammar+import Distribution.FieldGrammar.FieldDescrs import Distribution.ModuleName-import Distribution.Version-import Distribution.Text-import qualified Distribution.Compat.ReadP as Parse-import Distribution.Compat.Graph-import Distribution.Types.MungedPackageId+import Distribution.Package hiding (installedPackageId, installedUnitId)+import Distribution.ParseUtils import Distribution.Types.ComponentName-import Distribution.Types.MungedPackageName-import Distribution.Types.UnqualComponentName+import Distribution.Utils.Generic (toUTF8BS) -import Text.PrettyPrint as Disp-import qualified Data.Char as Char-import qualified Data.Map as Map-import Data.Set (Set)+import qualified Data.Map as Map+import qualified Distribution.Parsec.Common as P+import qualified Distribution.Parsec.Parser as P+import qualified Distribution.Parsec.ParseResult as P+import qualified Text.Parsec.Error as Parsec+import qualified Text.Parsec.Pos as Parsec+import qualified Text.PrettyPrint as Disp --- -------------------------------------------------------------------------------- The InstalledPackageInfo type+import Distribution.Types.InstalledPackageInfo+import Distribution.Types.InstalledPackageInfo.FieldGrammar --- For BC reasons, we continue to name this record an InstalledPackageInfo;--- but it would more accurately be called an InstalledUnitInfo with Backpack-data InstalledPackageInfo- = InstalledPackageInfo {- -- these parts are exactly the same as PackageDescription- sourcePackageId :: PackageId,- installedUnitId :: UnitId,- installedComponentId_ :: ComponentId,- -- INVARIANT: if this package is definite, OpenModule's- -- OpenUnitId directly records UnitId. If it is- -- indefinite, OpenModule is always an OpenModuleVar- -- with the same ModuleName as the key.- instantiatedWith :: [(ModuleName, OpenModule)],- sourceLibName :: Maybe UnqualComponentName,- compatPackageKey :: String,- license :: License,- copyright :: String,- maintainer :: String,- author :: String,- stability :: String,- homepage :: String,- pkgUrl :: String,- synopsis :: String,- description :: String,- category :: String,- -- these parts are required by an installed package only:- abiHash :: AbiHash,- indefinite :: Bool,- exposed :: Bool,- -- INVARIANT: if the package is definite, OpenModule's- -- OpenUnitId directly records UnitId.- exposedModules :: [ExposedModule],- hiddenModules :: [ModuleName],- trusted :: Bool,- importDirs :: [FilePath],- libraryDirs :: [FilePath],- libraryDynDirs :: [FilePath], -- ^ overrides 'libraryDirs'- dataDir :: FilePath,- hsLibraries :: [String],- extraLibraries :: [String],- extraGHCiLibraries:: [String], -- overrides extraLibraries for GHCi- includeDirs :: [FilePath],- includes :: [String],- -- INVARIANT: if the package is definite, UnitId is NOT- -- a ComponentId of an indefinite package- depends :: [UnitId],- abiDepends :: [AbiDependency],- ccOptions :: [String],- ldOptions :: [String],- frameworkDirs :: [FilePath],- frameworks :: [String],- haddockInterfaces :: [FilePath],- haddockHTMLs :: [FilePath],- pkgRoot :: Maybe FilePath- }- deriving (Eq, Generic, Typeable, Read, Show) + installedComponentId :: InstalledPackageInfo -> ComponentId installedComponentId ipi = case unComponentId (installedComponentId_ ipi) of@@ -158,151 +98,7 @@ installedPackageId :: InstalledPackageInfo -> UnitId installedPackageId = installedUnitId -instance Binary InstalledPackageInfo--instance Package.HasMungedPackageId InstalledPackageInfo where- mungedId = mungedPackageId--instance Package.Package InstalledPackageInfo where- packageId = sourcePackageId--instance Package.HasUnitId InstalledPackageInfo where- installedUnitId = installedUnitId--instance Package.PackageInstalled InstalledPackageInfo where- installedDepends = depends--instance IsNode InstalledPackageInfo where- type Key InstalledPackageInfo = UnitId- nodeKey = installedUnitId- nodeNeighbors = depends--emptyInstalledPackageInfo :: InstalledPackageInfo-emptyInstalledPackageInfo- = InstalledPackageInfo {- sourcePackageId = PackageIdentifier (mkPackageName "") nullVersion,- installedUnitId = mkUnitId "",- installedComponentId_ = mkComponentId "",- instantiatedWith = [],- sourceLibName = Nothing,- compatPackageKey = "",- license = UnspecifiedLicense,- copyright = "",- maintainer = "",- author = "",- stability = "",- homepage = "",- pkgUrl = "",- synopsis = "",- description = "",- category = "",- abiHash = mkAbiHash "",- indefinite = False,- exposed = False,- exposedModules = [],- hiddenModules = [],- trusted = False,- importDirs = [],- libraryDirs = [],- libraryDynDirs = [],- dataDir = "",- hsLibraries = [],- extraLibraries = [],- extraGHCiLibraries= [],- includeDirs = [],- includes = [],- depends = [],- abiDepends = [],- ccOptions = [],- ldOptions = [],- frameworkDirs = [],- frameworks = [],- haddockInterfaces = [],- haddockHTMLs = [],- pkgRoot = Nothing- }- -- -------------------------------------------------------------------------------- Exposed modules--data ExposedModule- = ExposedModule {- exposedName :: ModuleName,- exposedReexport :: Maybe OpenModule- }- deriving (Eq, Generic, Read, Show)--instance Text ExposedModule where- disp (ExposedModule m reexport) =- Disp.hsep [ disp m- , case reexport of- Just m' -> Disp.hsep [Disp.text "from", disp m']- Nothing -> Disp.empty- ]- parse = do- m <- parseModuleNameQ- Parse.skipSpaces- reexport <- Parse.option Nothing $ do- _ <- Parse.string "from"- Parse.skipSpaces- fmap Just parse- return (ExposedModule m reexport)--instance Binary ExposedModule---- To maintain backwards-compatibility, we accept both comma/non-comma--- separated variants of this field. You SHOULD use the comma syntax if you--- use any new functions, although actually it's unambiguous due to a quirk--- of the fact that modules must start with capital letters.--showExposedModules :: [ExposedModule] -> Disp.Doc-showExposedModules xs- | all isExposedModule xs = fsep (map disp xs)- | otherwise = fsep (Disp.punctuate comma (map disp xs))- where isExposedModule (ExposedModule _ Nothing) = True- isExposedModule _ = False--parseExposedModules :: Parse.ReadP r [ExposedModule]-parseExposedModules = parseOptCommaList parse--dispMaybe :: Text a => Maybe a -> Disp.Doc-dispMaybe Nothing = Disp.empty-dispMaybe (Just x) = disp x--parseMaybe :: Text a => Parse.ReadP r (Maybe a)-parseMaybe = fmap Just parse Parse.<++ return Nothing---- -------------------------------------------------------------------------------- ABI dependency---- | An ABI dependency is a dependency on a library which also--- records the ABI hash ('abiHash') of the library it depends--- on.------ The primary utility of this is to enable an extra sanity when--- GHC loads libraries: it can check if the dependency has a matching--- ABI and if not, refuse to load this library. This information--- is critical if we are shadowing libraries; differences in the--- ABI hash let us know what packages get shadowed by the new version--- of a package.-data AbiDependency = AbiDependency {- depUnitId :: UnitId,- depAbiHash :: AbiHash- }- deriving (Eq, Generic, Read, Show)--instance Text AbiDependency where- disp (AbiDependency uid abi) =- disp uid <<>> Disp.char '=' <<>> disp abi- parse = do- uid <- parse- _ <- Parse.char '='- abi <- parse- return (AbiDependency uid abi)--instance Binary AbiDependency---- ----------------------------------------------------------------------------- -- Munging sourceComponentName :: InstalledPackageInfo -> ComponentName@@ -311,207 +107,44 @@ Nothing -> CLibName Just qn -> CSubLibName qn --- | Returns @Just@ if the @name@ field of the IPI record would not contain--- the package name verbatim. This helps us avoid writing @package-name@--- when it's redundant.-maybePackageName :: InstalledPackageInfo -> Maybe PackageName-maybePackageName ipi =- case sourceLibName ipi of- Nothing -> Nothing- Just _ -> Just (packageName ipi)---- | Setter for the @package-name@ field. It should be acceptable for this--- to be a no-op.-setMaybePackageName :: Maybe PackageName -> InstalledPackageInfo -> InstalledPackageInfo-setMaybePackageName Nothing ipi = ipi-setMaybePackageName (Just pn) ipi = ipi {- sourcePackageId=(sourcePackageId ipi){pkgName=pn}- }---- | Returns the munged package name, which we write into @name@ for--- compatibility with old versions of GHC.-mungedPackageName :: InstalledPackageInfo -> MungedPackageName-mungedPackageName ipi =- computeCompatPackageName- (packageName ipi)- (sourceLibName ipi)--setMungedPackageName :: MungedPackageName -> InstalledPackageInfo -> InstalledPackageInfo-setMungedPackageName mpn ipi =- let (pn, mb_uqn) = decodeCompatPackageName mpn- in ipi {- sourcePackageId = (sourcePackageId ipi) {pkgName=pn},- sourceLibName = mb_uqn- }--mungedPackageId :: InstalledPackageInfo -> MungedPackageId-mungedPackageId ipi =- MungedPackageId (mungedPackageName ipi) (packageVersion ipi)- -- ----------------------------------------------------------------------------- -- Parsing parseInstalledPackageInfo :: String -> ParseResult InstalledPackageInfo-parseInstalledPackageInfo =- parseFieldsFlat (fieldsInstalledPackageInfo ++ deprecatedFieldDescrs)- emptyInstalledPackageInfo+parseInstalledPackageInfo s = case P.readFields (toUTF8BS s) of+ Left err -> ParseFailed (NoParse (show err) $ Parsec.sourceLine $ Parsec.errorPos err)+ Right fs -> case partitionFields fs of+ (fs', _) -> case P.runParseResult $ parseFieldGrammar cabalSpecLatest fs' ipiFieldGrammar of+ (ws, Right x) -> ParseOk ws' x where+ ws' = map (PWarning . P.showPWarning "") ws+ (_, Left (_, errs)) -> ParseFailed (NoParse errs' 0) where+ errs' = intercalate "; " $ map (\(P.PError _ msg) -> msg) errs -- ----------------------------------------------------------------------------- -- Pretty-printing +-- | Pretty print 'InstalledPackageInfo'.+--+-- @pkgRoot@ isn't printed, as ghc-pkg prints it manually (as GHC-8.4). showInstalledPackageInfo :: InstalledPackageInfo -> String-showInstalledPackageInfo = showFields fieldsInstalledPackageInfo+showInstalledPackageInfo ipi =+ showFullInstalledPackageInfo ipi { pkgRoot = Nothing } +-- | The variant of 'showInstalledPackageInfo' which outputs @pkgroot@ field too.+showFullInstalledPackageInfo :: InstalledPackageInfo -> String+showFullInstalledPackageInfo = Disp.render . (Disp.$+$ Disp.text "") . prettyFieldGrammar ipiFieldGrammar++-- |+--+-- >>> let ipi = emptyInstalledPackageInfo { maintainer = "Tester" }+-- >>> fmap ($ ipi) $ showInstalledPackageInfoField "maintainer"+-- Just "maintainer: Tester" showInstalledPackageInfoField :: String -> Maybe (InstalledPackageInfo -> String)-showInstalledPackageInfoField = showSingleNamedField fieldsInstalledPackageInfo+showInstalledPackageInfoField fn =+ fmap (\g -> Disp.render . ppField fn . g) $ fieldDescrPretty ipiFieldGrammar fn showSimpleInstalledPackageInfoField :: String -> Maybe (InstalledPackageInfo -> String)-showSimpleInstalledPackageInfoField = showSimpleSingleNamedField fieldsInstalledPackageInfo--dispCompatPackageKey :: String -> Doc-dispCompatPackageKey = text--parseCompatPackageKey :: Parse.ReadP r String-parseCompatPackageKey = Parse.munch1 uid_char- where uid_char c = Char.isAlphaNum c || c `elem` "-_.=[],:<>+"---- -------------------------------------------------------------------------------- Description of the fields, for parsing/printing--fieldsInstalledPackageInfo :: [FieldDescr InstalledPackageInfo]-fieldsInstalledPackageInfo = basicFieldDescrs ++ installedFieldDescrs--basicFieldDescrs :: [FieldDescr InstalledPackageInfo]-basicFieldDescrs =- [ simpleField "name"- disp (parseMaybeQuoted parse)- mungedPackageName setMungedPackageName- , simpleField "version"- disp parseOptVersion- packageVersion (\ver pkg -> pkg{sourcePackageId=(sourcePackageId pkg){pkgVersion=ver}})- , simpleField "id"- disp parse- installedUnitId (\pk pkg -> pkg{installedUnitId=pk})- , simpleField "instantiated-with"- (dispOpenModuleSubst . Map.fromList) (fmap Map.toList parseOpenModuleSubst)- instantiatedWith (\iw pkg -> pkg{instantiatedWith=iw})- , simpleField "package-name"- dispMaybe parseMaybe- maybePackageName setMaybePackageName- , simpleField "lib-name"- dispMaybe parseMaybe- sourceLibName (\n pkg -> pkg{sourceLibName=n})- , simpleField "key"- dispCompatPackageKey parseCompatPackageKey- compatPackageKey (\pk pkg -> pkg{compatPackageKey=pk})- , simpleField "license"- disp parseLicenseQ- license (\l pkg -> pkg{license=l})- , simpleField "copyright"- showFreeText parseFreeText- copyright (\val pkg -> pkg{copyright=val})- , simpleField "maintainer"- showFreeText parseFreeText- maintainer (\val pkg -> pkg{maintainer=val})- , simpleField "stability"- showFreeText parseFreeText- stability (\val pkg -> pkg{stability=val})- , simpleField "homepage"- showFreeText parseFreeText- homepage (\val pkg -> pkg{homepage=val})- , simpleField "package-url"- showFreeText parseFreeText- pkgUrl (\val pkg -> pkg{pkgUrl=val})- , simpleField "synopsis"- showFreeText parseFreeText- synopsis (\val pkg -> pkg{synopsis=val})- , simpleField "description"- showFreeText parseFreeText- description (\val pkg -> pkg{description=val})- , simpleField "category"- showFreeText parseFreeText- category (\val pkg -> pkg{category=val})- , simpleField "author"- showFreeText parseFreeText- author (\val pkg -> pkg{author=val})- ]--installedFieldDescrs :: [FieldDescr InstalledPackageInfo]-installedFieldDescrs = [- boolField "exposed"- exposed (\val pkg -> pkg{exposed=val})- , boolField "indefinite"- indefinite (\val pkg -> pkg{indefinite=val})- , simpleField "exposed-modules"- showExposedModules parseExposedModules- exposedModules (\xs pkg -> pkg{exposedModules=xs})- , listField "hidden-modules"- disp parseModuleNameQ- hiddenModules (\xs pkg -> pkg{hiddenModules=xs})- , simpleField "abi"- disp parse- abiHash (\abi pkg -> pkg{abiHash=abi})- , boolField "trusted"- trusted (\val pkg -> pkg{trusted=val})- , listField "import-dirs"- showFilePath parseFilePathQ- importDirs (\xs pkg -> pkg{importDirs=xs})- , listField "library-dirs"- showFilePath parseFilePathQ- libraryDirs (\xs pkg -> pkg{libraryDirs=xs})- , listField "dynamic-library-dirs"- showFilePath parseFilePathQ- libraryDynDirs (\xs pkg -> pkg{libraryDynDirs=xs})- , simpleField "data-dir"- showFilePath (parseFilePathQ Parse.<++ return "")- dataDir (\val pkg -> pkg{dataDir=val})- , listField "hs-libraries"- showFilePath parseTokenQ- hsLibraries (\xs pkg -> pkg{hsLibraries=xs})- , listField "extra-libraries"- showToken parseTokenQ- extraLibraries (\xs pkg -> pkg{extraLibraries=xs})- , listField "extra-ghci-libraries"- showToken parseTokenQ- extraGHCiLibraries (\xs pkg -> pkg{extraGHCiLibraries=xs})- , listField "include-dirs"- showFilePath parseFilePathQ- includeDirs (\xs pkg -> pkg{includeDirs=xs})- , listField "includes"- showFilePath parseFilePathQ- includes (\xs pkg -> pkg{includes=xs})- , listField "depends"- disp parse- depends (\xs pkg -> pkg{depends=xs})- , listField "abi-depends"- disp parse- abiDepends (\xs pkg -> pkg{abiDepends=xs})- , listField "cc-options"- showToken parseTokenQ- ccOptions (\path pkg -> pkg{ccOptions=path})- , listField "ld-options"- showToken parseTokenQ- ldOptions (\path pkg -> pkg{ldOptions=path})- , listField "framework-dirs"- showFilePath parseFilePathQ- frameworkDirs (\xs pkg -> pkg{frameworkDirs=xs})- , listField "frameworks"- showToken parseTokenQ- frameworks (\xs pkg -> pkg{frameworks=xs})- , listField "haddock-interfaces"- showFilePath parseFilePathQ- haddockInterfaces (\xs pkg -> pkg{haddockInterfaces=xs})- , listField "haddock-html"- showFilePath parseFilePathQ- haddockHTMLs (\xs pkg -> pkg{haddockHTMLs=xs})- , simpleField "pkgroot"- (const Disp.empty) parseFilePathQ- (fromMaybe "" . pkgRoot) (\xs pkg -> pkg{pkgRoot=Just xs})- ]--deprecatedFieldDescrs :: [FieldDescr InstalledPackageInfo]-deprecatedFieldDescrs = [- listField "hugs-options"- showToken parseTokenQ- (const []) (const id)- ]+showSimpleInstalledPackageInfoField fn =+ fmap (Disp.renderStyle myStyle .) $ fieldDescrPretty ipiFieldGrammar fn+ where+ myStyle = Disp.style { Disp.mode = Disp.LeftMode }
@@ -1,5 +1,5 @@ {-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveGeneric #-} ----------------------------------------------------------------------------- -- |@@ -45,16 +45,24 @@ module Distribution.License ( License(..), knownLicenses,+ licenseToSPDX,+ licenseFromSPDX, ) where -import Prelude () import Distribution.Compat.Prelude+import Prelude () -import Distribution.Version+import Distribution.Parsec.Class+import Distribution.Pretty import Distribution.Text-import qualified Distribution.Compat.ReadP as Parse-import qualified Text.PrettyPrint as Disp+import Distribution.Version +import qualified Distribution.Compat.CharParsing as P+import qualified Distribution.Compat.Map.Strict as Map+import qualified Distribution.Compat.ReadP as Parse+import qualified Distribution.SPDX as SPDX+import qualified Text.PrettyPrint as Disp+ -- | Indicates the license under which a package's source code is released. -- Versions of the licenses not listed here will be rejected by Hackage and -- cause @cabal check@ to issue a warning.@@ -123,6 +131,8 @@ instance Binary License +instance NFData License where rnf = genericRnf+ -- | The list of all currently recognised licenses. knownLicenses :: [License] knownLicenses = [ GPL unversioned, GPL (version [2]), GPL (version [3])@@ -132,19 +142,111 @@ , MPL (mkVersion [2, 0]) , Apache unversioned, Apache (version [2, 0]) , PublicDomain, AllRightsReserved, OtherLicense]- where- unversioned = Nothing- version = Just . mkVersion+ where+ unversioned = Nothing+ version = Just . mkVersion -instance Text License where- disp (GPL version) = Disp.text "GPL" <<>> dispOptVersion version- disp (LGPL version) = Disp.text "LGPL" <<>> dispOptVersion version- disp (AGPL version) = Disp.text "AGPL" <<>> dispOptVersion version- disp (MPL version) = Disp.text "MPL" <<>> dispVersion version- disp (Apache version) = Disp.text "Apache" <<>> dispOptVersion version- disp (UnknownLicense other) = Disp.text other- disp other = Disp.text (show other)+-- | Convert old 'License' to SPDX 'SPDX.License'.+-- Non-SPDX licenses are converted to 'SPDX.LicenseRef'.+--+-- @since 2.2.0.0+licenseToSPDX :: License -> SPDX.License+licenseToSPDX l = case l of+ GPL v | v == version [2] -> spdx SPDX.GPL_2_0_only+ GPL v | v == version [3] -> spdx SPDX.GPL_3_0_only+ LGPL v | v == version [2,1] -> spdx SPDX.LGPL_2_1_only+ LGPL v | v == version [3] -> spdx SPDX.LGPL_3_0_only+ AGPL v | v == version [3] -> spdx SPDX.AGPL_3_0_only+ BSD2 -> spdx SPDX.BSD_2_Clause+ BSD3 -> spdx SPDX.BSD_3_Clause+ BSD4 -> spdx SPDX.BSD_4_Clause+ MIT -> spdx SPDX.MIT+ ISC -> spdx SPDX.ISC+ MPL v | v == mkVersion [2,0] -> spdx SPDX.MPL_2_0+ Apache v | v == version [2,0] -> spdx SPDX.Apache_2_0+ AllRightsReserved -> SPDX.NONE+ UnspecifiedLicense -> SPDX.NONE+ OtherLicense -> ref (SPDX.mkLicenseRef' Nothing "OtherLicense")+ PublicDomain -> ref (SPDX.mkLicenseRef' Nothing "PublicDomain")+ UnknownLicense str -> ref (SPDX.mkLicenseRef' Nothing str)+ _ -> ref (SPDX.mkLicenseRef' Nothing $ prettyShow l)+ where+ version = Just . mkVersion+ spdx = SPDX.License . SPDX.simpleLicenseExpression+ ref r = SPDX.License $ SPDX.ELicense (SPDX.ELicenseRef r) Nothing +-- | Convert 'SPDX.License' to 'License',+--+-- This is lossy conversion. We try our best.+--+-- >>> licenseFromSPDX . licenseToSPDX $ BSD3+-- BSD3+--+-- >>> licenseFromSPDX . licenseToSPDX $ GPL (Just (mkVersion [3]))+-- GPL (Just (mkVersion [3]))+--+-- >>> licenseFromSPDX . licenseToSPDX $ PublicDomain+-- UnknownLicense "LicenseRefPublicDomain"+--+-- >>> licenseFromSPDX $ SPDX.License $ SPDX.simpleLicenseExpression SPDX.EUPL_1_1+-- UnknownLicense "EUPL-1.1"+--+-- >>> licenseFromSPDX . licenseToSPDX $ AllRightsReserved+-- AllRightsReserved+--+-- >>> licenseFromSPDX <$> simpleParsec "BSD-3-Clause OR GPL-3.0-only"+-- Just (UnknownLicense "BSD3ClauseORGPL30only")+--+-- @since 2.2.0.0+licenseFromSPDX :: SPDX.License -> License+licenseFromSPDX SPDX.NONE = AllRightsReserved+licenseFromSPDX l =+ fromMaybe (mungle $ prettyShow l) $ Map.lookup l m+ where+ m :: Map.Map SPDX.License License+ m = Map.fromList $ filter (isSimple . fst ) $+ map (\x -> (licenseToSPDX x, x)) knownLicenses++ isSimple (SPDX.License (SPDX.ELicense (SPDX.ELicenseId _) Nothing)) = True+ isSimple _ = False++ mungle name = fromMaybe (UnknownLicense (mapMaybe mangle name)) (simpleParsec name)++ mangle c+ | isAlphaNum c = Just c+ | otherwise = Nothing++instance Pretty License where+ pretty (GPL version) = Disp.text "GPL" <<>> dispOptVersion version+ pretty (LGPL version) = Disp.text "LGPL" <<>> dispOptVersion version+ pretty (AGPL version) = Disp.text "AGPL" <<>> dispOptVersion version+ pretty (MPL version) = Disp.text "MPL" <<>> dispVersion version+ pretty (Apache version) = Disp.text "Apache" <<>> dispOptVersion version+ pretty (UnknownLicense other) = Disp.text other+ pretty other = Disp.text (show other)++instance Parsec License where+ parsec = do+ name <- P.munch1 isAlphaNum+ version <- P.optional (P.char '-' *> parsec)+ return $! case (name, version :: Maybe Version) of+ ("GPL", _ ) -> GPL version+ ("LGPL", _ ) -> LGPL version+ ("AGPL", _ ) -> AGPL version+ ("BSD2", Nothing) -> BSD2+ ("BSD3", Nothing) -> BSD3+ ("BSD4", Nothing) -> BSD4+ ("ISC", Nothing) -> ISC+ ("MIT", Nothing) -> MIT+ ("MPL", Just version') -> MPL version'+ ("Apache", _ ) -> Apache version+ ("PublicDomain", Nothing) -> PublicDomain+ ("AllRightsReserved", Nothing) -> AllRightsReserved+ ("OtherLicense", Nothing) -> OtherLicense+ _ -> UnknownLicense $ name +++ maybe "" (('-':) . display) version++instance Text License where parse = do name <- Parse.munch1 (\c -> isAlphaNum c && c /= '-') version <- Parse.option Nothing (Parse.char '-' >> fmap Just parse)
@@ -146,6 +146,8 @@ let destArgs = case fromFlag $ copyDest flags of NoCopyDest -> ["install"] CopyTo path -> ["copy", "destdir=" ++ path]+ CopyToDb _ -> error "CopyToDb not supported via Make"+ rawSystemExit (fromFlag $ copyVerbosity flags) "make" destArgs installAction :: InstallFlags -> [String] -> IO ()
@@ -28,11 +28,15 @@ import Distribution.Compat.Prelude import Distribution.Utils.ShortText+import System.FilePath ( pathSeparator )++import Distribution.Pretty+import Distribution.Parsec.Class import Distribution.Text-import qualified Distribution.Compat.ReadP as Parse +import qualified Distribution.Compat.CharParsing as P+import qualified Distribution.Compat.ReadP as Parse import qualified Text.PrettyPrint as Disp-import System.FilePath ( pathSeparator ) -- | A valid Haskell module name. --@@ -44,10 +48,19 @@ instance NFData ModuleName where rnf (ModuleName ms) = rnf ms -instance Text ModuleName where- disp (ModuleName ms) =+instance Pretty ModuleName where+ pretty (ModuleName ms) = Disp.hcat (intersperse (Disp.char '.') (map Disp.text $ stlToStrings ms)) +instance Parsec ModuleName where+ parsec = fromComponents <$> P.sepBy1 component (P.char '.')+ where+ component = do+ c <- P.satisfy isUpper+ cs <- P.munch validModuleChar+ return (c:cs)++instance Text ModuleName where parse = do ms <- Parse.sepBy1 component (Parse.char '.') return (ModuleName $ stlFromStrings ms)@@ -66,7 +79,7 @@ validModuleComponent (c:cs) = isUpper c && all validModuleChar cs -{-# DEPRECATED simple "use ModuleName.fromString instead" #-}+{-# DEPRECATED simple "use ModuleName.fromString instead. This symbol will be removed in Cabal-3.0 (est. Oct 2018)." #-} simple :: String -> ModuleName simple str = ModuleName (stlFromStrings [str])
@@ -87,7 +87,7 @@ class Package pkg => HasUnitId pkg where installedUnitId :: pkg -> UnitId -{-# DEPRECATED installedPackageId "Use installedUnitId instead" #-}+{-# DEPRECATED installedPackageId "Use installedUnitId instead. This symbol will be removed in Cabal-3.0 (est. Oct 2018)." #-} -- | Compatibility wrapper for Cabal pre-1.24. installedPackageId :: HasUnitId pkg => pkg -> UnitId installedPackageId = installedUnitId
@@ -1,6 +1,3 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}- ----------------------------------------------------------------------------- -- | -- Module : Distribution.PackageDescription@@ -18,6 +15,8 @@ PackageDescription(..), emptyPackageDescription, specVersion,+ buildType,+ license, descCabalVersion, BuildType(..), knownBuildTypes,@@ -77,9 +76,11 @@ allLanguages, allExtensions, usedExtensions,+ usesTemplateHaskellOrQQ, hcOptions, hcProfOptions, hcSharedOptions,+ hcStaticOptions, -- ** Supplementary build information ComponentName(..),@@ -92,9 +93,11 @@ GenericPackageDescription(..), Flag(..), emptyFlag, FlagName, mkFlagName, unFlagName,- FlagAssignment,- showFlagValue,- dispFlagAssignment, parseFlagAssignment,+ FlagAssignment, mkFlagAssignment, unFlagAssignment,+ nullFlagAssignment, showFlagValue,+ diffFlagAssignment, lookupFlagAssignment, insertFlagAssignment,+ dispFlagAssignment, parseFlagAssignment, parsecFlagAssignment,+ findDuplicateFlagAssignments, CondTree(..), ConfVar(..), Condition(..), cNot, cAnd, cOr,
@@ -33,51 +33,49 @@ checkPackageFileNames, ) where -import Prelude () import Distribution.Compat.Prelude+import Prelude () -import Distribution.PackageDescription-import Distribution.PackageDescription.Configuration+import Control.Monad (mapM)+import Data.List (group)+import Distribution.Compat.Lens import Distribution.Compiler-import Distribution.System import Distribution.License-import Distribution.Simple.BuildPaths (autogenPathsModuleName)+import Distribution.Package+import Distribution.PackageDescription+import Distribution.PackageDescription.Configuration+import Distribution.Pretty (prettyShow)+import Distribution.Simple.BuildPaths (autogenPathsModuleName) import Distribution.Simple.BuildToolDepends import Distribution.Simple.CCompiler+import Distribution.Simple.Utils hiding (findPackageDesc, notice)+import Distribution.System+import Distribution.Text import Distribution.Types.ComponentRequestedSpec import Distribution.Types.CondTree-import Distribution.Types.Dependency import Distribution.Types.ExeDependency-import Distribution.Types.PackageName-import Distribution.Types.ExecutableScope import Distribution.Types.UnqualComponentName-import Distribution.Simple.Utils hiding (findPackageDesc, notice)+import Distribution.Utils.Generic (isAscii) import Distribution.Version-import Distribution.Package-import Distribution.Text-import Distribution.Utils.Generic (isAscii) import Language.Haskell.Extension--import Control.Applicative (Const (..))-import Control.Monad (mapM)-import Data.List (group)-import Data.Monoid (Endo (..))-import qualified System.Directory as System- ( doesFileExist, doesDirectoryExist )-import qualified Data.Map as Map+import System.FilePath+ (splitDirectories, splitExtension, splitPath, takeExtension, takeFileName, (<.>), (</>)) -import qualified Text.PrettyPrint as Disp-import Text.PrettyPrint ((<+>))+import qualified Data.ByteString.Lazy as BS+import qualified Data.Map as Map+import qualified Distribution.Compat.DList as DList+import qualified Distribution.SPDX as SPDX+import qualified System.Directory as System -import qualified System.Directory (getDirectoryContents)-import System.IO (openBinaryFile, IOMode(ReadMode), hGetContents)-import System.FilePath- ( (</>), takeExtension, splitDirectories, splitPath, splitExtension )-import System.FilePath.Windows as FilePath.Windows- ( isValid )+import qualified System.Directory (getDirectoryContents)+import qualified System.FilePath.Windows as FilePath.Windows (isValid) import qualified Data.Set as Set +import qualified Distribution.Types.BuildInfo.Lens as L+import qualified Distribution.Types.GenericPackageDescription.Lens as L+import qualified Distribution.Types.PackageDescription.Lens as L+ -- | Results of some kind of failed package check. -- -- There are a range of severities, from merely dubious to totally insane.@@ -151,6 +149,8 @@ ++ checkDevelopmentOnlyFlags gpkg ++ checkFlagNames gpkg ++ checkUnusedFlags gpkg+ ++ checkUnicodeXFields gpkg+ ++ checkPathsModuleExtensions pkg where pkg = fromMaybe (flattenPackageDescription gpkg) mpkg @@ -261,7 +261,7 @@ , checkVersion [1,25] (not (null (signatures lib))) $ PackageDistInexcusable $ "To use the 'signatures' field the package needs to specify "- ++ "at least 'cabal-version: >= 1.25'."+ ++ "at least 'cabal-version: 2.0'." -- check that all autogen-modules appear on other-modules or exposed-modules , check@@ -315,12 +315,6 @@ PackageBuildImpossible $ "On executable '" ++ display (exeName exe) ++ "' an 'autogen-module' is not " ++ "on 'other-modules'"-- , checkSpecVersion pkg [2,0] (exeScope exe /= ExecutableScopeUnknown) $- PackageDistSuspiciousWarn $- "To use the 'scope' field the package needs to specify "- ++ "at least 'cabal-version: >= 2.0'."- ] where moduleDuplicates = dups (exeModules exe)@@ -445,20 +439,12 @@ "Package names with the prefix 'z-' are reserved by Cabal and " ++ "cannot be used." - , check (isNothing (buildType pkg)) $+ , check (isNothing (buildTypeRaw pkg) && specVersion pkg < mkVersion [2,1]) $ PackageBuildWarning $ "No 'build-type' specified. If you do not need a custom Setup.hs or " ++ "./configure script then use 'build-type: Simple'." - , case buildType pkg of- Just (UnknownBuildType unknown) -> Just $- PackageBuildWarning $- quote unknown ++ " is not a known 'build-type'. "- ++ "The known build types are: "- ++ commaSep (map display knownBuildTypes)- _ -> Nothing-- , check (isJust (setupBuildInfo pkg) && buildType pkg /= Just Custom) $+ , check (isJust (setupBuildInfo pkg) && buildType pkg /= Custom) $ PackageBuildWarning $ "Ignoring the 'custom-setup' section because the 'build-type' is " ++ "not 'Custom'. Use 'build-type: Custom' if you need to use a "@@ -654,17 +640,35 @@ checkLicense :: PackageDescription -> [PackageCheck]-checkLicense pkg =- catMaybes [+checkLicense pkg = case licenseRaw pkg of+ Right l -> checkOldLicense pkg l+ Left l -> checkNewLicense pkg l - check (license pkg == UnspecifiedLicense) $+checkNewLicense :: PackageDescription -> SPDX.License -> [PackageCheck]+checkNewLicense _pkg lic = catMaybes+ [ check (lic == SPDX.NONE) $+ PackageDistInexcusable+ "The 'license' field is missing or is NONE."+ ]++checkOldLicense :: PackageDescription -> License -> [PackageCheck]+checkOldLicense pkg lic = catMaybes+ [ check (lic == UnspecifiedLicense) $ PackageDistInexcusable "The 'license' field is missing." - , check (license pkg == AllRightsReserved) $+ , check (lic == AllRightsReserved) $ PackageDistSuspicious "The 'license' is AllRightsReserved. Is that really what you want?"- , case license pkg of++ , checkVersion [1,4] (lic `notElem` compatLicenses) $+ PackageDistInexcusable $+ "Unfortunately the license " ++ quote (prettyShow (license pkg))+ ++ " messes up the parser in earlier Cabal versions so you need to "+ ++ "specify 'cabal-version: >= 1.4'. Alternatively if you require "+ ++ "compatibility with earlier Cabal versions then use 'OtherLicense'."++ , case lic of UnknownLicense l -> Just $ PackageBuildWarning $ quote ("license: " ++ l) ++ " is not a recognised license. The "@@ -672,23 +676,23 @@ ++ commaSep (map display knownLicenses) _ -> Nothing - , check (license pkg == BSD4) $+ , check (lic == BSD4) $ PackageDistSuspicious $ "Using 'license: BSD4' is almost always a misunderstanding. 'BSD4' " ++ "refers to the old 4-clause BSD license with the advertising " ++ "clause. 'BSD3' refers the new 3-clause BSD license." - , case unknownLicenseVersion (license pkg) of+ , case unknownLicenseVersion (lic) of Just knownVersions -> Just $ PackageDistSuspicious $- "'license: " ++ display (license pkg) ++ "' is not a known "+ "'license: " ++ display (lic) ++ "' is not a known " ++ "version of that license. The known versions are " ++ commaSep (map display knownVersions) ++ ". If this is not a mistake and you think it should be a known " ++ "version then please file a ticket." _ -> Nothing - , check (license pkg `notElem` [ AllRightsReserved+ , check (lic `notElem` [ AllRightsReserved , UnspecifiedLicense, PublicDomain] -- AllRightsReserved and PublicDomain are not strictly -- licenses so don't need license files.@@ -710,6 +714,15 @@ where knownVersions = [ v' | Apache (Just v') <- knownLicenses ] unknownLicenseVersion _ = Nothing + checkVersion :: [Int] -> Bool -> PackageCheck -> Maybe PackageCheck+ checkVersion ver cond pc+ | specVersion pkg >= mkVersion ver = Nothing+ | otherwise = check cond pc++ compatLicenses = [ GPL Nothing, LGPL Nothing, AGPL Nothing, BSD3, BSD4+ , PublicDomain, AllRightsReserved+ , UnspecifiedLicense, OtherLicense ]+ checkSourceRepos :: PackageDescription -> [PackageCheck] checkSourceRepos pkg = catMaybes $ concat [[@@ -791,11 +804,16 @@ PackageDistSuspicious $ "'ghc-options: -main-is' is not portable." - , checkFlags ["-O0", "-Onot"] $+ , checkNonTestAndBenchmarkFlags ["-O0", "-Onot"] $ PackageDistSuspicious $ "'ghc-options: -O0' is not needed. " ++ "Use the --disable-optimization configure flag." + , checkTestAndBenchmarkFlags ["-O0", "-Onot"] $+ PackageDistSuspiciousWarn $+ "'ghc-options: -O0' is not needed. "+ ++ "Use the --disable-optimization configure flag."+ , checkFlags [ "-O", "-O1"] $ PackageDistInexcusable $ "'ghc-options: -O' is not needed. "@@ -808,6 +826,11 @@ ++ "Check that it is giving a real benefit " ++ "and not just imposing longer compile times on your users." + , checkFlags ["-split-sections"] $+ PackageBuildWarning $+ "'ghc-options: -split-sections' is not needed. "+ ++ "Use the --enable-split-sections configure flag."+ , checkFlags ["-split-objs"] $ PackageBuildWarning $ "'ghc-options: -split-objs' is not needed. "@@ -877,9 +900,26 @@ get_ghc_options bi = hcOptions GHC bi ++ hcProfOptions GHC bi ++ hcSharedOptions GHC bi + test_ghc_options = concatMap (get_ghc_options . testBuildInfo)+ (testSuites pkg)+ benchmark_ghc_options = concatMap (get_ghc_options . benchmarkBuildInfo)+ (benchmarks pkg)+ test_and_benchmark_ghc_options = test_ghc_options +++ benchmark_ghc_options+ non_test_and_benchmark_ghc_options = concatMap get_ghc_options+ (allBuildInfo (pkg { testSuites = []+ , benchmarks = []+ }))+ checkFlags :: [String] -> PackageCheck -> Maybe PackageCheck checkFlags flags = check (any (`elem` flags) all_ghc_options) + checkTestAndBenchmarkFlags :: [String] -> PackageCheck -> Maybe PackageCheck+ checkTestAndBenchmarkFlags flags = check (any (`elem` flags) test_and_benchmark_ghc_options)++ checkNonTestAndBenchmarkFlags :: [String] -> PackageCheck -> Maybe PackageCheck+ checkNonTestAndBenchmarkFlags flags = check (any (`elem` flags) non_test_and_benchmark_ghc_options)+ ghcExtension ('-':'f':name) = case name of "allow-overlapping-instances" -> enable OverlappingInstances "no-allow-overlapping-instances" -> disable OverlappingInstances@@ -1023,7 +1063,10 @@ ++ [ (path, "data-dir") | path <- [dataDir pkg]] ++ [ (path, "license-file") | path <- licenseFiles pkg ] ++ concat- [ [ (path, "c-sources") | path <- cSources bi ]+ [ [ (path, "asm-sources") | path <- asmSources bi ]+ ++ [ (path, "cmm-sources") | path <- cmmSources bi ]+ ++ [ (path, "c-sources") | path <- cSources bi ]+ ++ [ (path, "cxx-sources") | path <- cxxSources bi ] ++ [ (path, "js-sources") | path <- jsSources bi ] ++ [ (path, "install-includes") | path <- installIncludes bi ] ++ [ (path, "hs-source-dirs") | path <- hsSourceDirs bi ]@@ -1072,6 +1115,13 @@ ++ "range syntax rather than a simple version number. Use " ++ "'cabal-version: >= " ++ display (specVersion pkg) ++ "'." + , check (specVersion pkg >= mkVersion [1,12]+ && not simpleSpecVersionSyntax) $+ (if specVersion pkg >= mkVersion [2,0] then PackageDistSuspicious else PackageDistSuspiciousWarn) $+ "Packages relying on Cabal 1.12 or later should specify a "+ ++ "version range of the form 'cabal-version: x.y'. Use "+ ++ "'cabal-version: " ++ display (specVersion pkg) ++ "'."+ -- check use of test suite sections , checkVersion [1,8] (not (null $ testSuites pkg)) $ PackageDistInexcusable $@@ -1103,31 +1153,31 @@ "To use the 'extra-doc-files' field the package needs to specify " ++ "at least 'cabal-version: >= 1.18'." - , checkVersion [1,23]+ , checkVersion [2,0] (not (null (subLibraries pkg))) $ PackageDistInexcusable $ "To use multiple 'library' sections or a named library section "- ++ "the package needs to specify at least 'cabal-version >= 1.23'."+ ++ "the package needs to specify at least 'cabal-version: 2.0'." -- check use of reexported-modules sections , checkVersion [1,21] (any (not.null.reexportedModules) (allLibraries pkg)) $ PackageDistInexcusable $ "To use the 'reexported-module' field the package needs to specify "- ++ "at least 'cabal-version: >= 1.21'."+ ++ "at least 'cabal-version: >= 1.22'." -- check use of thinning and renaming , checkVersion [1,25] usesBackpackIncludes $ PackageDistInexcusable $ "To use the 'mixins' field the package needs to specify "- ++ "at least 'cabal-version: >= 1.25'."+ ++ "at least 'cabal-version: 2.0'." -- check use of 'extra-framework-dirs' field , checkVersion [1,23] (any (not . null) (buildInfoField extraFrameworkDirs)) $ -- Just a warning, because this won't break on old Cabal versions. PackageDistSuspiciousWarn $ "To use the 'extra-framework-dirs' field the package needs to specify"- ++ " at least 'cabal-version: >= 1.23'."+ ++ " at least 'cabal-version: >= 1.24'." -- check use of default-extensions field -- don't need to do the equivalent check for other-extensions@@ -1175,11 +1225,28 @@ ++ "'build-depends' field: " ++ commaSep (map display depsUsingMajorBoundSyntax) ++ ". To use this new syntax the package need to specify at least "- ++ "'cabal-version: >= 2.0'. Alternatively, if broader compatibility "+ ++ "'cabal-version: 2.0'. Alternatively, if broader compatibility " ++ "is important then use: " ++ commaSep [ display (Dependency name (eliminateMajorBoundSyntax versionRange)) | Dependency name versionRange <- depsUsingMajorBoundSyntax ] + , checkVersion [2,1] (any (not . null)+ (concatMap buildInfoField+ [ asmSources+ , cmmSources+ , extraBundledLibs+ , extraLibFlavours ])) $+ PackageDistInexcusable $+ "The use of 'asm-sources', 'cmm-sources', 'extra-bundled-libraries' "+ ++ " and 'extra-library-flavours' requires the package "+ ++ " to specify at least 'cabal-version: >= 2.1'."++ , checkVersion [2,1] (any (not . null)+ (buildInfoField virtualModules)) $+ PackageDistInexcusable $+ "The use of 'virtual-modules' requires the package "+ ++ " to specify at least 'cabal-version: >= 2.1'."+ -- check use of "tested-with: GHC (>= 1.0 && < 1.4) || >=1.8 " syntax , checkVersion [1,8] (not (null testedWithVersionRangeExpressions)) $ PackageDistInexcusable $@@ -1226,14 +1293,6 @@ ++ "Unfortunately it messes up the parser in earlier Cabal versions " ++ "so you need to specify 'cabal-version: >= 1.6'." - -- check for new licenses- , checkVersion [1,4] (license pkg `notElem` compatLicenses) $- PackageDistInexcusable $- "Unfortunately the license " ++ quote (display (license pkg))- ++ " messes up the parser in earlier Cabal versions so you need to "- ++ "specify 'cabal-version: >= 1.4'. Alternatively if you require "- ++ "compatibility with earlier Cabal versions then use 'OtherLicense'."- -- check for new language extensions , checkVersion [1,2,3] (not (null mentionedExtensionsThatNeedCabal12)) $ PackageDistInexcusable $@@ -1255,9 +1314,9 @@ , check (specVersion pkg >= mkVersion [1,23] && isNothing (setupBuildInfo pkg)- && buildType pkg == Just Custom) $+ && buildType pkg == Custom) $ PackageBuildWarning $- "Packages using 'cabal-version: >= 1.23' with 'build-type: Custom' "+ "Packages using 'cabal-version: >= 1.24' with 'build-type: Custom' " ++ "must use a 'custom-setup' section with a 'setup-depends' field " ++ "that specifies the dependencies of the Setup.hs script itself. " ++ "The 'setup-depends' field uses the same syntax as 'build-depends', "@@ -1265,10 +1324,10 @@ , check (specVersion pkg < mkVersion [1,23] && isNothing (setupBuildInfo pkg)- && buildType pkg == Just Custom) $+ && buildType pkg == Custom) $ PackageDistSuspiciousWarn $- "From version 1.23 cabal supports specifiying explicit dependencies "- ++ "for Custom setup scripts. Consider using cabal-version >= 1.23 and "+ "From version 1.24 cabal supports specifiying explicit dependencies "+ ++ "for Custom setup scripts. Consider using cabal-version >= 1.24 and " ++ "adding a 'custom-setup' section with a 'setup-depends' field " ++ "that specifies the dependencies of the Setup.hs script itself. " ++ "The 'setup-depends' field uses the same syntax as 'build-depends', "@@ -1278,7 +1337,7 @@ && elem (autogenPathsModuleName pkg) allModuleNames && not (elem (autogenPathsModuleName pkg) allModuleNamesAutogen) ) $ PackageDistInexcusable $- "Packages using 'cabal-version: >= 1.25' and the autogenerated "+ "Packages using 'cabal-version: 2.0' and the autogenerated " ++ "module Paths_* must include it also on the 'autogen-modules' field " ++ "besides 'exposed-modules' and 'other-modules'. This specifies that " ++ "the module does not come with the package and is generated on "@@ -1313,41 +1372,30 @@ , usesNewVersionRangeSyntax vr ] simpleSpecVersionRangeSyntax =- either (const True)- (foldVersionRange'- True- (\_ -> False)- (\_ -> False) (\_ -> False)- (\_ -> True) -- >=- (\_ -> False)- (\_ _ -> False)- (\_ _ -> False)- (\_ _ -> False) (\_ _ -> False)- id)- (specVersionRaw pkg)+ either (const True) (cataVersionRange alg) (specVersionRaw pkg)+ where+ alg (OrLaterVersionF _) = True+ alg _ = False -- is the cabal-version field a simple version number, rather than a range simpleSpecVersionSyntax = either (const True) (const False) (specVersionRaw pkg) usesNewVersionRangeSyntax :: VersionRange -> Bool- usesNewVersionRangeSyntax =- (> 2) -- uses the new syntax if depth is more than 2- . foldVersionRange'- (1 :: Int)- (const 1)- (const 1) (const 1)- (const 1) (const 1)- (const (const 1))- (const (const 1))- (+) (+)- (const 3) -- uses new ()'s syntax+ usesNewVersionRangeSyntax+ = (> 2) -- uses the new syntax if depth is more than 2+ . cataVersionRange alg+ where+ alg (UnionVersionRangesF a b) = a + b+ alg (IntersectVersionRangesF a b) = a + b+ alg (VersionRangeParensF _) = 3+ alg _ = 1 :: Int depsUsingWildcardSyntax = [ dep | dep@(Dependency _ vr) <- buildDepends pkg , usesWildcardSyntax vr ] depsUsingMajorBoundSyntax = [ dep | dep@(Dependency _ vr) <- buildDepends pkg- , usesMajorBoundSyntax vr ]+ , usesMajorBoundSyntax vr ] usesBackpackIncludes = any (not . null . mixins) (allBuildInfo pkg) @@ -1357,49 +1405,38 @@ , usesWildcardSyntax vr ] usesWildcardSyntax :: VersionRange -> Bool- usesWildcardSyntax =- foldVersionRange'- False (const False)- (const False) (const False)- (const False) (const False)- (\_ _ -> True) -- the wildcard case- (\_ _ -> False)- (||) (||) id+ usesWildcardSyntax = cataVersionRange alg+ where+ alg (WildcardVersionF _) = True+ alg (UnionVersionRangesF a b) = a || b+ alg (IntersectVersionRangesF a b) = a || b+ alg (VersionRangeParensF a) = a+ alg _ = False -- NB: this eliminates both, WildcardVersion and MajorBoundVersion -- because when WildcardVersion is not support, neither is MajorBoundVersion- eliminateWildcardSyntax =- foldVersionRange'- anyVersion thisVersion- laterVersion earlierVersion- orLaterVersion orEarlierVersion- (\v v' -> intersectVersionRanges (orLaterVersion v) (earlierVersion v'))- (\v v' -> intersectVersionRanges (orLaterVersion v) (earlierVersion v'))- intersectVersionRanges unionVersionRanges id+ eliminateWildcardSyntax = hyloVersionRange embed projectVersionRange+ where+ embed (WildcardVersionF v) = intersectVersionRanges+ (orLaterVersion v) (earlierVersion (wildcardUpperBound v))+ embed (MajorBoundVersionF v) = intersectVersionRanges+ (orLaterVersion v) (earlierVersion (majorUpperBound v))+ embed vr = embedVersionRange vr usesMajorBoundSyntax :: VersionRange -> Bool- usesMajorBoundSyntax =- foldVersionRange'- False (const False)- (const False) (const False)- (const False) (const False)- (\_ _ -> False)- (\_ _ -> True) -- MajorBoundVersion- (||) (||) id-- eliminateMajorBoundSyntax =- foldVersionRange'- anyVersion thisVersion- laterVersion earlierVersion- orLaterVersion orEarlierVersion- (\v _ -> withinVersion v)- (\v v' -> intersectVersionRanges (orLaterVersion v) (earlierVersion v'))- intersectVersionRanges unionVersionRanges id-+ usesMajorBoundSyntax = cataVersionRange alg+ where+ alg (MajorBoundVersionF _) = True+ alg (UnionVersionRangesF a b) = a || b+ alg (IntersectVersionRangesF a b) = a || b+ alg (VersionRangeParensF a) = a+ alg _ = False - compatLicenses = [ GPL Nothing, LGPL Nothing, AGPL Nothing, BSD3, BSD4- , PublicDomain, AllRightsReserved- , UnspecifiedLicense, OtherLicense ]+ eliminateMajorBoundSyntax = hyloVersionRange embed projectVersionRange+ where+ embed (MajorBoundVersionF v) = intersectVersionRanges+ (orLaterVersion v) (earlierVersion (majorUpperBound v))+ embed vr = embedVersionRange vr mentionedExtensions = [ ext | bi <- allBuildInfo pkg , ext <- allExtensions bi ]@@ -1451,41 +1488,9 @@ allModuleNamesAutogen = concatMap autogenModules (allBuildInfo pkg) --- | A variation on the normal 'Text' instance, shows any ()'s in the original--- textual syntax. We need to show these otherwise it's confusing to users when--- we complain of their presence but do not pretty print them!----displayRawVersionRange :: VersionRange -> String-displayRawVersionRange =- Disp.render- . fst- . foldVersionRange' -- precedence:- -- All the same as the usual pretty printer, except for the parens- ( Disp.text "-any" , 0 :: Int)- (\v -> (Disp.text "==" <<>> disp v , 0))- (\v -> (Disp.char '>' <<>> disp v , 0))- (\v -> (Disp.char '<' <<>> disp v , 0))- (\v -> (Disp.text ">=" <<>> disp v , 0))- (\v -> (Disp.text "<=" <<>> disp v , 0))- (\v _ -> (Disp.text "==" <<>> dispWild v , 0))- (\v _ -> (Disp.text "^>=" <<>> disp v , 0))- (\(r1, p1) (r2, p2) ->- (punct 2 p1 r1 <+> Disp.text "||" <+> punct 2 p2 r2 , 2))- (\(r1, p1) (r2, p2) ->- (punct 1 p1 r1 <+> Disp.text "&&" <+> punct 1 p2 r2 , 1))- (\(r, _ ) -> (Disp.parens r, 0)) -- parens-- where- dispWild v =- Disp.hcat (Disp.punctuate (Disp.char '.')- (map Disp.int $ versionNumbers v))- <<>> Disp.text ".*"- punct p p' | p < p' = Disp.parens- | otherwise = id- displayRawDependency :: Dependency -> String displayRawDependency (Dependency pkg vr) =- display pkg ++ " " ++ displayRawVersionRange vr+ display pkg ++ " " ++ display vr -- ------------------------------------------------------------@@ -1525,7 +1530,7 @@ -- open upper bound. To get a typical configuration we finalise -- using no package index and the current platform. finalised = finalizePD- [] defaultComponentRequestedSpec (const True)+ mempty defaultComponentRequestedSpec (const True) buildPlatform (unknownCompilerInfo (CompilerId buildCompilerFlavor nullVersion)@@ -1577,6 +1582,7 @@ unknownImpls = [ impl | Impl (OtherCompiler impl) _ <- conditions ] conditions = concatMap fvs (maybeToList (condLibrary pkg)) ++ concatMap (fvs . snd) (condSubLibraries pkg)+ ++ concatMap (fvs . snd) (condForeignLibs pkg) ++ concatMap (fvs . snd) (condExecutables pkg) ++ concatMap (fvs . snd) (condTestSuites pkg) ++ concatMap (fvs . snd) (condBenchmarks pkg)@@ -1622,24 +1628,66 @@ s = commaSep . map unFlagName . Set.toList declared :: Set.Set FlagName- declared = Set.fromList $ map flagName $ genPackageFlags gpd+ declared = toSetOf (L.genPackageFlags . traverse . L.flagName) gpd used :: Set.Set FlagName- used = Set.fromList $ ($[]) $ appEndo $ getConst $- (traverse . traverseCondTreeV) tellFlag (condLibrary gpd) *>- (traverse . _2 . traverseCondTreeV) tellFlag (condSubLibraries gpd) *>- (traverse . _2 . traverseCondTreeV) tellFlag (condForeignLibs gpd) *>- (traverse . _2 . traverseCondTreeV) tellFlag (condExecutables gpd) *>- (traverse . _2 . traverseCondTreeV) tellFlag (condTestSuites gpd) *>- (traverse . _2 . traverseCondTreeV) tellFlag (condBenchmarks gpd)+ used = mconcat+ [ toSetOf (L.condLibrary . traverse . traverseCondTreeV . L._Flag) gpd+ , toSetOf (L.condSubLibraries . traverse . _2 . traverseCondTreeV . L._Flag) gpd+ , toSetOf (L.condForeignLibs . traverse . _2 . traverseCondTreeV . L._Flag) gpd+ , toSetOf (L.condExecutables . traverse . _2 . traverseCondTreeV . L._Flag) gpd+ , toSetOf (L.condTestSuites . traverse . _2 . traverseCondTreeV . L._Flag) gpd+ , toSetOf (L.condBenchmarks . traverse . _2 . traverseCondTreeV . L._Flag) gpd+ ] - _2 :: Functor f => (a -> f b) -> (c, a) -> f (c, b)- _2 f (c, a) = (,) c <$> f a+checkUnicodeXFields :: GenericPackageDescription -> [PackageCheck]+checkUnicodeXFields gpd+ | null nonAsciiXFields = []+ | otherwise = [ PackageDistInexcusable+ $ "Non ascii custom fields: " ++ unwords nonAsciiXFields ++ ". "+ ++ "For better compatibility, custom field names "+ ++ "shouldn't contain non-ascii characters."+ ]+ where+ nonAsciiXFields :: [String]+ nonAsciiXFields = [ n | (n, _) <- xfields, any (not . isAscii) n ] - tellFlag :: ConfVar -> Const (Endo [FlagName]) ConfVar- tellFlag (Flag fn) = Const (Endo (fn :))- tellFlag _ = Const mempty+ xfields :: [(String,String)]+ xfields = DList.runDList $ mconcat+ [ toDListOf (L.packageDescription . L.customFieldsPD . traverse) gpd+ , toDListOf (L.buildInfos . L.customFieldsBI . traverse) gpd+ ] +-- | cabal-version <2.2 + Paths_module + default-extensions: doesn't build.+checkPathsModuleExtensions :: PackageDescription -> [PackageCheck]+checkPathsModuleExtensions pd+ | specVersion pd >= mkVersion [2,1] = []+ | any checkBI (allBuildInfo pd) || any checkLib (allLibraries pd)+ = return $ PackageBuildImpossible $ unwords+ [ "The package uses RebindableSyntax with OverloadedStrings or OverloadedLists"+ , "in default-extensions, and also Paths_ autogen module."+ , "That configuration is known to cause compile failures with Cabal < 2.2."+ , "To use these default-extensions with Paths_ autogen module"+ , "specify at least 'cabal-version: 2.2'."+ ]+ | otherwise = []+ where+ mn = autogenPathsModuleName pd++ checkLib :: Library -> Bool+ checkLib l = mn `elem` exposedModules l && checkExts (l ^. L.defaultExtensions)++ checkBI :: BuildInfo -> Bool+ checkBI bi =+ (mn `elem` otherModules bi || mn `elem` autogenModules bi) &&+ checkExts (bi ^. L.defaultExtensions)++ checkExts exts = rebind `elem` exts && (strings `elem` exts || lists `elem` exts)+ where+ rebind = EnableExtension RebindableSyntax+ strings = EnableExtension OverloadedStrings+ lists = EnableExtension OverloadedLists+ checkDevelopmentOnlyFlagsBuildInfo :: BuildInfo -> [PackageCheck] checkDevelopmentOnlyFlagsBuildInfo bi = catMaybes [@@ -1782,8 +1830,7 @@ doesFileExist = System.doesFileExist . relative, doesDirectoryExist = System.doesDirectoryExist . relative, getDirectoryContents = System.Directory.getDirectoryContents . relative,- getFileContents = \f -> openBinaryFile (relative f) ReadMode- >>= hGetContents+ getFileContents = BS.readFile } relative path = root </> path @@ -1794,7 +1841,7 @@ doesFileExist :: FilePath -> m Bool, doesDirectoryExist :: FilePath -> m Bool, getDirectoryContents :: FilePath -> m [FilePath],- getFileContents :: FilePath -> m String+ getFileContents :: FilePath -> m BS.ByteString } -- | Sanity check things that requires looking at files in the package.@@ -1809,6 +1856,7 @@ -> m [PackageCheck] checkPackageContent ops pkg = do cabalBomError <- checkCabalFileBOM ops+ cabalNameError <- checkCabalFileName ops pkg licenseErrors <- checkLicensesExist ops pkg setupError <- checkSetupExists ops pkg configureError <- checkConfigureExists ops pkg@@ -1816,7 +1864,7 @@ vcsLocation <- checkMissingVcsInfo ops pkg return $ licenseErrors- ++ catMaybes [cabalBomError, setupError, configureError]+ ++ catMaybes [cabalBomError, cabalNameError, setupError, configureError] ++ localPathErrors ++ vcsLocation @@ -1832,12 +1880,37 @@ -- --cabal-file is specified. So if you can't find the file, -- just don't bother with this check. Left _ -> return $ Nothing- Right pdfile -> (flip check pc . startsWithBOM . fromUTF8)+ Right pdfile -> (flip check pc . BS.isPrefixOf bomUtf8) `liftM` (getFileContents ops pdfile) where pc = PackageDistInexcusable $ pdfile ++ " starts with an Unicode byte order mark (BOM)." ++ " This may cause problems with older cabal versions." + where+ bomUtf8 :: BS.ByteString+ bomUtf8 = BS.pack [0xef,0xbb,0xbf] -- U+FEFF encoded as UTF8++checkCabalFileName :: Monad m => CheckPackageContentOps m+ -> PackageDescription+ -> m (Maybe PackageCheck)+checkCabalFileName ops pkg = do+ -- findPackageDesc already takes care to detect missing/multiple+ -- .cabal files; we don't include this check in 'findPackageDesc' in+ -- order not to short-cut other checks which call 'findPackageDesc'+ epdfile <- findPackageDesc ops+ case epdfile of+ -- see "MASSIVE HACK" note in 'checkCabalFileBOM'+ Left _ -> return Nothing+ Right pdfile+ | takeFileName pdfile == expectedCabalname -> return Nothing+ | otherwise -> return $ Just $ PackageDistInexcusable $+ "The filename " ++ pdfile ++ " does not match package name " +++ "(expected: " ++ expectedCabalname ++ ")"+ where+ pkgname = unPackageName . packageName $ pkg+ expectedCabalname = pkgname <.> "cabal"++ -- |Find a package description file in the given directory. Looks for -- @.cabal@ files. Like 'Distribution.Simple.Utils.findPackageDesc', -- but generalized over monads.@@ -1887,7 +1960,7 @@ -> PackageDescription -> m (Maybe PackageCheck) checkSetupExists ops pkg = do- let simpleBuild = buildType pkg == Just Simple+ let simpleBuild = buildType pkg == Simple hsexists <- doesFileExist ops "Setup.hs" lhsexists <- doesFileExist ops "Setup.lhs" return $ check (not simpleBuild && not hsexists && not lhsexists) $@@ -1897,13 +1970,14 @@ checkConfigureExists :: Monad m => CheckPackageContentOps m -> PackageDescription -> m (Maybe PackageCheck)-checkConfigureExists ops PackageDescription { buildType = Just Configure } = do- exists <- doesFileExist ops "configure"- return $ check (not exists) $- PackageBuildWarning $- "The 'build-type' is 'Configure' but there is no 'configure' script. "- ++ "You probably need to run 'autoreconf -i' to generate it."-checkConfigureExists _ _ = return Nothing+checkConfigureExists ops pd+ | buildType pd == Configure = do+ exists <- doesFileExist ops "configure"+ return $ check (not exists) $+ PackageBuildWarning $+ "The 'build-type' is 'Configure' but there is no 'configure' script. "+ ++ "You probably need to run 'autoreconf -i' to generate it."+ | otherwise = return Nothing checkLocalPathsExist :: Monad m => CheckPackageContentOps m -> PackageDescription@@ -1953,6 +2027,7 @@ repoTypeDirname Bazaar = [".bzr"] repoTypeDirname Monotone = ["_MTN"] repoTypeDirname _ = []+ -- ------------------------------------------------------------ -- * Checks involving files in the package
@@ -174,7 +174,7 @@ -- ^ Either the missing dependencies (error case), or a pair of -- (set of build targets with dependencies, chosen flag assignments) resolveWithFlags dom enabled os arch impl constrs trees checkDeps =- either (Left . fromDepMapUnion) Right $ explore (build [] dom)+ either (Left . fromDepMapUnion) Right $ explore (build mempty dom) where extraConstrs = toDepMap constrs @@ -209,7 +209,7 @@ build :: FlagAssignment -> [(FlagName, [Bool])] -> Tree FlagAssignment build assigned [] = Node assigned [] build assigned ((fn, vals) : unassigned) =- Node assigned $ map (\v -> build ((fn, v) : assigned) unassigned) vals+ Node assigned $ map (\v -> build (insertFlagAssignment fn v assigned) unassigned) vals tryAll :: [Either DepMapUnion a] -> Either DepMapUnion a tryAll = foldr mp mz@@ -229,7 +229,7 @@ mz = Left (DepMapUnion Map.empty) env :: FlagAssignment -> FlagName -> Either FlagName Bool- env flags flag = (maybe (Left flag) Right . lookup flag) flags+ env flags flag = (maybe (Left flag) Right . lookupFlagAssignment flag) flags -- | Transforms a 'CondTree' by putting the input under the "then" branch of a -- conditional that is True when Buildable is True. If 'addBuildableCondition'@@ -460,7 +460,7 @@ ++ map (\(name,tree) -> mapTreeData (SubComp name . CBench) tree) bms0 flagChoices = map (\(MkFlag n _ d manual) -> (n, d2c manual n d)) flags- d2c manual n b = case lookup n userflags of+ d2c manual n b = case lookupFlagAssignment n userflags of Just val -> [val] Nothing | manual -> [b]@@ -471,7 +471,7 @@ then DepOk else MissingDeps missingDeps -{-# DEPRECATED finalizePackageDescription "This function now always assumes tests and benchmarks are disabled; use finalizePD with ComponentRequestedSpec to specify something more specific." #-}+{-# DEPRECATED finalizePackageDescription "This function now always assumes tests and benchmarks are disabled; use finalizePD with ComponentRequestedSpec to specify something more specific. This symbol will be removed in Cabal-3.0 (est. Oct 2018)." #-} finalizePackageDescription :: FlagAssignment -- ^ Explicitly specified flag assignments -> (Dependency -> Bool) -- ^ Is a given dependency satisfiable from the set of
@@ -0,0 +1,532 @@+{-# LANGUAGE OverloadedStrings #-}+-- | 'GenericPackageDescription' Field descriptions+module Distribution.PackageDescription.FieldGrammar (+ -- * Package description+ packageDescriptionFieldGrammar,+ -- * Library+ libraryFieldGrammar,+ -- * Foreign library+ foreignLibFieldGrammar,+ -- * Executable+ executableFieldGrammar,+ -- * Test suite+ TestSuiteStanza (..),+ testSuiteFieldGrammar,+ validateTestSuite,+ unvalidateTestSuite,+ -- ** Lenses+ testStanzaTestType,+ testStanzaMainIs,+ testStanzaTestModule,+ testStanzaBuildInfo,+ -- * Benchmark+ BenchmarkStanza (..),+ benchmarkFieldGrammar,+ validateBenchmark,+ unvalidateBenchmark,+ -- ** Lenses+ benchmarkStanzaBenchmarkType,+ benchmarkStanzaMainIs,+ benchmarkStanzaBenchmarkModule,+ benchmarkStanzaBuildInfo,+ -- * Flag+ flagFieldGrammar,+ -- * Source repository+ sourceRepoFieldGrammar,+ -- * Setup build info+ setupBInfoFieldGrammar,+ -- * Component build info+ buildInfoFieldGrammar,+ ) where++import Distribution.Compat.Lens+import Distribution.Compat.Prelude+import Prelude ()++import Distribution.Compiler (CompilerFlavor (..))+import Distribution.FieldGrammar+import Distribution.ModuleName (ModuleName)+import Distribution.Package+import Distribution.PackageDescription+import Distribution.Parsec.Common+import Distribution.Parsec.Newtypes+import Distribution.Parsec.ParseResult+import Distribution.Text (display)+import Distribution.Types.ExecutableScope+import Distribution.Types.ForeignLib+import Distribution.Types.ForeignLibType+import Distribution.Types.UnqualComponentName+import Distribution.Version (anyVersion)++import qualified Distribution.SPDX as SPDX++import qualified Distribution.Types.Lens as L++-------------------------------------------------------------------------------+-- PackageDescription+-------------------------------------------------------------------------------++packageDescriptionFieldGrammar+ :: (FieldGrammar g, Applicative (g PackageDescription), Applicative (g PackageIdentifier))+ => g PackageDescription PackageDescription+packageDescriptionFieldGrammar = PackageDescription+ <$> optionalFieldDefAla "cabal-version" SpecVersion L.specVersionRaw (Right anyVersion)+ <*> blurFieldGrammar L.package packageIdentifierGrammar+ <*> optionalFieldDefAla "license" SpecLicense L.licenseRaw (Left SPDX.NONE)+ <*> licenseFilesGrammar+ <*> optionalFieldDefAla "copyright" FreeText L.copyright ""+ <*> optionalFieldDefAla "maintainer" FreeText L.maintainer ""+ <*> optionalFieldDefAla "author" FreeText L.author ""+ <*> optionalFieldDefAla "stability" FreeText L.stability ""+ <*> monoidalFieldAla "tested-with" (alaList' FSep TestedWith) L.testedWith+ <*> optionalFieldDefAla "homepage" FreeText L.homepage ""+ <*> optionalFieldDefAla "package-url" FreeText L.pkgUrl ""+ <*> optionalFieldDefAla "bug-reports" FreeText L.bugReports ""+ <*> pure [] -- source-repos are stanza+ <*> optionalFieldDefAla "synopsis" FreeText L.synopsis ""+ <*> optionalFieldDefAla "description" FreeText L.description ""+ <*> optionalFieldDefAla "category" FreeText L.category ""+ <*> prefixedFields "x-" L.customFieldsPD+ <*> pure [] -- build-depends+ <*> optionalField "build-type" L.buildTypeRaw+ <*> pure Nothing -- custom-setup+ -- components+ <*> pure Nothing -- lib+ <*> pure [] -- sub libs+ <*> pure [] -- executables+ <*> pure [] -- foreign libs+ <*> pure [] -- test suites+ <*> pure [] -- benchmarks+ -- * Files+ <*> monoidalFieldAla "data-files" (alaList' VCat FilePathNT) L.dataFiles+ <*> optionalFieldDefAla "data-dir" FilePathNT L.dataDir ""+ <*> monoidalFieldAla "extra-source-files" (alaList' VCat FilePathNT) L.extraSrcFiles+ <*> monoidalFieldAla "extra-tmp-files" (alaList' VCat FilePathNT) L.extraTmpFiles+ <*> monoidalFieldAla "extra-doc-files" (alaList' VCat FilePathNT) L.extraDocFiles+ where+ packageIdentifierGrammar = PackageIdentifier+ <$> uniqueField "name" L.pkgName+ <*> uniqueField "version" L.pkgVersion++ licenseFilesGrammar = (++)+ -- TODO: neither field is deprecated+ -- should we pretty print license-file if there's single license file+ -- and license-files when more+ <$> monoidalFieldAla "license-file" (alaList' FSep FilePathNT) L.licenseFiles+ <*> monoidalFieldAla "license-files" (alaList' FSep FilePathNT) L.licenseFiles+ ^^^ hiddenField++-------------------------------------------------------------------------------+-- Library+-------------------------------------------------------------------------------++libraryFieldGrammar+ :: (FieldGrammar g, Applicative (g Library), Applicative (g BuildInfo))+ => Maybe UnqualComponentName -> g Library Library+libraryFieldGrammar n = Library n+ <$> monoidalFieldAla "exposed-modules" (alaList' VCat MQuoted) L.exposedModules+ <*> monoidalFieldAla "reexported-modules" (alaList CommaVCat) L.reexportedModules+ <*> monoidalFieldAla "signatures" (alaList' VCat MQuoted) L.signatures+ ^^^ availableSince [2,0] []+ <*> booleanFieldDef "exposed" L.libExposed True+ <*> blurFieldGrammar L.libBuildInfo buildInfoFieldGrammar+{-# SPECIALIZE libraryFieldGrammar :: Maybe UnqualComponentName -> ParsecFieldGrammar' Library #-}+{-# SPECIALIZE libraryFieldGrammar :: Maybe UnqualComponentName -> PrettyFieldGrammar' Library #-}++-------------------------------------------------------------------------------+-- Foreign library+-------------------------------------------------------------------------------++foreignLibFieldGrammar+ :: (FieldGrammar g, Applicative (g ForeignLib), Applicative (g BuildInfo))+ => UnqualComponentName -> g ForeignLib ForeignLib+foreignLibFieldGrammar n = ForeignLib n+ <$> optionalFieldDef "type" L.foreignLibType ForeignLibTypeUnknown+ <*> monoidalFieldAla "options" (alaList FSep) L.foreignLibOptions+ <*> blurFieldGrammar L.foreignLibBuildInfo buildInfoFieldGrammar+ <*> optionalField "lib-version-info" L.foreignLibVersionInfo+ <*> optionalField "lib-version-linux" L.foreignLibVersionLinux+ <*> monoidalFieldAla "mod-def-file" (alaList' FSep FilePathNT) L.foreignLibModDefFile+{-# SPECIALIZE foreignLibFieldGrammar :: UnqualComponentName -> ParsecFieldGrammar' ForeignLib #-}+{-# SPECIALIZE foreignLibFieldGrammar :: UnqualComponentName -> PrettyFieldGrammar' ForeignLib #-}++-------------------------------------------------------------------------------+-- Executable+-------------------------------------------------------------------------------++executableFieldGrammar+ :: (FieldGrammar g, Applicative (g Executable), Applicative (g BuildInfo))+ => UnqualComponentName -> g Executable Executable+executableFieldGrammar n = Executable n+ -- main-is is optional as conditional blocks don't have it+ <$> optionalFieldDefAla "main-is" FilePathNT L.modulePath ""+ <*> optionalFieldDef "scope" L.exeScope ExecutablePublic+ ^^^ availableSince [2,0] ExecutablePublic+ <*> blurFieldGrammar L.buildInfo buildInfoFieldGrammar+{-# SPECIALIZE executableFieldGrammar :: UnqualComponentName -> ParsecFieldGrammar' Executable #-}+{-# SPECIALIZE executableFieldGrammar :: UnqualComponentName -> PrettyFieldGrammar' Executable #-}++-------------------------------------------------------------------------------+-- TestSuite+-------------------------------------------------------------------------------++-- | An intermediate type just used for parsing the test-suite stanza.+-- After validation it is converted into the proper 'TestSuite' type.+data TestSuiteStanza = TestSuiteStanza+ { _testStanzaTestType :: Maybe TestType+ , _testStanzaMainIs :: Maybe FilePath+ , _testStanzaTestModule :: Maybe ModuleName+ , _testStanzaBuildInfo :: BuildInfo+ }++instance L.HasBuildInfo TestSuiteStanza where+ buildInfo = testStanzaBuildInfo++testStanzaTestType :: Lens' TestSuiteStanza (Maybe TestType)+testStanzaTestType f s = fmap (\x -> s { _testStanzaTestType = x }) (f (_testStanzaTestType s))+{-# INLINE testStanzaTestType #-}++testStanzaMainIs :: Lens' TestSuiteStanza (Maybe FilePath)+testStanzaMainIs f s = fmap (\x -> s { _testStanzaMainIs = x }) (f (_testStanzaMainIs s))+{-# INLINE testStanzaMainIs #-}++testStanzaTestModule :: Lens' TestSuiteStanza (Maybe ModuleName)+testStanzaTestModule f s = fmap (\x -> s { _testStanzaTestModule = x }) (f (_testStanzaTestModule s))+{-# INLINE testStanzaTestModule #-}++testStanzaBuildInfo :: Lens' TestSuiteStanza BuildInfo+testStanzaBuildInfo f s = fmap (\x -> s { _testStanzaBuildInfo = x }) (f (_testStanzaBuildInfo s))+{-# INLINE testStanzaBuildInfo #-}++testSuiteFieldGrammar+ :: (FieldGrammar g, Applicative (g TestSuiteStanza), Applicative (g BuildInfo))+ => g TestSuiteStanza TestSuiteStanza+testSuiteFieldGrammar = TestSuiteStanza+ <$> optionalField "type" testStanzaTestType+ <*> optionalFieldAla "main-is" FilePathNT testStanzaMainIs+ <*> optionalField "test-module" testStanzaTestModule+ <*> blurFieldGrammar testStanzaBuildInfo buildInfoFieldGrammar++validateTestSuite :: Position -> TestSuiteStanza -> ParseResult TestSuite+validateTestSuite pos stanza = case _testStanzaTestType stanza of+ Nothing -> return $+ emptyTestSuite { testBuildInfo = _testStanzaBuildInfo stanza }++ Just tt@(TestTypeUnknown _ _) ->+ pure emptyTestSuite+ { testInterface = TestSuiteUnsupported tt+ , testBuildInfo = _testStanzaBuildInfo stanza+ }++ Just tt | tt `notElem` knownTestTypes ->+ pure emptyTestSuite+ { testInterface = TestSuiteUnsupported tt+ , testBuildInfo = _testStanzaBuildInfo stanza+ }++ Just tt@(TestTypeExe ver) -> case _testStanzaMainIs stanza of+ Nothing -> do+ parseFailure pos (missingField "main-is" tt)+ pure emptyTestSuite+ Just file -> do+ when (isJust (_testStanzaTestModule stanza)) $+ parseWarning pos PWTExtraBenchmarkModule (extraField "test-module" tt)+ pure emptyTestSuite+ { testInterface = TestSuiteExeV10 ver file+ , testBuildInfo = _testStanzaBuildInfo stanza+ }++ Just tt@(TestTypeLib ver) -> case _testStanzaTestModule stanza of+ Nothing -> do+ parseFailure pos (missingField "test-module" tt)+ pure emptyTestSuite+ Just module_ -> do+ when (isJust (_testStanzaMainIs stanza)) $+ parseWarning pos PWTExtraMainIs (extraField "main-is" tt)+ pure emptyTestSuite+ { testInterface = TestSuiteLibV09 ver module_+ , testBuildInfo = _testStanzaBuildInfo stanza+ }++ where+ missingField name tt = "The '" ++ name ++ "' field is required for the "+ ++ display tt ++ " test suite type."++ extraField name tt = "The '" ++ name ++ "' field is not used for the '"+ ++ display tt ++ "' test suite type."++unvalidateTestSuite :: TestSuite -> TestSuiteStanza+unvalidateTestSuite t = TestSuiteStanza+ { _testStanzaTestType = ty+ , _testStanzaMainIs = ma+ , _testStanzaTestModule = mo+ , _testStanzaBuildInfo = testBuildInfo t+ }+ where+ (ty, ma, mo) = case testInterface t of+ TestSuiteExeV10 ver file -> (Just $ TestTypeExe ver, Just file, Nothing)+ TestSuiteLibV09 ver modu -> (Just $ TestTypeLib ver, Nothing, Just modu)+ _ -> (Nothing, Nothing, Nothing)++-------------------------------------------------------------------------------+-- Benchmark+-------------------------------------------------------------------------------++-- | An intermediate type just used for parsing the benchmark stanza.+-- After validation it is converted into the proper 'Benchmark' type.+data BenchmarkStanza = BenchmarkStanza+ { _benchmarkStanzaBenchmarkType :: Maybe BenchmarkType+ , _benchmarkStanzaMainIs :: Maybe FilePath+ , _benchmarkStanzaBenchmarkModule :: Maybe ModuleName+ , _benchmarkStanzaBuildInfo :: BuildInfo+ }++instance L.HasBuildInfo BenchmarkStanza where+ buildInfo = benchmarkStanzaBuildInfo++benchmarkStanzaBenchmarkType :: Lens' BenchmarkStanza (Maybe BenchmarkType)+benchmarkStanzaBenchmarkType f s = fmap (\x -> s { _benchmarkStanzaBenchmarkType = x }) (f (_benchmarkStanzaBenchmarkType s))+{-# INLINE benchmarkStanzaBenchmarkType #-}++benchmarkStanzaMainIs :: Lens' BenchmarkStanza (Maybe FilePath)+benchmarkStanzaMainIs f s = fmap (\x -> s { _benchmarkStanzaMainIs = x }) (f (_benchmarkStanzaMainIs s))+{-# INLINE benchmarkStanzaMainIs #-}++benchmarkStanzaBenchmarkModule :: Lens' BenchmarkStanza (Maybe ModuleName)+benchmarkStanzaBenchmarkModule f s = fmap (\x -> s { _benchmarkStanzaBenchmarkModule = x }) (f (_benchmarkStanzaBenchmarkModule s))+{-# INLINE benchmarkStanzaBenchmarkModule #-}++benchmarkStanzaBuildInfo :: Lens' BenchmarkStanza BuildInfo+benchmarkStanzaBuildInfo f s = fmap (\x -> s { _benchmarkStanzaBuildInfo = x }) (f (_benchmarkStanzaBuildInfo s))+{-# INLINE benchmarkStanzaBuildInfo #-}++benchmarkFieldGrammar+ :: (FieldGrammar g, Applicative (g BenchmarkStanza), Applicative (g BuildInfo))+ => g BenchmarkStanza BenchmarkStanza+benchmarkFieldGrammar = BenchmarkStanza+ <$> optionalField "type" benchmarkStanzaBenchmarkType+ <*> optionalFieldAla "main-is" FilePathNT benchmarkStanzaMainIs+ <*> optionalField "benchmark-module" benchmarkStanzaBenchmarkModule+ <*> blurFieldGrammar benchmarkStanzaBuildInfo buildInfoFieldGrammar++validateBenchmark :: Position -> BenchmarkStanza -> ParseResult Benchmark+validateBenchmark pos stanza = case _benchmarkStanzaBenchmarkType stanza of+ Nothing -> pure emptyBenchmark+ { benchmarkBuildInfo = _benchmarkStanzaBuildInfo stanza }++ Just tt@(BenchmarkTypeUnknown _ _) -> pure emptyBenchmark+ { benchmarkInterface = BenchmarkUnsupported tt+ , benchmarkBuildInfo = _benchmarkStanzaBuildInfo stanza+ }++ Just tt | tt `notElem` knownBenchmarkTypes -> pure emptyBenchmark+ { benchmarkInterface = BenchmarkUnsupported tt+ , benchmarkBuildInfo = _benchmarkStanzaBuildInfo stanza+ }++ Just tt@(BenchmarkTypeExe ver) -> case _benchmarkStanzaMainIs stanza of+ Nothing -> do+ parseFailure pos (missingField "main-is" tt)+ pure emptyBenchmark+ Just file -> do+ when (isJust (_benchmarkStanzaBenchmarkModule stanza)) $+ parseWarning pos PWTExtraBenchmarkModule (extraField "benchmark-module" tt)+ pure emptyBenchmark+ { benchmarkInterface = BenchmarkExeV10 ver file+ , benchmarkBuildInfo = _benchmarkStanzaBuildInfo stanza+ }++ where+ missingField name tt = "The '" ++ name ++ "' field is required for the "+ ++ display tt ++ " benchmark type."++ extraField name tt = "The '" ++ name ++ "' field is not used for the '"+ ++ display tt ++ "' benchmark type."++unvalidateBenchmark :: Benchmark -> BenchmarkStanza+unvalidateBenchmark b = BenchmarkStanza+ { _benchmarkStanzaBenchmarkType = ty+ , _benchmarkStanzaMainIs = ma+ , _benchmarkStanzaBenchmarkModule = mo+ , _benchmarkStanzaBuildInfo = benchmarkBuildInfo b+ }+ where+ (ty, ma, mo) = case benchmarkInterface b of+ BenchmarkExeV10 ver "" -> (Just $ BenchmarkTypeExe ver, Nothing, Nothing)+ BenchmarkExeV10 ver ma' -> (Just $ BenchmarkTypeExe ver, Just ma', Nothing)+ _ -> (Nothing, Nothing, Nothing)++-------------------------------------------------------------------------------+-- Build info+-------------------------------------------------------------------------------++buildInfoFieldGrammar+ :: (FieldGrammar g, Applicative (g BuildInfo))+ => g BuildInfo BuildInfo+buildInfoFieldGrammar = BuildInfo+ <$> booleanFieldDef "buildable" L.buildable True+ <*> monoidalFieldAla "build-tools" (alaList CommaFSep) L.buildTools+ ^^^ deprecatedSince [2,0] "Please use 'build-tool-depends' field"+ <*> monoidalFieldAla "build-tool-depends" (alaList CommaFSep) L.buildToolDepends+ -- {- ^^^ availableSince [2,0] [] -}+ -- here, we explicitly want to recognise build-tool-depends for all Cabal files+ -- as otherwise cabal new-build cannot really work.+ --+ -- I.e. we don't want trigger unknown field warning+ <*> monoidalFieldAla "cpp-options" (alaList' NoCommaFSep Token') L.cppOptions+ <*> monoidalFieldAla "asm-options" (alaList' NoCommaFSep Token') L.asmOptions+ <*> monoidalFieldAla "cmm-options" (alaList' NoCommaFSep Token') L.cmmOptions+ <*> monoidalFieldAla "cc-options" (alaList' NoCommaFSep Token') L.ccOptions+ <*> monoidalFieldAla "cxx-options" (alaList' NoCommaFSep Token') L.cxxOptions+ ^^^ availableSince [2,1] [] -- TODO change to 2,2 when version is bumped+ <*> monoidalFieldAla "ld-options" (alaList' NoCommaFSep Token') L.ldOptions+ <*> monoidalFieldAla "pkgconfig-depends" (alaList CommaFSep) L.pkgconfigDepends+ <*> monoidalFieldAla "frameworks" (alaList' FSep Token) L.frameworks+ <*> monoidalFieldAla "extra-framework-dirs" (alaList' FSep FilePathNT) L.extraFrameworkDirs+ <*> monoidalFieldAla "asm-sources" (alaList' VCat FilePathNT) L.asmSources+ <*> monoidalFieldAla "cmm-sources" (alaList' VCat FilePathNT) L.cmmSources+ <*> monoidalFieldAla "c-sources" (alaList' VCat FilePathNT) L.cSources+ <*> monoidalFieldAla "cxx-sources" (alaList' VCat FilePathNT) L.cxxSources+ ^^^ availableSince [2,1] [] -- TODO change to 2,2 when version is bumped+ <*> monoidalFieldAla "js-sources" (alaList' VCat FilePathNT) L.jsSources+ <*> hsSourceDirsGrammar+ <*> monoidalFieldAla "other-modules" (alaList' VCat MQuoted) L.otherModules+ <*> monoidalFieldAla "virtual-modules" (alaList' VCat MQuoted) L.virtualModules+ ^^^ availableSince [2,1] [] -- TODO change to 2,2 when version is bumped+ <*> monoidalFieldAla "autogen-modules" (alaList' VCat MQuoted) L.autogenModules+ <*> optionalFieldAla "default-language" MQuoted L.defaultLanguage+ <*> monoidalFieldAla "other-languages" (alaList' FSep MQuoted) L.otherLanguages+ <*> monoidalFieldAla "default-extensions" (alaList' FSep MQuoted) L.defaultExtensions+ <*> monoidalFieldAla "other-extensions" (alaList' FSep MQuoted) L.otherExtensions+ <*> monoidalFieldAla "extensions" (alaList' FSep MQuoted) L.oldExtensions+ ^^^ deprecatedSince [1,12] "Please use 'default-extensions' or 'other-extensions' fields."+ <*> monoidalFieldAla "extra-libraries" (alaList' VCat Token) L.extraLibs+ <*> monoidalFieldAla "extra-ghci-libraries" (alaList' VCat Token) L.extraGHCiLibs+ <*> monoidalFieldAla "extra-bundled-libraries" (alaList' VCat Token) L.extraBundledLibs+ <*> monoidalFieldAla "extra-library-flavours" (alaList' VCat Token) L.extraLibFlavours+ <*> monoidalFieldAla "extra-lib-dirs" (alaList' FSep FilePathNT) L.extraLibDirs+ <*> monoidalFieldAla "include-dirs" (alaList' FSep FilePathNT) L.includeDirs+ <*> monoidalFieldAla "includes" (alaList' FSep FilePathNT) L.includes+ <*> monoidalFieldAla "install-includes" (alaList' FSep FilePathNT) L.installIncludes+ <*> optionsFieldGrammar+ <*> profOptionsFieldGrammar+ <*> sharedOptionsFieldGrammar+ <*> pure [] -- static-options ???+ <*> prefixedFields "x-" L.customFieldsBI+ <*> monoidalFieldAla "build-depends" (alaList CommaVCat) L.targetBuildDepends+ <*> monoidalFieldAla "mixins" (alaList CommaVCat) L.mixins+ ^^^ availableSince [2,0] []+{-# SPECIALIZE buildInfoFieldGrammar :: ParsecFieldGrammar' BuildInfo #-}+{-# SPECIALIZE buildInfoFieldGrammar :: PrettyFieldGrammar' BuildInfo #-}++hsSourceDirsGrammar+ :: (FieldGrammar g, Applicative (g BuildInfo))+ => g BuildInfo [FilePath]+hsSourceDirsGrammar = (++)+ <$> monoidalFieldAla "hs-source-dirs" (alaList' FSep FilePathNT) L.hsSourceDirs+ <*> monoidalFieldAla "hs-source-dir" (alaList' FSep FilePathNT) L.hsSourceDirs+ ^^^ deprecatedField' "Please use 'hs-source-dirs'"++optionsFieldGrammar+ :: (FieldGrammar g, Applicative (g BuildInfo))+ => g BuildInfo [(CompilerFlavor, [String])]+optionsFieldGrammar = combine+ <$> monoidalFieldAla "ghc-options" (alaList' NoCommaFSep Token') (extract GHC)+ <*> monoidalFieldAla "ghcjs-options" (alaList' NoCommaFSep Token') (extract GHCJS)+ <*> monoidalFieldAla "jhc-options" (alaList' NoCommaFSep Token') (extract JHC)+ -- NOTE: Hugs and NHC are not supported anymore, but these fields are kept+ -- around for backwards compatibility.+ <* knownField "hugs-options"+ <* knownField "nhc98-options"+ where+ extract :: CompilerFlavor -> ALens' BuildInfo [String]+ extract flavor = L.options . lookupLens flavor++ combine ghc ghcjs jhs =+ f GHC ghc ++ f GHCJS ghcjs ++ f JHC jhs+ where+ f _flavor [] = []+ f flavor opts = [(flavor, opts)]++profOptionsFieldGrammar+ :: (FieldGrammar g, Applicative (g BuildInfo))+ => g BuildInfo [(CompilerFlavor, [String])]+profOptionsFieldGrammar = combine+ <$> monoidalFieldAla "ghc-prof-options" (alaList' NoCommaFSep Token') (extract GHC)+ <*> monoidalFieldAla "ghcjs-prof-options" (alaList' NoCommaFSep Token') (extract GHCJS)+ where+ extract :: CompilerFlavor -> ALens' BuildInfo [String]+ extract flavor = L.profOptions . lookupLens flavor++ combine ghc ghcjs = f GHC ghc ++ f GHCJS ghcjs+ where+ f _flavor [] = []+ f flavor opts = [(flavor, opts)]++sharedOptionsFieldGrammar+ :: (FieldGrammar g, Applicative (g BuildInfo))+ => g BuildInfo [(CompilerFlavor, [String])]+sharedOptionsFieldGrammar = combine+ <$> monoidalFieldAla "ghc-shared-options" (alaList' NoCommaFSep Token') (extract GHC)+ <*> monoidalFieldAla "ghcjs-shared-options" (alaList' NoCommaFSep Token') (extract GHCJS)+ where+ extract :: CompilerFlavor -> ALens' BuildInfo [String]+ extract flavor = L.sharedOptions . lookupLens flavor++ combine ghc ghcjs = f GHC ghc ++ f GHCJS ghcjs+ where+ f _flavor [] = []+ f flavor opts = [(flavor, opts)]++lookupLens :: (Functor f, Ord k) => k -> LensLike' f [(k, [v])] [v]+lookupLens k f kvs = str kvs <$> f (gtr kvs)+ where+ gtr = fromMaybe [] . lookup k++ str [] v = [(k, v)]+ str (x@(k',_):xs) v+ | k == k' = (k, v) : xs+ | otherwise = x : str xs v++-------------------------------------------------------------------------------+-- Flag+-------------------------------------------------------------------------------++flagFieldGrammar+ :: (FieldGrammar g, Applicative (g Flag))+ => FlagName -> g Flag Flag+flagFieldGrammar name = MkFlag name+ <$> optionalFieldDefAla "description" FreeText L.flagDescription ""+ <*> booleanFieldDef "default" L.flagDefault True+ <*> booleanFieldDef "manual" L.flagManual False+{-# SPECIALIZE flagFieldGrammar :: FlagName -> ParsecFieldGrammar' Flag #-}+{-# SPECIALIZE flagFieldGrammar :: FlagName -> PrettyFieldGrammar' Flag #-}++-------------------------------------------------------------------------------+-- SourceRepo+-------------------------------------------------------------------------------++sourceRepoFieldGrammar+ :: (FieldGrammar g, Applicative (g SourceRepo))+ => RepoKind -> g SourceRepo SourceRepo+sourceRepoFieldGrammar kind = SourceRepo kind+ <$> optionalField "type" L.repoType+ <*> optionalFieldAla "location" FreeText L.repoLocation+ <*> optionalFieldAla "module" Token L.repoModule+ <*> optionalFieldAla "branch" Token L.repoBranch+ <*> optionalFieldAla "tag" Token L.repoTag+ <*> optionalFieldAla "subdir" FilePathNT L.repoSubdir+{-# SPECIALIZE sourceRepoFieldGrammar :: RepoKind -> ParsecFieldGrammar' SourceRepo #-}+{-# SPECIALIZE sourceRepoFieldGrammar :: RepoKind ->PrettyFieldGrammar' SourceRepo #-}++-------------------------------------------------------------------------------+-- SetupBuildInfo+-------------------------------------------------------------------------------++setupBInfoFieldGrammar+ :: (FieldGrammar g, Functor (g SetupBuildInfo))+ => Bool -> g SetupBuildInfo SetupBuildInfo+setupBInfoFieldGrammar def = flip SetupBuildInfo def+ <$> monoidalFieldAla "setup-depends" (alaList CommaVCat) L.setupDepends+{-# SPECIALIZE setupBInfoFieldGrammar :: Bool -> ParsecFieldGrammar' SetupBuildInfo #-}+{-# SPECIALIZE setupBInfoFieldGrammar :: Bool ->PrettyFieldGrammar' SetupBuildInfo #-}
@@ -1,1309 +0,0 @@-{-# LANGUAGE CPP #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE FlexibleContexts #-}-{-# LANGUAGE RankNTypes #-}-{-# LANGUAGE ScopedTypeVariables #-}--------------------------------------------------------------------------------- |--- Module : Distribution.PackageDescription.Parse--- Copyright : Isaac Jones 2003-2005--- License : BSD3------ Maintainer : cabal-devel@haskell.org--- Portability : portable------ This defined parsers and partial pretty printers for the @.cabal@ format.--- Some of the complexity in this module is due to the fact that we have to be--- backwards compatible with old @.cabal@ files, so there's code to translate--- into the newer structure.--module Distribution.PackageDescription.Parse (- -- * Package descriptions- readGenericPackageDescription,- parseGenericPackageDescription,-- -- ** Deprecated names- readPackageDescription,- parsePackageDescription,-- -- ** Parsing- ParseResult(..),- FieldDescr(..),- LineNo,-- -- ** Private, but needed for pretty-printer- TestSuiteStanza(..),- BenchmarkStanza(..),-- -- ** Supplementary build information- readHookedBuildInfo,- parseHookedBuildInfo,-- pkgDescrFieldDescrs,- libFieldDescrs,- foreignLibFieldDescrs,- executableFieldDescrs,- binfoFieldDescrs,- sourceRepoFieldDescrs,- testSuiteFieldDescrs,- benchmarkFieldDescrs,- flagFieldDescrs- ) where--import Prelude ()-import Distribution.Compat.Prelude--import Distribution.Types.Dependency-import Distribution.Types.ForeignLib-import Distribution.Types.ForeignLibType-import Distribution.Types.UnqualComponentName-import Distribution.Types.CondTree-import Distribution.Types.PackageId-import Distribution.ParseUtils hiding (parseFields)-import Distribution.PackageDescription-import Distribution.PackageDescription.Utils-import Distribution.Package-import Distribution.ModuleName-import Distribution.Version-import Distribution.Verbosity-import Distribution.Compiler-import Distribution.PackageDescription.Configuration-import Distribution.Simple.Utils-import Distribution.Text-import Distribution.Compat.ReadP hiding (get)--import Data.List (partition, (\\))-import System.Directory (doesFileExist)-import Control.Monad (mapM)--import Text.PrettyPrint- (vcat, ($$), (<+>), text, render,- comma, fsep, nest, ($+$), punctuate)----- -------------------------------------------------------------------------------- The PackageDescription type--pkgDescrFieldDescrs :: [FieldDescr PackageDescription]-pkgDescrFieldDescrs =- [ simpleField "name"- disp parse- packageName (\name pkg -> pkg{package=(package pkg){pkgName=name}})- , simpleField "version"- disp parse- packageVersion (\ver pkg -> pkg{package=(package pkg){pkgVersion=ver}})- , simpleField "cabal-version"- (either disp disp) (liftM Left parse +++ liftM Right parse)- specVersionRaw (\v pkg -> pkg{specVersionRaw=v})- , simpleField "build-type"- (maybe mempty disp) (fmap Just parse)- buildType (\t pkg -> pkg{buildType=t})- , simpleField "license"- disp parseLicenseQ- license (\l pkg -> pkg{license=l})- -- We have both 'license-file' and 'license-files' fields.- -- Rather than declaring license-file to be deprecated, we will continue- -- to allow both. The 'license-file' will continue to only allow single- -- tokens, while 'license-files' allows multiple. On pretty-printing, we- -- will use 'license-file' if there's just one, and use 'license-files'- -- otherwise.- , simpleField "license-file"- showFilePath parseFilePathQ- (\pkg -> case licenseFiles pkg of- [x] -> x- _ -> "")- (\l pkg -> pkg{licenseFiles=licenseFiles pkg ++ [l]})- , listField "license-files"- showFilePath parseFilePathQ- (\pkg -> case licenseFiles pkg of- [_] -> []- xs -> xs)- (\ls pkg -> pkg{licenseFiles=ls})- , simpleField "copyright"- showFreeText parseFreeText- copyright (\val pkg -> pkg{copyright=val})- , simpleField "maintainer"- showFreeText parseFreeText- maintainer (\val pkg -> pkg{maintainer=val})- , simpleField "stability"- showFreeText parseFreeText- stability (\val pkg -> pkg{stability=val})- , simpleField "homepage"- showFreeText parseFreeText- homepage (\val pkg -> pkg{homepage=val})- , simpleField "package-url"- showFreeText parseFreeText- pkgUrl (\val pkg -> pkg{pkgUrl=val})- , simpleField "bug-reports"- showFreeText parseFreeText- bugReports (\val pkg -> pkg{bugReports=val})- , simpleField "synopsis"- showFreeText parseFreeText- synopsis (\val pkg -> pkg{synopsis=val})- , simpleField "description"- showFreeText parseFreeText- description (\val pkg -> pkg{description=val})- , simpleField "category"- showFreeText parseFreeText- category (\val pkg -> pkg{category=val})- , simpleField "author"- showFreeText parseFreeText- author (\val pkg -> pkg{author=val})- , listField "tested-with"- showTestedWith parseTestedWithQ- testedWith (\val pkg -> pkg{testedWith=val})- , listFieldWithSep vcat "data-files"- showFilePath parseFilePathQ- dataFiles (\val pkg -> pkg{dataFiles=val})- , simpleField "data-dir"- showFilePath parseFilePathQ- dataDir (\val pkg -> pkg{dataDir=val})- , listFieldWithSep vcat "extra-source-files"- showFilePath parseFilePathQ- extraSrcFiles (\val pkg -> pkg{extraSrcFiles=val})- , listFieldWithSep vcat "extra-tmp-files"- showFilePath parseFilePathQ- extraTmpFiles (\val pkg -> pkg{extraTmpFiles=val})- , listFieldWithSep vcat "extra-doc-files"- showFilePath parseFilePathQ- extraDocFiles (\val pkg -> pkg{extraDocFiles=val})- ]---- | Store any fields beginning with "x-" in the customFields field of--- a PackageDescription. All other fields will generate a warning.-storeXFieldsPD :: UnrecFieldParser PackageDescription-storeXFieldsPD (f@('x':'-':_),val) pkg =- Just pkg{ customFieldsPD =- customFieldsPD pkg ++ [(f,val)]}-storeXFieldsPD _ _ = Nothing---- ------------------------------------------------------------------------------ The Library type--libFieldDescrs :: [FieldDescr Library]-libFieldDescrs =- [ listFieldWithSep vcat "exposed-modules" disp parseModuleNameQ- exposedModules (\mods lib -> lib{exposedModules=mods})-- , commaListFieldWithSep vcat "reexported-modules" disp parse- reexportedModules (\mods lib -> lib{reexportedModules=mods})-- , listFieldWithSep vcat "signatures" disp parseModuleNameQ- signatures (\mods lib -> lib{signatures=mods})-- , boolField "exposed"- libExposed (\val lib -> lib{libExposed=val})- ] ++ map biToLib binfoFieldDescrs- where biToLib = liftField libBuildInfo (\bi lib -> lib{libBuildInfo=bi})--storeXFieldsLib :: UnrecFieldParser Library-storeXFieldsLib (f@('x':'-':_), val) l@(Library { libBuildInfo = bi }) =- Just $ l {libBuildInfo =- bi{ customFieldsBI = customFieldsBI bi ++ [(f,val)]}}-storeXFieldsLib _ _ = Nothing---- ------------------------------------------------------------------------------ Foreign libraries--foreignLibFieldDescrs :: [FieldDescr ForeignLib]-foreignLibFieldDescrs =- [ simpleField "type"- disp parse- foreignLibType (\x flib -> flib { foreignLibType = x })- , listField "options"- disp parse- foreignLibOptions (\x flib -> flib { foreignLibOptions = x })- , simpleField "lib-version-info"- (maybe mempty disp) (fmap Just parse)- foreignLibVersionInfo (\x flib -> flib { foreignLibVersionInfo = x })- , simpleField "lib-version-linux"- (maybe mempty disp) (fmap Just parse)- foreignLibVersionLinux (\x flib -> flib { foreignLibVersionLinux = x })- , listField "mod-def-file"- showFilePath parseFilePathQ- foreignLibModDefFile (\x flib -> flib { foreignLibModDefFile = x })- ]- ++ map biToFLib binfoFieldDescrs- where biToFLib = liftField foreignLibBuildInfo $ \bi flib ->- flib { foreignLibBuildInfo = bi }--storeXFieldsForeignLib :: UnrecFieldParser ForeignLib-storeXFieldsForeignLib (f@('x':'-':_), val)- l@(ForeignLib { foreignLibBuildInfo = bi }) =- Just $ l { foreignLibBuildInfo = bi {- customFieldsBI = (f,val):customFieldsBI bi- }- }-storeXFieldsForeignLib _ _ = Nothing---- ------------------------------------------------------------------------------ The Executable type---executableFieldDescrs :: [FieldDescr Executable]-executableFieldDescrs =- [ simpleField "main-is"- showFilePath parseFilePathQ- modulePath (\xs exe -> exe{modulePath=xs})- , simpleField "scope"- disp parse- exeScope (\sc exe -> exe{exeScope=sc})- ]- ++ map biToExe binfoFieldDescrs- where biToExe = liftField buildInfo (\bi exe -> exe{buildInfo=bi})--storeXFieldsExe :: UnrecFieldParser Executable-storeXFieldsExe (f@('x':'-':_), val) e@(Executable { buildInfo = bi }) =- Just $ e {buildInfo = bi{ customFieldsBI = (f,val):customFieldsBI bi}}-storeXFieldsExe _ _ = Nothing---- ------------------------------------------------------------------------------ The TestSuite type---- | An intermediate type just used for parsing the test-suite stanza.--- After validation it is converted into the proper 'TestSuite' type.-data TestSuiteStanza = TestSuiteStanza {- testStanzaTestType :: Maybe TestType,- testStanzaMainIs :: Maybe FilePath,- testStanzaTestModule :: Maybe ModuleName,- testStanzaBuildInfo :: BuildInfo- }--emptyTestStanza :: TestSuiteStanza-emptyTestStanza = TestSuiteStanza Nothing Nothing Nothing mempty--testSuiteFieldDescrs :: [FieldDescr TestSuiteStanza]-testSuiteFieldDescrs =- [ simpleField "type"- (maybe mempty disp) (fmap Just parse)- testStanzaTestType (\x suite -> suite { testStanzaTestType = x })- , simpleField "main-is"- (maybe mempty showFilePath) (fmap Just parseFilePathQ)- testStanzaMainIs (\x suite -> suite { testStanzaMainIs = x })- , simpleField "test-module"- (maybe mempty disp) (fmap Just parseModuleNameQ)- testStanzaTestModule (\x suite -> suite { testStanzaTestModule = x })- ]- ++ map biToTest binfoFieldDescrs- where- biToTest = liftField testStanzaBuildInfo- (\bi suite -> suite { testStanzaBuildInfo = bi })--storeXFieldsTest :: UnrecFieldParser TestSuiteStanza-storeXFieldsTest (f@('x':'-':_), val) t@(TestSuiteStanza { testStanzaBuildInfo = bi }) =- Just $ t {testStanzaBuildInfo = bi{ customFieldsBI = (f,val):customFieldsBI bi}}-storeXFieldsTest _ _ = Nothing--validateTestSuite :: LineNo -> TestSuiteStanza -> ParseResult TestSuite-validateTestSuite line stanza =- case testStanzaTestType stanza of- Nothing -> return $- emptyTestSuite { testBuildInfo = testStanzaBuildInfo stanza }-- Just tt@(TestTypeUnknown _ _) ->- return emptyTestSuite {- testInterface = TestSuiteUnsupported tt,- testBuildInfo = testStanzaBuildInfo stanza- }-- Just tt | tt `notElem` knownTestTypes ->- return emptyTestSuite {- testInterface = TestSuiteUnsupported tt,- testBuildInfo = testStanzaBuildInfo stanza- }-- Just tt@(TestTypeExe ver) ->- case testStanzaMainIs stanza of- Nothing -> syntaxError line (missingField "main-is" tt)- Just file -> do- when (isJust (testStanzaTestModule stanza)) $- warning (extraField "test-module" tt)- return emptyTestSuite {- testInterface = TestSuiteExeV10 ver file,- testBuildInfo = testStanzaBuildInfo stanza- }-- Just tt@(TestTypeLib ver) ->- case testStanzaTestModule stanza of- Nothing -> syntaxError line (missingField "test-module" tt)- Just module_ -> do- when (isJust (testStanzaMainIs stanza)) $- warning (extraField "main-is" tt)- return emptyTestSuite {- testInterface = TestSuiteLibV09 ver module_,- testBuildInfo = testStanzaBuildInfo stanza- }-- where- missingField name tt = "The '" ++ name ++ "' field is required for the "- ++ display tt ++ " test suite type."-- extraField name tt = "The '" ++ name ++ "' field is not used for the '"- ++ display tt ++ "' test suite type."----- ------------------------------------------------------------------------------ The Benchmark type---- | An intermediate type just used for parsing the benchmark stanza.--- After validation it is converted into the proper 'Benchmark' type.-data BenchmarkStanza = BenchmarkStanza {- benchmarkStanzaBenchmarkType :: Maybe BenchmarkType,- benchmarkStanzaMainIs :: Maybe FilePath,- benchmarkStanzaBenchmarkModule :: Maybe ModuleName,- benchmarkStanzaBuildInfo :: BuildInfo- }--emptyBenchmarkStanza :: BenchmarkStanza-emptyBenchmarkStanza = BenchmarkStanza Nothing Nothing Nothing mempty--benchmarkFieldDescrs :: [FieldDescr BenchmarkStanza]-benchmarkFieldDescrs =- [ simpleField "type"- (maybe mempty disp) (fmap Just parse)- benchmarkStanzaBenchmarkType- (\x suite -> suite { benchmarkStanzaBenchmarkType = x })- , simpleField "main-is"- (maybe mempty showFilePath) (fmap Just parseFilePathQ)- benchmarkStanzaMainIs- (\x suite -> suite { benchmarkStanzaMainIs = x })- ]- ++ map biToBenchmark binfoFieldDescrs- where- biToBenchmark = liftField benchmarkStanzaBuildInfo- (\bi suite -> suite { benchmarkStanzaBuildInfo = bi })--storeXFieldsBenchmark :: UnrecFieldParser BenchmarkStanza-storeXFieldsBenchmark (f@('x':'-':_), val)- t@(BenchmarkStanza { benchmarkStanzaBuildInfo = bi }) =- Just $ t {benchmarkStanzaBuildInfo =- bi{ customFieldsBI = (f,val):customFieldsBI bi}}-storeXFieldsBenchmark _ _ = Nothing--validateBenchmark :: LineNo -> BenchmarkStanza -> ParseResult Benchmark-validateBenchmark line stanza =- case benchmarkStanzaBenchmarkType stanza of- Nothing -> return $- emptyBenchmark { benchmarkBuildInfo = benchmarkStanzaBuildInfo stanza }-- Just tt@(BenchmarkTypeUnknown _ _) ->- return emptyBenchmark {- benchmarkInterface = BenchmarkUnsupported tt,- benchmarkBuildInfo = benchmarkStanzaBuildInfo stanza- }-- Just tt | tt `notElem` knownBenchmarkTypes ->- return emptyBenchmark {- benchmarkInterface = BenchmarkUnsupported tt,- benchmarkBuildInfo = benchmarkStanzaBuildInfo stanza- }-- Just tt@(BenchmarkTypeExe ver) ->- case benchmarkStanzaMainIs stanza of- Nothing -> syntaxError line (missingField "main-is" tt)- Just file -> do- when (isJust (benchmarkStanzaBenchmarkModule stanza)) $- warning (extraField "benchmark-module" tt)- return emptyBenchmark {- benchmarkInterface = BenchmarkExeV10 ver file,- benchmarkBuildInfo = benchmarkStanzaBuildInfo stanza- }-- where- missingField name tt = "The '" ++ name ++ "' field is required for the "- ++ display tt ++ " benchmark type."-- extraField name tt = "The '" ++ name ++ "' field is not used for the '"- ++ display tt ++ "' benchmark type."---- ------------------------------------------------------------------------------ The BuildInfo type--binfoFieldDescrs :: [FieldDescr BuildInfo]-binfoFieldDescrs =- [ boolField "buildable"- buildable (\val binfo -> binfo{buildable=val})- , commaListField "build-tools"- disp parse- buildTools (\xs binfo -> binfo{buildTools=xs})- , commaListField "build-tool-depends"- disp parse- buildToolDepends (\xs binfo -> binfo{buildToolDepends=xs})- , commaListFieldWithSep vcat "build-depends"- disp parse- targetBuildDepends (\xs binfo -> binfo{targetBuildDepends=xs})- , commaListFieldWithSep vcat "mixins"- disp parse- mixins (\xs binfo -> binfo{mixins=xs})- , spaceListField "cpp-options"- showToken parseTokenQ'- cppOptions (\val binfo -> binfo{cppOptions=val})- , spaceListField "cc-options"- showToken parseTokenQ'- ccOptions (\val binfo -> binfo{ccOptions=val})- , spaceListField "ld-options"- showToken parseTokenQ'- ldOptions (\val binfo -> binfo{ldOptions=val})- , commaListField "pkgconfig-depends"- disp parse- pkgconfigDepends (\xs binfo -> binfo{pkgconfigDepends=xs})- , listField "frameworks"- showToken parseTokenQ- frameworks (\val binfo -> binfo{frameworks=val})- , listField "extra-framework-dirs"- showToken parseFilePathQ- extraFrameworkDirs (\val binfo -> binfo{extraFrameworkDirs=val})- , listFieldWithSep vcat "c-sources"- showFilePath parseFilePathQ- cSources (\paths binfo -> binfo{cSources=paths})- , listFieldWithSep vcat "js-sources"- showFilePath parseFilePathQ- jsSources (\paths binfo -> binfo{jsSources=paths})- , simpleField "default-language"- (maybe mempty disp) (option Nothing (fmap Just parseLanguageQ))- defaultLanguage (\lang binfo -> binfo{defaultLanguage=lang})- , listField "other-languages"- disp parseLanguageQ- otherLanguages (\langs binfo -> binfo{otherLanguages=langs})- , listField "default-extensions"- disp parseExtensionQ- defaultExtensions (\exts binfo -> binfo{defaultExtensions=exts})- , listField "other-extensions"- disp parseExtensionQ- otherExtensions (\exts binfo -> binfo{otherExtensions=exts})- , listField "extensions"- disp parseExtensionQ- oldExtensions (\exts binfo -> binfo{oldExtensions=exts})-- , listFieldWithSep vcat "extra-libraries"- showToken parseTokenQ- extraLibs (\xs binfo -> binfo{extraLibs=xs})- , listFieldWithSep vcat "extra-ghci-libraries"- showToken parseTokenQ- extraGHCiLibs (\xs binfo -> binfo{extraGHCiLibs=xs})- , listField "extra-lib-dirs"- showFilePath parseFilePathQ- extraLibDirs (\xs binfo -> binfo{extraLibDirs=xs})- , listFieldWithSep vcat "includes"- showFilePath parseFilePathQ- includes (\paths binfo -> binfo{includes=paths})- , listFieldWithSep vcat "install-includes"- showFilePath parseFilePathQ- installIncludes (\paths binfo -> binfo{installIncludes=paths})- , listField "include-dirs"- showFilePath parseFilePathQ- includeDirs (\paths binfo -> binfo{includeDirs=paths})- , listField "hs-source-dirs"- showFilePath parseFilePathQ- hsSourceDirs (\paths binfo -> binfo{hsSourceDirs=paths})- , listFieldWithSep vcat "other-modules"- disp parseModuleNameQ- otherModules (\val binfo -> binfo{otherModules=val})- , listFieldWithSep vcat "autogen-modules"- disp parseModuleNameQ- autogenModules (\val binfo -> binfo{autogenModules=val})- , optsField "ghc-prof-options" GHC- profOptions (\val binfo -> binfo{profOptions=val})- , optsField "ghcjs-prof-options" GHCJS- profOptions (\val binfo -> binfo{profOptions=val})- , optsField "ghc-shared-options" GHC- sharedOptions (\val binfo -> binfo{sharedOptions=val})- , optsField "ghcjs-shared-options" GHCJS- sharedOptions (\val binfo -> binfo{sharedOptions=val})- , optsField "ghc-options" GHC- options (\path binfo -> binfo{options=path})- , optsField "ghcjs-options" GHCJS- options (\path binfo -> binfo{options=path})- , optsField "jhc-options" JHC- options (\path binfo -> binfo{options=path})-- -- NOTE: Hugs and NHC are not supported anymore, but these fields are kept- -- around for backwards compatibility.- , optsField "hugs-options" Hugs- options (const id)- , optsField "nhc98-options" NHC- options (const id)- ]--storeXFieldsBI :: UnrecFieldParser BuildInfo-storeXFieldsBI (f@('x':'-':_),val) bi = Just bi{ customFieldsBI = (f,val):customFieldsBI bi }-storeXFieldsBI _ _ = Nothing----------------------------------------------------------------------------------flagFieldDescrs :: [FieldDescr Flag]-flagFieldDescrs =- [ simpleField "description"- showFreeText parseFreeText- flagDescription (\val fl -> fl{ flagDescription = val })- , boolField "default"- flagDefault (\val fl -> fl{ flagDefault = val })- , boolField "manual"- flagManual (\val fl -> fl{ flagManual = val })- ]----------------------------------------------------------------------------------sourceRepoFieldDescrs :: [FieldDescr SourceRepo]-sourceRepoFieldDescrs =- [ simpleField "type"- (maybe mempty disp) (fmap Just parse)- repoType (\val repo -> repo { repoType = val })- , simpleField "location"- (maybe mempty showFreeText) (fmap Just parseFreeText)- repoLocation (\val repo -> repo { repoLocation = val })- , simpleField "module"- (maybe mempty showToken) (fmap Just parseTokenQ)- repoModule (\val repo -> repo { repoModule = val })- , simpleField "branch"- (maybe mempty showToken) (fmap Just parseTokenQ)- repoBranch (\val repo -> repo { repoBranch = val })- , simpleField "tag"- (maybe mempty showToken) (fmap Just parseTokenQ)- repoTag (\val repo -> repo { repoTag = val })- , simpleField "subdir"- (maybe mempty showFilePath) (fmap Just parseFilePathQ)- repoSubdir (\val repo -> repo { repoSubdir = val })- ]----------------------------------------------------------------------------------setupBInfoFieldDescrs :: [FieldDescr SetupBuildInfo]-setupBInfoFieldDescrs =- [ commaListFieldWithSep vcat "setup-depends"- disp parse- setupDepends (\xs binfo -> binfo{setupDepends=xs})- ]---- ------------------------------------------------------------------ Parsing---- | Given a parser and a filename, return the parse of the file,--- after checking if the file exists.-readAndParseFile :: (FilePath -> (String -> IO a) -> IO a)- -> (String -> ParseResult a)- -> Verbosity- -> FilePath -> IO a-readAndParseFile withFileContents' parser verbosity fpath = do- exists <- doesFileExist fpath- unless exists $- die' verbosity $- "Error Parsing: file \"" ++ fpath ++ "\" doesn't exist. Cannot continue."- withFileContents' fpath $ \str -> case parser str of- ParseFailed e -> do- let (line, message) = locatedErrorMsg e- dieWithLocation' verbosity fpath line message- ParseOk warnings x -> do- traverse_ (warn verbosity . showPWarning fpath) $ reverse warnings- return x--readHookedBuildInfo :: Verbosity -> FilePath -> IO HookedBuildInfo-readHookedBuildInfo =- readAndParseFile withFileContents parseHookedBuildInfo--readPackageDescription :: Verbosity -> FilePath -> IO GenericPackageDescription-readPackageDescription = readGenericPackageDescription-{-# DEPRECATED readPackageDescription "Use readGenericPackageDescription, old name is misleading." #-}---- | Parse the given package file.-readGenericPackageDescription :: Verbosity -> FilePath -> IO GenericPackageDescription-readGenericPackageDescription =- readAndParseFile withUTF8FileContents parseGenericPackageDescription--stanzas :: [Field] -> [[Field]]-stanzas [] = []-stanzas (f:fields) = (f:this) : stanzas rest- where- (this, rest) = break isStanzaHeader fields--isStanzaHeader :: Field -> Bool-isStanzaHeader (F _ f _) = f == "executable"-isStanzaHeader _ = False-----------------------------------------------------------------------------------mapSimpleFields :: (Field -> ParseResult Field) -> [Field]- -> ParseResult [Field]-mapSimpleFields f = traverse walk- where- walk fld@F{} = f fld- walk (IfBlock l c fs1 fs2) = do- fs1' <- traverse walk fs1- fs2' <- traverse walk fs2- return (IfBlock l c fs1' fs2')- walk (Section ln n l fs1) = do- fs1' <- traverse walk fs1- return (Section ln n l fs1')---- prop_isMapM fs = mapSimpleFields return fs == return fs----- names of fields that represents dependencies--- TODO: maybe build-tools should go here too?-constraintFieldNames :: [String]-constraintFieldNames = ["build-depends"]---- Possible refactoring would be to have modifiers be explicit about what--- they add and define an accessor that specifies what the dependencies--- are. This way we would completely reuse the parsing knowledge from the--- field descriptor.-parseConstraint :: Field -> ParseResult [Dependency]-parseConstraint (F l n v)- | n `elem` constraintFieldNames = runP l n (parseCommaList parse) v-parseConstraint f = userBug $ "Constraint was expected (got: " ++ show f ++ ")"--{--headerFieldNames :: [String]-headerFieldNames = filter (\n -> not (n `elem` constraintFieldNames))- . map fieldName $ pkgDescrFieldDescrs--}--libFieldNames :: [String]-libFieldNames = map fieldName libFieldDescrs- ++ buildInfoNames ++ constraintFieldNames---- exeFieldNames :: [String]--- exeFieldNames = map fieldName executableFieldDescrs--- ++ buildInfoNames--buildInfoNames :: [String]-buildInfoNames = map fieldName binfoFieldDescrs- ++ map fst deprecatedFieldsBuildInfo---- A minimal implementation of the StateT monad transformer to avoid depending--- on the 'mtl' package.-newtype StT s m a = StT { runStT :: s -> m (a,s) }--instance Functor f => Functor (StT s f) where- fmap g (StT f) = StT $ fmap (first g) . f--#if __GLASGOW_HASKELL__ >= 710-instance (Monad m) => Applicative (StT s m) where-#else-instance (Monad m, Functor m) => Applicative (StT s m) where-#endif- pure a = StT (\s -> return (a,s))- (<*>) = ap---instance Monad m => Monad (StT s m) where-#if __GLASGOW_HASKELL__ < 710- return a = StT (\s -> return (a,s))-#endif- StT f >>= g = StT $ \s -> do- (a,s') <- f s- runStT (g a) s'--getSt :: Monad m => StT s m s-getSt = StT $ \s -> return (s, s)--modify :: Monad m => (s -> s) -> StT s m ()-modify f = StT $ \s -> return ((),f s)--lift :: Monad m => m a -> StT s m a-lift m = StT $ \s -> m >>= \a -> return (a,s)--evalStT :: Monad m => StT s m a -> s -> m a-evalStT st s = liftM fst $ runStT st s---- Our monad for parsing a list/tree of fields.------ The state represents the remaining fields to be processed.-type PM a = StT [Field] ParseResult a------ return look-ahead field or nothing if we're at the end of the file-peekField :: PM (Maybe Field)-peekField = liftM listToMaybe getSt---- Unconditionally discard the first field in our state. Will error when it--- reaches end of file. (Yes, that's evil.)-skipField :: PM ()-skipField = modify tail----FIXME: this should take a ByteString, not a String. We have to be able to--- decode UTF8 and handle the BOM.--parsePackageDescription :: String -> ParseResult GenericPackageDescription-parsePackageDescription = parseGenericPackageDescription-{-# DEPRECATED parsePackageDescription "Use parseGenericPackageDescription, old name is misleading" #-}---- | Parses the given file into a 'GenericPackageDescription'.------ In Cabal 1.2 the syntax for package descriptions was changed to a format--- with sections and possibly indented property descriptions.-parseGenericPackageDescription :: String -> ParseResult GenericPackageDescription-parseGenericPackageDescription file = do-- -- This function is quite complex because it needs to be able to parse- -- both pre-Cabal-1.2 and post-Cabal-1.2 files. Additionally, it contains- -- a lot of parser-related noise since we do not want to depend on Parsec.- --- -- If we detect an pre-1.2 file we implicitly convert it to post-1.2- -- style. See 'sectionizeFields' below for details about the conversion.-- fields0 <- readFields file `catchParseError` \err ->- let tabs = findIndentTabs file in- case err of- -- In case of a TabsError report them all at once.- TabsError tabLineNo -> reportTabsError- -- but only report the ones including and following- -- the one that caused the actual error- [ t | t@(lineNo',_) <- tabs- , lineNo' >= tabLineNo ]- _ -> parseFail err-- let cabalVersionNeeded =- head $ [ minVersionBound versionRange- | Just versionRange <- [ simpleParse v- | F _ "cabal-version" v <- fields0 ] ]- ++ [mkVersion [0]]- minVersionBound versionRange =- case asVersionIntervals versionRange of- [] -> mkVersion [0]- ((LowerBound version _, _):_) -> version-- handleFutureVersionParseFailure cabalVersionNeeded $ do-- let sf = sectionizeFields fields0 -- ensure 1.2 format-- -- figure out and warn about deprecated stuff (warnings are collected- -- inside our parsing monad)- fields <- mapSimpleFields deprecField sf-- -- Our parsing monad takes the not-yet-parsed fields as its state.- -- After each successful parse we remove the field from the state- -- ('skipField') and move on to the next one.- --- -- Things are complicated a bit, because fields take a tree-like- -- structure -- they can be sections or "if"/"else" conditionals.-- flip evalStT fields $ do-- -- The header consists of all simple fields up to the first section- -- (flag, library, executable).- header_fields <- getHeader []-- -- Parses just the header fields and stores them in a- -- 'PackageDescription'. Note that our final result is a- -- 'GenericPackageDescription'; for pragmatic reasons we just store- -- the partially filled-out 'PackageDescription' inside the- -- 'GenericPackageDescription'.- pkg <- lift $ parseFields pkgDescrFieldDescrs- storeXFieldsPD- emptyPackageDescription- header_fields-- -- 'getBody' assumes that the remaining fields only consist of- -- flags, lib and exe sections.- (repos, flags, mcsetup, mlib, sub_libs, flibs, exes, tests, bms) <- getBody pkg- warnIfRest -- warn if getBody did not parse up to the last field.- -- warn about using old/new syntax with wrong cabal-version:- maybeWarnCabalVersion (not $ oldSyntax fields0) pkg- checkForUndefinedFlags flags mlib sub_libs exes tests- return $ GenericPackageDescription- pkg { sourceRepos = repos, setupBuildInfo = mcsetup }- flags mlib sub_libs flibs exes tests bms-- where- oldSyntax = all isSimpleField- reportTabsError tabs =- syntaxError (fst (head tabs)) $- "Do not use tabs for indentation (use spaces instead)\n"- ++ " Tabs were used at (line,column): " ++ show tabs-- maybeWarnCabalVersion newsyntax pkg- | newsyntax && specVersion pkg < mkVersion [1,2]- = lift $ warning $- "A package using section syntax must specify at least\n"- ++ "'cabal-version: >= 1.2'."-- maybeWarnCabalVersion newsyntax pkg- | not newsyntax && specVersion pkg >= mkVersion [1,2]- = lift $ warning $- "A package using 'cabal-version: "- ++ displaySpecVersion (specVersionRaw pkg)- ++ "' must use section syntax. See the Cabal user guide for details."- where- displaySpecVersion (Left version) = display version- displaySpecVersion (Right versionRange) =- case asVersionIntervals versionRange of- [] {- impossible -} -> display versionRange- ((LowerBound version _, _):_) -> display (orLaterVersion version)-- maybeWarnCabalVersion _ _ = return ()--- handleFutureVersionParseFailure cabalVersionNeeded parseBody =- (unless versionOk (warning message) >> parseBody)- `catchParseError` \parseError -> case parseError of- TabsError _ -> parseFail parseError- _ | versionOk -> parseFail parseError- | otherwise -> fail message- where versionOk = cabalVersionNeeded <= cabalVersion- message = "This package requires at least Cabal version "- ++ display cabalVersionNeeded-- -- "Sectionize" an old-style Cabal file. A sectionized file has:- --- -- * all global fields at the beginning, followed by- --- -- * all flag declarations, followed by- --- -- * an optional library section, and an arbitrary number of executable- -- sections (in any order).- --- -- The current implementation just gathers all library-specific fields- -- in a library section and wraps all executable stanzas in an executable- -- section.- sectionizeFields :: [Field] -> [Field]- sectionizeFields fs- | oldSyntax fs =- let- -- "build-depends" is a local field now. To be backwards- -- compatible, we still allow it as a global field in old-style- -- package description files and translate it to a local field by- -- adding it to every non-empty section- (hdr0, exes0) = break ((=="executable") . fName) fs- (hdr, libfs0) = partition (not . (`elem` libFieldNames) . fName) hdr0-- (deps, libfs) = partition ((== "build-depends") . fName)- libfs0-- exes = unfoldr toExe exes0- toExe [] = Nothing- toExe (F l e n : r)- | e == "executable" =- let (efs, r') = break ((=="executable") . fName) r- in Just (Section l "executable" n (deps ++ efs), r')- toExe _ = cabalBug "unexpected input to 'toExe'"- in- hdr ++- (if null libfs then []- else [Section (lineNo (head libfs)) "library" "" (deps ++ libfs)])- ++ exes- | otherwise = fs-- isSimpleField F{} = True- isSimpleField _ = False-- -- warn if there's something at the end of the file- warnIfRest :: PM ()- warnIfRest = do- s <- getSt- case s of- [] -> return ()- _ -> lift $ warning "Ignoring trailing declarations." -- add line no.-- -- all simple fields at the beginning of the file are (considered) header- -- fields- getHeader :: [Field] -> PM [Field]- getHeader acc = peekField >>= \mf -> case mf of- Just f@F{} -> skipField >> getHeader (f:acc)- _ -> return (reverse acc)-- --- -- body ::= { repo | flag | library | sub library | foreign library- -- | executable | test | bench }+- --- -- The body consists of an optional sequence of declarations of flags and- -- an arbitrary number of components- --- -- TODO: This method is long due for a rewrite to use a accumulator- -- data type, or perhaps some more general way of balling the- -- components up.- getBody :: PackageDescription- -> PM ([SourceRepo], [Flag]- ,Maybe SetupBuildInfo- ,(Maybe (CondTree ConfVar [Dependency] Library))- ,[(UnqualComponentName, CondTree ConfVar [Dependency] Library)]- ,[(UnqualComponentName, CondTree ConfVar [Dependency] ForeignLib)]- ,[(UnqualComponentName, CondTree ConfVar [Dependency] Executable)]- ,[(UnqualComponentName, CondTree ConfVar [Dependency] TestSuite)]- ,[(UnqualComponentName, CondTree ConfVar [Dependency] Benchmark)])- getBody pkg = peekField >>= \mf -> case mf of- Just (Section line_no sec_type sec_label sec_fields)- | sec_type == "executable" -> do- when (null sec_label) $ lift $ syntaxError line_no- "'executable' needs one argument (the executable's name)"- exename <- lift $ runP line_no "executable" parseTokenQ sec_label- flds <- collectFields parseExeFields sec_fields- skipField- (repos, flags, csetup, mlib, sub_libs, flibs, exes, tests, bms) <- getBody pkg- return (repos, flags, csetup, mlib, sub_libs, flibs, (mkUnqualComponentName exename, flds): exes, tests, bms)-- | sec_type == "foreign-library" -> do- when (null sec_label) $ lift $ syntaxError line_no- "'foreign-library' needs one argument (the library's name)"- libname <- lift $ runP line_no "foreign-library" parseTokenQ sec_label- flds <- collectFields parseForeignLibFields sec_fields-- -- Check that a valid foreign library type has been chosen. A type- -- field may be given inside a conditional block, so we must check- -- for that before complaining that a type field has not been given.- -- The foreign library must always have a valid type, so we need to- -- check both the 'then' and 'else' blocks, though the blocks need- -- not have the same type.- let hasType ts = foreignLibType ts /= foreignLibType mempty- if onAllBranches hasType flds- then do- skipField- (repos, flags, csetup, mlib, sub_libs, flibs, exes, tests, bms) <- getBody pkg- return (repos, flags, csetup, mlib, sub_libs, (mkUnqualComponentName libname, flds):flibs, exes, tests, bms)- else lift $ syntaxError line_no $- "Foreign library \"" ++ libname- ++ "\" is missing required field \"type\" or the field "- ++ "is not present in all conditional branches. The "- ++ "available test types are: "- ++ intercalate ", " (map display knownForeignLibTypes)-- | sec_type == "test-suite" -> do- when (null sec_label) $ lift $ syntaxError line_no- "'test-suite' needs one argument (the test suite's name)"- testname <- lift $ runP line_no "test" parseTokenQ sec_label- flds <- collectFields (parseTestFields line_no) sec_fields-- -- Check that a valid test suite type has been chosen. A type field- -- may be given inside a conditional block, so we must check for- -- that before complaining that a type field has not been given. The- -- test suite must always have a valid type, so we need to check- -- both the 'then' and 'else' blocks, though the blocks need not- -- have the same type.- let hasType ts = testInterface ts /= testInterface mempty- if onAllBranches hasType flds- then do- skipField- (repos, flags, csetup, mlib, sub_libs, flibs, exes, tests, bms) <- getBody pkg- return (repos, flags, csetup, mlib, sub_libs, flibs, exes,- (mkUnqualComponentName testname, flds) : tests, bms)- else lift $ syntaxError line_no $- "Test suite \"" ++ testname- ++ "\" is missing required field \"type\" or the field "- ++ "is not present in all conditional branches. The "- ++ "available test types are: "- ++ intercalate ", " (map display knownTestTypes)-- | sec_type == "benchmark" -> do- when (null sec_label) $ lift $ syntaxError line_no- "'benchmark' needs one argument (the benchmark's name)"- benchname <- lift $ runP line_no "benchmark" parseTokenQ sec_label- flds <- collectFields (parseBenchmarkFields line_no) sec_fields-- -- Check that a valid benchmark type has been chosen. A type field- -- may be given inside a conditional block, so we must check for- -- that before complaining that a type field has not been given. The- -- benchmark must always have a valid type, so we need to check both- -- the 'then' and 'else' blocks, though the blocks need not have the- -- same type.- let hasType ts = benchmarkInterface ts /= benchmarkInterface mempty- if onAllBranches hasType flds- then do- skipField- (repos, flags, csetup, mlib, sub_libs, flibs, exes, tests, bms) <- getBody pkg- return (repos, flags, csetup, mlib, sub_libs, flibs, exes,- tests, (mkUnqualComponentName benchname, flds) : bms)- else lift $ syntaxError line_no $- "Benchmark \"" ++ benchname- ++ "\" is missing required field \"type\" or the field "- ++ "is not present in all conditional branches. The "- ++ "available benchmark types are: "- ++ intercalate ", " (map display knownBenchmarkTypes)-- | sec_type == "library" -> do- mb_libname <- if null sec_label- then return Nothing- -- TODO: relax this parsing so that scoping is handled- -- correctly- else fmap Just . lift- $ runP line_no "library" parseTokenQ sec_label- flds <- collectFields parseLibFields sec_fields- skipField- (repos, flags, csetup, mlib, sub_libs, flibs, exes, tests, bms) <- getBody pkg- case mb_libname of- Just libname ->- return (repos, flags, csetup, mlib, (mkUnqualComponentName libname, flds) : sub_libs, flibs, exes, tests, bms)- Nothing -> do- when (isJust mlib) $ lift $ syntaxError line_no- "There can only be one (public) library section in a package description."- return (repos, flags, csetup, Just flds, sub_libs, flibs, exes, tests, bms)-- | sec_type == "flag" -> do- when (null sec_label) $ lift $- syntaxError line_no "'flag' needs one argument (the flag's name)"- flag <- lift $ parseFields- flagFieldDescrs- warnUnrec- (emptyFlag (mkFlagName (lowercase sec_label)))- sec_fields- skipField- (repos, flags, csetup, mlib, sub_libs, flibs, exes, tests, bms) <- getBody pkg- return (repos, flag:flags, csetup, mlib, sub_libs, flibs, exes, tests, bms)-- | sec_type == "source-repository" -> do- when (null sec_label) $ lift $ syntaxError line_no $- "'source-repository' needs one argument, "- ++ "the repo kind which is usually 'head' or 'this'"- kind <- case simpleParse sec_label of- Just kind -> return kind- Nothing -> lift $ syntaxError line_no $- "could not parse repo kind: " ++ sec_label- repo <- lift $ parseFields- sourceRepoFieldDescrs- warnUnrec- (emptySourceRepo kind)- sec_fields- skipField- (repos, flags, csetup, mlib, sub_libs, flibs, exes, tests, bms) <- getBody pkg- return (repo:repos, flags, csetup, mlib, sub_libs, flibs, exes, tests, bms)-- | sec_type == "custom-setup" -> do- unless (null sec_label) $ lift $- syntaxError line_no "'setup' expects no argument"- flds <- lift $ parseFields- setupBInfoFieldDescrs- warnUnrec- mempty- sec_fields- skipField- (repos, flags, csetup0, mlib, sub_libs, flibs, exes, tests, bms) <- getBody pkg- when (isJust csetup0) $ lift $ syntaxError line_no- "There can only be one 'custom-setup' section in a package description."- return (repos, flags, Just flds, mlib, sub_libs, flibs, exes, tests, bms)-- | otherwise -> do- lift $ warning $ "Ignoring unknown section type: " ++ sec_type- skipField- getBody pkg- Just f@(F {}) -> do- _ <- lift $ syntaxError (lineNo f) $- "Plain fields are not allowed in between stanzas: " ++ show f- skipField- getBody pkg- Just f@(IfBlock {}) -> do- _ <- lift $ syntaxError (lineNo f) $- "If-blocks are not allowed in between stanzas: " ++ show f- skipField- getBody pkg- Nothing -> return ([], [], Nothing, Nothing, [], [], [], [], [])-- -- Extracts all fields in a block and returns a 'CondTree'.- --- -- We have to recurse down into conditionals and we treat fields that- -- describe dependencies specially.- collectFields :: ([Field] -> PM a) -> [Field]- -> PM (CondTree ConfVar [Dependency] a)- collectFields parser allflds = do-- let simplFlds = [ F l n v | F l n v <- allflds ]- condFlds = [ f | f@IfBlock{} <- allflds ]- sections = [ s | s@Section{} <- allflds ]-- traverse_- (\(Section l n _ _) -> lift . warning $- "Unexpected section '" ++ n ++ "' on line " ++ show l)- sections-- a <- parser simplFlds-- -- Dependencies must be treated specially: when we- -- parse into a CondTree, not only do we parse them into- -- the targetBuildDepends/etc field inside the- -- PackageDescription, but we also have to put the- -- combined dependencies into CondTree.- --- -- This information is, in principle, redundant, but- -- putting it here makes it easier for the constraint- -- solver to pick a flag assignment which supports- -- all of the dependencies (because it only has- -- to check the CondTree, rather than grovel everywhere- -- inside the conditional bits).- deps <- liftM concat- . traverse (lift . parseConstraint)- . filter isConstraint- $ simplFlds-- ifs <- traverse processIfs condFlds-- return (CondNode a deps ifs)- where- isConstraint (F _ n _) = n `elem` constraintFieldNames- isConstraint _ = False-- processIfs (IfBlock l c t e) = do- cnd <- lift $ runP l "if" parseCondition c- t' <- collectFields parser t- e' <- case e of- [] -> return Nothing- es -> do fs <- collectFields parser es- return (Just fs)- return (CondBranch cnd t' e')- processIfs _ = cabalBug "processIfs called with wrong field type"-- parseLibFields :: [Field] -> PM Library- parseLibFields = lift . parseFields libFieldDescrs storeXFieldsLib emptyLibrary-- -- Note: we don't parse the "executable" field here, hence the tail hack.- parseExeFields :: [Field] -> PM Executable- parseExeFields = lift . parseFields executableFieldDescrs- storeXFieldsExe emptyExecutable-- parseForeignLibFields :: [Field] -> PM ForeignLib- parseForeignLibFields =- lift . parseFields foreignLibFieldDescrs- storeXFieldsForeignLib- emptyForeignLib-- parseTestFields :: LineNo -> [Field] -> PM TestSuite- parseTestFields line fields = do- x <- lift $ parseFields testSuiteFieldDescrs storeXFieldsTest- emptyTestStanza fields- lift $ validateTestSuite line x-- parseBenchmarkFields :: LineNo -> [Field] -> PM Benchmark- parseBenchmarkFields line fields = do- x <- lift $ parseFields benchmarkFieldDescrs storeXFieldsBenchmark- emptyBenchmarkStanza fields- lift $ validateBenchmark line x-- checkForUndefinedFlags ::- [Flag] ->- Maybe (CondTree ConfVar [Dependency] Library) ->- [(UnqualComponentName, CondTree ConfVar [Dependency] Library)] ->- [(UnqualComponentName, CondTree ConfVar [Dependency] Executable)] ->- [(UnqualComponentName, CondTree ConfVar [Dependency] TestSuite)] ->- PM ()- checkForUndefinedFlags flags mlib sub_libs exes tests = do- let definedFlags = map flagName flags- traverse_ (checkCondTreeFlags definedFlags) (maybeToList mlib)- traverse_ (checkCondTreeFlags definedFlags . snd) sub_libs- traverse_ (checkCondTreeFlags definedFlags . snd) exes- traverse_ (checkCondTreeFlags definedFlags . snd) tests-- checkCondTreeFlags :: [FlagName] -> CondTree ConfVar c a -> PM ()- checkCondTreeFlags definedFlags ct = do- let fv = nub $ freeVars ct- unless (all (`elem` definedFlags) fv) $- fail $ "These flags are used without having been defined: "- ++ intercalate ", " [ unFlagName fn | fn <- fv \\ definedFlags ]---- Check that a property holds on all branches of a condition tree-onAllBranches :: forall v c a. Monoid a => (a -> Bool) -> CondTree v c a -> Bool-onAllBranches p = go mempty- where- -- If the current level of the tree satisfies the property, then we are- -- done. If not, then one of the conditional branches below the current node- -- must satisfy it. Each node may have multiple immediate children; we only- -- one need one to satisfy the property because the configure step uses- -- 'mappend' to join together the results of flag resolution.- go :: a -> CondTree v c a -> Bool- go acc ct = let acc' = acc `mappend` condTreeData ct- in p acc' || any (goBranch acc') (condTreeComponents ct)-- -- Both the 'true' and the 'false' block must satisfy the property.- goBranch :: a -> CondBranch v c a -> Bool- goBranch _ (CondBranch _ _ Nothing) = False- goBranch acc (CondBranch _ t (Just e)) = go acc t && go acc e---- | Parse a list of fields, given a list of field descriptions,--- a structure to accumulate the parsed fields, and a function--- that can decide what to do with fields which don't match any--- of the field descriptions.-parseFields :: [FieldDescr a] -- ^ descriptions of fields we know how to- -- parse- -> UnrecFieldParser a -- ^ possibly do something with- -- unrecognized fields- -> a -- ^ accumulator- -> [Field] -- ^ fields to be parsed- -> ParseResult a-parseFields descrs unrec ini fields =- do (a, unknowns) <- foldM (parseField descrs unrec) (ini, []) fields- unless (null unknowns) $ warning $ render $- text "Unknown fields:" <+>- commaSep (map (\(l,u) -> u ++ " (line " ++ show l ++ ")")- (reverse unknowns))- $+$- text "Fields allowed in this section:" $$- nest 4 (commaSep $ map fieldName descrs)- return a- where- commaSep = fsep . punctuate comma . map text--parseField :: [FieldDescr a] -- ^ list of parseable fields- -> UnrecFieldParser a -- ^ possibly do something with- -- unrecognized fields- -> (a,[(Int,String)]) -- ^ accumulated result and warnings- -> Field -- ^ the field to be parsed- -> ParseResult (a, [(Int,String)])-parseField (FieldDescr name _ parser : fields) unrec (a, us) (F line f val)- | name == f = parser line val a >>= \a' -> return (a',us)- | otherwise = parseField fields unrec (a,us) (F line f val)-parseField [] unrec (a,us) (F l f val) = return $- case unrec (f,val) a of -- no fields matched, see if the 'unrec'- Just a' -> (a',us) -- function wants to do anything with it- Nothing -> (a, (l,f):us)-parseField _ _ _ _ = cabalBug "'parseField' called on a non-field"--deprecatedFields :: [(String,String)]-deprecatedFields =- deprecatedFieldsPkgDescr ++ deprecatedFieldsBuildInfo--deprecatedFieldsPkgDescr :: [(String,String)]-deprecatedFieldsPkgDescr = [ ("other-files", "extra-source-files") ]--deprecatedFieldsBuildInfo :: [(String,String)]-deprecatedFieldsBuildInfo = [ ("hs-source-dir","hs-source-dirs") ]---- Handle deprecated fields-deprecField :: Field -> ParseResult Field-deprecField (F line fld val) = do- fld' <- case lookup fld deprecatedFields of- Nothing -> return fld- Just newName -> do- warning $ "The field \"" ++ fld- ++ "\" is deprecated, please use \"" ++ newName ++ "\""- return newName- return (F line fld' val)-deprecField _ = cabalBug "'deprecField' called on a non-field"---parseHookedBuildInfo :: String -> ParseResult HookedBuildInfo-parseHookedBuildInfo inp = do- fields <- readFields inp- let ss@(mLibFields:exes) = stanzas fields- mLib <- parseLib mLibFields- biExes <- mapM parseExe (maybe ss (const exes) mLib)- return (mLib, biExes)- where- parseLib :: [Field] -> ParseResult (Maybe BuildInfo)- parseLib (bi@(F _ inFieldName _:_))- | lowercase inFieldName /= "executable" = liftM Just (parseBI bi)- parseLib _ = return Nothing-- parseExe :: [Field] -> ParseResult (UnqualComponentName, BuildInfo)- parseExe (F line inFieldName mName:bi)- | lowercase inFieldName == "executable"- = do bis <- parseBI bi- return (mkUnqualComponentName mName, bis)- | otherwise = syntaxError line "expecting 'executable' at top of stanza"- parseExe (_:_) = cabalBug "`parseExe' called on a non-field"- parseExe [] = syntaxError 0 "error in parsing buildinfo file. Expected executable stanza"-- parseBI st = parseFields binfoFieldDescrs storeXFieldsBI emptyBuildInfo st---- replace all tabs used as indentation with whitespace, also return where--- tabs were found-findIndentTabs :: String -> [(Int,Int)]-findIndentTabs = concatMap checkLine- . zip [1..]- . lines- where- checkLine (lineno, l) =- let (indent, _content) = span isSpace l- tabCols = map fst . filter ((== '\t') . snd) . zip [0..]- addLineNo = map (\col -> (lineno,col))- in addLineNo (tabCols indent)----test_findIndentTabs = findIndentTabs $ unlines $--- [ "foo", " bar", " \t baz", "\t biz\t", "\t\t \t mib" ]
@@ -1,9 +1,8 @@ {-# LANGUAGE CPP #-}+{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE Rank2Types #-} {-# LANGUAGE ScopedTypeVariables #-}-{-# LANGUAGE TupleSections #-}-{-# LANGUAGE FlexibleContexts #-} ----------------------------------------------------------------------------- -- | -- Module : Distribution.PackageDescription.Parsec@@ -25,44 +24,62 @@ ParseResult, runParseResult, + -- * New-style spec-version+ scanSpecVersion,+ -- ** Supplementary build information- -- readHookedBuildInfo,- -- parseHookedBuildInfo,+ readHookedBuildInfo,+ parseHookedBuildInfo, ) where -import Prelude ()-import Distribution.Compat.Prelude+import Distribution.Compat.Prelude+import Prelude ()++import Control.Monad (guard)+import Control.Monad.State.Strict (StateT, execStateT)+import Control.Monad.Trans.Class (lift)+import Data.List (partition)+import Distribution.CabalSpecVersion+import Distribution.Compat.Lens+import Distribution.FieldGrammar+import Distribution.FieldGrammar.Parsec (NamelessField (..))+import Distribution.PackageDescription+import Distribution.PackageDescription.FieldGrammar+import Distribution.PackageDescription.Quirks (patchQuirks)+import Distribution.Parsec.Class (parsec, simpleParsec)+import Distribution.Parsec.Common+import Distribution.Parsec.ConfVar (parseConditionConfVar)+import Distribution.Parsec.Field (FieldName, getName)+import Distribution.Parsec.FieldLineStream (fieldLineStreamFromBS)+import Distribution.Parsec.LexerMonad (LexWarning, toPWarnings)+import Distribution.Parsec.Newtypes (CommaFSep, List, SpecVersion (..), Token)+import Distribution.Parsec.Parser+import Distribution.Parsec.ParseResult+import Distribution.Pretty (prettyShow)+import Distribution.Simple.Utils (die', fromUTF8BS, warn)+import Distribution.Text (display)+import Distribution.Types.CondTree+import Distribution.Types.Dependency (Dependency)+import Distribution.Types.ForeignLib+import Distribution.Types.ForeignLibType (knownForeignLibTypes)+import Distribution.Types.GenericPackageDescription (emptyGenericPackageDescription)+import Distribution.Types.PackageDescription (specVersion')+import Distribution.Types.UnqualComponentName (UnqualComponentName, mkUnqualComponentName)+import Distribution.Utils.Generic (breakMaybe, unfoldrM, validateUTF8)+import Distribution.Verbosity (Verbosity)+import Distribution.Version+ (LowerBound (..), Version, asVersionIntervals, mkVersion, orLaterVersion, version0,+ versionNumbers)+import System.Directory (doesFileExist)+ import qualified Data.ByteString as BS-import Data.List (partition)-import qualified Data.Map as Map-import qualified Distribution.Compat.SnocList as SnocList-import Distribution.PackageDescription-import Distribution.PackageDescription.Parsec.FieldDescr-import Distribution.Parsec.Class (parsec)-import Distribution.Parsec.ConfVar- (parseConditionConfVar)-import Distribution.Parsec.LexerMonad- (LexWarning, toPWarning)-import Distribution.Parsec.Parser-import Distribution.Parsec.Types.Common-import Distribution.Parsec.Types.Field (getName)-import Distribution.Parsec.Types.FieldDescr-import Distribution.Parsec.Types.ParseResult-import Distribution.Simple.Utils- (die', fromUTF8BS, warn)-import Distribution.Text (display)-import Distribution.Types.ForeignLib-import Distribution.Types.CondTree-import Distribution.Types.UnqualComponentName- (UnqualComponentName, mkUnqualComponentName)-import Distribution.Verbosity (Verbosity)-import Distribution.Version- (LowerBound (..), Version, asVersionIntervals, mkVersion,- orLaterVersion)-import System.Directory- (doesFileExist)+import qualified Data.ByteString.Char8 as BS8+import qualified Distribution.Compat.Map.Strict as Map+import qualified Distribution.Compat.Newtype as Newtype+import qualified Distribution.Types.BuildInfo.Lens as L+import qualified Distribution.Types.GenericPackageDescription.Lens as L+import qualified Distribution.Types.PackageDescription.Lens as L import qualified Text.Parsec as P-import qualified Text.Parsec.Error as P -- --------------------------------------------------------------- -- Parsing@@ -84,12 +101,13 @@ die' verbosity $ "Error Parsing: file \"" ++ fpath ++ "\" doesn't exist. Cannot continue." bs <- BS.readFile fpath- let (warnings, errors, result) = runParseResult (parser bs)+ let (warnings, result) = runParseResult (parser bs) traverse_ (warn verbosity . showPWarning fpath) warnings- traverse_ (warn verbosity . showPError fpath) errors case result of- Nothing -> die' verbosity $ "Failing parsing \"" ++ fpath ++ "\"."- Just x -> return x+ Right x -> return x+ Left (_, errors) -> do+ traverse_ (warn verbosity . showPError fpath) errors+ die' verbosity $ "Failed parsing \"" ++ fpath ++ "\"." -- | Parse the given package file. readGenericPackageDescription :: Verbosity -> FilePath -> IO GenericPackageDescription@@ -101,273 +119,304 @@ -- In Cabal 1.2 the syntax for package descriptions was changed to a format -- with sections and possibly indented property descriptions. ----- TODO: add lex warnings parseGenericPackageDescription :: BS.ByteString -> ParseResult GenericPackageDescription-parseGenericPackageDescription bs = case readFields' bs of- Right (fs, lexWarnings) -> parseGenericPackageDescription' lexWarnings fs- -- TODO: better marshalling of errors- Left perr -> parseFatalFailure (Position 0 0) (show perr)+parseGenericPackageDescription bs = do+ -- set scanned version+ setCabalSpecVersion ver+ -- if we get too new version, fail right away+ case ver of+ Just v | v > mkVersion [2,2] -> parseFailure zeroPos+ "Unsupported cabal-version. See https://github.com/haskell/cabal/issues/4899."+ _ -> pure () + case readFields' bs' of+ Right (fs, lexWarnings) -> do+ when patched $+ parseWarning zeroPos PWTQuirkyCabalFile "Legacy cabal file"+ -- UTF8 is validated in a prepass step, afterwards parsing is lenient.+ parseGenericPackageDescription' ver lexWarnings (validateUTF8 bs') fs+ -- TODO: better marshalling of errors+ Left perr -> parseFatalFailure pos (show perr) where+ ppos = P.errorPos perr+ pos = Position (P.sourceLine ppos) (P.sourceColumn ppos)+ where+ (patched, bs') = patchQuirks bs+ ver = scanSpecVersion bs'+ -- | 'Maybe' variant of 'parseGenericPackageDescription' parseGenericPackageDescriptionMaybe :: BS.ByteString -> Maybe GenericPackageDescription parseGenericPackageDescriptionMaybe =- trdOf3 . runParseResult . parseGenericPackageDescription- where- trdOf3 (_, _, x) = x--runFieldParser :: FieldParser a -> [FieldLine Position] -> ParseResult a-runFieldParser p ls = runFieldParser' pos p =<< fieldlinesToString pos ls- where- -- TODO: make per line lookup- pos = case ls of- [] -> Position 0 0- (FieldLine pos' _ : _) -> pos'+ either (const Nothing) Just . snd . runParseResult . parseGenericPackageDescription fieldlinesToBS :: [FieldLine ann] -> BS.ByteString fieldlinesToBS = BS.intercalate "\n" . map (\(FieldLine _ bs) -> bs) --- TODO: Take position from FieldLine--- TODO: Take field name-fieldlinesToString :: Position -> [FieldLine ann] -> ParseResult String-fieldlinesToString pos fls =- let str = intercalate "\n" . map (\(FieldLine _ bs') -> fromUTF8BS bs') $ fls- in if '\xfffd' `elem` str- then str <$ parseWarning pos PWTUTF "Invalid UTF8 encoding"- else pure str+-- Monad in which sections are parsed+type SectionParser = StateT SectionS ParseResult -runFieldParser' :: Position -> FieldParser a -> String -> ParseResult a-runFieldParser' (Position row col) p str = case P.runParser p' [] "<field>" str of- Right (pok, ws) -> do- -- TODO: map pos- traverse_ (\(PWarning t pos w) -> parseWarning pos t w) ws- pure pok- Left err -> do- let ppos = P.errorPos err- -- Positions start from 1:1, not 0:0- let epos = Position (row - 1 + P.sourceLine ppos) (col - 1 + P.sourceColumn ppos)- let msg = P.showErrorMessages- "or" "unknown parse error" "expecting" "unexpected" "end of input"- (P.errorMessages err)+-- | State of section parser+data SectionS = SectionS+ { _stateGpd :: !GenericPackageDescription+ , _stateCommonStanzas :: !(Map String CondTreeBuildInfo)+ } - parseFatalFailure epos $ msg ++ ": " ++ show str- where- p' = (,) <$ P.spaces <*> p <* P.spaces <* P.eof <*> P.getState+stateGpd :: Lens' SectionS GenericPackageDescription+stateGpd f (SectionS gpd cs) = (\x -> SectionS x cs) <$> f gpd+{-# INLINE stateGpd #-} +stateCommonStanzas :: Lens' SectionS (Map String CondTreeBuildInfo)+stateCommonStanzas f (SectionS gpd cs) = SectionS gpd <$> f cs+{-# INLINE stateCommonStanzas #-}+ -- Note [Accumulating parser] -- -- This parser has two "states": -- * first we parse fields of PackageDescription -- * then we parse sections (libraries, executables, etc) parseGenericPackageDescription'- :: [LexWarning]+ :: Maybe Version+ -> [LexWarning]+ -> Maybe Int -> [Field Position] -> ParseResult GenericPackageDescription-parseGenericPackageDescription' lexWarnings fs = do- parseWarnings' (fmap toPWarning lexWarnings)+parseGenericPackageDescription' cabalVerM lexWarnings utf8WarnPos fs = do+ parseWarnings (toPWarnings lexWarnings)+ for_ utf8WarnPos $ \pos ->+ parseWarning zeroPos PWTUTF $ "UTF8 encoding problem at byte offset " ++ show pos let (syntax, fs') = sectionizeFields fs- gpd <- goFields emptyGpd fs'- -- Various post checks- maybeWarnCabalVersion syntax (packageDescription gpd)- checkForUndefinedFlags gpd- -- TODO: do other validations- return gpd- where- -- First fields- goFields- :: GenericPackageDescription- -> [Field Position]- -> ParseResult GenericPackageDescription- goFields gpd [] = pure gpd- goFields gpd (Field (Name pos name) fieldLines : fields) =- case Map.lookup name pdFieldParsers of- -- TODO: can be more elegant- Nothing -> fieldlinesToString pos fieldLines >>= \value -> case storeXFieldsPD name value (packageDescription gpd) of- Nothing -> do- parseWarning pos PWTUnknownField $ "Unknown field: " ++ show name- goFields gpd fields- Just pd ->- goFields (gpd { packageDescription = pd }) fields- Just parser -> do- pd <- runFieldParser (parser $ packageDescription gpd) fieldLines- let gpd' = gpd { packageDescription = pd }- goFields gpd' fields- goFields gpd fields@(Section _ _ _ : _) = goSections gpd fields+ let (fields, sectionFields) = takeFields fs' + -- cabal-version+ cabalVer <- case cabalVerM of+ Just v -> return v+ Nothing -> case Map.lookup "cabal-version" fields >>= safeLast of+ Nothing -> return version0+ Just (MkNamelessField pos fls) -> do+ v <- specVersion' . Newtype.unpack' SpecVersion <$> runFieldParser pos parsec cabalSpecLatest fls+ when (v >= mkVersion [2,1]) $ parseFailure pos $+ "cabal-version should be at the beginning of the file starting with spec version 2.2. " +++ "See https://github.com/haskell/cabal/issues/4899"++ return v++ let specVer+ | cabalVer >= mkVersion [2,1] = CabalSpecV2_2+ | cabalVer >= mkVersion [1,25] = CabalSpecV2_0+ | cabalVer >= mkVersion [1,23] = CabalSpecV1_24+ | cabalVer >= mkVersion [1,21] = CabalSpecV1_22+ | otherwise = CabalSpecOld++ -- reset cabal version+ setCabalSpecVersion (Just cabalVer)++ -- Package description+ pd <- parseFieldGrammar specVer fields packageDescriptionFieldGrammar++ -- Check that scanned and parsed versions match.+ unless (cabalVer == specVersion pd) $ parseFailure zeroPos $+ "Scanned and parsed cabal-versions don't match " +++ prettyShow cabalVer ++ " /= " ++ prettyShow (specVersion pd)++ maybeWarnCabalVersion syntax pd+ -- Sections- goSections- :: GenericPackageDescription- -> [Field Position]- -> ParseResult GenericPackageDescription- goSections gpd [] = pure gpd- goSections gpd (Field (Name pos name) _ : fields) = do- parseWarning pos PWTTrailingFields $ "Ignoring trailing fields after sections: " ++ show name- goSections gpd fields- goSections gpd (Section name args secFields : fields) = do- gpd' <- parseSection gpd name args secFields- goSections gpd' fields+ let gpd = emptyGenericPackageDescription & L.packageDescription .~ pd - emptyGpd :: GenericPackageDescription- emptyGpd = GenericPackageDescription emptyPackageDescription [] Nothing [] [] [] [] []+ view stateGpd <$> execStateT (goSections specVer sectionFields) (SectionS gpd Map.empty)+ where+ safeLast :: [a] -> Maybe a+ safeLast = listToMaybe . reverse - pdFieldParsers :: Map FieldName (PackageDescription -> FieldParser PackageDescription)- pdFieldParsers = Map.fromList $- map (\x -> (fieldName x, fieldParser x)) pkgDescrFieldDescrs+ newSyntaxVersion :: Version+ newSyntaxVersion = mkVersion [1, 2] - parseSection- :: GenericPackageDescription- -> Name Position- -> [SectionArg Position]+ maybeWarnCabalVersion :: Syntax -> PackageDescription -> ParseResult ()+ maybeWarnCabalVersion syntax pkg+ | syntax == NewSyntax && specVersion pkg < newSyntaxVersion+ = parseWarning zeroPos PWTNewSyntax $+ "A package using section syntax must specify at least\n"+ ++ "'cabal-version: >= 1.2'."++ maybeWarnCabalVersion syntax pkg+ | syntax == OldSyntax && specVersion pkg >= newSyntaxVersion+ = parseWarning zeroPos PWTOldSyntax $+ "A package using 'cabal-version: "+ ++ displaySpecVersion (specVersionRaw pkg)+ ++ "' must use section syntax. See the Cabal user guide for details."+ where+ displaySpecVersion (Left version) = display version+ displaySpecVersion (Right versionRange) =+ case asVersionIntervals versionRange of+ [] {- impossible -} -> display versionRange+ ((LowerBound version _, _):_) -> display (orLaterVersion version)++ maybeWarnCabalVersion _ _ = return ()++goSections :: CabalSpecVersion -> [Field Position] -> SectionParser ()+goSections specVer = traverse_ process+ where+ process (Field (Name pos name) _) =+ lift $ parseWarning pos PWTTrailingFields $+ "Ignoring trailing fields after sections: " ++ show name+ process (Section name args secFields) =+ parseSection name args secFields++ snoc x xs = xs ++ [x]++ hasCommonStanzas = specHasCommonStanzas specVer++ -- we need signature, because this is polymorphic, but not-closed+ parseCondTree'+ :: FromBuildInfo a+ => ParsecFieldGrammar' a -- ^ grammar+ -> Map String CondTreeBuildInfo -- ^ common stanzas -> [Field Position]- -> ParseResult GenericPackageDescription- parseSection gpd (Name pos name) args fields+ -> ParseResult (CondTree ConfVar [Dependency] a)+ parseCondTree' = parseCondTreeWithCommonStanzas specVer++ parseSection :: Name Position -> [SectionArg Position] -> [Field Position] -> SectionParser ()+ parseSection (Name pos name) args fields+ | hasCommonStanzas == NoCommonStanzas, name == "common" = lift $ do+ parseWarning pos PWTUnknownSection $ "Ignoring section: common. You should set cabal-version: 2.2 or larger to use common stanzas."++ | name == "common" = do+ commonStanzas <- use stateCommonStanzas+ name' <- lift $ parseCommonName pos args+ biTree <- lift $ parseCondTree' buildInfoFieldGrammar commonStanzas fields++ case Map.lookup name' commonStanzas of+ Nothing -> stateCommonStanzas .= Map.insert name' biTree commonStanzas+ Just _ -> lift $ parseFailure pos $+ "Duplicate common stanza: " ++ name'+ | name == "library" && null args = do+ commonStanzas <- use stateCommonStanzas+ lib <- lift $ parseCondTree' (libraryFieldGrammar Nothing) commonStanzas fields -- TODO: check that library is defined once- l <- parseCondTree libFieldDescrs storeXFieldsLib (targetBuildDepends . libBuildInfo) emptyLibrary fields- let gpd' = gpd { condLibrary = Just l }- pure gpd'+ stateGpd . L.condLibrary ?= lib -- Sublibraries+ -- TODO: check cabal-version | name == "library" = do+ commonStanzas <- use stateCommonStanzas name' <- parseUnqualComponentName pos args- lib <- parseCondTree libFieldDescrs storeXFieldsLib (targetBuildDepends . libBuildInfo) emptyLibrary fields+ lib <- lift $ parseCondTree' (libraryFieldGrammar $ Just name') commonStanzas fields -- TODO check duplicate name here?- let gpd' = gpd { condSubLibraries = condSubLibraries gpd ++ [(name', lib)] }- pure gpd'+ stateGpd . L.condSubLibraries %= snoc (name', lib) + -- TODO: check cabal-version | name == "foreign-library" = do+ commonStanzas <- use stateCommonStanzas name' <- parseUnqualComponentName pos args- flib <- parseCondTree foreignLibFieldDescrs storeXFieldsForeignLib (targetBuildDepends . foreignLibBuildInfo) emptyForeignLib fields+ flib <- lift $ parseCondTree' (foreignLibFieldGrammar name') commonStanzas fields++ let hasType ts = foreignLibType ts /= foreignLibType mempty+ unless (onAllBranches hasType flib) $ lift $ parseFailure pos $ concat+ [ "Foreign library " ++ show (display name')+ , " is missing required field \"type\" or the field "+ , "is not present in all conditional branches. The "+ , "available test types are: "+ , intercalate ", " (map display knownForeignLibTypes)+ ]+ -- TODO check duplicate name here?- let gpd' = gpd { condForeignLibs = condForeignLibs gpd ++ [(name', flib)] }- pure gpd'+ stateGpd . L.condForeignLibs %= snoc (name', flib) | name == "executable" = do+ commonStanzas <- use stateCommonStanzas name' <- parseUnqualComponentName pos args- -- Note: we don't parse the "executable" field here, hence the tail hack. Duncan 2010- exe <- parseCondTree (tail executableFieldDescrs) storeXFieldsExe (targetBuildDepends . buildInfo) emptyExecutable fields+ exe <- lift $ parseCondTree' (executableFieldGrammar name') commonStanzas fields -- TODO check duplicate name here?- let gpd' = gpd { condExecutables = condExecutables gpd ++ [(name', exe)] }- pure gpd'+ stateGpd . L.condExecutables %= snoc (name', exe) | name == "test-suite" = do- name' <- parseUnqualComponentName pos args- testStanza <- parseCondTree testSuiteFieldDescrs storeXFieldsTest (targetBuildDepends . testStanzaBuildInfo) emptyTestStanza fields- testSuite <- traverse (validateTestSuite pos) testStanza+ commonStanzas <- use stateCommonStanzas+ name' <- parseUnqualComponentName pos args+ testStanza <- lift $ parseCondTree' testSuiteFieldGrammar commonStanzas fields+ testSuite <- lift $ traverse (validateTestSuite pos) testStanza++ let hasType ts = testInterface ts /= testInterface mempty+ unless (onAllBranches hasType testSuite) $ lift $ parseFailure pos $ concat+ [ "Test suite " ++ show (display name')+ , " is missing required field \"type\" or the field "+ , "is not present in all conditional branches. The "+ , "available test types are: "+ , intercalate ", " (map display knownTestTypes)+ ]+ -- TODO check duplicate name here?- let gpd' = gpd { condTestSuites = condTestSuites gpd ++ [(name', testSuite)] }- pure gpd'+ stateGpd . L.condTestSuites %= snoc (name', testSuite) | name == "benchmark" = do- name' <- parseUnqualComponentName pos args- benchStanza <- parseCondTree benchmarkFieldDescrs storeXFieldsBenchmark (targetBuildDepends . benchmarkStanzaBuildInfo) emptyBenchmarkStanza fields- bench <- traverse (validateBenchmark pos) benchStanza+ commonStanzas <- use stateCommonStanzas+ name' <- parseUnqualComponentName pos args+ benchStanza <- lift $ parseCondTree' benchmarkFieldGrammar commonStanzas fields+ bench <- lift $ traverse (validateBenchmark pos) benchStanza++ let hasType ts = benchmarkInterface ts /= benchmarkInterface mempty+ unless (onAllBranches hasType bench) $ lift $ parseFailure pos $ concat+ [ "Benchmark " ++ show (display name')+ , " is missing required field \"type\" or the field "+ , "is not present in all conditional branches. The "+ , "available benchmark types are: "+ , intercalate ", " (map display knownBenchmarkTypes)+ ]+ -- TODO check duplicate name here?- let gpd' = gpd { condBenchmarks = condBenchmarks gpd ++ [(name', bench)] }- pure gpd'+ stateGpd . L.condBenchmarks %= snoc (name', bench) | name == "flag" = do- name' <- parseName pos args- name'' <- runFieldParser' pos parsec name' `recoverWith` mkFlagName ""- flag <- parseFields flagFieldDescrs warnUnrec (emptyFlag name'') fields+ name' <- parseNameBS pos args+ name'' <- lift $ runFieldParser' pos parsec specVer (fieldLineStreamFromBS name') `recoverWith` mkFlagName ""+ flag <- lift $ parseFields specVer fields (flagFieldGrammar name'') -- Check default flag- let gpd' = gpd { genPackageFlags = genPackageFlags gpd ++ [flag] }- pure gpd'+ stateGpd . L.genPackageFlags %= snoc flag | name == "custom-setup" && null args = do- sbi <- parseFields setupBInfoFieldDescrs warnUnrec mempty fields- let pd = packageDescription gpd- -- TODO: what if already defined?- let gpd' = gpd { packageDescription = pd { setupBuildInfo = Just sbi } }- pure gpd'+ sbi <- lift $ parseFields specVer fields (setupBInfoFieldGrammar False)+ stateGpd . L.packageDescription . L.setupBuildInfo ?= sbi | name == "source-repository" = do- kind <- case args of+ kind <- lift $ case args of [SecArgName spos secName] ->- runFieldParser' spos parsec (fromUTF8BS secName) `recoverWith` RepoHead+ runFieldParser' spos parsec specVer (fieldLineStreamFromBS secName) `recoverWith` RepoHead [] -> do- parseFailure pos $ "'source-repository' needs one argument"+ parseFailure pos "'source-repository' requires exactly one argument" pure RepoHead _ -> do parseFailure pos $ "Invalid source-repository kind " ++ show args pure RepoHead- sr <- parseFields sourceRepoFieldDescrs warnUnrec (emptySourceRepo kind) fields- -- I want lens- let pd = packageDescription gpd- let srs = sourceRepos pd- let gpd' = gpd { packageDescription = pd { sourceRepos = srs ++ [sr] } }- pure gpd' - | otherwise = do- parseWarning pos PWTUnknownSection $ "Ignoring section: " ++ show name- pure gpd-- newSyntaxVersion :: Version- newSyntaxVersion = mkVersion [1, 2]-- maybeWarnCabalVersion :: Syntax -> PackageDescription -> ParseResult ()- maybeWarnCabalVersion syntax pkg- | syntax == NewSyntax && specVersion pkg < newSyntaxVersion- = parseWarning (Position 0 0) PWTNewSyntax $- "A package using section syntax must specify at least\n"- ++ "'cabal-version: >= 1.2'."-- maybeWarnCabalVersion syntax pkg- | syntax == OldSyntax && specVersion pkg >= newSyntaxVersion- = parseWarning (Position 0 0) PWTOldSyntax $- "A package using 'cabal-version: "- ++ displaySpecVersion (specVersionRaw pkg)- ++ "' must use section syntax. See the Cabal user guide for details."- where- displaySpecVersion (Left version) = display version- displaySpecVersion (Right versionRange) =- case asVersionIntervals versionRange of- [] {- impossible -} -> display versionRange- ((LowerBound version _, _):_) -> display (orLaterVersion version)-- maybeWarnCabalVersion _ _ = return ()--{-- handleFutureVersionParseFailure :: Version -> ParseResult a -> ParseResult GenericPackageDescription- handleFutureVersionParseFailure _cabalVersionNeeded _parseBody =- error "handleFutureVersionParseFailure"--}+ sr <- lift $ parseFields specVer fields (sourceRepoFieldGrammar kind)+ stateGpd . L.packageDescription . L.sourceRepos %= snoc sr - {-- undefined (unless versionOk (warning message) >> parseBody)- `catchParseError` \parseError -> case parseError of- TabsError _ -> parseFail parseError- _ | versionOk -> parseFail parseError- | otherwise -> fail message- where versionOk = cabalVersionNeeded <= cabalVersion- message = "This package requires at least Cabal version "- ++ display cabalVersionNeeded- -}+ | otherwise = lift $+ parseWarning pos PWTUnknownSection $ "Ignoring section: " ++ show name - checkForUndefinedFlags- :: GenericPackageDescription- -> ParseResult ()- checkForUndefinedFlags _gpd = pure ()-{-- let definedFlags = map flagName flags- mapM_ (checkCondTreeFlags definedFlags) (maybeToList mlib)- mapM_ (checkCondTreeFlags definedFlags . snd) sub_libs- mapM_ (checkCondTreeFlags definedFlags . snd) exes- mapM_ (checkCondTreeFlags definedFlags . snd) tests+parseName :: Position -> [SectionArg Position] -> SectionParser String+parseName pos args = fromUTF8BS <$> parseNameBS pos args - checkCondTreeFlags :: [FlagName] -> CondTree ConfVar c a -> PM ()- checkCondTreeFlags definedFlags ct = do- let fv = nub $ freeVars ct- unless (all (`elem` definedFlags) fv) $- fail $ "These flags are used without having been defined: "- ++ intercalate ", " [ n | FlagName n <- fv \\ definedFlags ]--}+parseNameBS :: Position -> [SectionArg Position] -> SectionParser BS.ByteString+-- TODO: use strict parser+parseNameBS pos args = case args of+ [SecArgName _pos secName] ->+ pure secName+ [SecArgStr _pos secName] ->+ pure secName+ [] -> do+ lift $ parseFailure pos "name required"+ pure ""+ _ -> do+ -- TODO: pretty print args+ lift $ parseFailure pos $ "Invalid name " ++ show args+ pure "" -parseName :: Position -> [SectionArg Position] -> ParseResult String-parseName pos args = case args of+parseCommonName :: Position -> [SectionArg Position] -> ParseResult String+parseCommonName pos args = case args of [SecArgName _pos secName] -> pure $ fromUTF8BS secName [SecArgStr _pos secName] ->- pure secName+ pure $ fromUTF8BS secName [] -> do parseFailure pos $ "name required" pure ""@@ -376,113 +425,85 @@ parseFailure pos $ "Invalid name " ++ show args pure "" -parseUnqualComponentName :: Position -> [SectionArg Position] -> ParseResult UnqualComponentName+-- TODO: avoid conversion to 'String'.+parseUnqualComponentName :: Position -> [SectionArg Position] -> SectionParser UnqualComponentName parseUnqualComponentName pos args = mkUnqualComponentName <$> parseName pos args ---- | Parse a non-recursive list of fields, given a list of field descriptions,--- a structure to accumulate the parsed fields, and a function--- that can decide what to do with fields which don't match any--- of the field descriptions.+-- | Parse a non-recursive list of fields. parseFields- :: forall a.- [FieldDescr a] -- ^ descriptions of fields we know how to parse- -> UnknownFieldParser a -- ^ possibly do something with unrecognized fields- -> a -- ^ accumulator- -> [Field Position] -- ^ fields to be parsed+ :: CabalSpecVersion+ -> [Field Position] -- ^ fields to be parsed+ -> ParsecFieldGrammar' a -> ParseResult a-parseFields descrs _unknown = foldM go- where- go :: a -> Field Position -> ParseResult a- go x (Section (Name pos name) _ _) = do- -- Even we occur a subsection, we can continue parsing- parseFailure pos $ "invalid subsection " ++ show name- return x- go x (Field (Name pos name) fieldLines) =- case Map.lookup name fieldParsers of- Nothing -> do- -- TODO: use 'unknown'- parseWarning pos PWTUnknownField $ "Unknown field: " ++ show name- return x- Just parser ->- runFieldParser (parser x) fieldLines-- fieldParsers :: Map FieldName (a -> FieldParser a)- fieldParsers = Map.fromList $- map (\x -> (fieldName x, fieldParser x)) descrs+parseFields v fields grammar = do+ let (fs0, ss) = partitionFields fields+ traverse_ (traverse_ warnInvalidSubsection) ss+ parseFieldGrammar v fs0 grammar -type C c a = CondBranch ConfVar c a+warnInvalidSubsection :: Section Position -> ParseResult ()+warnInvalidSubsection (MkSection (Name pos name) _ _) =+ void (parseFailure pos $ "invalid subsection " ++ show name) parseCondTree :: forall a c.- [FieldDescr a] -- ^ Field descriptions- -> UnknownFieldParser a -- ^ How to parse unknown fields- -> (a -> c) -- ^ Condition extractor- -> a -- ^ Initial value- -> [Field Position] -- ^ Fields to parse+ CabalSpecVersion+ -> HasElif -- ^ accept @elif@+ -> ParsecFieldGrammar' a -- ^ grammar+ -> (a -> c) -- ^ condition extractor+ -> [Field Position] -> ParseResult (CondTree ConfVar c a)-parseCondTree descs unknown cond ini = impl+parseCondTree v hasElif grammar cond = go where- impl :: [Field Position] -> ParseResult (CondTree ConfVar c a)- impl fields = do- (x, xs) <- goFields (ini, mempty) fields- return $ CondNode x (cond x) (SnocList.runSnocList xs)+ go fields = do+ let (fs, ss) = partitionFields fields+ x <- parseFieldGrammar v fs grammar+ branches <- concat <$> traverse parseIfs ss+ return (CondNode x (cond x) branches) -- TODO: branches - goFields- :: (a, SnocList.SnocList (C c a))- -> [Field Position]- -> ParseResult (a, SnocList.SnocList (C c a))- goFields xss [] = return xss+ parseIfs :: [Section Position] -> ParseResult [CondBranch ConfVar c a]+ parseIfs [] = return []+ parseIfs (MkSection (Name _ name) test fields : sections) | name == "if" = do+ test' <- parseConditionConfVar test+ fields' <- go fields+ -- TODO: else+ (elseFields, sections') <- parseElseIfs sections+ return (CondBranch test' fields' elseFields : sections')+ parseIfs (MkSection (Name pos name) _ _ : sections) = do+ parseWarning pos PWTInvalidSubsection $ "invalid subsection " ++ show name+ parseIfs sections - goFields xxs (Section (Name _pos name) tes con : fields) | name == "if" = do- tes' <- parseConditionConfVar tes- con' <- impl con- -- Jump to 'else' state- goElse tes' con' xxs fields+ parseElseIfs+ :: [Section Position]+ -> ParseResult (Maybe (CondTree ConfVar c a), [CondBranch ConfVar c a])+ parseElseIfs [] = return (Nothing, [])+ parseElseIfs (MkSection (Name pos name) args fields : sections) | name == "else" = do+ unless (null args) $+ parseFailure pos $ "`else` section has section arguments " ++ show args+ elseFields <- go fields+ sections' <- parseIfs sections+ return (Just elseFields, sections') - goFields xxs (Section (Name pos name) _ _ : fields) = do- -- Even we occur a subsection, we can continue parsing- -- http://hackage.haskell.org/package/constraints-0.1/constraints.cabal- parseWarning pos PWTInvalidSubsection $ "invalid subsection " ++ show name- goFields xxs fields - goFields (x, xs) (Field (Name pos name) fieldLines : fields) =- case Map.lookup name fieldParsers of- Nothing -> fieldlinesToString pos fieldLines >>= \value -> case unknown name value x of- Nothing -> do- parseWarning pos PWTUnknownField $ "Unknown field: " ++ show name- goFields (x, xs) fields- Just x' -> do- goFields (x', xs) fields- Just parser -> do- x' <- runFieldParser (parser x) fieldLines- goFields (x', xs) fields - -- Try to parse else branch- goElse- :: Condition ConfVar- -> CondTree ConfVar c a- -> (a, SnocList.SnocList (C c a))- -> [Field Position]- -> ParseResult (a, SnocList.SnocList (C c a))- goElse tes con (x, xs) (Section (Name pos name) secArgs alt : fields) | name == "else" = do- when (not . null $ secArgs) $ do- parseFailure pos $ "`else` section has section arguments " ++ show secArgs- alt' <- case alt of- [] -> pure Nothing- _ -> Just <$> impl alt- let ieb = (CondBranch tes con alt')- goFields (x, SnocList.snoc xs ieb) fields- goElse tes con (x, xs) fields = do- let ieb = (CondBranch tes con Nothing)- goFields (x, SnocList.snoc xs ieb) fields+ parseElseIfs (MkSection (Name _ name) test fields : sections) | hasElif == HasElif, name == "elif" = do+ -- TODO: check cabal-version+ test' <- parseConditionConfVar test+ fields' <- go fields+ (elseFields, sections') <- parseElseIfs sections+ -- we parse an empty 'Fields', to get empty value for a node+ a <- parseFieldGrammar v mempty grammar+ return (Just $ CondNode a (cond a) [CondBranch test' fields' elseFields], sections') - fieldParsers :: Map FieldName (a -> FieldParser a)- fieldParsers = Map.fromList $- map (\x -> (fieldName x, fieldParser x)) descs+ parseElseIfs (MkSection (Name pos name) _ _ : sections) | name == "elif" = do+ parseWarning pos PWTInvalidSubsection $ "invalid subsection \"elif\". You should set cabal-version: 2.2 or larger to use elif-conditionals."+ (,) Nothing <$> parseIfs sections + parseElseIfs sections = (,) Nothing <$> parseIfs sections+ {- Note [Accumulating parser] +Note: Outdated a bit+ In there parser, @'FieldDescr' a@ is transformed into @Map FieldName (a -> FieldParser a)@. The weird value is used because we accumulate structure of @a@ by folding over the fields. There are various reasons for that:@@ -502,9 +523,143 @@ -} -------------------------------------------------------------------------------+-- Common stanzas+-------------------------------------------------------------------------------++-- $commonStanzas+--+-- [Note: Common stanzas]+--+-- In Cabal 2.2 we support simple common stanzas:+--+-- * Commons stanzas define 'BuildInfo'+--+-- * import "fields" can only occur at top of other stanzas (think: imports)+--+-- In particular __there aren't__+--+-- * implicit stanzas+--+-- * More specific common stanzas (executable, test-suite).+--+--+-- The approach uses the fact that 'BuildInfo' is a 'Monoid':+--+-- @+-- mergeCommonStanza' :: HasBuildInfo comp => BuildInfo -> comp -> comp+-- mergeCommonStanza' bi = over L.BuildInfo (bi <>)+-- @+--+-- Real 'mergeCommonStanza' is more complicated as we have to deal with+-- conditional trees.+--+-- The approach is simple, and have good properties:+--+-- * Common stanzas are parsed exactly once, even if not-used. Thus we report errors in them.+--+type CondTreeBuildInfo = CondTree ConfVar [Dependency] BuildInfo++-- | Create @a@ from 'BuildInfo'.+--+-- Law: @view buildInfo . fromBuildInfo = id@+class L.HasBuildInfo a => FromBuildInfo a where+ fromBuildInfo :: BuildInfo -> a++instance FromBuildInfo BuildInfo where fromBuildInfo = id+instance FromBuildInfo Library where fromBuildInfo bi = set L.buildInfo bi emptyLibrary+instance FromBuildInfo ForeignLib where fromBuildInfo bi = set L.buildInfo bi emptyForeignLib+instance FromBuildInfo Executable where fromBuildInfo bi = set L.buildInfo bi emptyExecutable++instance FromBuildInfo TestSuiteStanza where+ fromBuildInfo = TestSuiteStanza Nothing Nothing Nothing++instance FromBuildInfo BenchmarkStanza where+ fromBuildInfo = BenchmarkStanza Nothing Nothing Nothing++parseCondTreeWithCommonStanzas+ :: forall a. FromBuildInfo a+ => CabalSpecVersion+ -> ParsecFieldGrammar' a -- ^ grammar+ -> Map String CondTreeBuildInfo -- ^ common stanzas+ -> [Field Position]+ -> ParseResult (CondTree ConfVar [Dependency] a)+parseCondTreeWithCommonStanzas v grammar commonStanzas = goImports []+ where+ hasElif = specHasElif v+ hasCommonStanzas = specHasCommonStanzas v++ getList' :: List CommaFSep Token String -> [String]+ getList' = Newtype.unpack++ -- parse leading imports+ -- not supported:+ goImports acc (Field (Name pos name) _ : fields) | name == "import", hasCommonStanzas == NoCommonStanzas = do+ parseWarning pos PWTUnknownField "Unknown field: import. You should set cabal-version: 2.2 or larger to use common stanzas"+ goImports acc fields+ -- supported:+ goImports acc (Field (Name pos name) fls : fields) | name == "import" = do+ names <- getList' <$> runFieldParser pos parsec v fls+ names' <- for names $ \commonName ->+ case Map.lookup commonName commonStanzas of+ Nothing -> do+ parseFailure pos $ "Undefined common stanza imported: " ++ commonName+ pure Nothing+ Just commonTree ->+ pure (Just commonTree)++ goImports (acc ++ catMaybes names') fields++ -- Go to parsing condTree after first non-import 'Field'.+ goImports acc fields = go acc fields++ -- parse actual CondTree+ go :: [CondTreeBuildInfo] -> [Field Position] -> ParseResult (CondTree ConfVar [Dependency] a)+ go bis fields = do+ x <- parseCondTree v hasElif grammar (view L.targetBuildDepends) fields+ pure $ foldr mergeCommonStanza x bis++mergeCommonStanza+ :: forall a. FromBuildInfo a+ => CondTree ConfVar [Dependency] BuildInfo+ -> CondTree ConfVar [Dependency] a+ -> CondTree ConfVar [Dependency] a+mergeCommonStanza (CondNode bi _ bis) (CondNode x _ cs) =+ CondNode x' (x' ^. L.targetBuildDepends) cs'+ where+ -- new value is old value with buildInfo field _prepended_.+ x' = x & L.buildInfo %~ (bi <>)++ -- tree components are appended together.+ cs' = map (fmap fromBuildInfo) bis ++ cs++-------------------------------------------------------------------------------+-- Branches+-------------------------------------------------------------------------------++-- Check that a property holds on all branches of a condition tree+onAllBranches :: forall v c a. Monoid a => (a -> Bool) -> CondTree v c a -> Bool+onAllBranches p = go mempty+ where+ -- If the current level of the tree satisfies the property, then we are+ -- done. If not, then one of the conditional branches below the current node+ -- must satisfy it. Each node may have multiple immediate children; we only+ -- one need one to satisfy the property because the configure step uses+ -- 'mappend' to join together the results of flag resolution.+ go :: a -> CondTree v c a -> Bool+ go acc ct = let acc' = acc `mappend` condTreeData ct+ in p acc' || any (goBranch acc') (condTreeComponents ct)++ -- Both the 'true' and the 'false' block must satisfy the property.+ goBranch :: a -> CondBranch v c a -> Bool+ goBranch _ (CondBranch _ _ Nothing) = False+ goBranch acc (CondBranch _ t (Just e)) = go acc t && go acc e++------------------------------------------------------------------------------- -- Old syntax ------------------------------------------------------------------------------- +-- TODO: move to own module+ -- | "Sectionize" an old-style Cabal file. A sectionized file has: -- -- * all global fields at the beginning, followed by@@ -565,5 +720,111 @@ data Syntax = OldSyntax | NewSyntax deriving (Eq, Show) +-- TODO: libFieldNames :: [FieldName]-libFieldNames = map fieldName libFieldDescrs+libFieldNames = fieldGrammarKnownFieldList (libraryFieldGrammar Nothing)++-------------------------------------------------------------------------------+-- Suplementary build information+-------------------------------------------------------------------------------++readHookedBuildInfo :: Verbosity -> FilePath -> IO HookedBuildInfo+readHookedBuildInfo = readAndParseFile parseHookedBuildInfo++parseHookedBuildInfo :: BS.ByteString -> ParseResult HookedBuildInfo+parseHookedBuildInfo bs = case readFields' bs of+ Right (fs, lexWarnings) -> do+ parseHookedBuildInfo' lexWarnings fs+ -- TODO: better marshalling of errors+ Left perr -> parseFatalFailure zeroPos (show perr)++parseHookedBuildInfo'+ :: [LexWarning]+ -> [Field Position]+ -> ParseResult HookedBuildInfo+parseHookedBuildInfo' lexWarnings fs = do+ parseWarnings (toPWarnings lexWarnings)+ (mLibFields, exes) <- stanzas fs+ mLib <- parseLib mLibFields+ biExes <- traverse parseExe exes+ return (mLib, biExes)+ where+ parseLib :: Fields Position -> ParseResult (Maybe BuildInfo)+ parseLib fields+ | Map.null fields = pure Nothing+ | otherwise = Just <$> parseFieldGrammar cabalSpecLatest fields buildInfoFieldGrammar++ parseExe :: (UnqualComponentName, Fields Position) -> ParseResult (UnqualComponentName, BuildInfo)+ parseExe (n, fields) = do+ bi <- parseFieldGrammar cabalSpecLatest fields buildInfoFieldGrammar+ pure (n, bi)++ stanzas :: [Field Position] -> ParseResult (Fields Position, [(UnqualComponentName, Fields Position)])+ stanzas fields = do+ let (hdr0, exes0) = breakMaybe isExecutableField fields+ hdr <- toFields hdr0+ exes <- unfoldrM (traverse toExe) exes0+ pure (hdr, exes)++ toFields :: [Field Position] -> ParseResult (Fields Position)+ toFields fields = do+ let (fields', ss) = partitionFields fields+ traverse_ (traverse_ warnInvalidSubsection) ss+ pure fields'++ toExe+ :: ([FieldLine Position], [Field Position])+ -> ParseResult ((UnqualComponentName, Fields Position), Maybe ([FieldLine Position], [Field Position]))+ toExe (fss, fields) = do+ name <- runFieldParser zeroPos parsec cabalSpecLatest fss+ let (hdr0, rest) = breakMaybe isExecutableField fields+ hdr <- toFields hdr0+ pure ((name, hdr), rest)++ isExecutableField (Field (Name _ name) fss)+ | name == "executable" = Just fss+ | otherwise = Nothing+ isExecutableField _ = Nothing++-- | Quickly scan new-style spec-version+--+-- A new-style spec-version declaration begins the .cabal file and+-- follow the following case-insensitive grammar (expressed in+-- RFC5234 ABNF):+--+-- @+-- newstyle-spec-version-decl = "cabal-version" *WS ":" *WS newstyle-pec-version *WS+--+-- spec-version = NUM "." NUM [ "." NUM ]+--+-- NUM = DIGIT0 / DIGITP 1*DIGIT0+-- DIGIT0 = %x30-39+-- DIGITP = %x31-39+-- WS = %20+-- @+--+scanSpecVersion :: BS.ByteString -> Maybe Version+scanSpecVersion bs = do+ fstline':_ <- pure (BS8.lines bs)++ -- parse <newstyle-spec-version-decl>+ -- normalise: remove all whitespace, convert to lower-case+ let fstline = BS.map toLowerW8 $ BS.filter (/= 0x20) fstline'+ ["cabal-version",vers] <- pure (BS8.split ':' fstline)++ -- parse <spec-version>+ --+ -- This is currently more tolerant regarding leading 0 digits.+ --+ ver <- simpleParsec (BS8.unpack vers)+ guard $ case versionNumbers ver of+ [_,_] -> True+ [_,_,_] -> True+ _ -> False++ pure ver+ where+ -- | Translate ['A'..'Z'] to ['a'..'z']+ toLowerW8 :: Word8 -> Word8+ toLowerW8 w | 0x40 < w && w < 0x5b = w+0x20+ | otherwise = w
@@ -1,619 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}--- | 'GenericPackageDescription' Field descriptions-module Distribution.PackageDescription.Parsec.FieldDescr (- -- * Package description- pkgDescrFieldDescrs,- storeXFieldsPD,- -- * Library- libFieldDescrs,- storeXFieldsLib,- -- * Foreign library- foreignLibFieldDescrs,- storeXFieldsForeignLib,- -- * Executable- executableFieldDescrs,- storeXFieldsExe,- -- * Test suite- TestSuiteStanza (..),- emptyTestStanza,- testSuiteFieldDescrs,- storeXFieldsTest,- validateTestSuite,- -- * Benchmark- BenchmarkStanza (..),- emptyBenchmarkStanza,- benchmarkFieldDescrs,- storeXFieldsBenchmark,- validateBenchmark,- -- * Flag- flagFieldDescrs,- -- * Source repository- sourceRepoFieldDescrs,- -- * Setup build info- setupBInfoFieldDescrs,- ) where--import Prelude ()-import Distribution.Compat.Prelude-import qualified Data.ByteString as BS-import Data.List (dropWhileEnd)-import qualified Distribution.Compat.Parsec as Parsec-import Distribution.Compiler (CompilerFlavor (..))-import Distribution.ModuleName (ModuleName)-import Distribution.Package-import Distribution.PackageDescription-import Distribution.Types.ForeignLib-import Distribution.Parsec.Class-import Distribution.Parsec.Types.Common-import Distribution.Parsec.Types.FieldDescr-import Distribution.Parsec.Types.ParseResult-import Distribution.PrettyUtils-import Distribution.Simple.Utils (fromUTF8BS)-import Distribution.Text (disp, display)-import Text.PrettyPrint (vcat)------------------------------------------------------------------------------------ common FieldParsers------------------------------------------------------------------------------------ | This is /almost/ @'many' 'Distribution.Compat.Parsec.anyChar'@, but it------ * trims whitespace from ends of the lines,------ * converts lines with only single dot into empty line.----freeTextFieldParser :: FieldParser String-freeTextFieldParser = dropDotLines <$ Parsec.spaces <*> many Parsec.anyChar- where- -- Example package with dot lines- -- http://hackage.haskell.org/package/copilot-cbmc-0.1/copilot-cbmc.cabal- dropDotLines "." = "."- dropDotLines x = intercalate "\n" . map dotToEmpty . lines $ x- dotToEmpty x | trim' x == "." = ""- dotToEmpty x = trim x-- trim' = dropWhileEnd (`elem` (" \t" :: String))------------------------------------------------------------------------------------ PackageDescription------------------------------------------------------------------------------------ TODO: other-files isn't used in any cabal file on Hackage.-pkgDescrFieldDescrs :: [FieldDescr PackageDescription]-pkgDescrFieldDescrs =- [ simpleField "name"- disp parsec- packageName (\name pkg -> pkg{package=(package pkg){pkgName=name}})- , simpleField "version"- disp parsec- packageVersion (\ver pkg -> pkg{package=(package pkg){pkgVersion=ver}})- , simpleField "cabal-version"- (either disp disp) (Left <$> parsec <|> Right <$> parsec)- specVersionRaw (\v pkg -> pkg{specVersionRaw=v})- , simpleField "build-type"- (maybe mempty disp) (Just <$> parsec)- buildType (\t pkg -> pkg{buildType=t})- , simpleField "license"- disp (parsecMaybeQuoted parsec)- license (\l pkg -> pkg{license=l})- , simpleField "license-file"- showFilePath parsecFilePath- (\pkg -> case licenseFiles pkg of- [x] -> x- _ -> "")- (\l pkg -> pkg{licenseFiles=licenseFiles pkg ++ [l]})- -- We have both 'license-file' and 'license-files' fields.- -- Rather than declaring license-file to be deprecated, we will continue- -- to allow both. The 'license-file' will continue to only allow single- -- tokens, while 'license-files' allows multiple. On pretty-printing, we- -- will use 'license-file' if there's just one, and use 'license-files'- -- otherwise.- , listField "license-files"- showFilePath parsecFilePath- (\pkg -> case licenseFiles pkg of- [_] -> []- xs -> xs)- (\ls pkg -> pkg{licenseFiles=ls})- , simpleField "copyright"- showFreeText freeTextFieldParser- copyright (\val pkg -> pkg{copyright=val})- , simpleField "maintainer"- showFreeText freeTextFieldParser- maintainer (\val pkg -> pkg{maintainer=val})- , simpleField "stability"- showFreeText freeTextFieldParser- stability (\val pkg -> pkg{stability=val})- , simpleField "homepage"- showFreeText freeTextFieldParser- homepage (\val pkg -> pkg{homepage=val})- , simpleField "package-url"- showFreeText freeTextFieldParser- pkgUrl (\val pkg -> pkg{pkgUrl=val})- , simpleField "bug-reports"- showFreeText freeTextFieldParser- bugReports (\val pkg -> pkg{bugReports=val})- , simpleField "synopsis"- showFreeText freeTextFieldParser- synopsis (\val pkg -> pkg{synopsis=val})- , simpleField "description"- showFreeText freeTextFieldParser- description (\val pkg -> pkg{description=val})- , simpleField "category"- showFreeText freeTextFieldParser- category (\val pkg -> pkg{category=val})- , simpleField "author"- showFreeText freeTextFieldParser- author (\val pkg -> pkg{author=val})- , listField "tested-with"- showTestedWith parsecTestedWith- testedWith (\val pkg -> pkg{testedWith=val})- , listFieldWithSep vcat "data-files"- showFilePath parsecFilePath- dataFiles (\val pkg -> pkg{dataFiles=val})- , simpleField "data-dir"- showFilePath parsecFilePath- dataDir (\val pkg -> pkg{dataDir=val})- , listFieldWithSep vcat "extra-source-files"- showFilePath parsecFilePath- extraSrcFiles (\val pkg -> pkg{extraSrcFiles=val})- , listFieldWithSep vcat "extra-tmp-files"- showFilePath parsecFilePath- extraTmpFiles (\val pkg -> pkg{extraTmpFiles=val})- , listFieldWithSep vcat "extra-doc-files"- showFilePath parsecFilePath- extraDocFiles (\val pkg -> pkg{extraDocFiles=val})- ]---- | Store any fields beginning with "x-" in the customFields field of--- a PackageDescription. All other fields will generate a warning.-storeXFieldsPD :: UnknownFieldParser PackageDescription-storeXFieldsPD f val pkg | beginsWithX f =- Just pkg { customFieldsPD = customFieldsPD pkg ++ [(fromUTF8BS f, trim val)] }-storeXFieldsPD _ _ _ = Nothing------------------------------------------------------------------------------------ Library----------------------------------------------------------------------------------libFieldDescrs :: [FieldDescr Library]-libFieldDescrs =- [ listFieldWithSep vcat "exposed-modules" disp (parsecMaybeQuoted parsec)- exposedModules (\mods lib -> lib{exposedModules=mods})- , commaListFieldWithSep vcat "reexported-modules" disp parsec- reexportedModules (\mods lib -> lib{reexportedModules=mods})-- , listFieldWithSep vcat "signatures" disp (parsecMaybeQuoted parsec)- signatures (\mods lib -> lib{signatures=mods})-- , boolField "exposed"- libExposed (\val lib -> lib{libExposed=val})- ] ++ map biToLib binfoFieldDescrs- where- biToLib = liftField libBuildInfo (\bi lib -> lib{libBuildInfo=bi})--storeXFieldsLib :: UnknownFieldParser Library-storeXFieldsLib f val l@Library { libBuildInfo = bi } | beginsWithX f =- Just $ l {libBuildInfo =- bi{ customFieldsBI = customFieldsBI bi ++ [(fromUTF8BS f, trim val)]}}-storeXFieldsLib _ _ _ = Nothing------------------------------------------------------------------------------------ Foreign library----------------------------------------------------------------------------------foreignLibFieldDescrs :: [FieldDescr ForeignLib]-foreignLibFieldDescrs =- [ simpleField "type"- disp parsec- foreignLibType (\x flib -> flib { foreignLibType = x })- , listField "options"- disp parsec- foreignLibOptions (\x flib -> flib { foreignLibOptions = x })- , simpleField "lib-version-info"- (maybe mempty disp) (Just <$> parsec)- foreignLibVersionInfo (\x flib -> flib { foreignLibVersionInfo = x })- , simpleField "lib-version-linux"- (maybe mempty disp) (Just <$> parsec)- foreignLibVersionLinux (\x flib -> flib { foreignLibVersionLinux = x })- , listField "mod-def-file"- showFilePath parsecFilePath- foreignLibModDefFile (\x flib -> flib { foreignLibModDefFile = x })- ] ++ map biToFLib binfoFieldDescrs- where- biToFLib = liftField foreignLibBuildInfo (\bi flib -> flib{foreignLibBuildInfo=bi})--storeXFieldsForeignLib :: UnknownFieldParser ForeignLib-storeXFieldsForeignLib f val l@ForeignLib { foreignLibBuildInfo = bi } | beginsWithX f =- Just $ l {foreignLibBuildInfo =- bi{ customFieldsBI = customFieldsBI bi ++ [(fromUTF8BS f, trim val)]}}-storeXFieldsForeignLib _ _ _ = Nothing------------------------------------------------------------------------------------ Executable----------------------------------------------------------------------------------executableFieldDescrs :: [FieldDescr Executable]-executableFieldDescrs =- [ -- note ordering: configuration must come first, for- -- showPackageDescription.- simpleField "executable"- disp parsec- exeName (\xs exe -> exe{exeName=xs})- , simpleField "main-is"- showFilePath parsecFilePath- modulePath (\xs exe -> exe{modulePath=xs})-- , simpleField "scope"- disp parsec- exeScope (\sc exe -> exe{exeScope=sc})- ]- ++ map biToExe binfoFieldDescrs- where- biToExe = liftField buildInfo (\bi exe -> exe{buildInfo=bi})--storeXFieldsExe :: UnknownFieldParser Executable-storeXFieldsExe f val e@Executable { buildInfo = bi } | beginsWithX f =- Just $ e {buildInfo = bi{ customFieldsBI = (fromUTF8BS f, trim val) : customFieldsBI bi}}-storeXFieldsExe _ _ _ = Nothing------------------------------------------------------------------------------------ TestSuite------------------------------------------------------------------------------------ | An intermediate type just used for parsing the test-suite stanza.--- After validation it is converted into the proper 'TestSuite' type.-data TestSuiteStanza = TestSuiteStanza- { testStanzaTestType :: Maybe TestType- , testStanzaMainIs :: Maybe FilePath- , testStanzaTestModule :: Maybe ModuleName- , testStanzaBuildInfo :: BuildInfo- }--emptyTestStanza :: TestSuiteStanza-emptyTestStanza = TestSuiteStanza Nothing Nothing Nothing mempty--testSuiteFieldDescrs :: [FieldDescr TestSuiteStanza]-testSuiteFieldDescrs =- [ simpleField "type"- (maybe mempty disp) (Just <$> parsec)- testStanzaTestType (\x suite -> suite { testStanzaTestType = x })- , simpleField "main-is"- (maybe mempty showFilePath) (Just <$> parsecFilePath)- testStanzaMainIs (\x suite -> suite { testStanzaMainIs = x })- , simpleField "test-module"- (maybe mempty disp) (Just <$> parsecMaybeQuoted parsec)- testStanzaTestModule (\x suite -> suite { testStanzaTestModule = x })- ]- ++ map biToTest binfoFieldDescrs- where- biToTest = liftField- testStanzaBuildInfo- (\bi suite -> suite { testStanzaBuildInfo = bi })--storeXFieldsTest :: UnknownFieldParser TestSuiteStanza-storeXFieldsTest f val t@TestSuiteStanza { testStanzaBuildInfo = bi }- | beginsWithX f =- Just $ t {testStanzaBuildInfo = bi{ customFieldsBI = (fromUTF8BS f,val):customFieldsBI bi}}-storeXFieldsTest _ _ _ = Nothing--validateTestSuite :: Position -> TestSuiteStanza -> ParseResult TestSuite-validateTestSuite pos stanza = case testStanzaTestType stanza of- Nothing -> return $- emptyTestSuite { testBuildInfo = testStanzaBuildInfo stanza }-- Just tt@(TestTypeUnknown _ _) ->- pure emptyTestSuite- { testInterface = TestSuiteUnsupported tt- , testBuildInfo = testStanzaBuildInfo stanza- }-- Just tt | tt `notElem` knownTestTypes ->- pure emptyTestSuite- { testInterface = TestSuiteUnsupported tt- , testBuildInfo = testStanzaBuildInfo stanza- }-- Just tt@(TestTypeExe ver) -> case testStanzaMainIs stanza of- Nothing -> do- parseFailure pos (missingField "main-is" tt)- pure emptyTestSuite- Just file -> do- when (isJust (testStanzaTestModule stanza)) $- parseWarning pos PWTExtraBenchmarkModule (extraField "test-module" tt)- pure emptyTestSuite- { testInterface = TestSuiteExeV10 ver file- , testBuildInfo = testStanzaBuildInfo stanza- }-- Just tt@(TestTypeLib ver) -> case testStanzaTestModule stanza of- Nothing -> do- parseFailure pos (missingField "test-module" tt)- pure emptyTestSuite- Just module_ -> do- when (isJust (testStanzaMainIs stanza)) $- parseWarning pos PWTExtraMainIs (extraField "main-is" tt)- pure emptyTestSuite- { testInterface = TestSuiteLibV09 ver module_- , testBuildInfo = testStanzaBuildInfo stanza- }-- where- missingField name tt = "The '" ++ name ++ "' field is required for the "- ++ display tt ++ " test suite type."-- extraField name tt = "The '" ++ name ++ "' field is not used for the '"- ++ display tt ++ "' test suite type."------------------------------------------------------------------------------------ Benchmark------------------------------------------------------------------------------------ | An intermediate type just used for parsing the benchmark stanza.--- After validation it is converted into the proper 'Benchmark' type.-data BenchmarkStanza = BenchmarkStanza- { benchmarkStanzaBenchmarkType :: Maybe BenchmarkType- , benchmarkStanzaMainIs :: Maybe FilePath- , benchmarkStanzaBenchmarkModule :: Maybe ModuleName- , benchmarkStanzaBuildInfo :: BuildInfo- }--emptyBenchmarkStanza :: BenchmarkStanza-emptyBenchmarkStanza = BenchmarkStanza Nothing Nothing Nothing mempty--benchmarkFieldDescrs :: [FieldDescr BenchmarkStanza]-benchmarkFieldDescrs =- [ simpleField "type"- (maybe mempty disp) (Just <$> parsec)- benchmarkStanzaBenchmarkType- (\x suite -> suite { benchmarkStanzaBenchmarkType = x })- , simpleField "main-is"- (maybe mempty showFilePath) (Just <$> parsecFilePath)- benchmarkStanzaMainIs- (\x suite -> suite { benchmarkStanzaMainIs = x })- ]- ++ map biToBenchmark binfoFieldDescrs- where- biToBenchmark = liftField benchmarkStanzaBuildInfo- (\bi suite -> suite { benchmarkStanzaBuildInfo = bi })--storeXFieldsBenchmark :: UnknownFieldParser BenchmarkStanza-storeXFieldsBenchmark f val t@BenchmarkStanza { benchmarkStanzaBuildInfo = bi } | beginsWithX f =- Just $ t {benchmarkStanzaBuildInfo =- bi{ customFieldsBI = (fromUTF8BS f, trim val):customFieldsBI bi}}-storeXFieldsBenchmark _ _ _ = Nothing--validateBenchmark :: Position -> BenchmarkStanza -> ParseResult Benchmark-validateBenchmark pos stanza = case benchmarkStanzaBenchmarkType stanza of- Nothing -> pure emptyBenchmark- { benchmarkBuildInfo = benchmarkStanzaBuildInfo stanza }-- Just tt@(BenchmarkTypeUnknown _ _) -> pure emptyBenchmark- { benchmarkInterface = BenchmarkUnsupported tt- , benchmarkBuildInfo = benchmarkStanzaBuildInfo stanza- }-- Just tt | tt `notElem` knownBenchmarkTypes -> pure emptyBenchmark- { benchmarkInterface = BenchmarkUnsupported tt- , benchmarkBuildInfo = benchmarkStanzaBuildInfo stanza- }-- Just tt@(BenchmarkTypeExe ver) -> case benchmarkStanzaMainIs stanza of- Nothing -> do- parseFailure pos (missingField "main-is" tt)- pure emptyBenchmark- Just file -> do- when (isJust (benchmarkStanzaBenchmarkModule stanza)) $- parseWarning pos PWTExtraBenchmarkModule (extraField "benchmark-module" tt)- pure emptyBenchmark- { benchmarkInterface = BenchmarkExeV10 ver file- , benchmarkBuildInfo = benchmarkStanzaBuildInfo stanza- }-- where- missingField name tt = "The '" ++ name ++ "' field is required for the "- ++ display tt ++ " benchmark type."-- extraField name tt = "The '" ++ name ++ "' field is not used for the '"- ++ display tt ++ "' benchmark type."------------------------------------------------------------------------------------ BuildInfo----------------------------------------------------------------------------------binfoFieldDescrs :: [FieldDescr BuildInfo]-binfoFieldDescrs =- [ boolField "buildable"- buildable (\val binfo -> binfo{buildable=val})- , commaListField "build-tools"- disp parsec- buildTools (\xs binfo -> binfo{buildTools=xs})- , commaListField "build-tool-depends"- disp parsec- buildToolDepends (\xs binfo -> binfo{buildToolDepends=xs})- , commaListFieldWithSep vcat "build-depends"- disp parsec- targetBuildDepends (\xs binfo -> binfo{targetBuildDepends=xs})- , commaListFieldWithSep vcat "mixins"- disp parsec- mixins (\xs binfo -> binfo{mixins=xs})- , spaceListField "cpp-options"- showToken parsecToken'- cppOptions (\val binfo -> binfo{cppOptions=val})- , spaceListField "cc-options"- showToken parsecToken'- ccOptions (\val binfo -> binfo{ccOptions=val})- , spaceListField "ld-options"- showToken parsecToken'- ldOptions (\val binfo -> binfo{ldOptions=val})- , commaListField "pkgconfig-depends"- disp parsec- pkgconfigDepends (\xs binfo -> binfo{pkgconfigDepends=xs})- , listField "frameworks"- showToken parsecToken- frameworks (\val binfo -> binfo{frameworks=val})- , listField "extra-framework-dirs"- showToken parsecFilePath- extraFrameworkDirs (\val binfo -> binfo{extraFrameworkDirs=val})- , listFieldWithSep vcat "c-sources"- showFilePath parsecFilePath- cSources (\paths binfo -> binfo{cSources=paths})- , listFieldWithSep vcat "js-sources"- showFilePath parsecFilePath- jsSources (\paths binfo -> binfo{jsSources=paths})- , simpleField "default-language"- (maybe mempty disp) (Parsec.optionMaybe $ parsecMaybeQuoted parsec)- defaultLanguage (\lang binfo -> binfo{defaultLanguage=lang})- , listField "other-languages"- disp (parsecMaybeQuoted parsec)- otherLanguages (\langs binfo -> binfo{otherLanguages=langs})- , listField "default-extensions"- disp (parsecMaybeQuoted parsec)- defaultExtensions (\exts binfo -> binfo{defaultExtensions=exts})- , listField "other-extensions"- disp (parsecMaybeQuoted parsec)- otherExtensions (\exts binfo -> binfo{otherExtensions=exts})- , listField "extensions"- -- TODO: this is deprecated field, isn't it?- disp (parsecMaybeQuoted parsec)- oldExtensions (\exts binfo -> binfo{oldExtensions=exts})- , listFieldWithSep vcat "extra-libraries"- showToken parsecToken- extraLibs (\xs binfo -> binfo{extraLibs=xs})- , listFieldWithSep vcat "extra-ghci-libraries"- showToken parsecToken- extraGHCiLibs (\xs binfo -> binfo{extraGHCiLibs=xs})- , listField "extra-lib-dirs"- showFilePath parsecFilePath- extraLibDirs (\xs binfo -> binfo{extraLibDirs=xs})- , listFieldWithSep vcat "includes"- showFilePath parsecFilePath- includes (\paths binfo -> binfo{includes=paths})- , listFieldWithSep vcat "install-includes"- showFilePath parsecFilePath- installIncludes (\paths binfo -> binfo{installIncludes=paths})- , listField "include-dirs"- showFilePath parsecFilePath- includeDirs (\paths binfo -> binfo{includeDirs=paths})- , listField "hs-source-dirs"- showFilePath parsecFilePath- hsSourceDirs (\paths binfo -> binfo{hsSourceDirs=paths})- , deprecatedField "hs-source-dirs" $ listField "hs-source-dir"- showFilePath parsecFilePath- (const []) (\paths binfo -> binfo{hsSourceDirs=paths})- , listFieldWithSep vcat "other-modules"- disp (parsecMaybeQuoted parsec)- otherModules (\val binfo -> binfo{otherModules=val})- , listFieldWithSep vcat "autogen-modules"- disp (parsecMaybeQuoted parsec)- autogenModules (\val binfo -> binfo{autogenModules=val})- , optsField "ghc-prof-options" GHC- profOptions (\val binfo -> binfo{profOptions=val})- , optsField "ghcjs-prof-options" GHCJS- profOptions (\val binfo -> binfo{profOptions=val})- , optsField "ghc-shared-options" GHC- sharedOptions (\val binfo -> binfo{sharedOptions=val})- , optsField "ghcjs-shared-options" GHCJS- sharedOptions (\val binfo -> binfo{sharedOptions=val})- , optsField "ghc-options" GHC- options (\path binfo -> binfo{options=path})- , optsField "ghcjs-options" GHCJS- options (\path binfo -> binfo{options=path})- , optsField "jhc-options" JHC- options (\path binfo -> binfo{options=path})- -- NOTE: Hugs and NHC are not supported anymore, but these fields are kept- -- around for backwards compatibility.- --- -- TODO: deprecate?- , optsField "hugs-options" Hugs- options (const id)- , optsField "nhc98-options" NHC- options (const id)- ]--{--storeXFieldsBI :: UnknownFieldParser BuildInfo---storeXFieldsBI (f@('x':'-':_),val) bi = Just bi{ customFieldsBI = (f,val):customFieldsBI bi }-storeXFieldsBI _ _ = Nothing--}------------------------------------------------------------------------------------ Flag----------------------------------------------------------------------------------flagFieldDescrs :: [FieldDescr Flag]-flagFieldDescrs =- [ simpleField "description"- showFreeText freeTextFieldParser- flagDescription (\val fl -> fl{ flagDescription = val })- , boolField "default"- flagDefault (\val fl -> fl{ flagDefault = val })- , boolField "manual"- flagManual (\val fl -> fl{ flagManual = val })- ]------------------------------------------------------------------------------------ SourceRepo----------------------------------------------------------------------------------sourceRepoFieldDescrs :: [FieldDescr SourceRepo]-sourceRepoFieldDescrs =- [ simpleField "type"- (maybe mempty disp) (Just <$> parsec)- repoType (\val repo -> repo { repoType = val })- , simpleField "location"- (maybe mempty showFreeText) (Just <$> freeTextFieldParser)- repoLocation (\val repo -> repo { repoLocation = val })- , simpleField "module"- (maybe mempty showToken) (Just <$> parsecToken)- repoModule (\val repo -> repo { repoModule = val })- , simpleField "branch"- (maybe mempty showToken) (Just <$> parsecToken)- repoBranch (\val repo -> repo { repoBranch = val })- , simpleField "tag"- (maybe mempty showToken) (Just <$> parsecToken)- repoTag (\val repo -> repo { repoTag = val })- , simpleField "subdir"- (maybe mempty showFilePath) (Just <$> parsecFilePath)- repoSubdir (\val repo -> repo { repoSubdir = val })- ]------------------------------------------------------------------------------------ SetupBuildInfo----------------------------------------------------------------------------------setupBInfoFieldDescrs :: [FieldDescr SetupBuildInfo]-setupBInfoFieldDescrs =- [ commaListFieldWithSep vcat "setup-depends"- disp parsec- setupDepends (\xs binfo -> binfo{setupDepends=xs})- ]------------------------------------------------------------------------------------- Utilities------------------------------------------------------------------------------------ | Predicate to test field names beginning with "x-"-beginsWithX :: FieldName -> Bool-beginsWithX bs = BS.take 2 bs == "x-"---- | Mark the field as deprecated.-deprecatedField- :: FieldName -- ^ alternative field- -> FieldDescr a- -> FieldDescr a-deprecatedField newFieldName fd = FieldDescr- { fieldName = oldFieldName- , fieldPretty = const mempty -- we don't print deprecated field- , fieldParser = \x -> do- parsecWarning PWTDeprecatedField $- "The field " <> show oldFieldName <>- " is deprecated, please use " <> show newFieldName- fieldParser fd x- }- where- oldFieldName = fieldName fd---- Used to trim x-fields-trim :: String -> String-trim = dropWhile isSpace . dropWhileEnd isSpace
@@ -30,191 +30,148 @@ import Distribution.Compat.Prelude import Distribution.Types.Dependency-import Distribution.Types.ForeignLib+import Distribution.Types.ForeignLib (ForeignLib (foreignLibName)) import Distribution.Types.UnqualComponentName import Distribution.Types.CondTree import Distribution.PackageDescription import Distribution.Simple.Utils import Distribution.ParseUtils-import Distribution.PackageDescription.Parse import Distribution.Text-import Distribution.ModuleName +import Distribution.FieldGrammar (PrettyFieldGrammar', prettyFieldGrammar)+import Distribution.PackageDescription.FieldGrammar+ (packageDescriptionFieldGrammar, buildInfoFieldGrammar,+ flagFieldGrammar, foreignLibFieldGrammar, libraryFieldGrammar,+ benchmarkFieldGrammar, testSuiteFieldGrammar,+ setupBInfoFieldGrammar, sourceRepoFieldGrammar, executableFieldGrammar)++import qualified Distribution.PackageDescription.FieldGrammar as FG+ import Text.PrettyPrint- (hsep, space, parens, char, nest, isEmpty, ($$), (<+>),- colon, text, vcat, ($+$), Doc, render)+ (hsep, space, parens, char, nest, ($$), (<+>),+ text, vcat, ($+$), Doc, render) import qualified Data.ByteString.Lazy.Char8 as BS.Char8 --- | Recompile with false for regression testing-simplifiedPrinting :: Bool-simplifiedPrinting = False- -- | Writes a .cabal file from a generic package description writeGenericPackageDescription :: FilePath -> GenericPackageDescription -> NoCallStackIO () writeGenericPackageDescription fpath pkg = writeUTF8File fpath (showGenericPackageDescription pkg) -- | Writes a generic package description to a string showGenericPackageDescription :: GenericPackageDescription -> String-showGenericPackageDescription = render . ppGenericPackageDescription+showGenericPackageDescription = render . ($+$ text "") . ppGenericPackageDescription ppGenericPackageDescription :: GenericPackageDescription -> Doc ppGenericPackageDescription gpd = ppPackageDescription (packageDescription gpd)+ $+$ ppSetupBInfo (setupBuildInfo (packageDescription gpd)) $+$ ppGenPackageFlags (genPackageFlags gpd) $+$ ppCondLibrary (condLibrary gpd) $+$ ppCondSubLibraries (condSubLibraries gpd)+ $+$ ppCondForeignLibs (condForeignLibs gpd) $+$ ppCondExecutables (condExecutables gpd) $+$ ppCondTestSuites (condTestSuites gpd) $+$ ppCondBenchmarks (condBenchmarks gpd) ppPackageDescription :: PackageDescription -> Doc-ppPackageDescription pd = ppFields pkgDescrFieldDescrs pd- $+$ ppCustomFields (customFieldsPD pd)- $+$ ppSourceRepos (sourceRepos pd)+ppPackageDescription pd =+ prettyFieldGrammar packageDescriptionFieldGrammar pd+ $+$ ppSourceRepos (sourceRepos pd) ppSourceRepos :: [SourceRepo] -> Doc ppSourceRepos [] = mempty ppSourceRepos (hd:tl) = ppSourceRepo hd $+$ ppSourceRepos tl ppSourceRepo :: SourceRepo -> Doc-ppSourceRepo repo =- emptyLine $ text "source-repository" <+> disp (repoKind repo) $+$- (nest indentWith (ppFields sourceRepoFieldDescrs' repo))- where- sourceRepoFieldDescrs' = [fd | fd <- sourceRepoFieldDescrs, fieldName fd /= "kind"]---- TODO: this is a temporary hack. Ideally, fields containing default values--- would be filtered out when the @FieldDescr a@ list is generated.-ppFieldsFiltered :: [(String, String)] -> [FieldDescr a] -> a -> Doc-ppFieldsFiltered removable fields x = ppFields (filter nondefault fields) x+ppSourceRepo repo =+ emptyLine $ text "source-repository" <+> disp kind $+$+ nest indentWith (prettyFieldGrammar (sourceRepoFieldGrammar kind) repo) where- nondefault (FieldDescr name getter _) =- maybe True (render (getter x) /=) (lookup name removable)--binfoDefaults :: [(String, String)]-binfoDefaults = [("buildable", "True")]--libDefaults :: [(String, String)]-libDefaults = ("exposed", "True") : binfoDefaults--flagDefaults :: [(String, String)]-flagDefaults = [("default", "True"), ("manual", "False")]--ppDiffFields :: [FieldDescr a] -> a -> a -> Doc-ppDiffFields fields x y =- vcat [ ppField name (getter x)- | FieldDescr name getter _ <- fields- , render (getter x) /= render (getter y)- ]--ppCustomFields :: [(String,String)] -> Doc-ppCustomFields flds = vcat [ppCustomField f | f <- flds]+ kind = repoKind repo -ppCustomField :: (String,String) -> Doc-ppCustomField (name,val) = text name <<>> colon <+> showFreeText val+ppSetupBInfo :: Maybe SetupBuildInfo -> Doc+ppSetupBInfo Nothing = mempty+ppSetupBInfo (Just sbi)+ | defaultSetupDepends sbi = mempty+ | otherwise =+ emptyLine $ text "custom-setup" $+$+ nest indentWith (prettyFieldGrammar (setupBInfoFieldGrammar False) sbi) ppGenPackageFlags :: [Flag] -> Doc-ppGenPackageFlags flds = vcat [ppFlag f | f <- flds]+ppGenPackageFlags flds = vcat [ppFlag f | f <- flds] ppFlag :: Flag -> Doc-ppFlag flag@(MkFlag name _ _ _) =- emptyLine $ text "flag" <+> ppFlagName name $+$ nest indentWith fields+ppFlag flag@(MkFlag name _ _ _) =+ emptyLine $ text "flag" <+> ppFlagName name $+$+ nest indentWith (prettyFieldGrammar (flagFieldGrammar name) flag)++ppCondTree2 :: PrettyFieldGrammar' s -> CondTree ConfVar [Dependency] s -> Doc+ppCondTree2 grammar = go where- fields = ppFieldsFiltered flagDefaults flagFieldDescrs flag+ -- TODO: recognise elif opportunities+ go (CondNode it _ ifs) =+ prettyFieldGrammar grammar it+ $+$ vcat (map ppIf ifs) + ppIf (CondBranch c thenTree Nothing)+-- | isEmpty thenDoc = mempty+ | otherwise = ppIfCondition c $$ nest indentWith thenDoc+ where+ thenDoc = go thenTree++ ppIf (CondBranch c thenTree (Just elseTree)) =+ case (False, False) of+ -- case (isEmpty thenDoc, isEmpty elseDoc) of+ (True, True) -> mempty+ (False, True) -> ppIfCondition c $$ nest indentWith thenDoc+ (True, False) -> ppIfCondition (cNot c) $$ nest indentWith elseDoc+ (False, False) -> (ppIfCondition c $$ nest indentWith thenDoc)+ $+$ (text "else" $$ nest indentWith elseDoc)+ where+ thenDoc = go thenTree+ elseDoc = go elseTree+ ppCondLibrary :: Maybe (CondTree ConfVar [Dependency] Library) -> Doc ppCondLibrary Nothing = mempty ppCondLibrary (Just condTree) =- emptyLine $ text "library"- $+$ nest indentWith (ppCondTree condTree Nothing ppLib)+ emptyLine $ text "library" $+$+ nest indentWith (ppCondTree2 (libraryFieldGrammar Nothing) condTree)+ ppCondSubLibraries :: [(UnqualComponentName, CondTree ConfVar [Dependency] Library)] -> Doc-ppCondSubLibraries libs =- vcat [emptyLine $ (text "library " <+> disp n)- $+$ nest indentWith (ppCondTree condTree Nothing ppLib)| (n,condTree) <- libs]+ppCondSubLibraries libs = vcat+ [ emptyLine $ (text "library" <+> disp n) $+$+ nest indentWith (ppCondTree2 (libraryFieldGrammar $ Just n) condTree)+ | (n, condTree) <- libs+ ] -ppLib :: Library -> Maybe Library -> Doc-ppLib lib Nothing = ppFieldsFiltered libDefaults libFieldDescrs lib- $$ ppCustomFields (customFieldsBI (libBuildInfo lib))-ppLib lib (Just plib) = ppDiffFields libFieldDescrs lib plib- $$ ppCustomFields (customFieldsBI (libBuildInfo lib))+ppCondForeignLibs :: [(UnqualComponentName, CondTree ConfVar [Dependency] ForeignLib)] -> Doc+ppCondForeignLibs flibs = vcat+ [ emptyLine $ (text "foreign-library" <+> disp n) $+$+ nest indentWith (ppCondTree2 (foreignLibFieldGrammar n) condTree)+ | (n, condTree) <- flibs+ ] ppCondExecutables :: [(UnqualComponentName, CondTree ConfVar [Dependency] Executable)] -> Doc-ppCondExecutables exes =- vcat [emptyLine $ (text "executable " <+> disp n)- $+$ nest indentWith (ppCondTree condTree Nothing ppExe)| (n,condTree) <- exes]- where- ppExe (Executable _ modulePath' exeScope' buildInfo') Nothing =- (if modulePath' == "" then mempty else text "main-is:" <+> text modulePath')- $+$ if exeScope' == mempty then mempty else text "scope:" <+> disp exeScope'- $+$ ppFieldsFiltered binfoDefaults binfoFieldDescrs buildInfo'- $+$ ppCustomFields (customFieldsBI buildInfo')- ppExe (Executable _ modulePath' exeScope' buildInfo')- (Just (Executable _ modulePath2 exeScope2 buildInfo2)) =- (if modulePath' == "" || modulePath' == modulePath2- then mempty else text "main-is:" <+> text modulePath')- $+$ if exeScope' == exeScope2 then mempty else text "scope:" <+> disp exeScope'- $+$ ppDiffFields binfoFieldDescrs buildInfo' buildInfo2- $+$ ppCustomFields (customFieldsBI buildInfo')+ppCondExecutables exes = vcat+ [ emptyLine $ (text "executable" <+> disp n) $+$+ nest indentWith (ppCondTree2 (executableFieldGrammar n) condTree)+ | (n, condTree) <- exes+ ] ppCondTestSuites :: [(UnqualComponentName, CondTree ConfVar [Dependency] TestSuite)] -> Doc-ppCondTestSuites suites =- emptyLine $ vcat [ (text "test-suite " <+> disp n)- $+$ nest indentWith (ppCondTree condTree Nothing ppTestSuite)- | (n,condTree) <- suites]- where- ppTestSuite testsuite Nothing =- maybe mempty (\t -> text "type:" <+> disp t)- maybeTestType- $+$ maybe mempty (\f -> text "main-is:" <+> text f)- (testSuiteMainIs testsuite)- $+$ maybe mempty (\m -> text "test-module:" <+> disp m)- (testSuiteModule testsuite)- $+$ ppFieldsFiltered binfoDefaults binfoFieldDescrs (testBuildInfo testsuite)- $+$ ppCustomFields (customFieldsBI (testBuildInfo testsuite))- where- maybeTestType | testInterface testsuite == mempty = Nothing- | otherwise = Just (testType testsuite)-- ppTestSuite test' (Just test2) =- ppDiffFields binfoFieldDescrs- (testBuildInfo test') (testBuildInfo test2)- $+$ ppCustomFields (customFieldsBI (testBuildInfo test'))-- testSuiteMainIs test = case testInterface test of- TestSuiteExeV10 _ f -> Just f- _ -> Nothing-- testSuiteModule test = case testInterface test of- TestSuiteLibV09 _ m -> Just m- _ -> Nothing+ppCondTestSuites suites = vcat+ [ emptyLine $ (text "test-suite" <+> disp n) $+$+ nest indentWith (ppCondTree2 testSuiteFieldGrammar (fmap FG.unvalidateTestSuite condTree))+ | (n, condTree) <- suites+ ] ppCondBenchmarks :: [(UnqualComponentName, CondTree ConfVar [Dependency] Benchmark)] -> Doc-ppCondBenchmarks suites =- emptyLine $ vcat [ (text "benchmark " <+> disp n)- $+$ nest indentWith (ppCondTree condTree Nothing ppBenchmark)- | (n,condTree) <- suites]- where- ppBenchmark benchmark Nothing =- maybe mempty (\t -> text "type:" <+> disp t)- maybeBenchmarkType- $+$ maybe mempty (\f -> text "main-is:" <+> text f)- (benchmarkMainIs benchmark)- $+$ ppFieldsFiltered binfoDefaults binfoFieldDescrs (benchmarkBuildInfo benchmark)- $+$ ppCustomFields (customFieldsBI (benchmarkBuildInfo benchmark))- where- maybeBenchmarkType | benchmarkInterface benchmark == mempty = Nothing- | otherwise = Just (benchmarkType benchmark)-- ppBenchmark bench' (Just bench2) =- ppDiffFields binfoFieldDescrs- (benchmarkBuildInfo bench') (benchmarkBuildInfo bench2)- $+$ ppCustomFields (customFieldsBI (benchmarkBuildInfo bench'))-- benchmarkMainIs benchmark = case benchmarkInterface benchmark of- BenchmarkExeV10 _ f -> Just f- _ -> Nothing+ppCondBenchmarks suites = vcat+ [ emptyLine $ (text "benchmark" <+> disp n) $+$+ nest indentWith (ppCondTree2 benchmarkFieldGrammar (fmap FG.unvalidateBenchmark condTree))+ | (n, condTree) <- suites+ ] ppCondition :: Condition ConfVar -> Doc ppCondition (Var x) = ppConfVar x@@ -233,46 +190,9 @@ ppFlagName :: FlagName -> Doc ppFlagName = text . unFlagName -ppCondTree :: CondTree ConfVar [Dependency] a -> Maybe a -> (a -> Maybe a -> Doc) -> Doc-ppCondTree ct@(CondNode it _ ifs) mbIt ppIt =- let res = (vcat $ map ppIf ifs)- $+$ ppIt it mbIt- in if isJust mbIt && isEmpty res- then ppCondTree ct Nothing ppIt- else res- where- -- TODO: this ends up printing trailing spaces when combined with nest.- ppIf (CondBranch c thenTree (Just elseTree)) = ppIfElse it ppIt c thenTree elseTree- ppIf (CondBranch c thenTree Nothing) = ppIf' it ppIt c thenTree- ppIfCondition :: (Condition ConfVar) -> Doc ppIfCondition c = (emptyLine $ text "if" <+> ppCondition c) -ppIf' :: a -> (a -> Maybe a -> Doc)- -> Condition ConfVar- -> CondTree ConfVar [Dependency] a- -> Doc-ppIf' it ppIt c thenTree =- if isEmpty thenDoc- then mempty- else ppIfCondition c $$ nest indentWith thenDoc- where thenDoc = ppCondTree thenTree (if simplifiedPrinting then (Just it) else Nothing) ppIt--ppIfElse :: a -> (a -> Maybe a -> Doc)- -> Condition ConfVar- -> CondTree ConfVar [Dependency] a- -> CondTree ConfVar [Dependency] a- -> Doc-ppIfElse it ppIt c thenTree elseTree =- case (isEmpty thenDoc, isEmpty elseDoc) of- (True, True) -> mempty- (False, True) -> ppIfCondition c $$ nest indentWith thenDoc- (True, False) -> ppIfCondition (cNot c) $$ nest indentWith elseDoc- (False, False) -> (ppIfCondition c $$ nest indentWith thenDoc)- $+$ (text "else" $$ nest indentWith elseDoc)- where thenDoc = ppCondTree thenTree (if simplifiedPrinting then (Just it) else Nothing) ppIt- elseDoc = ppCondTree elseTree (if simplifiedPrinting then (Just it) else Nothing) ppIt- emptyLine :: Doc -> Doc emptyLine d = text "" $+$ d @@ -285,88 +205,29 @@ -- | @since 2.0.0.2 showPackageDescription :: PackageDescription -> String-showPackageDescription pkg = render $- ppPackageDescription pkg- $+$ ppMaybeLibrary (library pkg)- $+$ ppSubLibraries (subLibraries pkg)- $+$ ppForeignLibs (foreignLibs pkg)- $+$ ppExecutables (executables pkg)- $+$ ppTestSuites (testSuites pkg)- $+$ ppBenchmarks (benchmarks pkg)--ppMaybeLibrary :: Maybe Library -> Doc-ppMaybeLibrary Nothing = mempty-ppMaybeLibrary (Just lib) =- emptyLine $ text "library"- $+$ nest indentWith (ppFields libFieldDescrs lib)--ppSubLibraries :: [Library] -> Doc-ppSubLibraries libs = vcat [- emptyLine $ text "library" <+> disp libname- $+$ nest indentWith (ppFields libFieldDescrs lib)- | lib@Library{ libName = Just libname } <- libs ]--ppForeignLibs :: [ForeignLib] -> Doc-ppForeignLibs flibs = vcat [- emptyLine $ text "foreign library" <+> disp flibname- $+$ nest indentWith (ppFields foreignLibFieldDescrs flib)- | flib@ForeignLib{ foreignLibName = flibname } <- flibs ]--ppExecutables :: [Executable] -> Doc-ppExecutables exes = vcat [- emptyLine $ text "executable" <+> disp (exeName exe)- $+$ nest indentWith (ppFields executableFieldDescrs exe)- | exe <- exes ]--ppTestSuites :: [TestSuite] -> Doc-ppTestSuites tests = vcat [- emptyLine $ text "test-suite" <+> disp (testName test)- $+$ nest indentWith (ppFields testSuiteFieldDescrs test_stanza)- | test <- tests- , let test_stanza- = TestSuiteStanza {- testStanzaTestType = Just (testSuiteInterfaceToTestType (testInterface test)),- testStanzaMainIs = testSuiteInterfaceToMaybeMainIs (testInterface test),- testStanzaTestModule = testSuiteInterfaceToMaybeModule (testInterface test),- testStanzaBuildInfo = testBuildInfo test- }- ]--testSuiteInterfaceToTestType :: TestSuiteInterface -> TestType-testSuiteInterfaceToTestType (TestSuiteExeV10 ver _) = TestTypeExe ver-testSuiteInterfaceToTestType (TestSuiteLibV09 ver _) = TestTypeLib ver-testSuiteInterfaceToTestType (TestSuiteUnsupported ty) = ty--testSuiteInterfaceToMaybeMainIs :: TestSuiteInterface -> Maybe FilePath-testSuiteInterfaceToMaybeMainIs (TestSuiteExeV10 _ fp) = Just fp-testSuiteInterfaceToMaybeMainIs TestSuiteLibV09{} = Nothing-testSuiteInterfaceToMaybeMainIs TestSuiteUnsupported{} = Nothing--testSuiteInterfaceToMaybeModule :: TestSuiteInterface -> Maybe ModuleName-testSuiteInterfaceToMaybeModule (TestSuiteLibV09 _ mod_name) = Just mod_name-testSuiteInterfaceToMaybeModule TestSuiteExeV10{} = Nothing-testSuiteInterfaceToMaybeModule TestSuiteUnsupported{} = Nothing--ppBenchmarks :: [Benchmark] -> Doc-ppBenchmarks benchs = vcat [- emptyLine $ text "benchmark" <+> disp (benchmarkName bench)- $+$ nest indentWith (ppFields benchmarkFieldDescrs bench_stanza)- | bench <- benchs- , let bench_stanza = BenchmarkStanza {- benchmarkStanzaBenchmarkType = Just (benchmarkInterfaceToBenchmarkType (benchmarkInterface bench)),- benchmarkStanzaMainIs = benchmarkInterfaceToMaybeMainIs (benchmarkInterface bench),- benchmarkStanzaBenchmarkModule = Nothing,- benchmarkStanzaBuildInfo = benchmarkBuildInfo bench- }]--benchmarkInterfaceToBenchmarkType :: BenchmarkInterface -> BenchmarkType-benchmarkInterfaceToBenchmarkType (BenchmarkExeV10 ver _) = BenchmarkTypeExe ver-benchmarkInterfaceToBenchmarkType (BenchmarkUnsupported ty) = ty+showPackageDescription = showGenericPackageDescription . pdToGpd -benchmarkInterfaceToMaybeMainIs :: BenchmarkInterface -> Maybe FilePath-benchmarkInterfaceToMaybeMainIs (BenchmarkExeV10 _ fp) = Just fp-benchmarkInterfaceToMaybeMainIs BenchmarkUnsupported{} = Nothing+pdToGpd :: PackageDescription -> GenericPackageDescription+pdToGpd pd = GenericPackageDescription+ { packageDescription = pd+ , genPackageFlags = []+ , condLibrary = mkCondTree <$> library pd+ , condSubLibraries = mkCondTreeL <$> subLibraries pd+ , condForeignLibs = mkCondTree' foreignLibName <$> foreignLibs pd+ , condExecutables = mkCondTree' exeName <$> executables pd+ , condTestSuites = mkCondTree' testName <$> testSuites pd+ , condBenchmarks = mkCondTree' benchmarkName <$> benchmarks pd+ }+ where+ -- We set CondTree's [Dependency] to an empty list, as it+ -- is not pretty printed anyway.+ mkCondTree x = CondNode x [] []+ mkCondTreeL l = (fromMaybe (mkUnqualComponentName "") (libName l), CondNode l [] []) + mkCondTree'+ :: (a -> UnqualComponentName)+ -> a -> (UnqualComponentName, CondTree ConfVar [Dependency] a)+ mkCondTree' f x = (f x, CondNode x [] []) -- | @since 2.0.0.2 writeHookedBuildInfo :: FilePath -> HookedBuildInfo -> NoCallStackIO ()@@ -376,13 +237,11 @@ -- | @since 2.0.0.2 showHookedBuildInfo :: HookedBuildInfo -> String showHookedBuildInfo (mb_lib_bi, ex_bis) = render $- (case mb_lib_bi of- Nothing -> mempty- Just bi -> ppBuildInfo bi)- $$ vcat [ space- $$ (text "executable:" <+> disp name)- $$ ppBuildInfo bi- | (name, bi) <- ex_bis ]- where- ppBuildInfo bi = ppFields binfoFieldDescrs bi- $$ ppCustomFields (customFieldsBI bi)+ maybe mempty (prettyFieldGrammar buildInfoFieldGrammar) mb_lib_bi+ $$ vcat+ [ space+ $$ (text "executable:" <+> disp name)+ $$ prettyFieldGrammar buildInfoFieldGrammar bi+ | (name, bi) <- ex_bis+ ]+ $+$ text ""
@@ -0,0 +1,203 @@+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE OverloadedStrings #-}+-- |+--+-- @since 2.2.0.0+module Distribution.PackageDescription.Quirks (patchQuirks) where++import Prelude ()+import Distribution.Compat.Prelude+import GHC.Fingerprint (Fingerprint (..), fingerprintData)+import Foreign.Ptr (castPtr)+import System.IO.Unsafe (unsafeDupablePerformIO)++import qualified Data.ByteString as BS+import qualified Data.ByteString.Unsafe as BS+import qualified Data.Map as Map++-- | Patch legacy @.cabal@ file contents to allow parsec parser to accept+-- all of Hackage.+--+-- Bool part of the result tells whether the output is modified.+--+-- @since 2.2.0.0+patchQuirks :: BS.ByteString -> (Bool, BS.ByteString)+patchQuirks bs = case Map.lookup (BS.take 256 bs, md5 bs) patches of+ Nothing -> (False, bs)+ Just (post, f)+ | post /= md5 output -> (False, bs)+ | otherwise -> (True, output)+ where+ output = f bs++md5 :: BS.ByteString -> Fingerprint+md5 bs = unsafeDupablePerformIO $ BS.unsafeUseAsCStringLen bs $ \(ptr, len) ->+ fingerprintData (castPtr ptr) len++-- | 'patches' contains first 256 bytes, pre- and post-fingerprints and a patch function.+--+--+patches :: Map.Map (BS.ByteString, Fingerprint) (Fingerprint, BS.ByteString -> BS.ByteString)+patches = Map.fromList+ -- http://hackage.haskell.org/package/unicode-transforms-0.3.3+ -- other-modules: .+ -- ReadP assumed dot is empty line+ [ mk "-- This file has been generated from package.yaml by hpack version 0.17.0.\n--\n-- see: https://github.com/sol/hpack\n\nname: unicode-transforms\nversion: 0.3.3\nsynopsis: Unicode normalization\ndescription: Fast Unic"+ (Fingerprint 15958160436627155571 10318709190730872881)+ (Fingerprint 11008465475756725834 13815629925116264363)+ (bsRemove " other-modules:\n .\n") -- TODO: remove traling \n to test structural-diff+ -- http://hackage.haskell.org/package/DSTM-0.1.2+ -- http://hackage.haskell.org/package/DSTM-0.1.1+ -- http://hackage.haskell.org/package/DSTM-0.1+ -- Other Modules: no dash+ -- ReadP parsed as section+ , mk "Name: DSTM\nVersion: 0.1.2\nCopyright: (c) 2010, Frank Kupke\nLicense: LGPL\nLicense-File: LICENSE\nAuthor: Frank Kupke\nMaintainer: frk@informatik.uni-kiel.de\nCabal-Version: >= 1.2.3\nStability: provisional\nSynopsis: A framework for using STM within distributed "+ (Fingerprint 6919263071548559054 9050746360708965827)+ (Fingerprint 17015177514298962556 11943164891661867280)+ (bsReplace "Other modules:" "-- ")+ , mk "Name: DSTM\nVersion: 0.1.1\nCopyright: (c) 2010, Frank Kupke\nLicense: LGPL\nLicense-File: LICENSE\nAuthor: Frank Kupke\nMaintainer: frk@informatik.uni-kiel.de\nCabal-Version: >= 1.2.3\nStability: provisional\nSynopsis: A framework for using STM within distributed "+ (Fingerprint 17313105789069667153 9610429408495338584)+ (Fingerprint 17250946493484671738 17629939328766863497)+ (bsReplace "Other modules:" "-- ")+ , mk "Name: DSTM\nVersion: 0.1\nCopyright: (c) 2010, Frank Kupke\nLicense: LGPL\nLicense-File: LICENSE\nAuthor: Frank Kupke\nMaintainer: frk@informatik.uni-kiel.de\nCabal-Version: >= 1.2.3\nStability: provisional\nSynopsis: A framework for using STM within distributed sy"+ (Fingerprint 10502599650530614586 16424112934471063115)+ (Fingerprint 13562014713536696107 17899511905611879358)+ (bsReplace "Other modules:" "-- ")+ -- http://hackage.haskell.org/package/control-monad-exception-mtl-0.10.3+ , mk "name: control-monad-exception-mtl\nversion: 0.10.3\nCabal-Version: >= 1.10\nbuild-type: Simple\nlicense: PublicDomain\nauthor: Pepe Iborra\nmaintainer: pepeiborra@gmail.com\nhomepage: http://pepeiborra.github.com/control-monad-exception\nsynopsis: MTL instances f"+ (Fingerprint 18274748422558568404 4043538769550834851)+ (Fingerprint 11395257416101232635 4303318131190196308)+ (bsReplace " default- extensions:" "unknown-section")+ -- http://hackage.haskell.org/package/vacuum-opengl-0.0+ -- \DEL character+ , mk "Name: vacuum-opengl\nVersion: 0.0\nSynopsis: Visualize live Haskell data structures using vacuum, graphviz and OpenGL.\nDescription: \DELVisualize live Haskell data structures using vacuum, graphviz and OpenGL.\n "+ (Fingerprint 5946760521961682577 16933361639326309422)+ (Fingerprint 14034745101467101555 14024175957788447824)+ (bsRemove "\DEL")+ , mk "Name: vacuum-opengl\nVersion: 0.0.1\nSynopsis: Visualize live Haskell data structures using vacuum, graphviz and OpenGL.\nDescription: \DELVisualize live Haskell data structures using vacuum, graphviz and OpenGL.\n "+ (Fingerprint 10790950110330119503 1309560249972452700)+ (Fingerprint 1565743557025952928 13645502325715033593)+ (bsRemove "\DEL")+ -- http://hackage.haskell.org/package/ixset-1.0.4+ -- {- comments -}+ , mk "Name: ixset\nVersion: 1.0.4\nSynopsis: Efficient relational queries on Haskell sets.\nDescription:\n Create and query sets that are indexed by multiple indices.\nLicense: BSD3\nLicense-file: COPYING\nAut"+ (Fingerprint 11886092342440414185 4150518943472101551)+ (Fingerprint 5731367240051983879 17473925006273577821)+ (bsRemoveStarting "{-")+ -- : after section+ -- http://hackage.haskell.org/package/ds-kanren+ , mk "name: ds-kanren\nversion: 0.2.0.0\nsynopsis: A subset of the miniKanren language\ndescription:\n ds-kanren is an implementation of the <http://minikanren.org miniKanren> language.\n .\n == What's in ds-kanren?\n .\n ['dis"+ (Fingerprint 2804006762382336875 9677726932108735838)+ (Fingerprint 9830506174094917897 12812107316777006473)+ (bsReplace "Test-Suite test-unify:" "Test-Suite \"test-unify:\"" . bsReplace "Test-Suite test-list-ops:" "Test-Suite \"test-list-ops:\"")+ , mk "name: ds-kanren\nversion: 0.2.0.1\nsynopsis: A subset of the miniKanren language\ndescription:\n ds-kanren is an implementation of the <http://minikanren.org miniKanren> language.\n\nlicense: MIT\nlicense-file: "+ (Fingerprint 9130259649220396193 2155671144384738932)+ (Fingerprint 1847988234352024240 4597789823227580457)+ (bsReplace "Test-Suite test-unify:" "Test-Suite \"test-unify:\"" . bsReplace "Test-Suite test-list-ops:" "Test-Suite \"test-list-ops:\"")+ , mk "name: metric\nversion: 0.1.4\nsynopsis: Metric spaces.\nlicense: MIT\nlicense-file: LICENSE\nauthor: Vikram Verma\nmaintainer: me@vikramverma.com\ncategory: Data\nbuild-type:"+ (Fingerprint 6150019278861565482 3066802658031228162)+ (Fingerprint 9124826020564520548 15629704249829132420)+ (bsReplace "test-suite metric-tests:" "test-suite \"metric-tests:\"")+ , mk "name: metric\nversion: 0.2.0\nsynopsis: Metric spaces.\nlicense: MIT\nlicense-file: LICENSE\nauthor: Vikram Verma\nmaintainer: me@vikramverma.com\ncategory: Data\nbuild-type:"+ (Fingerprint 4639805967994715694 7859317050376284551)+ (Fingerprint 5566222290622325231 873197212916959151)+ (bsReplace "test-suite metric-tests:" "test-suite \"metric-tests:\"")+ , mk "name: phasechange\ncategory: Data\nversion: 0.1\nauthor: G\195\161bor Lehel\nmaintainer: G\195\161bor Lehel <illissius@gmail.com>\nhomepage: http://github.com/glehel/phasechange\ncopyright: Copyright (C) 2012 G\195\161bor Lehel\nlicense: "+ (Fingerprint 10546509771395401582 245508422312751943)+ (Fingerprint 5169853482576003304 7247091607933993833)+ (bsReplace "impl(ghc >= 7.4):" "erroneous-section" . bsReplace "impl(ghc >= 7.6):" "erroneous-section")+ , mk "Name: smartword\nSynopsis: Web based flash card for Word Smart I and II vocabularies\nVersion: 0.0.0.5\nHomepage: http://kyagrd.dyndns.org/~kyagrd/project/smartword/\nCategory: Web,Education\nLicense: "+ (Fingerprint 7803544783533485151 10807347873998191750)+ (Fingerprint 1665635316718752601 16212378357991151549)+ (bsReplace "build depends:" "--")+ , mk "name: shelltestrunner\n-- sync with README.md, ANNOUNCE:\nversion: 1.3\ncategory: Testing\nsynopsis: A tool for testing command-line programs.\ndescription:\n shelltestrunner is a cross-platform tool for testing command-line\n program"+ (Fingerprint 4403237110790078829 15392625961066653722)+ (Fingerprint 10218887328390239431 4644205837817510221)+ (bsReplace "other modules:" "--")+ -- &&!+ -- http://hackage.haskell.org/package/hblas-0.3.0.0+ , mk "-- Initial hblas.cabal generated by cabal init. For further \n-- documentation, see http://haskell.org/cabal/users-guide/\n\n-- The name of the package.\nname: hblas\n\n-- The package version. See the Haskell package versioning policy (PVP) \n-- "+ (Fingerprint 8570120150072467041 18315524331351505945)+ (Fingerprint 10838007242302656005 16026440017674974175)+ (bsReplace "&&!" "&& !")+ , mk "-- Initial hblas.cabal generated by cabal init. For further \n-- documentation, see http://haskell.org/cabal/users-guide/\n\n-- The name of the package.\nname: hblas\n\n-- The package version. See the Haskell package versioning policy (PVP) \n-- "+ (Fingerprint 5262875856214215155 10846626274067555320)+ (Fingerprint 3022954285783401045 13395975869915955260)+ (bsReplace "&&!" "&& !")+ , mk "-- Initial hblas.cabal generated by cabal init. For further \n-- documentation, see http://haskell.org/cabal/users-guide/\n\n-- The name of the package.\nname: hblas\n\n-- The package version. See the Haskell package versioning policy (PVP) \n-- "+ (Fingerprint 54222628930951453 5526514916844166577)+ (Fingerprint 1749630806887010665 8607076506606977549)+ (bsReplace "&&!" "&& !")+ , mk "-- Initial hblas.cabal generated by cabal init. For further\n-- documentation, see http://haskell.org/cabal/users-guide/\n\n-- The name of the package.\nname: hblas\n\n-- The package version. See the Haskell package versioning policy (PVP)\n-- fo"+ (Fingerprint 6817250511240350300 15278852712000783849)+ (Fingerprint 15757717081429529536 15542551865099640223)+ (bsReplace "&&!" "&& !")+ , mk "-- Initial hblas.cabal generated by cabal init. For further\n-- documentation, see http://haskell.org/cabal/users-guide/\n\n-- The name of the package.\nname: hblas\n\n-- The package version. See the Haskell package versioning policy (PVP)\n-- fo"+ (Fingerprint 8310050400349211976 201317952074418615)+ (Fingerprint 10283381191257209624 4231947623042413334)+ (bsReplace "&&!" "&& !")+ , mk "-- Initial hblas.cabal generated by cabal init. For further\n-- documentation, see http://haskell.org/cabal/users-guide/\n\n-- The name of the package.\nname: hblas\n\n-- The package version. See the Haskell package versioning policy (PVP)\n-- fo"+ (Fingerprint 7010988292906098371 11591884496857936132)+ (Fingerprint 6158672440010710301 6419743768695725095)+ (bsReplace "&&!" "&& !")+ , mk "-- Initial hblas.cabal generated by cabal init. For further\r\n-- documentation, see http://haskell.org/cabal/users-guide/\r\n\r\n-- The name of the package.\r\nname: hblas\r\n\r\n-- The package version. See the Haskell package versioning policy (PVP)"+ (Fingerprint 2076850805659055833 16615160726215879467)+ (Fingerprint 10634706281258477722 5285812379517916984)+ (bsReplace "&&!" "&& !")+ , mk "-- Initial hblas.cabal generated by cabal init. For further\r\n-- documentation, see http://haskell.org/cabal/users-guide/\r\n\r\n-- The name of the package.\r\nname: hblas\r\n\r\n-- The package version. See the Haskell package versioning policy (PVP)"+ (Fingerprint 11850020631622781099 11956481969231030830)+ (Fingerprint 13702868780337762025 13383526367149067158)+ (bsReplace "&&!" "&& !")+ , mk "-- Initial hblas.cabal generated by cabal init. For further\n-- documentation, see http://haskell.org/cabal/users-guide/\n\n-- The name of the package.\nname: hblas\n\n-- The package version. See the Haskell package versioning policy (PVP)\n-- fo"+ (Fingerprint 13690322768477779172 19704059263540994)+ (Fingerprint 11189374824645442376 8363528115442591078)+ (bsReplace "&&!" "&& !")+ ]+ where+ mk a b c d = ((a, b), (c, d))++-- | Helper to create entries in patches+_makePatchKey :: FilePath -> (BS.ByteString -> BS.ByteString) -> NoCallStackIO ()+_makePatchKey fp transform = do+ contents <- BS.readFile fp+ let output = transform contents+ let Fingerprint hi lo = md5 contents+ let Fingerprint hi' lo' = md5 output+ putStrLn+ $ showString " , mk "+ . shows (BS.take 256 contents)+ . showString "\n (Fingerprint "+ . shows hi+ . showString " "+ . shows lo+ . showString ")\n (Fingerprint "+ . shows hi'+ . showString " "+ . shows lo'+ . showString ")"+ $ ""++-------------------------------------------------------------------------------+-- Patch helpers+-------------------------------------------------------------------------------++bsRemove+ :: BS.ByteString -- ^ needle+ -> BS.ByteString -> BS.ByteString+bsRemove needle haystack = case BS.breakSubstring needle haystack of+ (h, t) -> BS.append h (BS.drop (BS.length needle) t)++bsReplace+ :: BS.ByteString -- ^ needle+ -> BS.ByteString -- ^ replacement+ -> BS.ByteString -> BS.ByteString+bsReplace needle repl haystack = case BS.breakSubstring needle haystack of+ (h, t)+ | not (BS.null t) -> BS.append h (BS.append repl (BS.drop (BS.length needle) t))+ | otherwise -> haystack++bsRemoveStarting+ :: BS.ByteString -- ^ needle+ -> BS.ByteString -> BS.ByteString+bsRemoveStarting needle haystack = case BS.breakSubstring needle haystack of+ (h, _) -> h
@@ -51,9 +51,11 @@ import qualified Distribution.Compat.MonadFail as Fail import Distribution.Compat.ReadP as ReadP hiding (get) import Distribution.ReadE+import Distribution.Compat.Newtype+import Distribution.Parsec.Newtypes (TestedWith (..)) import Distribution.Text import Distribution.Utils.Generic-import Distribution.PrettyUtils+import Distribution.Pretty import Language.Haskell.Extension import Text.PrettyPrint@@ -283,6 +285,8 @@ , "extra-source-files" , "extra-tmp-files" , "exposed-modules"+ , "asm-sources"+ , "cmm-sources" , "c-sources" , "js-sources" , "extra-libraries"@@ -702,3 +706,10 @@ readPToMaybe :: ReadP a a -> String -> Maybe a readPToMaybe p str = listToMaybe [ r | (r,s) <- readP_to_S p str , all isSpace s ]++-------------------------------------------------------------------------------+-- Internal+-------------------------------------------------------------------------------++showTestedWith :: (CompilerFlavor, VersionRange) -> Doc+showTestedWith = pretty . pack' TestedWith
@@ -1,423 +1,213 @@-{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ScopedTypeVariables #-} module Distribution.Parsec.Class ( Parsec(..),- -- * Warnings- parsecWarning,+ ParsecParser (..),+ runParsecParser,+ simpleParsec,+ lexemeParsec,+ eitherParsec,+ explicitEitherParsec,+ -- * CabalParsing & warnings+ CabalParsing (..),+ PWarnType (..), -- * Utilities- parsecTestedWith, parsecToken, parsecToken', parsecFilePath, parsecQuoted, parsecMaybeQuoted, parsecCommaList,+ parsecLeadingCommaList, parsecOptCommaList,+ parsecStandard,+ parsecUnqualComponentName, ) where -import Prelude ()-import Distribution.Compat.Prelude-import Data.Functor.Identity (Identity)-import qualified Distribution.Compat.Parsec as P-import Distribution.Parsec.Types.Common- (PWarnType (..), PWarning (..), Position (..))-import qualified Text.Parsec as Parsec-import qualified Text.Parsec.Language as Parsec-import qualified Text.Parsec.Token as Parsec---- Instances+import Data.Char (digitToInt, intToDigit)+import Data.Functor.Identity (Identity (..))+import Data.List (transpose)+import Distribution.CabalSpecVersion+import Distribution.Compat.Prelude+import Distribution.Parsec.FieldLineStream+import Distribution.Parsec.Common (PWarnType (..), PWarning (..), Position (..))+import Numeric (showIntAtBase)+import Prelude () -import Distribution.Compiler- (CompilerFlavor (..), classifyCompilerFlavor)-import Distribution.License (License (..))-import Distribution.ModuleName (ModuleName)-import qualified Distribution.ModuleName as ModuleName-import Distribution.System- (Arch (..), ClassificationStrictness (..), OS (..),- classifyArch, classifyOS)-import Distribution.Text (display)-import Distribution.Types.BenchmarkType- (BenchmarkType (..))-import Distribution.Types.BuildType (BuildType (..))-import Distribution.Types.Dependency (Dependency (..))-import Distribution.Types.ExeDependency (ExeDependency (..))-import Distribution.Types.LegacyExeDependency (LegacyExeDependency (..))-import Distribution.Types.PkgconfigDependency (PkgconfigDependency (..))-import Distribution.Types.PkgconfigName- (PkgconfigName, mkPkgconfigName)-import Distribution.Types.GenericPackageDescription (FlagName, mkFlagName)-import Distribution.Types.ModuleReexport- (ModuleReexport (..))-import Distribution.Types.SourceRepo- (RepoKind, RepoType, classifyRepoKind, classifyRepoType)-import Distribution.Types.TestType (TestType (..))-import Distribution.Types.ForeignLib (LibVersionInfo, mkLibVersionInfo)-import Distribution.Types.ForeignLibType (ForeignLibType (..))-import Distribution.Types.ForeignLibOption (ForeignLibOption (..))-import Distribution.Types.ModuleRenaming-import Distribution.Types.IncludeRenaming-import Distribution.Types.Mixin-import Distribution.Types.PackageName- (PackageName, mkPackageName)-import Distribution.Types.UnqualComponentName- (UnqualComponentName, mkUnqualComponentName)-import Distribution.Types.ExecutableScope-import Distribution.Version- (Version, VersionRange (..), anyVersion, earlierVersion,- intersectVersionRanges, laterVersion, majorBoundVersion,- mkVersion, noVersion, orEarlierVersion, orLaterVersion,- thisVersion, unionVersionRanges, withinVersion)-import Language.Haskell.Extension- (Extension, Language, classifyExtension, classifyLanguage)+import qualified Distribution.Compat.CharParsing as P+import qualified Distribution.Compat.MonadFail as Fail+import qualified Distribution.Compat.ReadP as ReadP+import qualified Text.Parsec as Parsec ------------------------------------------------------------------------------- -- Class ------------------------------------------------------------------------------- --- |------ TODO: implementation details: should be careful about consuming trailing whitespace?--- Should we always consume it?+-- | Class for parsing with @parsec@. Mainly used for @.cabal@ file fields. class Parsec a where- parsec :: P.Stream s Identity Char => P.Parsec s [PWarning] a-- -- | 'parsec' /could/ consume trailing spaces, this function /must/ consume.- lexemeParsec :: P.Stream s Identity Char => P.Parsec s [PWarning] a- lexemeParsec = parsec <* P.spaces--parsecWarning :: PWarnType -> String -> P.Parsec s [PWarning] ()-parsecWarning t w =- Parsec.modifyState (PWarning t (Position 0 0) w :)------------------------------------------------------------------------------------ Instances------------------------------------------------------------------------------------ TODO: use lexemeParsec---- TODO avoid String-parsecUnqualComponentName :: P.Stream s Identity Char => P.Parsec s [PWarning] String-parsecUnqualComponentName = intercalate "-" <$> P.sepBy1 component (P.char '-')- where- component :: P.Stream s Identity Char => P.Parsec s [PWarning] String- component = do- cs <- P.munch1 isAlphaNum- if all isDigit cs- then fail "all digits in portion of unqualified component name"- else return cs--instance Parsec UnqualComponentName where- parsec = mkUnqualComponentName <$> parsecUnqualComponentName--instance Parsec PackageName where- parsec = mkPackageName <$> parsecUnqualComponentName+ parsec :: CabalParsing m => m a -instance Parsec PkgconfigName where- parsec = mkPkgconfigName <$> P.munch1 (\c -> isAlphaNum c || c `elem` "+-._")+-- | Parsing class which+--+-- * can report Cabal parser warnings.+--+-- * knows @cabal-version@ we work with+--+class (P.CharParsing m, MonadPlus m) => CabalParsing m where+ parsecWarning :: PWarnType -> String -> m () -instance Parsec ModuleName where- parsec = ModuleName.fromComponents <$> P.sepBy1 component (P.char '.')- where- component = do- c <- P.satisfy isUpper- cs <- P.munch validModuleChar- return (c:cs)+ parsecHaskellString :: m String+ parsecHaskellString = stringLiteral - validModuleChar :: Char -> Bool- validModuleChar c = isAlphaNum c || c == '_' || c == '\''+ askCabalSpecVersion :: m CabalSpecVersion -instance Parsec FlagName where- parsec = mkFlagName . map toLower . intercalate "-" <$> P.sepBy1 component (P.char '-')- where- -- http://hackage.haskell.org/package/cabal-debian-4.24.8/cabal-debian.cabal- -- has flag with all digit component: pretty-112- component :: P.Stream s Identity Char => P.Parsec s [PWarning] String- component = P.munch1 (\c -> isAlphaNum c || c `elem` "_")+instance t ~ Char => CabalParsing (ReadP.Parser r t) where+ parsecWarning _ _ = pure ()+ askCabalSpecVersion = pure cabalSpecLatest -instance Parsec Dependency where- parsec = do- name <- lexemeParsec- ver <- parsec <|> pure anyVersion- return (Dependency name ver)+-- | 'parsec' /could/ consume trailing spaces, this function /will/ consume.+lexemeParsec :: (CabalParsing m, Parsec a) => m a+lexemeParsec = parsec <* P.spaces -instance Parsec ExeDependency where- parsec = do- name <- lexemeParsec- _ <- P.char ':'- exe <- lexemeParsec- ver <- parsec <|> pure anyVersion- return (ExeDependency name exe ver)+newtype ParsecParser a = PP { unPP+ :: CabalSpecVersion -> Parsec.Parsec FieldLineStream [PWarning] a+ } -instance Parsec LegacyExeDependency where- parsec = do- name <- parsecMaybeQuoted nameP- P.spaces- verRange <- parsecMaybeQuoted parsec <|> pure anyVersion- pure $ LegacyExeDependency name verRange- where- nameP = intercalate "-" <$> P.sepBy1 component (P.char '-')- component = do- cs <- P.munch1 (\c -> isAlphaNum c || c == '+' || c == '_')- if all isDigit cs then fail "invalid component" else return cs+liftParsec :: Parsec.Parsec FieldLineStream [PWarning] a -> ParsecParser a+liftParsec p = PP $ \_ -> p -instance Parsec PkgconfigDependency where- parsec = do- name <- parsec- P.spaces- verRange <- parsec <|> pure anyVersion- pure $ PkgconfigDependency name verRange+instance Functor ParsecParser where+ fmap f p = PP $ \v -> fmap f (unPP p v)+ {-# INLINE fmap #-} -instance Parsec Version where- parsec = mkVersion <$>- P.sepBy1 P.integral (P.char '.')- <* tags- where- tags = do- ts <- P.optionMaybe $ some $ P.char '-' *> some (P.satisfy isAlphaNum)- case ts of- Nothing -> pure ()- -- TODO: make this warning severe- Just _ -> parsecWarning PWTVersionTag "version with tags"+ x <$ p = PP $ \v -> x <$ unPP p v+ {-# INLINE (<$) #-} --- TODO: this is not good parsec code--- use lexer, also see D.P.ConfVar-instance Parsec VersionRange where- parsec = expr- where- expr = do P.spaces- t <- term- P.spaces- (do _ <- P.string "||"- P.spaces- e <- expr- return (unionVersionRanges t e)- <|>- return t)- term = do f <- factor- P.spaces- (do _ <- P.string "&&"- P.spaces- t <- term- return (intersectVersionRanges f t)- <|>- return f)- factor = P.choice- $ parens expr- : parseAnyVersion- : parseNoVersion- : parseWildcardRange- : map parseRangeOp rangeOps- parseAnyVersion = P.string "-any" >> return anyVersion- parseNoVersion = P.string "-none" >> return noVersion+instance Applicative ParsecParser where+ pure = liftParsec . pure+ {-# INLINE pure #-} - parseWildcardRange = P.try $ do- _ <- P.string "=="- P.spaces- branch <- some (P.integral <* P.char '.')- _ <- P.char '*'- return (withinVersion (mkVersion branch))+ f <*> x = PP $ \v -> unPP f v <*> unPP x v+ {-# INLINE (<*>) #-}+ f *> x = PP $ \v -> unPP f v *> unPP x v+ {-# INLINE (*>) #-}+ f <* x = PP $ \v -> unPP f v <* unPP x v+ {-# INLINE (<*) #-} - parens p = P.between- (P.char '(' >> P.spaces)- (P.char ')' >> P.spaces)- (do a <- p- P.spaces- return (VersionRangeParens a))+instance Alternative ParsecParser where+ empty = liftParsec empty - -- TODO: make those non back-tracking- parseRangeOp (s,f) = P.try (P.string s *> P.spaces *> fmap f parsec)- rangeOps = [ ("<", earlierVersion),- ("<=", orEarlierVersion),- (">", laterVersion),- (">=", orLaterVersion),- ("^>=", majorBoundVersion),- ("==", thisVersion) ]+ a <|> b = PP $ \v -> unPP a v <|> unPP b v+ {-# INLINE (<|>) #-} -instance Parsec LibVersionInfo where- parsec = do- c <- P.integral- (r, a) <- P.option (0,0) $ do- _ <- P.char ':'- r <- P.integral- a <- P.option 0 $ do- _ <- P.char ':'- P.integral- return (r,a)- return $ mkLibVersionInfo (c,r,a)+ many p = PP $ \v -> many (unPP p v)+ {-# INLINE many #-} -instance Parsec Language where- parsec = classifyLanguage <$> P.munch1 isAlphaNum+ some p = PP $ \v -> some (unPP p v)+ {-# INLINE some #-} -instance Parsec Extension where- parsec = classifyExtension <$> P.munch1 isAlphaNum+instance Monad ParsecParser where+ return = pure -instance Parsec RepoType where- parsec = classifyRepoType <$> P.munch1 isIdent+ m >>= k = PP $ \v -> unPP m v >>= \x -> unPP (k x) v+ {-# INLINE (>>=) #-}+ (>>) = (*>)+ {-# INLINE (>>) #-} -instance Parsec RepoKind where- parsec = classifyRepoKind <$> P.munch1 isIdent+ fail = Fail.fail -instance Parsec License where- parsec = do- name <- P.munch1 isAlphaNum- version <- P.optionMaybe (P.char '-' *> parsec)- return $! case (name, version :: Maybe Version) of- ("GPL", _ ) -> GPL version- ("LGPL", _ ) -> LGPL version- ("AGPL", _ ) -> AGPL version- ("BSD2", Nothing) -> BSD2- ("BSD3", Nothing) -> BSD3- ("BSD4", Nothing) -> BSD4- ("ISC", Nothing) -> ISC- ("MIT", Nothing) -> MIT- ("MPL", Just version') -> MPL version'- ("Apache", _ ) -> Apache version- ("PublicDomain", Nothing) -> PublicDomain- ("AllRightsReserved", Nothing) -> AllRightsReserved- ("OtherLicense", Nothing) -> OtherLicense- _ -> UnknownLicense $ name ++- maybe "" (('-':) . display) version+instance MonadPlus ParsecParser where+ mzero = empty+ mplus = (<|>) -instance Parsec BuildType where- parsec = do- name <- P.munch1 isAlphaNum- return $ case name of- "Simple" -> Simple- "Configure" -> Configure- "Custom" -> Custom- "Make" -> Make- _ -> UnknownBuildType name+instance Fail.MonadFail ParsecParser where+ fail = P.unexpected -instance Parsec TestType where- parsec = stdParse $ \ver name -> case name of- "exitcode-stdio" -> TestTypeExe ver- "detailed" -> TestTypeLib ver- _ -> TestTypeUnknown name ver+instance P.Parsing ParsecParser where+ try p = PP $ \v -> P.try (unPP p v)+ p <?> d = PP $ \v -> unPP p v P.<?> d+ skipMany p = PP $ \v -> P.skipMany (unPP p v)+ skipSome p = PP $ \v -> P.skipSome (unPP p v)+ unexpected = liftParsec . P.unexpected+ eof = liftParsec P.eof+ notFollowedBy p = PP $ \v -> P.notFollowedBy (unPP p v) -instance Parsec BenchmarkType where- parsec = stdParse $ \ver name -> case name of- "exitcode-stdio" -> BenchmarkTypeExe ver- _ -> BenchmarkTypeUnknown name ver+instance P.CharParsing ParsecParser where+ satisfy = liftParsec . P.satisfy+ char = liftParsec . P.char+ notChar = liftParsec . P.notChar+ anyChar = liftParsec P.anyChar+ string = liftParsec . P.string -instance Parsec ForeignLibType where- parsec = do- name <- P.munch1 (\c -> isAlphaNum c || c == '-')- return $ case name of- "native-shared" -> ForeignLibNativeShared- "native-static" -> ForeignLibNativeStatic- _ -> ForeignLibTypeUnknown+instance CabalParsing ParsecParser where+ parsecWarning t w = liftParsec $ Parsec.modifyState (PWarning t (Position 0 0) w :)+ askCabalSpecVersion = PP pure -instance Parsec ForeignLibOption where- parsec = do- name <- P.munch1 (\c -> isAlphaNum c || c == '-')- case name of- "standalone" -> return ForeignLibStandalone- _ -> fail "unrecognized foreign-library option"+-- | Parse a 'String' with 'lexemeParsec'.+simpleParsec :: Parsec a => String -> Maybe a+simpleParsec+ = either (const Nothing) Just+ . runParsecParser lexemeParsec "<simpleParsec>"+ . fieldLineStreamFromString -instance Parsec OS where- parsec = classifyOS Compat <$> parsecIdent+-- | Parse a 'String' with 'lexemeParsec'.+eitherParsec :: Parsec a => String -> Either String a+eitherParsec = explicitEitherParsec parsec -instance Parsec Arch where- parsec = classifyArch Strict <$> parsecIdent+-- | Parse a 'String' with given 'ParsecParser'. Trailing whitespace is accepted.+explicitEitherParsec :: ParsecParser a -> String -> Either String a+explicitEitherParsec parser+ = either (Left . show) Right+ . runParsecParser (parser <* P.spaces) "<eitherParsec>"+ . fieldLineStreamFromString -instance Parsec CompilerFlavor where- parsec = classifyCompilerFlavor <$> component- where- component :: P.Stream s Identity Char => P.Parsec s [PWarning] String- component = do- cs <- P.munch1 isAlphaNum- if all isDigit cs then fail "all digits compiler name" else return cs+-- | Run 'ParsecParser' with 'cabalSpecLatest'.+runParsecParser :: ParsecParser a -> FilePath -> FieldLineStream -> Either Parsec.ParseError a+runParsecParser p n = Parsec.runParser (unPP p cabalSpecLatest <* P.eof) [] n -instance Parsec ModuleReexport where- parsec = do- mpkgname <- P.optionMaybe (P.try $ parsec <* P.char ':')- origname <- parsec- newname <- P.option origname $ P.try $ do- P.spaces- _ <- P.string "as"- P.spaces- parsec- return (ModuleReexport mpkgname origname newname)+instance Parsec a => Parsec (Identity a) where+ parsec = Identity <$> parsec -instance Parsec ModuleRenaming where- -- NB: try not necessary as the first token is obvious- parsec = P.choice [ parseRename, parseHiding, return DefaultRenaming ]+instance Parsec Bool where+ parsec = P.munch1 isAlpha >>= postprocess where- parseRename = do- rns <- P.between (P.char '(') (P.char ')') parseList- P.spaces- return (ModuleRenaming rns)- parseHiding = do- _ <- P.string "hiding"- P.spaces- hides <- P.between (P.char '(') (P.char ')')- (P.sepBy parsec (P.char ',' >> P.spaces))- return (HidingRenaming hides)- parseList =- P.sepBy parseEntry (P.char ',' >> P.spaces)- parseEntry = do- orig <- parsec- P.spaces- P.option (orig, orig) $ do- _ <- P.string "as"- P.spaces- new <- parsec- P.spaces- return (orig, new)--instance Parsec IncludeRenaming where- parsec = do- prov_rn <- parsec- req_rn <- P.option defaultRenaming $ P.try $ do- P.spaces- _ <- P.string "requires"- P.spaces- parsec- return (IncludeRenaming prov_rn req_rn)--instance Parsec Mixin where- parsec = do- mod_name <- parsec- P.spaces- incl <- parsec- return (Mixin mod_name incl)--instance Parsec ExecutableScope where- parsec = do- name <- P.munch1 (\c -> isAlphaNum c || c == '-')- return $ case name of- "public" -> ExecutablePublic- "private" -> ExecutablePrivate- _ -> ExecutableScopeUnknown------------------------------------------------------------------------------------ Utilities--------------------------------------------------------------------------------+ postprocess str+ | str == "True" = pure True+ | str == "False" = pure False+ | lstr == "true" = parsecWarning PWTBoolCase caseWarning *> pure True+ | lstr == "false" = parsecWarning PWTBoolCase caseWarning *> pure False+ | otherwise = fail $ "Not a boolean: " ++ str+ where+ lstr = map toLower str+ caseWarning =+ "Boolean values are case sensitive, use 'True' or 'False'." -isIdent :: Char -> Bool-isIdent c = isAlphaNum c || c == '_' || c == '-'+-- | @[^ ,]@+parsecToken :: CabalParsing m => m String+parsecToken = parsecHaskellString <|> ((P.munch1 (\x -> not (isSpace x) && x /= ',') P.<?> "identifier" ) >>= checkNotDoubleDash) -parsecTestedWith :: P.Stream s Identity Char => P.Parsec s [PWarning] (CompilerFlavor, VersionRange)-parsecTestedWith = do- name <- lexemeParsec- ver <- parsec <|> pure anyVersion- return (name, ver)+-- | @[^ ]@+parsecToken' :: CabalParsing m => m String+parsecToken' = parsecHaskellString <|> ((P.munch1 (not . isSpace) P.<?> "token") >>= checkNotDoubleDash) -parsecToken :: P.Stream s Identity Char => P.Parsec s [PWarning] String-parsecToken = parsecHaskellString <|> (P.munch1 (\x -> not (isSpace x) && x /= ',') P.<?> "identifier" )+checkNotDoubleDash :: CabalParsing m => String -> m String+checkNotDoubleDash s = do+ when (s == "--") $ parsecWarning PWTDoubleDash $ unwords+ [ "Double-dash token found."+ , "Note: there are no end-of-line comments in .cabal files, only whole line comments."+ , "Use \"--\" (quoted double dash) to silence this warning, if you actually want -- token"+ ] -parsecToken' :: P.Stream s Identity Char => P.Parsec s [PWarning] String-parsecToken' = parsecHaskellString <|> (P.munch1 (not . isSpace) P.<?> "token")+ return s -parsecFilePath :: P.Stream s Identity Char => P.Parsec s [PWarning] String+parsecFilePath :: CabalParsing m => m FilePath parsecFilePath = parsecToken -- | Parse a benchmark/test-suite types.-stdParse- :: P.Stream s Identity Char- => (Version -> String -> a)- -> P.Parsec s [PWarning] a-stdParse f = do- -- TODO: this backtracks+parsecStandard :: (CabalParsing m, Parsec ver) => (ver -> String -> a) -> m a+parsecStandard f = do cs <- some $ P.try (component <* P.char '-') ver <- parsec let name = map toLower (intercalate "-" cs)@@ -429,54 +219,135 @@ -- each component must contain an alphabetic character, to avoid -- ambiguity in identifiers like foo-1 (the 1 is the version number). -parsecCommaList- :: P.Stream s Identity Char- => P.Parsec s [PWarning] a- -> P.Parsec s [PWarning] [a]-parsecCommaList p = P.sepBy (p <* P.spaces) (P.char ',' *> P.spaces)+parsecCommaList :: CabalParsing m => m a -> m [a]+parsecCommaList p = P.sepBy (p <* P.spaces) (P.char ',' *> P.spaces P.<?> "comma") -parsecOptCommaList- :: P.Stream s Identity Char- => P.Parsec s [PWarning] a- -> P.Parsec s [PWarning] [a]+-- | Like 'parsecCommaList' but accept leading or trailing comma.+--+-- @+-- p (comma p)* -- p `sepBy` comma+-- (comma p)* -- leading comma+-- (p comma)* -- trailing comma+-- @+parsecLeadingCommaList :: CabalParsing m => m a -> m [a]+parsecLeadingCommaList p = do+ c <- P.optional comma+ case c of+ Nothing -> P.sepEndBy1 lp comma <|> pure []+ Just _ -> P.sepBy1 lp comma+ where+ lp = p <* P.spaces+ comma = P.char ',' *> P.spaces P.<?> "comma"++parsecOptCommaList :: CabalParsing m => m a -> m [a] parsecOptCommaList p = P.sepBy (p <* P.spaces) (P.optional comma) where comma = P.char ',' *> P.spaces - -- | Content isn't unquoted-parsecQuoted- :: P.Stream s Identity Char- => P.Parsec s [PWarning] a- -> P.Parsec s [PWarning] a+parsecQuoted :: CabalParsing m => m a -> m a parsecQuoted = P.between (P.char '"') (P.char '"') -- | @parsecMaybeQuoted p = 'parsecQuoted' p <|> p@.-parsecMaybeQuoted- :: P.Stream s Identity Char- => P.Parsec s [PWarning] a- -> P.Parsec s [PWarning] a+parsecMaybeQuoted :: CabalParsing m => m a -> m a parsecMaybeQuoted p = parsecQuoted p <|> p -parsecHaskellString :: P.Stream s Identity Char => P.Parsec s [PWarning] String-parsecHaskellString = Parsec.stringLiteral $ Parsec.makeTokenParser Parsec.emptyDef- { Parsec.commentStart = "{-"- , Parsec.commentEnd = "-}"- , Parsec.commentLine = "--"- , Parsec.nestedComments = True- , Parsec.identStart = P.satisfy isAlphaNum- , Parsec.identLetter = P.satisfy isAlphaNum <|> P.oneOf "_'"- , Parsec.opStart = opl- , Parsec.opLetter = opl- , Parsec.reservedOpNames= []- , Parsec.reservedNames = []- , Parsec.caseSensitive = True- }+parsecUnqualComponentName :: CabalParsing m => m String+parsecUnqualComponentName = intercalate "-" <$> P.sepBy1 component (P.char '-') where- opl = P.oneOf ":!#$%&*+./<=>?@\\^|-~"+ component :: CabalParsing m => m String+ component = do+ cs <- P.munch1 isAlphaNum+ if all isDigit cs+ then fail "all digits in portion of unqualified component name"+ else return cs -parsecIdent :: P.Stream s Identity Char => P.Parsec s [PWarning] String-parsecIdent = (:) <$> firstChar <*> rest+stringLiteral :: forall m. P.CharParsing m => m String+stringLiteral = lit where+ lit :: m String+ lit = foldr (maybe id (:)) ""+ <$> P.between (P.char '"') (P.char '"' P.<?> "end of string") (many stringChar)+ P.<?> "string"++ stringChar :: m (Maybe Char)+ stringChar = Just <$> stringLetter+ <|> stringEscape+ P.<?> "string character"++ stringLetter :: m Char+ stringLetter = P.satisfy (\c -> (c /= '"') && (c /= '\\') && (c > '\026'))++ stringEscape :: m (Maybe Char)+ stringEscape = P.char '\\' *> esc where+ esc :: m (Maybe Char)+ esc = Nothing <$ escapeGap+ <|> Nothing <$ escapeEmpty+ <|> Just <$> escapeCode++ escapeEmpty, escapeGap :: m Char+ escapeEmpty = P.char '&'+ escapeGap = P.skipSpaces1 *> (P.char '\\' P.<?> "end of string gap")++escapeCode :: forall m. P.CharParsing m => m Char+escapeCode = (charEsc <|> charNum <|> charAscii <|> charControl) P.<?> "escape code" where- firstChar = P.satisfy isAlpha- rest = P.munch (\c -> isAlphaNum c || c == '_' || c == '-')+ charControl, charNum :: m Char+ charControl = (\c -> toEnum (fromEnum c - fromEnum '@')) <$> (P.char '^' *> (P.upper <|> P.char '@'))+ charNum = toEnum <$> num+ where+ num :: m Int+ num = bounded 10 maxchar+ <|> (P.char 'o' *> bounded 8 maxchar)+ <|> (P.char 'x' *> bounded 16 maxchar)+ maxchar = fromEnum (maxBound :: Char)++ bounded :: Int -> Int -> m Int+ bounded base bnd = foldl' (\x d -> base * x + digitToInt d) 0+ <$> bounded' (take base thedigits) (map digitToInt $ showIntAtBase base intToDigit bnd "")+ where+ thedigits :: [m Char]+ thedigits = map P.char ['0'..'9'] ++ map P.oneOf (transpose [['A'..'F'],['a'..'f']])++ toomuch :: m a+ toomuch = P.unexpected "out-of-range numeric escape sequence"++ bounded', bounded'' :: [m Char] -> [Int] -> m [Char]+ bounded' dps@(zero:_) bds = P.skipSome zero *> ([] <$ P.notFollowedBy (P.choice dps) <|> bounded'' dps bds)+ <|> bounded'' dps bds+ bounded' [] _ = error "bounded called with base 0"+ bounded'' dps [] = [] <$ P.notFollowedBy (P.choice dps) <|> toomuch+ bounded'' dps (bd : bds) = let anyd :: m Char+ anyd = P.choice dps++ nomore :: m ()+ nomore = P.notFollowedBy anyd <|> toomuch++ (low, ex : high) = splitAt bd dps+ in ((:) <$> P.choice low <*> atMost (length bds) anyd) <* nomore+ <|> ((:) <$> ex <*> ([] <$ nomore <|> bounded'' dps bds))+ <|> if not (null bds)+ then (:) <$> P.choice high <*> atMost (length bds - 1) anyd <* nomore+ else empty+ atMost n p | n <= 0 = pure []+ | otherwise = ((:) <$> p <*> atMost (n - 1) p) <|> pure []++ charEsc :: m Char+ charEsc = P.choice $ parseEsc <$> escMap++ parseEsc (c,code) = code <$ P.char c+ escMap = zip "abfnrtv\\\"\'" "\a\b\f\n\r\t\v\\\"\'"++ charAscii :: m Char+ charAscii = P.choice $ parseAscii <$> asciiMap++ parseAscii (asc,code) = P.try $ code <$ P.string asc+ asciiMap = zip (ascii3codes ++ ascii2codes) (ascii3 ++ ascii2)+ ascii2codes, ascii3codes :: [String]+ ascii2codes = [ "BS","HT","LF","VT","FF","CR","SO"+ , "SI","EM","FS","GS","RS","US","SP"]+ ascii3codes = ["NUL","SOH","STX","ETX","EOT","ENQ","ACK"+ ,"BEL","DLE","DC1","DC2","DC3","DC4","NAK"+ ,"SYN","ETB","CAN","SUB","ESC","DEL"]+ ascii2, ascii3 :: String+ ascii2 = "\BS\HT\LF\VT\FF\CR\SO\SI\EM\FS\GS\RS\US\SP"+ ascii3 = "\NUL\SOH\STX\ETX\EOT\ENQ\ACK\BEL\DLE\DC1\DC2\DC3\DC4\NAK\SYN\ETB\CAN\SUB\ESC\DEL"
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+-- | Module containing small types+module Distribution.Parsec.Common (+ -- * Diagnostics+ PError (..),+ showPError,+ PWarning (..),+ PWarnType (..),+ showPWarning,+ -- * Position+ Position (..),+ incPos,+ retPos,+ showPos,+ zeroPos,+ ) where++import Distribution.Compat.Prelude+import Prelude ()+import System.FilePath (normalise)++-- | Parser error.+data PError = PError Position String+ deriving (Show, Generic)++instance Binary PError+instance NFData PError where rnf = genericRnf++-- | Type of parser warning. We do classify warnings.+--+-- Different application may decide not to show some, or have fatal behaviour on others+data PWarnType+ = PWTOther -- ^ Unclassified warning+ | PWTUTF -- ^ Invalid UTF encoding+ | PWTBoolCase -- ^ @true@ or @false@, not @True@ or @False@+ | PWTVersionTag -- ^ there are version with tags+ | PWTNewSyntax -- ^ New syntax used, but no @cabal-version: >= 1.2@ specified+ | PWTOldSyntax -- ^ Old syntax used, and @cabal-version >= 1.2@ specified+ | PWTDeprecatedField+ | PWTInvalidSubsection+ | PWTUnknownField+ | PWTUnknownSection+ | PWTTrailingFields+ | PWTExtraMainIs -- ^ extra main-is field+ | PWTExtraTestModule -- ^ extra test-module field+ | PWTExtraBenchmarkModule -- ^ extra benchmark-module field+ | PWTLexNBSP+ | PWTLexBOM+ | PWTLexTab+ | PWTQuirkyCabalFile -- ^ legacy cabal file that we know how to patch+ | PWTDoubleDash -- ^ Double dash token, most likely it's a mistake - it's not a comment+ | PWTMultipleSingularField -- ^ e.g. name or version should be specified only once.+ | PWTBuildTypeDefault -- ^ Workaround for derive-package having build-type: Default. See <https://github.com/haskell/cabal/issues/5020>.+ | PWTVersionLeadingZeros -- ^ See https://github.com/haskell-infra/hackage-trustees/issues/128+ deriving (Eq, Ord, Show, Enum, Bounded, Generic)++instance Binary PWarnType+instance NFData PWarnType where rnf = genericRnf++-- | Parser warning.+data PWarning = PWarning !PWarnType !Position String+ deriving (Show, Generic)++instance Binary PWarning+instance NFData PWarning where rnf = genericRnf++showPWarning :: FilePath -> PWarning -> String+showPWarning fpath (PWarning _ pos msg) =+ normalise fpath ++ ":" ++ showPos pos ++ ": " ++ msg++showPError :: FilePath -> PError -> String+showPError fpath (PError pos msg) =+ normalise fpath ++ ":" ++ showPos pos ++ ": " ++ msg++-------------------------------------------------------------------------------+-- Position+-------------------------------------------------------------------------------++-- | 1-indexed row and column positions in a file.+data Position = Position+ {-# UNPACK #-} !Int -- row+ {-# UNPACK #-} !Int -- column+ deriving (Eq, Ord, Show, Generic)++instance Binary Position+instance NFData Position where rnf = genericRnf++-- | Shift position by n columns to the right.+incPos :: Int -> Position -> Position+incPos n (Position row col) = Position row (col + n)++-- | Shift position to beginning of next row.+retPos :: Position -> Position+retPos (Position row _col) = Position (row + 1) 1++showPos :: Position -> String+showPos (Position row col) = show row ++ ":" ++ show col++zeroPos :: Position+zeroPos = Position 0 0
@@ -1,33 +1,30 @@ {-# LANGUAGE OverloadedStrings #-} module Distribution.Parsec.ConfVar (parseConditionConfVar) where -import Prelude ()-import Distribution.Compat.Prelude-import Distribution.Compat.Parsec (integral)-import Distribution.Parsec.Class (Parsec (..))-import Distribution.Parsec.Types.Common-import Distribution.Parsec.Types.Field (SectionArg (..))-import Distribution.Parsec.Types.ParseResult-import Distribution.Simple.Utils (fromUTF8BS)-import Distribution.Types.Condition-import Distribution.Types.GenericPackageDescription- (ConfVar (..))-import Distribution.Version- (anyVersion, earlierVersion, intersectVersionRanges,- laterVersion, majorBoundVersion, mkVersion, noVersion,- orEarlierVersion, orLaterVersion, thisVersion,- unionVersionRanges, withinVersion)-import qualified Text.Parsec as P-import qualified Text.Parsec.Error as P+import Distribution.Compat.CharParsing (char, integral)+import Distribution.Compat.Prelude+import Distribution.Parsec.Class (Parsec (..), runParsecParser)+import Distribution.Parsec.Common+import Distribution.Parsec.FieldLineStream+import Distribution.Parsec.Field (SectionArg (..))+import Distribution.Parsec.ParseResult+import Distribution.Types.Condition+import Distribution.Types.GenericPackageDescription (ConfVar (..))+import Distribution.Version+ (anyVersion, earlierVersion, intersectVersionRanges, laterVersion, majorBoundVersion,+ mkVersion, noVersion, orEarlierVersion, orLaterVersion, thisVersion, unionVersionRanges,+ withinVersion)+import Prelude () +import qualified Text.Parsec as P+import qualified Text.Parsec.Error as P+ -- | Parse @'Condition' 'ConfVar'@ from section arguments provided by parsec -- based outline parser. parseConditionConfVar :: [SectionArg Position] -> ParseResult (Condition ConfVar)-parseConditionConfVar args = do- -- preprocess glued operators- args' <- preprocess args+parseConditionConfVar args = -- The name of the input file is irrelevant, as we reformat the error message.- case P.runParser (parser <* P.eof) () "<condition>" args' of+ case P.runParser (parser <* P.eof) () "<condition>" args of Right x -> pure x Left err -> do -- Mangle the position to the actual one@@ -39,18 +36,6 @@ parseFailure epos msg pure $ Lit True --- This is a hack, as we have "broken" .cabal files on Hackage------ There are glued operators "&&!" (no whitespace) in some cabal files.--- E.g. http://hackage.haskell.org/package/hblas-0.2.0.0/hblas.cabal-preprocess :: [SectionArg Position] -> ParseResult [SectionArg Position]-preprocess (SecArgOther pos "&&!" : rest) = do- parseWarning pos PWTGluedOperators "Glued operators: &&!"- (\rest' -> SecArgOther pos "&&" : SecArgOther pos "!" : rest') <$> preprocess rest-preprocess (x : rest) =- (x: ) <$> preprocess rest-preprocess [] = pure []- type Parser = P.Parsec [SectionArg Position] () parser :: Parser (Condition ConfVar)@@ -75,7 +60,7 @@ version = fromParsec versionStar = mkVersion <$> fromParsec' versionStar' <* oper "*"- versionStar' = some (integral <* P.char '.')+ versionStar' = some (integral <* char '.') versionRange = expr where@@ -103,9 +88,8 @@ ("==", thisVersion) ] -- Number token can have many dots in it: SecArgNum (Position 65 15) "7.6.1"- ident = tokenPrim $ \t -> case t of- SecArgName _ s -> Just $ fromUTF8BS s- SecArgNum _ s -> Just $ fromUTF8BS s+ identBS = tokenPrim $ \t -> case t of+ SecArgName _ s -> Just s _ -> Nothing boolLiteral' = tokenPrim $ \t -> case t of@@ -135,8 +119,6 @@ fromParsec = fromParsec' parsec fromParsec' p = do- i <- ident- case P.runParser (p <* P.eof) [] "<ident>" i of- Right x -> pure x- -- TODO: better lifting or errors / warnings- Left err -> fail $ show err+ bs <- identBS+ let fls = fieldLineStreamFromBS bs+ either (fail . show) pure (runParsecParser p "<fromParsec'>" fls)
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveFunctor #-}+-- | Cabal-like file AST types: 'Field', 'Section' etc+--+-- These types are parametrized by an annotation.+module Distribution.Parsec.Field (+ -- * Cabal file+ Field (..),+ fieldName,+ fieldAnn,+ fieldUniverse,+ FieldLine (..),+ SectionArg (..),+ sectionArgAnn,+ -- * Name+ FieldName,+ Name (..),+ mkName,+ getName,+ nameAnn,+ ) where++import Prelude ()+import Distribution.Compat.Prelude+import Data.ByteString (ByteString)+import qualified Data.ByteString.Char8 as B+import qualified Data.Char as Char++-------------------------------------------------------------------------------+-- Cabal file+-------------------------------------------------------------------------------++-- | A Cabal-like file consists of a series of fields (@foo: bar@) and sections (@library ...@).+data Field ann+ = Field !(Name ann) [FieldLine ann]+ | Section !(Name ann) [SectionArg ann] [Field ann]+ deriving (Eq, Show, Functor)++-- | Section of field name+fieldName :: Field ann -> Name ann+fieldName (Field n _ ) = n+fieldName (Section n _ _) = n++fieldAnn :: Field ann -> ann+fieldAnn = nameAnn . fieldName++-- | All transitive descendands of 'Field', including itself.+--+-- /Note:/ the resulting list is never empty.+--+fieldUniverse :: Field ann -> [Field ann]+fieldUniverse f@(Section _ _ fs) = f : concatMap fieldUniverse fs+fieldUniverse f@(Field _ _) = [f]++-- | A line of text representing the value of a field from a Cabal file.+-- A field may contain multiple lines.+--+-- /Invariant:/ 'ByteString' has no newlines.+data FieldLine ann = FieldLine !ann !ByteString+ deriving (Eq, Show, Functor)++-- | Section arguments, e.g. name of the library+data SectionArg ann+ = SecArgName !ann !ByteString+ -- ^ identifier, or omething which loos like number. Also many dot numbers, i.e. "7.6.3"+ | SecArgStr !ann !ByteString+ -- ^ quoted string+ | SecArgOther !ann !ByteString+ -- ^ everything else, mm. operators (e.g. in if-section conditionals)+ deriving (Eq, Show, Functor)++-- | Extract annotation from 'SectionArg'.+sectionArgAnn :: SectionArg ann -> ann+sectionArgAnn (SecArgName ann _) = ann+sectionArgAnn (SecArgStr ann _) = ann+sectionArgAnn (SecArgOther ann _) = ann++-------------------------------------------------------------------------------+-- Name+-------------------------------------------------------------------------------++type FieldName = ByteString++-- | A field name.+--+-- /Invariant/: 'ByteString' is lower-case ASCII.+data Name ann = Name !ann !FieldName+ deriving (Eq, Show, Functor)++mkName :: ann -> FieldName -> Name ann+mkName ann bs = Name ann (B.map Char.toLower bs)++getName :: Name ann -> FieldName+getName (Name _ bs) = bs++nameAnn :: Name ann -> ann+nameAnn (Name ann _) = ann
@@ -0,0 +1,96 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE OverloadedStrings , ScopedTypeVariables #-}+{-# OPTIONS_GHC -Wall -Werror #-}+module Distribution.Parsec.FieldLineStream (+ FieldLineStream (..),+ fieldLinesToStream,+ fieldLineStreamFromString,+ fieldLineStreamFromBS,+ ) where++import Data.Bits+import Data.ByteString (ByteString)+import Distribution.Compat.Prelude+import Distribution.Parsec.Field (FieldLine (..))+import Distribution.Utils.Generic (toUTF8BS)+import Prelude ()++import qualified Data.ByteString as BS+import qualified Text.Parsec as Parsec++-- | This is essentially a lazy bytestring, but chunks are glued with newline '\n'.+data FieldLineStream+ = FLSLast !ByteString+ | FLSCons {-# UNPACK #-} !ByteString FieldLineStream+ deriving Show++fieldLinesToStream :: [FieldLine ann] -> FieldLineStream+fieldLinesToStream [] = end+fieldLinesToStream [FieldLine _ bs] = FLSLast bs+fieldLinesToStream (FieldLine _ bs : fs) = FLSCons bs (fieldLinesToStream fs)++end :: FieldLineStream+end = FLSLast ""++-- | Convert 'String' to 'FieldLineStream'.+--+-- /Note:/ inefficient!+fieldLineStreamFromString :: String -> FieldLineStream+fieldLineStreamFromString = FLSLast . toUTF8BS++fieldLineStreamFromBS :: ByteString -> FieldLineStream+fieldLineStreamFromBS = FLSLast++instance Monad m => Parsec.Stream FieldLineStream m Char where+ uncons (FLSLast bs) = return $ case BS.uncons bs of+ Nothing -> Nothing+ Just (c, bs') -> Just (unconsChar c bs' (\bs'' -> FLSLast bs'') end)++ uncons (FLSCons bs s) = return $ case BS.uncons bs of+ -- as lines are glued with '\n', we return '\n' here!+ Nothing -> Just ('\n', s)+ Just (c, bs') -> Just (unconsChar c bs' (\bs'' -> FLSCons bs'' s) s)++-- Bssed on implementation 'decodeStringUtf8'+unconsChar :: forall a. Word8 -> ByteString -> (ByteString -> a) -> a -> (Char, a)+unconsChar c0 bs0 f next+ | c0 <= 0x7F = (chr (fromIntegral c0), f bs0)+ | c0 <= 0xBF = (replacementChar, f bs0)+ | c0 <= 0xDF = twoBytes+ | c0 <= 0xEF = moreBytes 3 0x800 bs0 (fromIntegral $ c0 .&. 0xF)+ | c0 <= 0xF7 = moreBytes 4 0x10000 bs0 (fromIntegral $ c0 .&. 0x7)+ | c0 <= 0xFB = moreBytes 5 0x200000 bs0 (fromIntegral $ c0 .&. 0x3)+ | c0 <= 0xFD = moreBytes 6 0x4000000 bs0 (fromIntegral $ c0 .&. 0x1)+ | otherwise = error $ "not implemented " ++ show c0+ where+ twoBytes = case BS.uncons bs0 of+ Nothing -> (replacementChar, next)+ Just (c1, bs1)+ | c1 .&. 0xC0 == 0x80 ->+ if d >= 0x80+ then (chr d, f bs1)+ else (replacementChar, f bs1)+ | otherwise -> (replacementChar, f bs1)+ where+ d = (fromIntegral (c0 .&. 0x1F) `shiftL` 6) .|. fromIntegral (c1 .&. 0x3F)++ moreBytes :: Int -> Int -> ByteString -> Int -> (Char, a)+ moreBytes 1 overlong bs' acc+ | overlong <= acc, acc <= 0x10FFFF, acc < 0xD800 || 0xDFFF < acc+ = (chr acc, f bs')+ | otherwise+ = (replacementChar, f bs')++ moreBytes byteCount overlong bs' acc = case BS.uncons bs' of+ Nothing -> (replacementChar, f bs')+ Just (cn, bs1)+ | cn .&. 0xC0 == 0x80 -> moreBytes+ (byteCount-1)+ overlong+ bs1+ ((acc `shiftL` 6) .|. fromIntegral cn .&. 0x3F)+ | otherwise -> (replacementChar, f bs1)++replacementChar :: Char+replacementChar = '\xfffd'
@@ -0,0 +1,422 @@+{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-missing-signatures #-}+{-# LANGUAGE CPP,MagicHash #-}+{-# LINE 1 "boot/Lexer.x" #-}++-----------------------------------------------------------------------------+-- |+-- Module : Distribution.Parsec.Lexer+-- License : BSD3+--+-- Maintainer : cabal-devel@haskell.org+-- Portability : portable+--+-- Lexer for the cabal files.+{-# LANGUAGE CPP #-}+{-# LANGUAGE BangPatterns #-}+#ifdef CABAL_PARSEC_DEBUG+{-# LANGUAGE PatternGuards #-}+#endif+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+module Distribution.Parsec.Lexer+ (ltest, lexToken, Token(..), LToken(..)+ ,bol_section, in_section, in_field_layout, in_field_braces+ ,mkLexState) where++-- [Note: boostrapping parsec parser]+--+-- We manually produce the `Lexer.hs` file from `boot/Lexer.x` (make lexer)+-- because boostrapping cabal-install would be otherwise tricky.+-- Alex is (atm) tricky package to build, cabal-install has some magic+-- to move bundled generated files in place, so rather we don't depend+-- on it before we can build it ourselves.+-- Therefore there is one thing less to worry in bootstrap.sh, which is a win.+--+-- See also https://github.com/haskell/cabal/issues/4633+--++import Prelude ()+import qualified Prelude as Prelude+import Distribution.Compat.Prelude++import Distribution.Parsec.LexerMonad+import Distribution.Parsec.Common (Position (..), incPos, retPos)+import Data.ByteString (ByteString)+import qualified Data.ByteString as B+import qualified Data.ByteString.Char8 as B.Char8+import qualified Data.Word as Word++#ifdef CABAL_PARSEC_DEBUG+import Debug.Trace+import qualified Data.Vector as V+import qualified Data.Text as T+import qualified Data.Text.Encoding as T+import qualified Data.Text.Encoding.Error as T+#endif++#if __GLASGOW_HASKELL__ >= 603+#include "ghcconfig.h"+#elif defined(__GLASGOW_HASKELL__)+#include "config.h"+#endif+#if __GLASGOW_HASKELL__ >= 503+import Data.Array+import Data.Array.Base (unsafeAt)+#else+import Array+#endif+#if __GLASGOW_HASKELL__ >= 503+import GHC.Exts+#else+import GlaExts+#endif+alex_tab_size :: Int+alex_tab_size = 8+alex_base :: AlexAddr+alex_base = AlexA# "\x12\xff\xff\xff\xf9\xff\xff\xff\xfb\xff\xff\xff\x01\x00\x00\x00\x2f\x00\x00\x00\x50\x00\x00\x00\xd0\x00\x00\x00\x48\xff\xff\xff\xdc\xff\xff\xff\x51\xff\xff\xff\x6d\xff\xff\xff\x6f\xff\xff\xff\x50\x01\x00\x00\x74\x01\x00\x00\x70\xff\xff\xff\x68\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\xa3\x01\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\xd1\x01\x00\x00\xfb\x01\x00\x00\x7b\x02\x00\x00\xfb\x02\x00\x00\x00\x00\x00\x00\x7b\x03\x00\x00\x7d\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x00\x00\x00\x6d\x00\x00\x00\x6b\x00\x00\x00\xfc\x03\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x6f\x00\x00\x00\x1c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00"#++alex_table :: AlexAddr+alex_table = AlexA# "\x00\x00\x09\x00\x0f\x00\x11\x00\x02\x00\x11\x00\x12\x00\x00\x00\x12\x00\x13\x00\x03\x00\x11\x00\x07\x00\x10\x00\x12\x00\x25\x00\x14\x00\x11\x00\x10\x00\x11\x00\x14\x00\x11\x00\x12\x00\x23\x00\x12\x00\x0f\x00\x28\x00\x02\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x08\x00\x10\x00\x00\x00\x14\x00\x00\x00\x00\x00\x08\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\x2e\x00\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x26\x00\x28\x00\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x26\x00\x0f\x00\x11\x00\x17\x00\x26\x00\x12\x00\x25\x00\x11\x00\x2a\x00\x00\x00\x12\x00\x00\x00\x15\x00\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x17\x00\x26\x00\x00\x00\x25\x00\x00\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x0e\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x23\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x1e\x00\x0d\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x00\x00\x1f\x00\x1f\x00\x1e\x00\x1e\x00\x1e\x00\x19\x00\x1a\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x1f\x00\x1e\x00\x1f\x00\x1e\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x00\x1e\x00\x22\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x0c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x1e\x00\x1e\x00\x1e\x00\x1e\x00\xff\xff\xff\xff\xff\xff\x1e\x00\x1e\x00\x1e\x00\x18\x00\x1a\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x1e\x00\xff\xff\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x1e\x00\xff\xff\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x00\x00\xff\xff\xff\xff\x1e\x00\x1e\x00\x1e\x00\x1a\x00\x1a\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x1e\x00\xff\xff\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x1e\x00\xff\xff\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x1c\x00\x1e\x00\x00\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x1e\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\xff\xff\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++alex_check :: AlexAddr+alex_check = AlexA# "\xff\xff\xef\x00\x09\x00\x0a\x00\x09\x00\x0a\x00\x0d\x00\xbf\x00\x0d\x00\x2d\x00\x09\x00\x0a\x00\xbb\x00\xa0\x00\x0d\x00\xa0\x00\xa0\x00\x0a\x00\x09\x00\x0a\x00\x09\x00\x0a\x00\x0d\x00\x0a\x00\x0d\x00\x20\x00\x0a\x00\x20\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2d\x00\x20\x00\xff\xff\x20\x00\xff\xff\xff\xff\x2d\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x09\x00\x0a\x00\x09\x00\x09\x00\x0d\x00\x09\x00\x0a\x00\x09\x00\xff\xff\x0d\x00\xff\xff\x7b\x00\xff\xff\x7d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x20\x00\x20\x00\xff\xff\x20\x00\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\xff\xff\x7d\x00\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc2\x00\xff\xff\xc2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc2\x00\xff\xff\xc2\x00\xff\xff\x7f\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc2\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xc2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\x22\x00\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x5c\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x5c\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x7f\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\x22\x00\x21\x00\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x7f\x00\x7e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\xff\xff\x7d\x00\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#++alex_deflt :: AlexAddr+alex_deflt = AlexA# "\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\x27\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x13\x00\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x1b\x00\x1b\x00\x1b\x00\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff"#++alex_accept = listArray (0::Int,47) [AlexAcc (alex_action_0),AlexAcc (alex_action_20),AlexAcc (alex_action_16),AlexAcc (alex_action_3),AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAcc (alex_action_1),AlexAcc (alex_action_1),AlexAccSkip,AlexAcc (alex_action_3),AlexAcc (alex_action_4),AlexAcc (alex_action_5),AlexAccSkip,AlexAccSkip,AlexAcc (alex_action_8),AlexAcc (alex_action_8),AlexAcc (alex_action_8),AlexAcc (alex_action_9),AlexAcc (alex_action_9),AlexAcc (alex_action_10),AlexAcc (alex_action_11),AlexAcc (alex_action_12),AlexAcc (alex_action_13),AlexAcc (alex_action_14),AlexAcc (alex_action_15),AlexAcc (alex_action_15),AlexAcc (alex_action_16),AlexAccSkip,AlexAcc (alex_action_18),AlexAcc (alex_action_19),AlexAcc (alex_action_19),AlexAccSkip,AlexAcc (alex_action_22),AlexAcc (alex_action_23),AlexAcc (alex_action_24),AlexAcc (alex_action_25),AlexAcc (alex_action_25)]+{-# LINE 151 "boot/Lexer.x" #-}++-- | Tokens of outer cabal file structure. Field values are treated opaquely.+data Token = TokSym !ByteString -- ^ Haskell-like identifier, number or operator+ | TokStr !ByteString -- ^ String in quotes+ | TokOther !ByteString -- ^ Operators and parens+ | Indent !Int -- ^ Indentation token+ | TokFieldLine !ByteString -- ^ Lines after @:@+ | Colon+ | OpenBrace+ | CloseBrace+ | EOF+ | LexicalError InputStream --TODO: add separate string lexical error+ deriving Show++data LToken = L !Position !Token+ deriving Show++toki :: (ByteString -> Token) -> Position -> Int -> ByteString -> Lex LToken+toki t pos len input = return $! L pos (t (B.take len input))++tok :: Token -> Position -> Int -> ByteString -> Lex LToken+tok t pos _len _input = return $! L pos t++checkLeadingWhitespace :: Int -> ByteString -> Lex Int+checkLeadingWhitespace len bs+ | B.any (== 9) (B.take len bs) = do+ addWarning LexWarningTab+ checkWhitespace len bs+ | otherwise = checkWhitespace len bs++checkWhitespace :: Int -> ByteString -> Lex Int+checkWhitespace len bs+ | B.any (== 194) (B.take len bs) = do+ addWarning LexWarningNBSP+ return $ len - B.count 194 (B.take len bs)+ | otherwise = return len++-- -----------------------------------------------------------------------------+-- The input type++type AlexInput = InputStream++alexInputPrevChar :: AlexInput -> Char+alexInputPrevChar _ = error "alexInputPrevChar not used"++alexGetByte :: AlexInput -> Maybe (Word.Word8,AlexInput)+alexGetByte = B.uncons++lexicalError :: Position -> InputStream -> Lex LToken+lexicalError pos inp = do+ setInput B.empty+ return $! L pos (LexicalError inp)++lexToken :: Lex LToken+lexToken = do+ pos <- getPos+ inp <- getInput+ st <- getStartCode+ case alexScan inp st of+ AlexEOF -> return (L pos EOF)+ AlexError inp' ->+ let !len_bytes = B.length inp - B.length inp' in+ --FIXME: we want len_chars here really+ -- need to decode utf8 up to this point+ lexicalError (incPos len_bytes pos) inp'+ AlexSkip inp' len_chars -> do+ checkPosition pos inp inp' len_chars+ adjustPos (incPos len_chars)+ setInput inp'+ lexToken+ AlexToken inp' len_chars action -> do+ checkPosition pos inp inp' len_chars+ adjustPos (incPos len_chars)+ setInput inp'+ let !len_bytes = B.length inp - B.length inp'+ t <- action pos len_bytes inp+ --traceShow t $ return tok+ return t++checkPosition :: Position -> ByteString -> ByteString -> Int -> Lex ()+#ifdef CABAL_PARSEC_DEBUG+checkPosition pos@(Position lineno colno) inp inp' len_chars = do+ text_lines <- getDbgText+ let len_bytes = B.length inp - B.length inp'+ pos_txt | lineno-1 < V.length text_lines = T.take len_chars (T.drop (colno-1) (text_lines V.! (lineno-1)))+ | otherwise = T.empty+ real_txt = B.take len_bytes inp+ when (pos_txt /= T.decodeUtf8 real_txt) $+ traceShow (pos, pos_txt, T.decodeUtf8 real_txt) $+ traceShow (take 3 (V.toList text_lines)) $ return ()+ where+ getDbgText = Lex $ \s@LexState{ dbgText = txt } -> LexResult s txt+#else+checkPosition _ _ _ _ = return ()+#endif++lexAll :: Lex [LToken]+lexAll = do+ t <- lexToken+ case t of+ L _ EOF -> return [t]+ _ -> do ts <- lexAll+ return (t : ts)++ltest :: Int -> String -> Prelude.IO ()+ltest code s =+ let (ws, xs) = execLexer (setStartCode code >> lexAll) (B.Char8.pack s)+ in traverse_ print ws >> traverse_ print xs++mkLexState :: ByteString -> LexState+mkLexState input = LexState+ { curPos = Position 1 1+ , curInput = input+ , curCode = 0+ , warnings = []+#ifdef CABAL_PARSEC_DEBUG+ , dbgText = V.fromList . lines' . T.decodeUtf8With T.lenientDecode $ input+#endif+ }++#ifdef CABAL_PARSEC_DEBUG+lines' :: T.Text -> [T.Text]+lines' s1+ | T.null s1 = []+ | otherwise = case T.break (\c -> c == '\r' || c == '\n') s1 of+ (l, s2) | Just (c,s3) <- T.uncons s2+ -> case T.uncons s3 of+ Just ('\n', s4) | c == '\r' -> l `T.snoc` '\r' `T.snoc` '\n' : lines' s4+ _ -> l `T.snoc` c : lines' s3++ | otherwise+ -> [l]+#endif++bol_field_braces,bol_field_layout,bol_section,in_field_braces,in_field_layout,in_section :: Int+bol_field_braces = 1+bol_field_layout = 2+bol_section = 3+in_field_braces = 4+in_field_layout = 5+in_section = 6+alex_action_0 = \_ len _ -> do+ when (len /= 0) $ addWarning LexWarningBOM+ setStartCode bol_section+ lexToken+ +alex_action_1 = \_pos len inp -> checkWhitespace len inp >> adjustPos retPos >> lexToken +alex_action_3 = \pos len inp -> checkLeadingWhitespace len inp >>+ if B.length inp == len+ then return (L pos EOF)+ else setStartCode in_section+ >> return (L pos (Indent len)) +alex_action_4 = tok OpenBrace +alex_action_5 = tok CloseBrace +alex_action_8 = toki TokSym +alex_action_9 = \pos len inp -> return $! L pos (TokStr (B.take (len - 2) (B.tail inp))) +alex_action_10 = toki TokOther +alex_action_11 = toki TokOther +alex_action_12 = tok Colon +alex_action_13 = tok OpenBrace +alex_action_14 = tok CloseBrace +alex_action_15 = \_ _ _ -> adjustPos retPos >> setStartCode bol_section >> lexToken +alex_action_16 = \pos len inp -> checkLeadingWhitespace len inp >>= \len' ->+ if B.length inp == len+ then return (L pos EOF)+ else setStartCode in_field_layout+ >> return (L pos (Indent len')) +alex_action_18 = toki TokFieldLine +alex_action_19 = \_ _ _ -> adjustPos retPos >> setStartCode bol_field_layout >> lexToken +alex_action_20 = \_ _ _ -> setStartCode in_field_braces >> lexToken +alex_action_22 = toki TokFieldLine +alex_action_23 = tok OpenBrace +alex_action_24 = tok CloseBrace +alex_action_25 = \_ _ _ -> adjustPos retPos >> setStartCode bol_field_braces >> lexToken +{-# LINE 1 "templates/GenericTemplate.hs" #-}+{-# LINE 1 "templates/GenericTemplate.hs" #-}+{-# LINE 1 "<built-in>" #-}+{-# LINE 1 "<command-line>" #-}+{-# LINE 10 "<command-line>" #-}+# 1 "/usr/include/stdc-predef.h" 1 3 4++# 17 "/usr/include/stdc-predef.h" 3 4++{-# LINE 10 "<command-line>" #-}+{-# LINE 1 "/opt/ghc/7.10.3/lib/ghc-7.10.3/include/ghcversion.h" #-}++{-# LINE 10 "<command-line>" #-}+{-# LINE 1 "templates/GenericTemplate.hs" #-}+-- -----------------------------------------------------------------------------+-- ALEX TEMPLATE+--+-- This code is in the PUBLIC DOMAIN; you may copy it freely and use+-- it for any purpose whatsoever.++-- -----------------------------------------------------------------------------+-- INTERNALS and main scanner engine++{-# LINE 21 "templates/GenericTemplate.hs" #-}++-- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.+#if __GLASGOW_HASKELL__ > 706+#define GTE(n,m) (tagToEnum# (n >=# m))+#define EQ(n,m) (tagToEnum# (n ==# m))+#else+#define GTE(n,m) (n >=# m)+#define EQ(n,m) (n ==# m)+#endif+{-# LINE 51 "templates/GenericTemplate.hs" #-}++data AlexAddr = AlexA# Addr#+-- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.+#if __GLASGOW_HASKELL__ < 503+uncheckedShiftL# = shiftL#+#endif++{-# INLINE alexIndexInt16OffAddr #-}+alexIndexInt16OffAddr (AlexA# arr) off =+#ifdef WORDS_BIGENDIAN+ narrow16Int# i+ where+ i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)+ high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))+ low = int2Word# (ord# (indexCharOffAddr# arr off'))+ off' = off *# 2#+#else+ indexInt16OffAddr# arr off+#endif++{-# INLINE alexIndexInt32OffAddr #-}+alexIndexInt32OffAddr (AlexA# arr) off = +#ifdef WORDS_BIGENDIAN+ narrow32Int# i+ where+ i = word2Int# ((b3 `uncheckedShiftL#` 24#) `or#`+ (b2 `uncheckedShiftL#` 16#) `or#`+ (b1 `uncheckedShiftL#` 8#) `or#` b0)+ b3 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 3#)))+ b2 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 2#)))+ b1 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))+ b0 = int2Word# (ord# (indexCharOffAddr# arr off'))+ off' = off *# 4#+#else+ indexInt32OffAddr# arr off+#endif++#if __GLASGOW_HASKELL__ < 503+quickIndex arr i = arr ! i+#else+-- GHC >= 503, unsafeAt is available from Data.Array.Base.+quickIndex = unsafeAt+#endif++-- -----------------------------------------------------------------------------+-- Main lexing routines++data AlexReturn a+ = AlexEOF+ | AlexError !AlexInput+ | AlexSkip !AlexInput !Int+ | AlexToken !AlexInput !Int a++-- alexScan :: AlexInput -> StartCode -> AlexReturn a+alexScan input (I# (sc))+ = alexScanUser undefined input (I# (sc))++alexScanUser user input (I# (sc))+ = case alex_scan_tkn user input 0# input sc AlexNone of+ (AlexNone, input') ->+ case alexGetByte input of+ Nothing -> ++ AlexEOF+ Just _ ->++ AlexError input'++ (AlexLastSkip input'' len, _) ->++ AlexSkip input'' len++ (AlexLastAcc k input''' len, _) ->++ AlexToken input''' len k++-- Push the input through the DFA, remembering the most recent accepting+-- state it encountered.++alex_scan_tkn user orig_input len input s last_acc =+ input `seq` -- strict in the input+ let + new_acc = (check_accs (alex_accept `quickIndex` (I# (s))))+ in+ new_acc `seq`+ case alexGetByte input of+ Nothing -> (new_acc, input)+ Just (c, new_input) -> ++ case fromIntegral c of { (I# (ord_c)) ->+ let+ base = alexIndexInt32OffAddr alex_base s+ offset = (base +# ord_c)+ check = alexIndexInt16OffAddr alex_check offset+ + new_s = if GTE(offset,0#) && EQ(check,ord_c)+ then alexIndexInt16OffAddr alex_table offset+ else alexIndexInt16OffAddr alex_deflt s+ in+ case new_s of+ -1# -> (new_acc, input)+ -- on an error, we want to keep the input *before* the+ -- character that failed, not after.+ _ -> alex_scan_tkn user orig_input (if c < 0x80 || c >= 0xC0 then (len +# 1#) else len)+ -- note that the length is increased ONLY if this is the 1st byte in a char encoding)+ new_input new_s new_acc+ }+ where+ check_accs (AlexAccNone) = last_acc+ check_accs (AlexAcc a ) = AlexLastAcc a input (I# (len))+ check_accs (AlexAccSkip) = AlexLastSkip input (I# (len))+{-# LINE 198 "templates/GenericTemplate.hs" #-}++data AlexLastAcc a+ = AlexNone+ | AlexLastAcc a !AlexInput !Int+ | AlexLastSkip !AlexInput !Int++instance Functor AlexLastAcc where+ fmap _ AlexNone = AlexNone+ fmap f (AlexLastAcc x y z) = AlexLastAcc (f x) y z+ fmap _ (AlexLastSkip x y) = AlexLastSkip x y++data AlexAcc a user+ = AlexAccNone+ | AlexAcc a+ | AlexAccSkip
@@ -1,269 +0,0 @@-{--------------------------------------------------------------------------------- |--- Module : Distribution.Parsec.Lexer--- License : BSD3------ Maintainer : cabal-devel@haskell.org--- Portability : portable------ Lexer for the cabal files.-{-# LANGUAGE CPP #-}-{-# LANGUAGE BangPatterns #-}-#ifdef CABAL_PARSEC_DEBUG-{-# LANGUAGE PatternGuards #-}-#endif-module Distribution.Parsec.Lexer- (ltest, lexToken, Token(..), LToken(..)- ,bol_section, in_section, in_field_layout, in_field_braces- ,mkLexState) where--import Prelude ()-import qualified Prelude as Prelude-import Distribution.Compat.Prelude--import Distribution.Parsec.LexerMonad-import Distribution.Parsec.Types.Common (Position (..), incPos, retPos)-import Data.ByteString (ByteString)-import qualified Data.ByteString as B-import qualified Data.ByteString.Char8 as B.Char8-import qualified Data.Word as Word--#ifdef CABAL_PARSEC_DEBUG-import Debug.Trace-import qualified Data.Vector as V-import qualified Data.Text as T-import qualified Data.Text.Encoding as T-import qualified Data.Text.Encoding.Error as T-#endif--}--- Various character classes--$space = \ -- single space char-$digit = 0-9 -- digits-$alpha = [a-z A-Z] -- alphabetic characters-$symbol = [\= \< \> \+ \* \- \& \| \! \$ \% \^ \@ \# \? \/ \\ \~]-$ctlchar = [\x0-\x1f \x7f]-$printable = \x0-\x10ffff # $ctlchar -- so no \n \r-$nbsp = \xa0-$spacetab = [$space \t]-$bom = \xfeff-$nbspspacetab = [$nbsp $space \t]--$paren = [ \( \) \[ \] ]-$field_layout = [$printable \t]-$field_layout' = [$printable] # [$space]-$field_braces = [$printable \t] # [\{ \}]-$field_braces' = [$printable] # [\{ \} $space]-$comment = [$printable \t]-$namecore = [$alpha]-$nameextra = [$namecore $digit \- \_ \. \']-$instr = [$printable $space] # [\"]-$instresc = $printable--@nl = \n | \r\n | \r-@name = $nameextra* $namecore $nameextra*-@string = \" ( $instr | \\ $instresc )* \"-@numlike = $digit [$digit \.]*-@oplike = [ \, \. \= \< \> \+ \* \- \& \| \! \$ \% \^ \@ \# \? \/ \\ \~ ]+--tokens :---<0> {- $bom { \_ _ _ -> addWarning LexWarningBOM "Byte-order mark found at the beginning of the file" >> lexToken }- () ;-}--<bol_section, bol_field_layout, bol_field_braces> {- $nbspspacetab* @nl { \_pos len inp -> checkWhitespace len inp >> adjustPos retPos >> lexToken }- -- no @nl here to allow for comments on last line of the file with no trailing \n- $spacetab* "--" $comment* ; -- TODO: check the lack of @nl works here- -- including counting line numbers-}--<bol_section> {- $nbspspacetab* --TODO prevent or record leading tabs- { \pos len inp -> checkWhitespace len inp >>- if B.length inp == len- then return (L pos EOF)- else setStartCode in_section- >> return (L pos (Indent len)) }- $spacetab* \{ { tok OpenBrace }- $spacetab* \} { tok CloseBrace }-}--<in_section> {- $spacetab+ ; --TODO: don't allow tab as leading space-- "--" $comment* ;-- @name { toki TokSym }- @string { \p l i -> case reads (B.Char8.unpack (B.take l i)) of- [(str,[])] -> return (L p (TokStr str))- _ -> lexicalError p i }- @numlike { toki TokNum }- @oplike { toki TokOther }- $paren { toki TokOther }- \: { tok Colon }- \{ { tok OpenBrace }- \} { tok CloseBrace }- @nl { \_ _ _ -> adjustPos retPos >> setStartCode bol_section >> lexToken }-}--<bol_field_layout> {- $spacetab* --TODO prevent or record leading tabs- { \pos len inp -> if B.length inp == len- then return (L pos EOF)- else setStartCode in_field_layout- >> return (L pos (Indent len)) }-}--<in_field_layout> {- $spacetab+; --TODO prevent or record leading tabs- $field_layout' $field_layout* { toki TokFieldLine }- @nl { \_ _ _ -> adjustPos retPos >> setStartCode bol_field_layout >> lexToken }-}--<bol_field_braces> {- () { \_ _ _ -> setStartCode in_field_braces >> lexToken }-}--<in_field_braces> {- $spacetab+; --TODO prevent or record leading tabs- $field_braces' $field_braces* { toki TokFieldLine }- \{ { tok OpenBrace }- \} { tok CloseBrace }- @nl { \_ _ _ -> adjustPos retPos >> setStartCode bol_field_braces >> lexToken }-}--{---- | Tokens of outer cabal file structure. Field values are treated opaquely.-data Token = TokSym !ByteString -- ^ Haskell-like identifier- | TokStr !String -- ^ String in quotes- | TokNum !ByteString -- ^ Integral- | TokOther !ByteString -- ^ Operator like token- | Indent !Int -- ^ Indentation token- | TokFieldLine !ByteString -- ^ Lines after @:@- | Colon- | OpenBrace- | CloseBrace- | EOF- | LexicalError InputStream --TODO: add separate string lexical error- deriving Show--data LToken = L !Position !Token- deriving Show--toki :: Monad m => (ByteString -> Token) -> Position -> Int -> ByteString -> m LToken-toki t pos len input = return $! L pos (t (B.take len input))--tok :: Monad m => Token -> Position -> t -> t1 -> m LToken-tok t pos _len _input = return $! L pos t--checkWhitespace :: Int -> ByteString -> Lex ()-checkWhitespace len bs- | B.any (== 194) (B.take len bs) =- addWarning LexWarningNBSP "Non-breaking space found"- | otherwise = return ()---- -------------------------------------------------------------------------------- The input type--type AlexInput = InputStream--alexInputPrevChar :: AlexInput -> Char-alexInputPrevChar _ = error "alexInputPrevChar not used"--alexGetByte :: AlexInput -> Maybe (Word.Word8,AlexInput)-alexGetByte = B.uncons--lexicalError :: Position -> InputStream -> Lex LToken-lexicalError pos inp = do- setInput B.empty- return $! L pos (LexicalError inp)--lexToken :: Lex LToken-lexToken = do- pos <- getPos- inp <- getInput- st <- getStartCode- case alexScan inp st of- AlexEOF -> return (L pos EOF)- AlexError inp' ->- let !len_bytes = B.length inp - B.length inp' in- --FIXME: we want len_chars here really- -- need to decode utf8 up to this point- lexicalError (incPos len_bytes pos) inp'- AlexSkip inp' len_chars -> do- checkPosition pos inp inp' len_chars- adjustPos (incPos len_chars)- setInput inp'- lexToken- AlexToken inp' len_chars action -> do- checkPosition pos inp inp' len_chars- adjustPos (incPos len_chars)- setInput inp'- let !len_bytes = B.length inp - B.length inp'- t <- action pos len_bytes inp- --traceShow t $ return tok- return t---checkPosition :: Position -> ByteString -> ByteString -> Int -> Lex ()-#ifdef CABAL_PARSEC_DEBUG-checkPosition pos@(Position lineno colno) inp inp' len_chars = do- text_lines <- getDbgText- let len_bytes = B.length inp - B.length inp'- pos_txt | lineno-1 < V.length text_lines = T.take len_chars (T.drop (colno-1) (text_lines V.! (lineno-1)))- | otherwise = T.empty- real_txt = B.take len_bytes inp- when (pos_txt /= T.decodeUtf8 real_txt) $- traceShow (pos, pos_txt, T.decodeUtf8 real_txt) $- traceShow (take 3 (V.toList text_lines)) $ return ()- where- getDbgText = Lex $ \s@LexState{ dbgText = txt } -> LexResult s txt-#else-checkPosition _ _ _ _ = return ()-#endif--lexAll :: Lex [LToken]-lexAll = do- t <- lexToken- case t of- L _ EOF -> return [t]- _ -> do ts <- lexAll- return (t : ts)--ltest :: Int -> String -> Prelude.IO ()-ltest code s =- let (ws, xs) = execLexer (setStartCode code >> lexAll) (B.Char8.pack s)- in traverse_ print ws >> traverse_ print xs---mkLexState :: ByteString -> LexState-mkLexState input = LexState- { curPos = Position 1 1- , curInput = input- , curCode = bol_section- , warnings = []-#ifdef CABAL_PARSEC_DEBUG- , dbgText = V.fromList . lines' . T.decodeUtf8With T.lenientDecode $ input-#endif- }--#ifdef CABAL_PARSEC_DEBUG-lines' :: T.Text -> [T.Text]-lines' s1- | T.null s1 = []- | otherwise = case T.break (\c -> c == '\r' || c == '\n') s1 of- (l, s2) | Just (c,s3) <- T.uncons s2- -> case T.uncons s3 of- Just ('\n', s4) | c == '\r' -> l `T.snoc` '\r' `T.snoc` '\n' : lines' s4- _ -> l `T.snoc` c : lines' s3-- | otherwise- -> [l]-#endif-}
@@ -27,21 +27,22 @@ LexWarning(..), LexWarningType(..), addWarning,- toPWarning,+ toPWarnings, ) where -import Prelude ()+import qualified Data.ByteString as B import Distribution.Compat.Prelude-import qualified Data.ByteString as B-import Distribution.Parsec.Types.Common- (PWarnType (..), PWarning (..), Position (..))+import Distribution.Parsec.Common (PWarnType (..), PWarning (..), Position (..), showPos)+import Prelude () +import qualified Distribution.Compat.Map.Strict as Map+ #ifdef CABAL_PARSEC_DEBUG -- testing only:-import qualified Data.Text as T-import qualified Data.Text.Encoding as T-import qualified Data.Vector as V+import qualified Data.Text as T+import qualified Data.Text.Encoding as T+import qualified Data.Vector as V #endif -- simple state monad@@ -63,19 +64,26 @@ data LexWarningType = LexWarningNBSP -- ^ Encountered non breaking space | LexWarningBOM -- ^ BOM at the start of the cabal file- deriving (Show)+ | LexWarningTab -- ^ Leading tags+ deriving (Eq, Ord, Show) data LexWarning = LexWarning !LexWarningType {-# UNPACK #-} !Position- !String deriving (Show) -toPWarning :: LexWarning -> PWarning-toPWarning (LexWarning t p s) = PWarning t' p s+toPWarnings :: [LexWarning] -> [PWarning]+toPWarnings+ = map (uncurry toWarning)+ . Map.toList+ . Map.fromListWith (++)+ . map (\(LexWarning t p) -> (t, [p])) where- t' = case t of- LexWarningNBSP -> PWTLexNBSP- LexWarningBOM -> PWTLexBOM+ toWarning LexWarningBOM poss =+ PWarning PWTLexBOM (head poss) "Byte-order mark found at the beginning of the file"+ toWarning LexWarningNBSP poss =+ PWarning PWTLexNBSP (head poss) $ "Non breaking spaces at " ++ intercalate ", " (map showPos poss)+ toWarning LexWarningTab poss =+ PWarning PWTLexTab (head poss) $ "Tabs used as indentation at " ++ intercalate ", " (map showPos poss) data LexState = LexState { curPos :: {-# UNPACK #-} !Position, -- ^ position at current input location@@ -140,6 +148,6 @@ setStartCode c = Lex $ \s -> LexResult s{ curCode = c } () -- | Add warning at the current position-addWarning :: LexWarningType -> String -> Lex ()-addWarning wt msg = Lex $ \s@LexState{ curPos = pos, warnings = ws } ->- LexResult s{ warnings = LexWarning wt pos msg : ws } ()+addWarning :: LexWarningType -> Lex ()+addWarning wt = Lex $ \s@LexState{ curPos = pos, warnings = ws } ->+ LexResult s{ warnings = LexWarning wt pos : ws } ()
@@ -0,0 +1,278 @@+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE TypeSynonymInstances #-}+-- | This module provides @newtype@ wrappers to be used with "Distribution.FieldGrammar".+module Distribution.Parsec.Newtypes (+ -- * List+ alaList,+ alaList',+ -- ** Modifiers+ CommaVCat (..),+ CommaFSep (..),+ VCat (..),+ FSep (..),+ NoCommaFSep (..),+ -- ** Type+ List,+ -- * Version & License+ SpecVersion (..),+ TestedWith (..),+ SpecLicense (..),+ -- * Identifiers+ Token (..),+ Token' (..),+ MQuoted (..),+ FreeText (..),+ FilePathNT (..),+ ) where++import Distribution.Compat.Newtype+import Distribution.Compat.Prelude+import Prelude ()++import Data.Functor.Identity (Identity (..))+import Data.List (dropWhileEnd)+import Distribution.CabalSpecVersion+import Distribution.Compiler (CompilerFlavor)+import Distribution.License (License)+import Distribution.Parsec.Class+import Distribution.Pretty+import Distribution.Version+ (LowerBound (..), Version, VersionRange, anyVersion, asVersionIntervals, mkVersion)+import Text.PrettyPrint (Doc, comma, fsep, punctuate, vcat, (<+>))++import qualified Distribution.Compat.CharParsing as P+import qualified Distribution.SPDX as SPDX++-- | Vertical list with commas. Displayed with 'vcat'+data CommaVCat = CommaVCat++-- | Paragraph fill list with commas. Displayed with 'fsep'+data CommaFSep = CommaFSep++-- | Vertical list with optional commas. Displayed with 'vcat'.+data VCat = VCat++-- | Paragraph fill list with optional commas. Displayed with 'fsep'.+data FSep = FSep++-- | Paragraph fill list without commas. Displayed with 'fsep'.+data NoCommaFSep = NoCommaFSep++-- | Proxy, internal to this module.+data P sep = P++class Sep sep where+ prettySep :: P sep -> [Doc] -> Doc++ parseSep :: CabalParsing m => P sep -> m a -> m [a]++instance Sep CommaVCat where+ prettySep _ = vcat . punctuate comma+ parseSep _ p = do+ v <- askCabalSpecVersion+ if v >= CabalSpecV2_2 then parsecLeadingCommaList p else parsecCommaList p+instance Sep CommaFSep where+ prettySep _ = fsep . punctuate comma+ parseSep _ p = do+ v <- askCabalSpecVersion+ if v >= CabalSpecV2_2 then parsecLeadingCommaList p else parsecCommaList p+instance Sep VCat where+ prettySep _ = vcat+ parseSep _ = parsecOptCommaList+instance Sep FSep where+ prettySep _ = fsep+ parseSep _ = parsecOptCommaList+instance Sep NoCommaFSep where+ prettySep _ = fsep+ parseSep _ p = many (p <* P.spaces)++-- | List separated with optional commas. Displayed with @sep@, arguments of+-- type @a@ are parsed and pretty-printed as @b@.+newtype List sep b a = List { getList :: [a] }++-- | 'alaList' and 'alaList'' are simply 'List', with additional phantom+-- arguments to constraint the resulting type+--+-- >>> :t alaList VCat+-- alaList VCat :: [a] -> List VCat (Identity a) a+--+-- >>> :t alaList' FSep Token+-- alaList' FSep Token :: [String] -> List FSep Token String+--+alaList :: sep -> [a] -> List sep (Identity a) a+alaList _ = List++-- | More general version of 'alaList'.+alaList' :: sep -> (a -> b) -> [a] -> List sep b a+alaList' _ _ = List++instance Newtype (List sep wrapper a) [a] where+ pack = List+ unpack = getList++instance (Newtype b a, Sep sep, Parsec b) => Parsec (List sep b a) where+ parsec = pack . map (unpack :: b -> a) <$> parseSep (P :: P sep) parsec++instance (Newtype b a, Sep sep, Pretty b) => Pretty (List sep b a) where+ pretty = prettySep (P :: P sep) . map (pretty . (pack :: a -> b)) . unpack++-- | Haskell string or @[^ ,]+@+newtype Token = Token { getToken :: String }++instance Newtype Token String where+ pack = Token+ unpack = getToken++instance Parsec Token where+ parsec = pack <$> parsecToken++instance Pretty Token where+ pretty = showToken . unpack++-- | Haskell string or @[^ ]+@+newtype Token' = Token' { getToken' :: String }++instance Newtype Token' String where+ pack = Token'+ unpack = getToken'++instance Parsec Token' where+ parsec = pack <$> parsecToken'++instance Pretty Token' where+ pretty = showToken . unpack++-- | Either @"quoted"@ or @un-quoted@.+newtype MQuoted a = MQuoted { getMQuoted :: a }++instance Newtype (MQuoted a) a where+ pack = MQuoted+ unpack = getMQuoted++instance Parsec a => Parsec (MQuoted a) where+ parsec = pack <$> parsecMaybeQuoted parsec++instance Pretty a => Pretty (MQuoted a) where+ pretty = pretty . unpack++-- | Version range or just version, i.e. @cabal-version@ field.+--+-- There are few things to consider:+--+-- * Starting with 2.2 the cabal-version field should be the first field in the+-- file and only exact version is accepted. Therefore if we get e.g.+-- @>= 2.2@, we fail.+-- See <https://github.com/haskell/cabal/issues/4899>+--+newtype SpecVersion = SpecVersion { getSpecVersion :: Either Version VersionRange }++instance Newtype SpecVersion (Either Version VersionRange) where+ pack = SpecVersion+ unpack = getSpecVersion++instance Parsec SpecVersion where+ parsec = pack <$> parsecSpecVersion+ where+ parsecSpecVersion = Left <$> parsec <|> Right <$> range+ range = do+ vr <- parsec+ if specVersionFromRange vr >= mkVersion [2,1]+ then fail "cabal-version higher than 2.2 cannot be specified as a range. See https://github.com/haskell/cabal/issues/4899"+ else return vr++instance Pretty SpecVersion where+ pretty = either pretty pretty . unpack++specVersionFromRange :: VersionRange -> Version+specVersionFromRange versionRange = case asVersionIntervals versionRange of+ [] -> mkVersion [0]+ ((LowerBound version _, _):_) -> version++-- | SPDX License expression or legacy license+newtype SpecLicense = SpecLicense { getSpecLicense :: Either SPDX.License License }++instance Newtype SpecLicense (Either SPDX.License License) where+ pack = SpecLicense+ unpack = getSpecLicense++instance Parsec SpecLicense where+ parsec = do+ v <- askCabalSpecVersion+ if v >= CabalSpecV2_2+ then SpecLicense . Left <$> parsec+ else SpecLicense . Right <$> parsec++instance Pretty SpecLicense where+ pretty = either pretty pretty . unpack++-- | Version range or just version+newtype TestedWith = TestedWith { getTestedWith :: (CompilerFlavor, VersionRange) }++instance Newtype TestedWith (CompilerFlavor, VersionRange) where+ pack = TestedWith+ unpack = getTestedWith++instance Parsec TestedWith where+ parsec = pack <$> parsecTestedWith++instance Pretty TestedWith where+ pretty x = case unpack x of+ (compiler, vr) -> pretty compiler <+> pretty vr++-- | This is /almost/ @'many' 'Distribution.Compat.P.anyChar'@, but it+--+-- * trims whitespace from ends of the lines,+--+-- * converts lines with only single dot into empty line.+--+newtype FreeText = FreeText { getFreeText :: String }++instance Newtype FreeText String where+ pack = FreeText+ unpack = getFreeText++instance Parsec FreeText where+ parsec = pack . dropDotLines <$ P.spaces <*> many P.anyChar+ where+ -- Example package with dot lines+ -- http://hackage.haskell.org/package/copilot-cbmc-0.1/copilot-cbmc.cabal+ dropDotLines "." = "."+ dropDotLines x = intercalate "\n" . map dotToEmpty . lines $ x+ dotToEmpty x | trim' x == "." = ""+ dotToEmpty x = trim x++ trim' :: String -> String+ trim' = dropWhileEnd (`elem` (" \t" :: String))++ trim :: String -> String+ trim = dropWhile isSpace . dropWhileEnd isSpace++instance Pretty FreeText where+ pretty = showFreeText . unpack++-- | Filepath are parsed as 'Token'.+newtype FilePathNT = FilePathNT { getFilePathNT :: String }++instance Newtype FilePathNT String where+ pack = FilePathNT+ unpack = getFilePathNT++instance Parsec FilePathNT where+ parsec = pack <$> parsecToken++instance Pretty FilePathNT where+ pretty = showFilePath . unpack++-------------------------------------------------------------------------------+-- Internal+-------------------------------------------------------------------------------++parsecTestedWith :: CabalParsing m => m (CompilerFlavor, VersionRange)+parsecTestedWith = do+ name <- lexemeParsec+ ver <- parsec <|> pure anyVersion+ return (name, ver)
@@ -0,0 +1,142 @@+{-# LANGUAGE BangPatterns #-}+{-# LANGUAGE CPP #-}+{-# LANGUAGE RankNTypes #-}+-- | A parse result type for parsers from AST to Haskell types.+module Distribution.Parsec.ParseResult (+ ParseResult,+ runParseResult,+ recoverWith,+ parseWarning,+ parseWarnings,+ parseFailure,+ parseFatalFailure,+ parseFatalFailure',+ getCabalSpecVersion,+ setCabalSpecVersion,+ ) where++import Distribution.Compat.Prelude+import Distribution.Parsec.Common+ (PError (..), PWarnType (..), PWarning (..), Position (..), zeroPos)+import Distribution.Version (Version)+import Prelude ()++#if MIN_VERSION_base(4,10,0)+import Control.Applicative (Applicative (..))+#endif++-- | A monad with failure and accumulating errors and warnings.+newtype ParseResult a = PR+ { unPR+ :: forall r. PRState+ -> (PRState -> r) -- failure, but we were able to recover a new-style spec-version declaration+ -> (PRState -> a -> r) -- success+ -> r+ }++data PRState = PRState ![PWarning] ![PError] !(Maybe Version)++emptyPRState :: PRState+emptyPRState = PRState [] [] Nothing++-- | Destruct a 'ParseResult' into the emitted warnings and either+-- a successful value or+-- list of errors and possibly recovered a spec-version declaration.+runParseResult :: ParseResult a -> ([PWarning], Either (Maybe Version, [PError]) a)+runParseResult pr = unPR pr emptyPRState failure success+ where+ failure (PRState warns errs v) = (warns, Left (v, errs))+ success (PRState warns [] _) x = (warns, Right x)+ -- If there are any errors, don't return the result+ success (PRState warns errs v) _ = (warns, Left (v, errs))++instance Functor ParseResult where+ fmap f (PR pr) = PR $ \ !s failure success ->+ pr s failure $ \ !s' a ->+ success s' (f a)+ {-# INLINE fmap #-}++instance Applicative ParseResult where+ pure x = PR $ \ !s _ success -> success s x+ {-# INLINE pure #-}++ f <*> x = PR $ \ !s0 failure success ->+ unPR f s0 failure $ \ !s1 f' ->+ unPR x s1 failure $ \ !s2 x' ->+ success s2 (f' x')+ {-# INLINE (<*>) #-}++ x *> y = PR $ \ !s0 failure success ->+ unPR x s0 failure $ \ !s1 _ ->+ unPR y s1 failure success+ {-# INLINE (*>) #-}++ x <* y = PR $ \ !s0 failure success ->+ unPR x s0 failure $ \ !s1 x' ->+ unPR y s1 failure $ \ !s2 _ ->+ success s2 x'+ {-# INLINE (<*) #-}++#if MIN_VERSION_base(4,10,0)+ liftA2 f x y = PR $ \ !s0 failure success ->+ unPR x s0 failure $ \ !s1 x' ->+ unPR y s1 failure $ \ !s2 y' ->+ success s2 (f x' y')+ {-# INLINE liftA2 #-}+#endif++instance Monad ParseResult where+ return = pure+ (>>) = (*>)++ m >>= k = PR $ \ !s failure success ->+ unPR m s failure $ \ !s' a ->+ unPR (k a) s' failure success+ {-# INLINE (>>=) #-}++-- | "Recover" the parse result, so we can proceed parsing.+-- 'runParseResult' will still result in 'Nothing', if there are recorded errors.+recoverWith :: ParseResult a -> a -> ParseResult a+recoverWith (PR pr) x = PR $ \ !s _failure success ->+ pr s (\ !s' -> success s' x) success++-- | Set cabal spec version.+setCabalSpecVersion :: Maybe Version -> ParseResult ()+setCabalSpecVersion v = PR $ \(PRState warns errs _) _failure success ->+ success (PRState warns errs v) ()++-- | Get cabal spec version.+getCabalSpecVersion :: ParseResult (Maybe Version)+getCabalSpecVersion = PR $ \s@(PRState _ _ v) _failure success ->+ success s v++-- | Add a warning. This doesn't fail the parsing process.+parseWarning :: Position -> PWarnType -> String -> ParseResult ()+parseWarning pos t msg = PR $ \(PRState warns errs v) _failure success ->+ success (PRState (PWarning t pos msg : warns) errs v) ()++-- | Add multiple warnings at once.+parseWarnings :: [PWarning] -> ParseResult ()+parseWarnings newWarns = PR $ \(PRState warns errs v) _failure success ->+ success (PRState (newWarns ++ warns) errs v) ()++-- | Add an error, but not fail the parser yet.+--+-- For fatal failure use 'parseFatalFailure'+parseFailure :: Position -> String -> ParseResult ()+parseFailure pos msg = PR $ \(PRState warns errs v) _failure success ->+ success (PRState warns (PError pos msg : errs) v) ()++-- | Add an fatal error.+parseFatalFailure :: Position -> String -> ParseResult a+parseFatalFailure pos msg = PR $ \(PRState warns errs v) failure _success ->+ failure (PRState warns (PError pos msg : errs) v)++-- | A 'mzero'.+parseFatalFailure' :: ParseResult a+parseFatalFailure' = PR pr+ where+ pr (PRState warns [] v) failure _success = failure (PRState warns [err] v)+ pr s failure _success = failure s++ err = PError zeroPos "Unknown fatal error"
@@ -27,28 +27,25 @@ #endif ) where -import Prelude ()-import Distribution.Compat.Prelude-import Control.Monad (guard)-import qualified Data.ByteString as B-import qualified Data.ByteString.Char8 as B8+import Control.Monad (guard)+import qualified Data.ByteString.Char8 as B8 import Data.Functor.Identity+import Distribution.Compat.Prelude+import Distribution.Parsec.Common+import Distribution.Parsec.Field import Distribution.Parsec.Lexer import Distribution.Parsec.LexerMonad- (LexResult (..), LexState (..), LexWarning (..),- LexWarningType (..), unLex)-import Distribution.Parsec.Types.Common-import Distribution.Parsec.Types.Field-import Distribution.Utils.String-import Text.Parsec.Combinator hiding (eof, notFollowedBy)+ (LexResult (..), LexState (..), LexWarning (..), unLex)+import Prelude ()+import Text.Parsec.Combinator hiding (eof, notFollowedBy) import Text.Parsec.Error import Text.Parsec.Pos-import Text.Parsec.Prim hiding (many, (<|>))+import Text.Parsec.Prim hiding (many, (<|>)) #ifdef CABAL_PARSEC_DEBUG-import qualified Data.Text as T-import qualified Data.Text.Encoding as T-import qualified Data.Text.Encoding.Error as T+import qualified Data.Text as T+import qualified Data.Text.Encoding as T+import qualified Data.Text.Encoding.Error as T #endif -- | The 'LexState'' (with a prime) is an instance of parsec's 'Stream'@@ -90,10 +87,9 @@ describeToken :: Token -> String describeToken t = case t of- TokSym s -> "name " ++ show s- TokStr s -> "string " ++ show s- TokNum s -> "number " ++ show s- TokOther s -> "symbol " ++ show s+ TokSym s -> "symbol " ++ show s+ TokStr s -> "string " ++ show s+ TokOther s -> "operator " ++ show s Indent _ -> "new line" TokFieldLine _ -> "field content" Colon -> "\":\""@@ -103,16 +99,15 @@ EOF -> "end of file" LexicalError is -> "character in input " ++ show (B8.head is) -tokName :: Parser (Name Position)-tokName', tokStr, tokNum, tokOther :: Parser (SectionArg Position)+tokSym :: Parser (Name Position)+tokSym', tokStr, tokOther :: Parser (SectionArg Position) tokIndent :: Parser Int tokColon, tokOpenBrace, tokCloseBrace :: Parser () tokFieldLine :: Parser (FieldLine Position) -tokName = getTokenWithPos $ \t -> case t of L pos (TokSym x) -> Just (mkName pos x); _ -> Nothing-tokName' = getTokenWithPos $ \t -> case t of L pos (TokSym x) -> Just (SecArgName pos x); _ -> Nothing+tokSym = getTokenWithPos $ \t -> case t of L pos (TokSym x) -> Just (mkName pos x); _ -> Nothing+tokSym' = getTokenWithPos $ \t -> case t of L pos (TokSym x) -> Just (SecArgName pos x); _ -> Nothing tokStr = getTokenWithPos $ \t -> case t of L pos (TokStr x) -> Just (SecArgStr pos x); _ -> Nothing-tokNum = getTokenWithPos $ \t -> case t of L pos (TokNum x) -> Just (SecArgNum pos x); _ -> Nothing tokOther = getTokenWithPos $ \t -> case t of L pos (TokOther x) -> Just (SecArgOther pos x); _ -> Nothing tokIndent = getToken $ \t -> case t of Indent x -> Just x; _ -> Nothing tokColon = getToken $ \t -> case t of Colon -> Just (); _ -> Nothing@@ -123,11 +118,10 @@ colon, openBrace, closeBrace :: Parser () sectionArg :: Parser (SectionArg Position)-sectionArg = tokName' <|> tokStr- <|> tokNum <|> tokOther <?> "section parameter"+sectionArg = tokSym' <|> tokStr <|> tokOther <?> "section parameter" fieldSecName :: Parser (Name Position)-fieldSecName = tokName <?> "field or section name"+fieldSecName = tokSym <?> "field or section name" colon = tokColon <?> "\":\"" openBrace = tokOpenBrace <?> "\"{\""@@ -227,7 +221,7 @@ -- An individual element, ie a field or a section. These can either use -- layout style or braces style. For layout style then it must start on--- a line on it's own (so that we know its indentation level).+-- a line on its own (so that we know its indentation level). -- -- element ::= '\n' name elementInLayoutContext -- | name elementInNonLayoutContext@@ -326,28 +320,9 @@ parser = do fields <- cabalStyleFile ws <- getLexerWarnings- pure (fields, maybeToList w ++ ws)-- (w, s') = fmap B.pack . recodeStringUtf8 . B.unpack $ s- lexSt = mkLexState' (mkLexState s')+ pure (fields, ws) --- TODO: For some reason alex parser cannot handle BOM.------ There is $bom token in the lexer, but for some reason it's not matched,--- and alex chockes.------ It might be that I (phadej) don't have enough alex-fu------ Anyway, we probably should operate alex in the byte mode, and do utf8 decoding--- later in the fields where it's required (as we actually do atm). We'd need--- alex-3.2 for that.-recodeStringUtf8 :: [Word8] -> (Maybe LexWarning, [Word8])-recodeStringUtf8 (0xef : 0xbb : 0xbf : bytes) =- ( Just $ LexWarning LexWarningBOM (Position 1 1) "Byte-order mark found"- , encodeStringUtf8 (decodeStringUtf8 bytes)- )-recodeStringUtf8 bytes =- (Nothing, encodeStringUtf8 (decodeStringUtf8 bytes))+ lexSt = mkLexState' (mkLexState s) #ifdef CABAL_PARSEC_DEBUG parseTest' :: Show a => Parsec LexState' () a -> SourceName -> B8.ByteString -> IO ()
@@ -1,89 +0,0 @@--- | Module containing small types-module Distribution.Parsec.Types.Common (- -- * Diagnostics- PError (..),- showPError,- PWarning (..),- PWarnType (..),- showPWarning,- -- * Field parser- FieldParser,- -- * Position- Position (..),- incPos,- retPos,- showPos,- ) where--import Prelude ()-import Distribution.Compat.Prelude-import System.FilePath (normalise)-import qualified Text.Parsec as Parsec---- | Parser error.-data PError = PError Position String- deriving (Show)---- | Type of parser warning. We do classify warnings.------ Different application may decide not to show some, or have fatal behaviour on others-data PWarnType- = PWTOther -- ^ Unclassified warning- | PWTUTF -- ^ Invalid UTF encoding- | PWTBoolCase -- ^ @true@ or @false@, not @True@ or @False@- | PWTGluedOperators -- ^ @&&!@- | PWTVersionTag -- ^ there are version with tags- | PWTNewSyntax -- ^ New syntax used, but no @cabal-version: >= 1.2@ specified- | PWTOldSyntax -- ^ Old syntax used, and @cabal-version >= 1.2@ specified- | PWTDeprecatedField- | PWTInvalidSubsection- | PWTUnknownField- | PWTUnknownSection- | PWTTrailingFields- | PWTExtraMainIs -- ^ extra main-is field- | PWTExtraTestModule -- ^ extra test-module field- | PWTExtraBenchmarkModule -- ^ extra benchmark-module field- | PWTLexNBSP- | PWTLexBOM- deriving (Eq, Ord, Show, Enum, Bounded)---- | Parser warning.-data PWarning = PWarning !PWarnType !Position String- deriving (Show)--showPWarning :: FilePath -> PWarning -> String-showPWarning fpath (PWarning _ pos msg) =- normalise fpath ++ ":" ++ showPos pos ++ ": " ++ msg--showPError :: FilePath -> PError -> String-showPError fpath (PError pos msg) =- normalise fpath ++ ":" ++ showPos pos ++ ": " ++ msg------------------------------------------------------------------------------------ Field parser------------------------------------------------------------------------------------ | Field value parsers.-type FieldParser = Parsec.Parsec String [PWarning] -- :: * -> *------------------------------------------------------------------------------------- Position------------------------------------------------------------------------------------ | 1-indexed row and column positions in a file.-data Position = Position- {-# UNPACK #-} !Int -- row- {-# UNPACK #-} !Int -- column- deriving (Eq, Show)---- | Shift position by n columns to the right.-incPos :: Int -> Position -> Position-incPos n (Position row col) = Position row (col + n)---- | Shift position to beginning of next row.-retPos :: Position -> Position-retPos (Position row _col) = Position (row + 1) 1--showPos :: Position -> String-showPos (Position row col) = show row ++ ":" ++ show col
@@ -1,82 +0,0 @@-{-# LANGUAGE DeriveFunctor #-}--- | Cabal-like file AST types: 'Field', 'Section' etc------ These types are parametrized by an annotation.-module Distribution.Parsec.Types.Field (- -- * Cabal file- Field (..),- fieldAnn,- FieldLine (..),- SectionArg (..),- sectionArgAnn,- -- * Name- Name (..),- mkName,- getName,- nameAnn,- ) where--import Prelude ()-import Distribution.Compat.Prelude-import Data.ByteString (ByteString)-import qualified Data.ByteString.Char8 as B-import qualified Data.Char as Char------------------------------------------------------------------------------------ Cabal file------------------------------------------------------------------------------------ | A Cabal-like file consists of a series of fields (@foo: bar@) and sections (@library ...@).-data Field ann- = Field !(Name ann) [FieldLine ann]- | Section !(Name ann) [SectionArg ann] [Field ann]- deriving (Eq, Show, Functor)--fieldAnn :: Field ann -> ann-fieldAnn (Field (Name ann _) _) = ann-fieldAnn (Section (Name ann _) _ _) = ann---- | A line of text representing the value of a field from a Cabal file.--- A field may contain multiple lines.------ /Invariant:/ 'ByteString' has no newlines.-data FieldLine ann = FieldLine !ann !ByteString- deriving (Eq, Show, Functor)---- | Section arguments, e.g. name of the library-data SectionArg ann- = SecArgName !ann !ByteString- -- ^ identifier- | SecArgStr !ann !String- -- ^ quoted string- | SecArgNum !ann !ByteString- -- ^ Something which loos like number. Also many dot numbers, i.e. "7.6.3"- | SecArgOther !ann !ByteString- -- ^ everything else, mm. operators (e.g. in if-section conditionals)- deriving (Eq, Show, Functor)---- | Extract annotation from 'SectionArg'.-sectionArgAnn :: SectionArg ann -> ann-sectionArgAnn (SecArgName ann _) = ann-sectionArgAnn (SecArgStr ann _) = ann-sectionArgAnn (SecArgNum ann _) = ann-sectionArgAnn (SecArgOther ann _) = ann------------------------------------------------------------------------------------ Name------------------------------------------------------------------------------------ | A field name.------ /Invariant/: 'ByteString' is lower-case ASCII.-data Name ann = Name !ann !ByteString- deriving (Eq, Show, Functor)--mkName :: ann -> ByteString -> Name ann-mkName ann bs = Name ann (B.map Char.toLower bs)--getName :: Name ann -> ByteString-getName (Name _ bs) = bs--nameAnn :: Name ann -> ann-nameAnn (Name ann _) = ann
@@ -1,238 +0,0 @@-{-# LANGUAGE FlexibleContexts #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RankNTypes #-}--------------------------------------------------------------------------------- |--- Module : Distribution.Parsec.Types.FieldDescr--- License : BSD3------ Maintainer : cabal-devel@haskell.org--- Portability : portable----module Distribution.Parsec.Types.FieldDescr (- -- * Field name- FieldName,- -- * Field description- FieldDescr (..),- liftField,- simpleField,- boolField,- optsField,- listField,- listFieldWithSep,- commaListField,- commaListFieldWithSep,- spaceListField,- -- ** Pretty printing- ppFields,- ppField,- -- * Unknown fields- UnknownFieldParser,- warnUnrec,- ignoreUnrec,- ) where--import Prelude ()-import Distribution.Compat.Prelude hiding (get)-import qualified Data.ByteString as BS-import Data.Ord (comparing)-import qualified Distribution.Compat.Parsec as P-import Distribution.Compiler (CompilerFlavor)-import Distribution.Parsec.Class-import Distribution.Parsec.Types.Common-import Distribution.PrettyUtils-import Text.PrettyPrint- (Doc, colon, comma, fsep, hsep, isEmpty, nest, punctuate,- text, vcat, ($+$), (<+>))--type FieldName = BS.ByteString------------------------------------------------------------------------------------ Unrecoginsed fields------------------------------------------------------------------------------------ | How to handle unknown fields.-type UnknownFieldParser a = FieldName -> String -> a -> Maybe a---- | A default unrecognized field parser which simply returns Nothing,--- i.e. ignores all unrecognized fields, so warnings will be generated.-warnUnrec :: UnknownFieldParser a-warnUnrec _ _ _ = Nothing---- | A default unrecognized field parser which silently (i.e. no--- warnings will be generated) ignores unrecognized fields, by--- returning the structure being built unmodified.-ignoreUnrec :: UnknownFieldParser a-ignoreUnrec _ _ = Just------------------------------------------------------------------------------------ Field description----------------------------------------------------------------------------------data FieldDescr a = FieldDescr- { fieldName :: FieldName- , fieldPretty :: a -> Doc- , fieldParser :: a -> FieldParser a- }--liftField :: (b -> a) -> (a -> b -> b) -> FieldDescr a -> FieldDescr b-liftField get set fd = FieldDescr- (fieldName fd)- (fieldPretty fd . get)- (\b -> flip set b <$> fieldParser fd (get b))--simpleField- :: FieldName -- ^ fieldname- -> (a -> Doc) -- ^ show- -> FieldParser a -- ^ parser- -> (b -> a) -- ^ getter- -> (a -> b -> b) -- ^ setter- -> FieldDescr b-simpleField name pretty parse get set = FieldDescr- name- (pretty . get)- (\a -> flip set a <$> parse)--boolField- :: FieldName- -> (b -> Bool)- -> (Bool -> b -> b)- -> FieldDescr b-boolField name get set = liftField get set (FieldDescr name showF parseF)- where- showF = text . show- parseF _ = P.munch1 isAlpha >>= postprocess- postprocess str- | str == "True" = pure True- | str == "False" = pure False- | lstr == "true" = parsecWarning PWTBoolCase caseWarning *> pure True- | lstr == "false" = parsecWarning PWTBoolCase caseWarning *> pure False- | otherwise = fail $ "Not a boolena: " ++ str- where- lstr = map toLower str- caseWarning =- "The " ++ show name ++ " field is case sensitive, use 'True' or 'False'."--optsField- :: FieldName- -> CompilerFlavor- -> (b -> [(CompilerFlavor,[String])])- -> ([(CompilerFlavor,[String])] -> b -> b)- -> FieldDescr b-optsField name flavor get set = liftField- (fromMaybe [] . lookup flavor . get)- (\opts b -> set (reorder (update flavor opts (get b))) b)- $ field name showF (many $ parsecToken' <* P.munch isSpace)- where- update _ opts l | all null opts = l --empty opts as if no opts- update f opts [] = [(f,opts)]- update f opts ((f',opts'):rest)- | f == f' = (f, opts' ++ opts) : rest- | otherwise = (f',opts') : update f opts rest- reorder = sortBy (comparing fst)- showF = hsep . map text--listField- :: FieldName- -> (a -> Doc)- -> FieldParser a- -> (b -> [a])- -> ([a] -> b -> b)- -> FieldDescr b-listField = listFieldWithSep fsep--listFieldWithSep- :: Separator- -> FieldName- -> (a -> Doc)- -> FieldParser a- -> (b -> [a])- -> ([a] -> b -> b)- -> FieldDescr b-listFieldWithSep separator name showF parseF get set =- liftField get set' $- field name showF' (parsecOptCommaList parseF)- where- set' xs b = set (get b ++ xs) b- showF' = separator . map showF---commaListField- :: FieldName -> (a -> Doc) -> FieldParser a- -> (b -> [a]) -> ([a] -> b -> b) -> FieldDescr b-commaListField = commaListFieldWithSep fsep--commaListFieldWithSep- :: Separator -> FieldName -> (a -> Doc) -> FieldParser a- -> (b -> [a]) -> ([a] -> b -> b) -> FieldDescr b-commaListFieldWithSep separator name showF parseF get set =- liftField get set' $- field name showF' (parsecCommaList parseF)- where- set' xs b = set (get b ++ xs) b- showF' = separator . punctuate comma . map showF--spaceListField- :: FieldName -> (a -> Doc) -> FieldParser a- -> (b -> [a]) -> ([a] -> b -> b) -> FieldDescr b-spaceListField name showF parseF get set = liftField get set' $- field name showF' (many $ parseF <* P.spaces)- where- set' xs b = set (get b ++ xs) b- showF' = fsep . map showF---- Overriding field-field :: FieldName -> (a -> Doc) -> FieldParser a -> FieldDescr a-field name showF parseF =- FieldDescr name showF (const parseF)------------------------------------------------------------------------------------ Pretty printing----------------------------------------------------------------------------------ppFields :: [FieldDescr a] -> a -> Doc-ppFields fields x =- vcat [ ppField name (getter x) | FieldDescr name getter _ <- fields ]--ppField :: FieldName -> Doc -> Doc-ppField name fielddoc- | isEmpty fielddoc = mempty- | name `elem` nestedFields = text namestr <<>> colon $+$ nest indentWith fielddoc- | otherwise = text namestr <<>> colon <+> fielddoc- where- namestr = show name -- TODO: do this- nestedFields :: [BS.ByteString]- nestedFields =- [ "description"- , "build-depends"- , "data-files"- , "extra-source-files"- , "extra-tmp-files"- , "exposed-modules"- , "c-sources"- , "js-sources"- , "extra-libraries"- , "includes"- , "install-includes"- , "other-modules"- , "depends"- ]---- | Handle deprecated fields------ *TODO:* use Parsec-{--deprecField :: Field Position -> Parsec (Field Position)-deprecField = undefined {---}-- (Field (Name pos fld) val) = do- fld' <- case lookup fld deprecatedFields of- Nothing -> return fld- Just newName -> do- warning $ "The field " ++ show fld- ++ " is deprecated, please use " ++ show newName- return newName- return (Field (Name pos fld') val)-deprecField _ = cabalBug "'deprecField' called on a non-field"--}
@@ -1,87 +0,0 @@-{-# LANGUAGE CPP #-}--- | A parse result type for parsers from AST to Haskell types.-module Distribution.Parsec.Types.ParseResult (- ParseResult,- runParseResult,- recoverWith,- parseWarning,- parseFailure,- parseFatalFailure,- parseFatalFailure',- parseWarnings',- ) where--import Prelude ()-import Distribution.Compat.Prelude-import Distribution.Parsec.Types.Common- (PError (..), PWarnType (..), PWarning (..), Position (..))---- | A monad with failure and accumulating errors and warnings.-newtype ParseResult a = PR { runPR :: PRState -> (Maybe a, PRState) }--data PRState = PRState ![PWarning] ![PError]--emptyPRState :: PRState-emptyPRState = PRState [] []---- | Destruct a 'ParseResult' into the emitted warnings and errors, and--- possibly the final result if there were no errors.-runParseResult :: ParseResult a -> ([PWarning], [PError], Maybe a)-runParseResult pr = case runPR pr emptyPRState of- (res, PRState warns errs)- -- If there are any errors, don't return the result- | null errs -> (warns, [], res)- | otherwise -> (warns, errs, Nothing)--instance Functor ParseResult where- fmap f (PR pr) = PR $ \s -> case pr s of- (r, s') -> (fmap f r, s')--instance Applicative ParseResult where- pure x = PR $ \s -> (Just x, s)- -- | Make it concat perrors- (<*>) = ap- PR a *> PR b = PR $ \s0 -> case a s0 of- (x, s1) -> case b s1 of- (y, s2) -> (x *> y, s2)--instance Monad ParseResult where- return = pure- (>>) = (*>)- PR m >>= k = PR $ \s -> case m s of- (Nothing, s') -> (Nothing, s')- (Just x, s') -> runPR (k x) s'---- | "Recover" the parse result, so we can proceed parsing.--- 'runParseResult' will still result in 'Nothing', if there are recorded errors.-recoverWith :: ParseResult a -> a -> ParseResult a-recoverWith (PR f) x = PR $ \s -> case f s of- (Nothing, s') -> (Just x, s')- r -> r--parseWarning :: Position -> PWarnType -> String -> ParseResult ()-parseWarning pos t msg = PR $ \(PRState warns errs) ->- (Just (), PRState (PWarning t pos msg : warns) errs)--parseWarnings' :: [PWarning] -> ParseResult ()-parseWarnings' newWarns = PR $ \(PRState warns errs) ->- (Just (), PRState (warns ++ newWarns) errs)---- | Add an error, but not fail the parser yet.------ For fatal failure use 'parseFatalFailure'-parseFailure :: Position -> String -> ParseResult ()-parseFailure pos msg = PR $ \(PRState warns errs) ->- (Just (), PRState warns (PError pos msg : errs))---- | Add an fatal error.-parseFatalFailure :: Position -> String -> ParseResult a-parseFatalFailure pos msg = PR $ \(PRState warns errs) ->- (Nothing, PRState warns (PError pos msg : errs))--parseFatalFailure' :: ParseResult a-parseFatalFailure' = PR f- where- f s@(PRState warns errs)- | null errs = (Nothing, PRState warns [PError (Position 0 0) "Unknown failure"])- | otherwise = (Nothing, s)
@@ -0,0 +1,95 @@+module Distribution.Pretty (+ Pretty (..),+ prettyShow,+ defaultStyle,+ flatStyle,+ -- * Utilities+ showFilePath,+ showToken,+ showFreeText,+ indentWith,+ -- * Deprecated+ Separator,+ ) where++import Prelude ()+import Distribution.Compat.Prelude+import Data.Functor.Identity (Identity (..))++import qualified Text.PrettyPrint as PP++class Pretty a where+ pretty :: a -> PP.Doc++instance Pretty Bool where+ pretty = PP.text . show++instance Pretty Int where+ pretty = PP.text . show++instance Pretty a => Pretty (Identity a) where+ pretty = pretty . runIdentity++prettyShow :: Pretty a => a -> String+prettyShow = PP.renderStyle defaultStyle . pretty ++-- | The default rendering style used in Cabal for console+-- output. It has a fixed page width and adds line breaks+-- automatically.+defaultStyle :: PP.Style+defaultStyle = PP.Style { PP.mode = PP.PageMode+ , PP.lineLength = 79+ , PP.ribbonsPerLine = 1.0+ }++-- | A style for rendering all on one line.+flatStyle :: PP.Style+flatStyle = PP.Style { PP.mode = PP.LeftMode+ , PP.lineLength = err "lineLength"+ , PP.ribbonsPerLine = err "ribbonsPerLine"+ }+ where+ err x = error ("flatStyle: tried to access " ++ x ++ " in LeftMode. " +++ "This should never happen and indicates a bug in Cabal.")++-------------------------------------------------------------------------------+-- Utilities+-------------------------------------------------------------------------------++-- TODO: remove when ReadP parser is gone.+type Separator = [PP.Doc] -> PP.Doc++showFilePath :: FilePath -> PP.Doc+showFilePath = showToken++showToken :: String -> PP.Doc+showToken str+ -- if token looks like a comment (starts with --), print it in quotes+ | "--" `isPrefixOf` str = PP.text (show str)+ -- also if token ends with a colon (e.g. executable name), print it in quotes+ | ":" `isSuffixOf` str = PP.text (show str)+ | not (any dodgy str) && not (null str) = PP.text str+ | otherwise = PP.text (show str)+ where+ dodgy c = isSpace c || c == ','+++-- | Pretty-print free-format text, ensuring that it is vertically aligned,+-- and with blank lines replaced by dots for correct re-parsing.+showFreeText :: String -> PP.Doc+showFreeText "" = mempty+showFreeText s = PP.vcat [ PP.text (if null l then "." else l) | l <- lines_ s ]++-- | 'lines_' breaks a string up into a list of strings at newline+-- characters. The resulting strings do not contain newlines.+lines_ :: String -> [String]+lines_ [] = [""]+lines_ s =+ let (l, s') = break (== '\n') s+ in l : case s' of+ [] -> []+ (_:s'') -> lines_ s''++-- | the indentation used for pretty printing+indentWith :: Int+indentWith = 4
@@ -9,7 +9,7 @@ -- -- Utilities for pretty printing. {-# OPTIONS_HADDOCK hide #-}-module Distribution.PrettyUtils (+module Distribution.PrettyUtils {-# DEPRECATED "Use Distribution.Pretty. This module will be removed in Cabal-3.0 (est. Oct 2018)." #-} ( Separator, -- * Internal showFilePath,@@ -19,46 +19,5 @@ indentWith, ) where -import Prelude ()-import Distribution.Compat.Prelude--import Distribution.Compiler (CompilerFlavor)-import Distribution.Version (VersionRange)--import Distribution.Text (disp)-import Text.PrettyPrint (Doc, text, vcat, (<+>))--type Separator = ([Doc] -> Doc)--showFilePath :: FilePath -> Doc-showFilePath "" = mempty-showFilePath x = showToken x--showToken :: String -> Doc-showToken str- | not (any dodgy str) && not (null str) = text str- | otherwise = text (show str)- where- dodgy c = isSpace c || c == ','--showTestedWith :: (CompilerFlavor, VersionRange) -> Doc-showTestedWith (compiler, vr) = text (show compiler) <+> disp vr---- | Pretty-print free-format text, ensuring that it is vertically aligned,--- and with blank lines replaced by dots for correct re-parsing.-showFreeText :: String -> Doc-showFreeText "" = mempty-showFreeText s = vcat [text (if null l then "." else l) | l <- lines_ s]---- | 'lines_' breaks a string up into a list of strings at newline--- characters. The resulting strings do not contain newlines.-lines_ :: String -> [String]-lines_ [] = [""]-lines_ s = let (l, s') = break (== '\n') s- in l : case s' of- [] -> []- (_:s'') -> lines_ s''---- | the indentation used for pretty printing-indentWith :: Int-indentWith = 4+import Distribution.Pretty+import Distribution.ParseUtils
@@ -14,13 +14,16 @@ ReadE(..), succeedReadE, failReadE, -- * Projections parseReadE, readEOrFail,- readP_to_E+ readP_to_E,+ parsecToReadE, ) where -import Prelude () import Distribution.Compat.Prelude+import Prelude () import Distribution.Compat.ReadP+import Distribution.Parsec.Class+import Distribution.Parsec.FieldLineStream -- | Parser with simple error reporting newtype ReadE a = ReadE {runReadE :: String -> Either ErrorMsg a}@@ -45,9 +48,17 @@ readEOrFail :: ReadE a -> String -> a readEOrFail r = either error id . runReadE r +-- {-# DEPRECATED readP_to_E "Use parsecToReadE. This symbol will be removed in Cabal-3.0 (est. Oct 2018)." #-} readP_to_E :: (String -> ErrorMsg) -> ReadP a a -> ReadE a readP_to_E err r = ReadE $ \txt -> case [ p | (p, s) <- readP_to_S r txt , all isSpace s ] of [] -> Left (err txt) (p:_) -> Right p++parsecToReadE :: (String -> ErrorMsg) -> ParsecParser a -> ReadE a+parsecToReadE err p = ReadE $ \txt ->+ case runParsecParser p "<parsecToReadE>" (fieldLineStreamFromString txt) of+ Right x -> Right x+ Left _e -> Left (err txt)+-- TODO: use parsec error to make 'ErrorMsg'.
@@ -0,0 +1,34 @@+-- | This module contains a SPDX data from specification version 2.1+--+-- Specification is available on <https://spdx.org/specifications>+module Distribution.SPDX (+ -- * License+ License (..),+ -- * License expression+ LicenseExpression (..),+ SimpleLicenseExpression (..),+ simpleLicenseExpression,+ -- * License identifier+ LicenseId (..),+ licenseId,+ licenseName,+ licenseIsOsiApproved,+ mkLicenseId,+ -- * License exception+ LicenseExceptionId (..),+ licenseExceptionId,+ licenseExceptionName,+ mkLicenseExceptionId,+ -- * License reference+ LicenseRef,+ licenseRef,+ licenseDocumentRef,+ mkLicenseRef,+ mkLicenseRef',+ ) where++import Distribution.SPDX.LicenseExceptionId+import Distribution.SPDX.License+import Distribution.SPDX.LicenseId+import Distribution.SPDX.LicenseExpression+import Distribution.SPDX.LicenseReference
@@ -0,0 +1,64 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+module Distribution.SPDX.License (+ License (..),+ ) where++import Prelude ()+import Distribution.Compat.Prelude++import Distribution.Pretty+import Distribution.Parsec.Class+import Distribution.SPDX.LicenseExpression++import qualified Distribution.Compat.CharParsing as P+import qualified Text.PrettyPrint as Disp++-- | Declared license.+-- See [section 3.15 of SPDX Specification 2.1](https://spdx.org/spdx-specification-21-web-version#h.1hmsyys)+--+-- /Note:/ the NOASSERTION case is omitted.+--+-- Old 'License' can be migrated using following rules:+--+-- * @AllRightsReserved@ and @UnspecifiedLicense@ to 'NONE'.+-- No license specified which legally defaults to /All Rights Reserved/.+-- The package may not be legally modified or redistributed by anyone but+-- the rightsholder.+--+-- * @OtherLicense@ can be converted to 'LicenseRef' pointing to the file+-- in the package.+--+-- * @UnknownLicense@ i.e. other licenses of the form @name-x.y@, should be+-- covered by SPDX license list, otherwise use 'LicenseRef'.+--+-- * @PublicDomain@ isn't covered. Consider using CC0.+-- See <https://wiki.spdx.org/view/Legal_Team/Decisions/Dealing_with_Public_Domain_within_SPDX_Files>+-- for more information.+--+data License+ = NONE+ -- ^ if the package contains no license information whatsoever; or+ | License LicenseExpression+ -- ^ A valid SPDX License Expression as defined in Appendix IV.+ deriving (Show, Read, Eq, Ord, Typeable, Data, Generic)++instance Binary License++instance NFData License where+ rnf NONE = ()+ rnf (License l) = rnf l++instance Pretty License where+ pretty NONE = Disp.text "NONE"+ pretty (License l) = pretty l++-- |+-- >>> eitherParsec "BSD-3-Clause AND MIT" :: Either String License+-- Right (License (EAnd (ELicense (ELicenseId BSD_3_Clause) Nothing) (ELicense (ELicenseId MIT) Nothing)))+--+-- >>> eitherParsec "NONE" :: Either String License+-- Right NONE+--+instance Parsec License where+ parsec = NONE <$ P.try (P.string "NONE") <|> License <$> parsec
@@ -0,0 +1,143 @@+-- This file is generated. See Makefile's spdx rule+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+module Distribution.SPDX.LicenseExceptionId (+ LicenseExceptionId (..),+ licenseExceptionId,+ licenseExceptionName,+ mkLicenseExceptionId,+ ) where++import Distribution.Compat.Prelude+import Prelude ()++import Distribution.Pretty+import Distribution.Parsec.Class+import Distribution.Utils.Generic (isAsciiAlphaNum)++import qualified Distribution.Compat.Map.Strict as Map+import qualified Distribution.Compat.CharParsing as P+import qualified Text.PrettyPrint as Disp++-------------------------------------------------------------------------------+-- LicenseExceptionId+-------------------------------------------------------------------------------++-- | SPDX License identifier+data LicenseExceptionId+ = DS389_exception -- ^ @389-exception@, 389 Directory Server Exception+ | Autoconf_exception_2_0 -- ^ @Autoconf-exception-2.0@, Autoconf exception 2.0+ | Autoconf_exception_3_0 -- ^ @Autoconf-exception-3.0@, Autoconf exception 3.0+ | Bison_exception_2_2 -- ^ @Bison-exception-2.2@, Bison exception 2.2+ | Bootloader_exception -- ^ @Bootloader-exception@, Bootloader Distribution Exception+ | Classpath_exception_2_0 -- ^ @Classpath-exception-2.0@, Classpath exception 2.0+ | CLISP_exception_2_0 -- ^ @CLISP-exception-2.0@, CLISP exception 2.0+ | DigiRule_FOSS_exception -- ^ @DigiRule-FOSS-exception@, DigiRule FOSS License Exception+ | ECos_exception_2_0 -- ^ @eCos-exception-2.0@, eCos exception 2.0+ | Fawkes_Runtime_exception -- ^ @Fawkes-Runtime-exception@, Fawkes Runtime Exception+ | FLTK_exception -- ^ @FLTK-exception@, FLTK exception+ | Font_exception_2_0 -- ^ @Font-exception-2.0@, Font exception 2.0+ | Freertos_exception_2_0 -- ^ @freertos-exception-2.0@, FreeRTOS Exception 2.0+ | GCC_exception_2_0 -- ^ @GCC-exception-2.0@, GCC Runtime Library exception 2.0+ | GCC_exception_3_1 -- ^ @GCC-exception-3.1@, GCC Runtime Library exception 3.1+ | Gnu_javamail_exception -- ^ @gnu-javamail-exception@, GNU JavaMail exception+ | I2p_gpl_java_exception -- ^ @i2p-gpl-java-exception@, i2p GPL+Java Exception+ | Libtool_exception -- ^ @Libtool-exception@, Libtool Exception+ | Linux_syscall_note -- ^ @Linux-syscall-note@, Linux Syscall Note+ | LZMA_exception -- ^ @LZMA-exception@, LZMA exception+ | Mif_exception -- ^ @mif-exception@, Macros and Inline Functions Exception+ | Nokia_Qt_exception_1_1 -- ^ @Nokia-Qt-exception-1.1@, Nokia Qt LGPL exception 1.1+ | OCCT_exception_1_0 -- ^ @OCCT-exception-1.0@, Open CASCADE Exception 1.0+ | Openvpn_openssl_exception -- ^ @openvpn-openssl-exception@, OpenVPN OpenSSL Exception+ | Qwt_exception_1_0 -- ^ @Qwt-exception-1.0@, Qwt exception 1.0+ | U_boot_exception_2_0 -- ^ @u-boot-exception-2.0@, U-Boot exception 2.0+ | WxWindows_exception_3_1 -- ^ @WxWindows-exception-3.1@, WxWindows Library Exception 3.1+ deriving (Eq, Ord, Enum, Bounded, Show, Read, Typeable, Data, Generic)++instance Binary LicenseExceptionId++instance Pretty LicenseExceptionId where+ pretty = Disp.text . licenseExceptionId++instance Parsec LicenseExceptionId where+ parsec = do+ n <- some $ P.satisfy $ \c -> isAsciiAlphaNum c || c == '-' || c == '.'+ maybe (fail $ "Unknown SPDX license exception identifier: " ++ n) return $ mkLicenseExceptionId n++instance NFData LicenseExceptionId where+ rnf l = l `seq` ()++-------------------------------------------------------------------------------+-- License Data+-------------------------------------------------------------------------------++-- | License SPDX identifier, e.g. @"BSD-3-Clause"@.+licenseExceptionId :: LicenseExceptionId -> String+licenseExceptionId DS389_exception = "389-exception"+licenseExceptionId Autoconf_exception_2_0 = "Autoconf-exception-2.0"+licenseExceptionId Autoconf_exception_3_0 = "Autoconf-exception-3.0"+licenseExceptionId Bison_exception_2_2 = "Bison-exception-2.2"+licenseExceptionId Bootloader_exception = "Bootloader-exception"+licenseExceptionId Classpath_exception_2_0 = "Classpath-exception-2.0"+licenseExceptionId CLISP_exception_2_0 = "CLISP-exception-2.0"+licenseExceptionId DigiRule_FOSS_exception = "DigiRule-FOSS-exception"+licenseExceptionId ECos_exception_2_0 = "eCos-exception-2.0"+licenseExceptionId Fawkes_Runtime_exception = "Fawkes-Runtime-exception"+licenseExceptionId FLTK_exception = "FLTK-exception"+licenseExceptionId Font_exception_2_0 = "Font-exception-2.0"+licenseExceptionId Freertos_exception_2_0 = "freertos-exception-2.0"+licenseExceptionId GCC_exception_2_0 = "GCC-exception-2.0"+licenseExceptionId GCC_exception_3_1 = "GCC-exception-3.1"+licenseExceptionId Gnu_javamail_exception = "gnu-javamail-exception"+licenseExceptionId I2p_gpl_java_exception = "i2p-gpl-java-exception"+licenseExceptionId Libtool_exception = "Libtool-exception"+licenseExceptionId Linux_syscall_note = "Linux-syscall-note"+licenseExceptionId LZMA_exception = "LZMA-exception"+licenseExceptionId Mif_exception = "mif-exception"+licenseExceptionId Nokia_Qt_exception_1_1 = "Nokia-Qt-exception-1.1"+licenseExceptionId OCCT_exception_1_0 = "OCCT-exception-1.0"+licenseExceptionId Openvpn_openssl_exception = "openvpn-openssl-exception"+licenseExceptionId Qwt_exception_1_0 = "Qwt-exception-1.0"+licenseExceptionId U_boot_exception_2_0 = "u-boot-exception-2.0"+licenseExceptionId WxWindows_exception_3_1 = "WxWindows-exception-3.1"++-- | License name, e.g. @"GNU General Public License v2.0 only"@+licenseExceptionName :: LicenseExceptionId -> String+licenseExceptionName DS389_exception = "389 Directory Server Exception"+licenseExceptionName Autoconf_exception_2_0 = "Autoconf exception 2.0"+licenseExceptionName Autoconf_exception_3_0 = "Autoconf exception 3.0"+licenseExceptionName Bison_exception_2_2 = "Bison exception 2.2"+licenseExceptionName Bootloader_exception = "Bootloader Distribution Exception"+licenseExceptionName Classpath_exception_2_0 = "Classpath exception 2.0"+licenseExceptionName CLISP_exception_2_0 = "CLISP exception 2.0"+licenseExceptionName DigiRule_FOSS_exception = "DigiRule FOSS License Exception"+licenseExceptionName ECos_exception_2_0 = "eCos exception 2.0"+licenseExceptionName Fawkes_Runtime_exception = "Fawkes Runtime Exception"+licenseExceptionName FLTK_exception = "FLTK exception"+licenseExceptionName Font_exception_2_0 = "Font exception 2.0"+licenseExceptionName Freertos_exception_2_0 = "FreeRTOS Exception 2.0"+licenseExceptionName GCC_exception_2_0 = "GCC Runtime Library exception 2.0"+licenseExceptionName GCC_exception_3_1 = "GCC Runtime Library exception 3.1"+licenseExceptionName Gnu_javamail_exception = "GNU JavaMail exception"+licenseExceptionName I2p_gpl_java_exception = "i2p GPL+Java Exception"+licenseExceptionName Libtool_exception = "Libtool Exception"+licenseExceptionName Linux_syscall_note = "Linux Syscall Note"+licenseExceptionName LZMA_exception = "LZMA exception"+licenseExceptionName Mif_exception = "Macros and Inline Functions Exception"+licenseExceptionName Nokia_Qt_exception_1_1 = "Nokia Qt LGPL exception 1.1"+licenseExceptionName OCCT_exception_1_0 = "Open CASCADE Exception 1.0"+licenseExceptionName Openvpn_openssl_exception = "OpenVPN OpenSSL Exception"+licenseExceptionName Qwt_exception_1_0 = "Qwt exception 1.0"+licenseExceptionName U_boot_exception_2_0 = "U-Boot exception 2.0"+licenseExceptionName WxWindows_exception_3_1 = "WxWindows Library Exception 3.1"++-------------------------------------------------------------------------------+-- Creation+-------------------------------------------------------------------------------++-- | Create a 'LicenseExceptionId' from a 'String'.+mkLicenseExceptionId :: String -> Maybe LicenseExceptionId+mkLicenseExceptionId s = Map.lookup s stringLookup++stringLookup :: Map String LicenseExceptionId+stringLookup = Map.fromList $ map (\i -> (licenseExceptionId i, i)) $ [minBound .. maxBound]
@@ -0,0 +1,158 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+module Distribution.SPDX.LicenseExpression (+ LicenseExpression (..),+ SimpleLicenseExpression (..),+ simpleLicenseExpression,+ ) where++import Distribution.Compat.Prelude+import Prelude ()++import Distribution.Parsec.Class+import Distribution.Pretty+import Distribution.SPDX.LicenseExceptionId+import Distribution.SPDX.LicenseId+import Distribution.SPDX.LicenseReference+import Distribution.Utils.Generic (isAsciiAlphaNum)+import Text.PrettyPrint ((<+>))++import qualified Distribution.Compat.CharParsing as P+import qualified Text.PrettyPrint as Disp++-- | SPDX License Expression.+--+-- @+-- idstring = 1*(ALPHA \/ DIGIT \/ "-" \/ "." )+-- license id = \<short form license identifier inAppendix I.1>+-- license exception id = \<short form license exception identifier inAppendix I.2>+-- license ref = [\"DocumentRef-"1*(idstring)":"]\"LicenseRef-"1*(idstring)+--+-- simple expression = license id \/ license id"+" \/ license ref+--+-- compound expression = 1*1(simple expression \/+-- simple expression \"WITH" license exception id \/+-- compound expression \"AND" compound expression \/+-- compound expression \"OR" compound expression ) \/+-- "(" compound expression ")" )+--+-- license expression = 1*1(simple expression / compound expression)+-- @+data LicenseExpression+ = ELicense !SimpleLicenseExpression !(Maybe LicenseExceptionId)+ | EAnd !LicenseExpression !LicenseExpression+ | EOr !LicenseExpression !LicenseExpression+ deriving (Show, Read, Eq, Ord, Typeable, Data, Generic)++-- | Simple License Expressions.+data SimpleLicenseExpression+ = ELicenseId LicenseId+ -- ^ An SPDX License List Short Form Identifier. For example: @GPL-2.0-only@+ | ELicenseIdPlus LicenseId+ -- ^ An SPDX License List Short Form Identifier with a unary"+" operator suffix to represent the current version of the license or any later version. For example: @GPL-2.0+@+ | ELicenseRef LicenseRef+ -- ^ A SPDX user defined license reference: For example: @LicenseRef-23@, @LicenseRef-MIT-Style-1@, or @DocumentRef-spdx-tool-1.2:LicenseRef-MIT-Style-2@+ deriving (Show, Read, Eq, Ord, Typeable, Data, Generic)++simpleLicenseExpression :: LicenseId -> LicenseExpression+simpleLicenseExpression i = ELicense (ELicenseId i) Nothing++instance Binary LicenseExpression+instance Binary SimpleLicenseExpression++instance Pretty LicenseExpression where+ pretty = go 0+ where+ go :: Int -> LicenseExpression -> Disp.Doc+ go _ (ELicense lic exc) =+ let doc = pretty lic+ in maybe id (\e d -> d <+> Disp.text "WITH" <+> pretty e) exc doc+ go d (EAnd e1 e2) = parens (d < 0) $ go 0 e1 <+> Disp.text "AND" <+> go 0 e2+ go d (EOr e1 e2) = parens (d < 1) $ go 1 e1 <+> Disp.text "OR" <+> go 1 e2+++ parens False doc = doc+ parens True doc = Disp.parens doc++instance Pretty SimpleLicenseExpression where+ pretty (ELicenseId i) = pretty i+ pretty (ELicenseIdPlus i) = pretty i <<>> Disp.char '+'+ pretty (ELicenseRef r) = pretty r++instance Parsec SimpleLicenseExpression where+ parsec = idstring >>= simple where+ simple n+ | Just l <- "LicenseRef-" `isPrefixOfMaybe` n =+ maybe (fail $ "Incorrect LicenseRef format: " ++ n) (return . ELicenseRef) $ mkLicenseRef Nothing l+ | Just d <- "DocumentRef-" `isPrefixOfMaybe` n = do+ _ <- P.string ":LicenseRef-"+ l <- idstring+ maybe (fail $ "Incorrect LicenseRef format:" ++ n) (return . ELicenseRef) $ mkLicenseRef (Just d) l+ | otherwise = do+ l <- maybe (fail $ "Unknown SPDX license identifier: '" ++ n ++ "' " ++ licenseIdMigrationMessage n) return $ mkLicenseId n+ orLater <- isJust <$> P.optional (P.char '+')+ if orLater+ then return (ELicenseIdPlus l)+ else return (ELicenseId l)++idstring :: P.CharParsing m => m String+idstring = P.munch1 $ \c -> isAsciiAlphaNum c || c == '-' || c == '.'++-- returns suffix part+isPrefixOfMaybe :: Eq a => [a] -> [a] -> Maybe [a]+isPrefixOfMaybe pfx s+ | pfx `isPrefixOf` s = Just (drop (length pfx) s)+ | otherwise = Nothing++instance Parsec LicenseExpression where+ parsec = expr+ where+ expr = compoundOr++ simple = do+ s <- parsec+ exc <- exception+ return $ ELicense s exc+ + exception = P.optional $ P.try (spaces1 *> P.string "WITH" *> spaces1) *> parsec++ compoundOr = do+ x <- compoundAnd+ l <- P.optional $ P.try (spaces1 *> P.string "OR" *> spaces1) *> compoundOr+ return $ maybe id (flip EOr) l x++ compoundAnd = do+ x <- compound+ l <- P.optional $ P.try (spaces1 *> P.string "AND" *> spaces1) *> compoundAnd+ return $ maybe id (flip EAnd) l x++ compound = braces <|> simple++ -- NOTE: we require that there's a space around AND & OR operators,+ -- i.e. @(MIT)AND(MIT)@ will cause parse-error.+ braces = do+ _ <- P.char '('+ _ <- P.spaces+ x <- expr+ _ <- P.char ')'+ return x++ spaces1 = P.space *> P.spaces++-- notes:+--+-- There MUST NOT be whitespace between a licenseid and any following "+". This supports easy parsing and+-- backwards compatibility. There MUST be whitespace on either side of the operator "WITH". There MUST be+-- whitespace and/or parentheses on either side of the operators "AND" and "OR".+--+-- We handle that by having greedy 'idstring' parser, so MITAND would parse as invalid license identifier.++instance NFData LicenseExpression where+ rnf (ELicense s e) = rnf s `seq` rnf e+ rnf (EAnd x y) = rnf x `seq` rnf y+ rnf (EOr x y) = rnf x `seq` rnf y++instance NFData SimpleLicenseExpression where+ rnf (ELicenseId i) = rnf i+ rnf (ELicenseIdPlus i) = rnf i+ rnf (ELicenseRef r) = rnf r
@@ -0,0 +1,1485 @@+-- This file is generated. See Makefile's spdx rule+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+module Distribution.SPDX.LicenseId (+ LicenseId (..),+ licenseId,+ licenseName,+ licenseIsOsiApproved,+ mkLicenseId,+ -- * Helpers+ licenseIdMigrationMessage,+ ) where++import Distribution.Compat.Prelude+import Prelude ()++import Distribution.Pretty+import Distribution.Parsec.Class+import Distribution.Utils.Generic (isAsciiAlphaNum)++import qualified Distribution.Compat.Map.Strict as Map+import qualified Distribution.Compat.CharParsing as P+import qualified Text.PrettyPrint as Disp++-------------------------------------------------------------------------------+-- LicenseId+-------------------------------------------------------------------------------++-- | SPDX License identifier+data LicenseId+ = NullBSD -- ^ @0BSD@, BSD Zero Clause License+ | AAL -- ^ @AAL@, Attribution Assurance License+ | Abstyles -- ^ @Abstyles@, Abstyles License+ | Adobe_2006 -- ^ @Adobe-2006@, Adobe Systems Incorporated Source Code License Agreement+ | Adobe_Glyph -- ^ @Adobe-Glyph@, Adobe Glyph List License+ | ADSL -- ^ @ADSL@, Amazon Digital Services License+ | AFL_1_1 -- ^ @AFL-1.1@, Academic Free License v1.1+ | AFL_1_2 -- ^ @AFL-1.2@, Academic Free License v1.2+ | AFL_2_0 -- ^ @AFL-2.0@, Academic Free License v2.0+ | AFL_2_1 -- ^ @AFL-2.1@, Academic Free License v2.1+ | AFL_3_0 -- ^ @AFL-3.0@, Academic Free License v3.0+ | Afmparse -- ^ @Afmparse@, Afmparse License+ | AGPL_1_0 -- ^ @AGPL-1.0@, Affero General Public License v1.0+ | AGPL_3_0_only -- ^ @AGPL-3.0-only@, GNU Affero General Public License v3.0 only+ | AGPL_3_0_or_later -- ^ @AGPL-3.0-or-later@, GNU Affero General Public License v3.0 or later+ | Aladdin -- ^ @Aladdin@, Aladdin Free Public License+ | AMDPLPA -- ^ @AMDPLPA@, AMD's plpa_map.c License+ | AML -- ^ @AML@, Apple MIT License+ | AMPAS -- ^ @AMPAS@, Academy of Motion Picture Arts and Sciences BSD+ | ANTLR_PD -- ^ @ANTLR-PD@, ANTLR Software Rights Notice+ | Apache_1_0 -- ^ @Apache-1.0@, Apache License 1.0+ | Apache_1_1 -- ^ @Apache-1.1@, Apache License 1.1+ | Apache_2_0 -- ^ @Apache-2.0@, Apache License 2.0+ | APAFML -- ^ @APAFML@, Adobe Postscript AFM License+ | APL_1_0 -- ^ @APL-1.0@, Adaptive Public License 1.0+ | APSL_1_0 -- ^ @APSL-1.0@, Apple Public Source License 1.0+ | APSL_1_1 -- ^ @APSL-1.1@, Apple Public Source License 1.1+ | APSL_1_2 -- ^ @APSL-1.2@, Apple Public Source License 1.2+ | APSL_2_0 -- ^ @APSL-2.0@, Apple Public Source License 2.0+ | Artistic_1_0_cl8 -- ^ @Artistic-1.0-cl8@, Artistic License 1.0 w/clause 8+ | Artistic_1_0_Perl -- ^ @Artistic-1.0-Perl@, Artistic License 1.0 (Perl)+ | Artistic_1_0 -- ^ @Artistic-1.0@, Artistic License 1.0+ | Artistic_2_0 -- ^ @Artistic-2.0@, Artistic License 2.0+ | Bahyph -- ^ @Bahyph@, Bahyph License+ | Barr -- ^ @Barr@, Barr License+ | Beerware -- ^ @Beerware@, Beerware License+ | BitTorrent_1_0 -- ^ @BitTorrent-1.0@, BitTorrent Open Source License v1.0+ | BitTorrent_1_1 -- ^ @BitTorrent-1.1@, BitTorrent Open Source License v1.1+ | Borceux -- ^ @Borceux@, Borceux license+ | BSD_1_Clause -- ^ @BSD-1-Clause@, BSD 1-Clause License+ | BSD_2_Clause_FreeBSD -- ^ @BSD-2-Clause-FreeBSD@, BSD 2-Clause FreeBSD License+ | BSD_2_Clause_NetBSD -- ^ @BSD-2-Clause-NetBSD@, BSD 2-Clause NetBSD License+ | BSD_2_Clause_Patent -- ^ @BSD-2-Clause-Patent@, BSD-2-Clause Plus Patent License+ | BSD_2_Clause -- ^ @BSD-2-Clause@, BSD 2-Clause "Simplified" License+ | BSD_3_Clause_Attribution -- ^ @BSD-3-Clause-Attribution@, BSD with attribution+ | BSD_3_Clause_Clear -- ^ @BSD-3-Clause-Clear@, BSD 3-Clause Clear License+ | BSD_3_Clause_LBNL -- ^ @BSD-3-Clause-LBNL@, Lawrence Berkeley National Labs BSD variant license+ | BSD_3_Clause_No_Nuclear_License_2014 -- ^ @BSD-3-Clause-No-Nuclear-License-2014@, BSD 3-Clause No Nuclear License 2014+ | BSD_3_Clause_No_Nuclear_License -- ^ @BSD-3-Clause-No-Nuclear-License@, BSD 3-Clause No Nuclear License+ | BSD_3_Clause_No_Nuclear_Warranty -- ^ @BSD-3-Clause-No-Nuclear-Warranty@, BSD 3-Clause No Nuclear Warranty+ | BSD_3_Clause -- ^ @BSD-3-Clause@, BSD 3-Clause "New" or "Revised" License+ | BSD_4_Clause_UC -- ^ @BSD-4-Clause-UC@, BSD-4-Clause (University of California-Specific)+ | BSD_4_Clause -- ^ @BSD-4-Clause@, BSD 4-Clause "Original" or "Old" License+ | BSD_Protection -- ^ @BSD-Protection@, BSD Protection License+ | BSD_Source_Code -- ^ @BSD-Source-Code@, BSD Source Code Attribution+ | BSL_1_0 -- ^ @BSL-1.0@, Boost Software License 1.0+ | Bzip2_1_0_5 -- ^ @bzip2-1.0.5@, bzip2 and libbzip2 License v1.0.5+ | Bzip2_1_0_6 -- ^ @bzip2-1.0.6@, bzip2 and libbzip2 License v1.0.6+ | Caldera -- ^ @Caldera@, Caldera License+ | CATOSL_1_1 -- ^ @CATOSL-1.1@, Computer Associates Trusted Open Source License 1.1+ | CC_BY_1_0 -- ^ @CC-BY-1.0@, Creative Commons Attribution 1.0+ | CC_BY_2_0 -- ^ @CC-BY-2.0@, Creative Commons Attribution 2.0+ | CC_BY_2_5 -- ^ @CC-BY-2.5@, Creative Commons Attribution 2.5+ | CC_BY_3_0 -- ^ @CC-BY-3.0@, Creative Commons Attribution 3.0+ | CC_BY_4_0 -- ^ @CC-BY-4.0@, Creative Commons Attribution 4.0+ | CC_BY_NC_1_0 -- ^ @CC-BY-NC-1.0@, Creative Commons Attribution Non Commercial 1.0+ | CC_BY_NC_2_0 -- ^ @CC-BY-NC-2.0@, Creative Commons Attribution Non Commercial 2.0+ | CC_BY_NC_2_5 -- ^ @CC-BY-NC-2.5@, Creative Commons Attribution Non Commercial 2.5+ | CC_BY_NC_3_0 -- ^ @CC-BY-NC-3.0@, Creative Commons Attribution Non Commercial 3.0+ | CC_BY_NC_4_0 -- ^ @CC-BY-NC-4.0@, Creative Commons Attribution Non Commercial 4.0+ | CC_BY_NC_ND_1_0 -- ^ @CC-BY-NC-ND-1.0@, Creative Commons Attribution Non Commercial No Derivatives 1.0+ | CC_BY_NC_ND_2_0 -- ^ @CC-BY-NC-ND-2.0@, Creative Commons Attribution Non Commercial No Derivatives 2.0+ | CC_BY_NC_ND_2_5 -- ^ @CC-BY-NC-ND-2.5@, Creative Commons Attribution Non Commercial No Derivatives 2.5+ | CC_BY_NC_ND_3_0 -- ^ @CC-BY-NC-ND-3.0@, Creative Commons Attribution Non Commercial No Derivatives 3.0+ | CC_BY_NC_ND_4_0 -- ^ @CC-BY-NC-ND-4.0@, Creative Commons Attribution Non Commercial No Derivatives 4.0+ | CC_BY_NC_SA_1_0 -- ^ @CC-BY-NC-SA-1.0@, Creative Commons Attribution Non Commercial Share Alike 1.0+ | CC_BY_NC_SA_2_0 -- ^ @CC-BY-NC-SA-2.0@, Creative Commons Attribution Non Commercial Share Alike 2.0+ | CC_BY_NC_SA_2_5 -- ^ @CC-BY-NC-SA-2.5@, Creative Commons Attribution Non Commercial Share Alike 2.5+ | CC_BY_NC_SA_3_0 -- ^ @CC-BY-NC-SA-3.0@, Creative Commons Attribution Non Commercial Share Alike 3.0+ | CC_BY_NC_SA_4_0 -- ^ @CC-BY-NC-SA-4.0@, Creative Commons Attribution Non Commercial Share Alike 4.0+ | CC_BY_ND_1_0 -- ^ @CC-BY-ND-1.0@, Creative Commons Attribution No Derivatives 1.0+ | CC_BY_ND_2_0 -- ^ @CC-BY-ND-2.0@, Creative Commons Attribution No Derivatives 2.0+ | CC_BY_ND_2_5 -- ^ @CC-BY-ND-2.5@, Creative Commons Attribution No Derivatives 2.5+ | CC_BY_ND_3_0 -- ^ @CC-BY-ND-3.0@, Creative Commons Attribution No Derivatives 3.0+ | CC_BY_ND_4_0 -- ^ @CC-BY-ND-4.0@, Creative Commons Attribution No Derivatives 4.0+ | CC_BY_SA_1_0 -- ^ @CC-BY-SA-1.0@, Creative Commons Attribution Share Alike 1.0+ | CC_BY_SA_2_0 -- ^ @CC-BY-SA-2.0@, Creative Commons Attribution Share Alike 2.0+ | CC_BY_SA_2_5 -- ^ @CC-BY-SA-2.5@, Creative Commons Attribution Share Alike 2.5+ | CC_BY_SA_3_0 -- ^ @CC-BY-SA-3.0@, Creative Commons Attribution Share Alike 3.0+ | CC_BY_SA_4_0 -- ^ @CC-BY-SA-4.0@, Creative Commons Attribution Share Alike 4.0+ | CC0_1_0 -- ^ @CC0-1.0@, Creative Commons Zero v1.0 Universal+ | CDDL_1_0 -- ^ @CDDL-1.0@, Common Development and Distribution License 1.0+ | CDDL_1_1 -- ^ @CDDL-1.1@, Common Development and Distribution License 1.1+ | CDLA_Permissive_1_0 -- ^ @CDLA-Permissive-1.0@, Community Data License Agreement Permissive 1.0+ | CDLA_Sharing_1_0 -- ^ @CDLA-Sharing-1.0@, Community Data License Agreement Sharing 1.0+ | CECILL_1_0 -- ^ @CECILL-1.0@, CeCILL Free Software License Agreement v1.0+ | CECILL_1_1 -- ^ @CECILL-1.1@, CeCILL Free Software License Agreement v1.1+ | CECILL_2_0 -- ^ @CECILL-2.0@, CeCILL Free Software License Agreement v2.0+ | CECILL_2_1 -- ^ @CECILL-2.1@, CeCILL Free Software License Agreement v2.1+ | CECILL_B -- ^ @CECILL-B@, CeCILL-B Free Software License Agreement+ | CECILL_C -- ^ @CECILL-C@, CeCILL-C Free Software License Agreement+ | ClArtistic -- ^ @ClArtistic@, Clarified Artistic License+ | CNRI_Jython -- ^ @CNRI-Jython@, CNRI Jython License+ | CNRI_Python_GPL_Compatible -- ^ @CNRI-Python-GPL-Compatible@, CNRI Python Open Source GPL Compatible License Agreement+ | CNRI_Python -- ^ @CNRI-Python@, CNRI Python License+ | Condor_1_1 -- ^ @Condor-1.1@, Condor Public License v1.1+ | CPAL_1_0 -- ^ @CPAL-1.0@, Common Public Attribution License 1.0+ | CPL_1_0 -- ^ @CPL-1.0@, Common Public License 1.0+ | CPOL_1_02 -- ^ @CPOL-1.02@, Code Project Open License 1.02+ | Crossword -- ^ @Crossword@, Crossword License+ | CrystalStacker -- ^ @CrystalStacker@, CrystalStacker License+ | CUA_OPL_1_0 -- ^ @CUA-OPL-1.0@, CUA Office Public License v1.0+ | Cube -- ^ @Cube@, Cube License+ | Curl -- ^ @curl@, curl License+ | D_FSL_1_0 -- ^ @D-FSL-1.0@, Deutsche Freie Software Lizenz+ | Diffmark -- ^ @diffmark@, diffmark license+ | DOC -- ^ @DOC@, DOC License+ | Dotseqn -- ^ @Dotseqn@, Dotseqn License+ | DSDP -- ^ @DSDP@, DSDP License+ | Dvipdfm -- ^ @dvipdfm@, dvipdfm License+ | ECL_1_0 -- ^ @ECL-1.0@, Educational Community License v1.0+ | ECL_2_0 -- ^ @ECL-2.0@, Educational Community License v2.0+ | EFL_1_0 -- ^ @EFL-1.0@, Eiffel Forum License v1.0+ | EFL_2_0 -- ^ @EFL-2.0@, Eiffel Forum License v2.0+ | EGenix -- ^ @eGenix@, eGenix.com Public License 1.1.0+ | Entessa -- ^ @Entessa@, Entessa Public License v1.0+ | EPL_1_0 -- ^ @EPL-1.0@, Eclipse Public License 1.0+ | EPL_2_0 -- ^ @EPL-2.0@, Eclipse Public License 2.0+ | ErlPL_1_1 -- ^ @ErlPL-1.1@, Erlang Public License v1.1+ | EUDatagrid -- ^ @EUDatagrid@, EU DataGrid Software License+ | EUPL_1_0 -- ^ @EUPL-1.0@, European Union Public License 1.0+ | EUPL_1_1 -- ^ @EUPL-1.1@, European Union Public License 1.1+ | EUPL_1_2 -- ^ @EUPL-1.2@, European Union Public License 1.2+ | Eurosym -- ^ @Eurosym@, Eurosym License+ | Fair -- ^ @Fair@, Fair License+ | Frameworx_1_0 -- ^ @Frameworx-1.0@, Frameworx Open License 1.0+ | FreeImage -- ^ @FreeImage@, FreeImage Public License v1.0+ | FSFAP -- ^ @FSFAP@, FSF All Permissive License+ | FSFUL -- ^ @FSFUL@, FSF Unlimited License+ | FSFULLR -- ^ @FSFULLR@, FSF Unlimited License (with License Retention)+ | FTL -- ^ @FTL@, Freetype Project License+ | GFDL_1_1_only -- ^ @GFDL-1.1-only@, GNU Free Documentation License v1.1 only+ | GFDL_1_1_or_later -- ^ @GFDL-1.1-or-later@, GNU Free Documentation License v1.1 or later+ | GFDL_1_2_only -- ^ @GFDL-1.2-only@, GNU Free Documentation License v1.2 only+ | GFDL_1_2_or_later -- ^ @GFDL-1.2-or-later@, GNU Free Documentation License v1.2 or later+ | GFDL_1_3_only -- ^ @GFDL-1.3-only@, GNU Free Documentation License v1.3 only+ | GFDL_1_3_or_later -- ^ @GFDL-1.3-or-later@, GNU Free Documentation License v1.3 or later+ | Giftware -- ^ @Giftware@, Giftware License+ | GL2PS -- ^ @GL2PS@, GL2PS License+ | Glide -- ^ @Glide@, 3dfx Glide License+ | Glulxe -- ^ @Glulxe@, Glulxe License+ | Gnuplot -- ^ @gnuplot@, gnuplot License+ | GPL_1_0_only -- ^ @GPL-1.0-only@, GNU General Public License v1.0 only+ | GPL_1_0_or_later -- ^ @GPL-1.0-or-later@, GNU General Public License v1.0 or later+ | GPL_2_0_only -- ^ @GPL-2.0-only@, GNU General Public License v2.0 only+ | GPL_2_0_or_later -- ^ @GPL-2.0-or-later@, GNU General Public License v2.0 or later+ | GPL_3_0_only -- ^ @GPL-3.0-only@, GNU General Public License v3.0 only+ | GPL_3_0_or_later -- ^ @GPL-3.0-or-later@, GNU General Public License v3.0 or later+ | GSOAP_1_3b -- ^ @gSOAP-1.3b@, gSOAP Public License v1.3b+ | HaskellReport -- ^ @HaskellReport@, Haskell Language Report License+ | HPND -- ^ @HPND@, Historical Permission Notice and Disclaimer+ | IBM_pibs -- ^ @IBM-pibs@, IBM PowerPC Initialization and Boot Software+ | ICU -- ^ @ICU@, ICU License+ | IJG -- ^ @IJG@, Independent JPEG Group License+ | ImageMagick -- ^ @ImageMagick@, ImageMagick License+ | IMatix -- ^ @iMatix@, iMatix Standard Function Library Agreement+ | Imlib2 -- ^ @Imlib2@, Imlib2 License+ | Info_ZIP -- ^ @Info-ZIP@, Info-ZIP License+ | Intel_ACPI -- ^ @Intel-ACPI@, Intel ACPI Software License Agreement+ | Intel -- ^ @Intel@, Intel Open Source License+ | Interbase_1_0 -- ^ @Interbase-1.0@, Interbase Public License v1.0+ | IPA -- ^ @IPA@, IPA Font License+ | IPL_1_0 -- ^ @IPL-1.0@, IBM Public License v1.0+ | ISC -- ^ @ISC@, ISC License+ | JasPer_2_0 -- ^ @JasPer-2.0@, JasPer License+ | JSON -- ^ @JSON@, JSON License+ | LAL_1_2 -- ^ @LAL-1.2@, Licence Art Libre 1.2+ | LAL_1_3 -- ^ @LAL-1.3@, Licence Art Libre 1.3+ | Latex2e -- ^ @Latex2e@, Latex2e License+ | Leptonica -- ^ @Leptonica@, Leptonica License+ | LGPL_2_0_only -- ^ @LGPL-2.0-only@, GNU Library General Public License v2 only+ | LGPL_2_0_or_later -- ^ @LGPL-2.0-or-later@, GNU Library General Public License v2 or later+ | LGPL_2_1_only -- ^ @LGPL-2.1-only@, GNU Lesser General Public License v2.1 only+ | LGPL_2_1_or_later -- ^ @LGPL-2.1-or-later@, GNU Lesser General Public License v2.1 or later+ | LGPL_3_0_only -- ^ @LGPL-3.0-only@, GNU Lesser General Public License v3.0 only+ | LGPL_3_0_or_later -- ^ @LGPL-3.0-or-later@, GNU Lesser General Public License v3.0 or later+ | LGPLLR -- ^ @LGPLLR@, Lesser General Public License For Linguistic Resources+ | Libpng -- ^ @Libpng@, libpng License+ | Libtiff -- ^ @libtiff@, libtiff License+ | LiLiQ_P_1_1 -- ^ @LiLiQ-P-1.1@, Licence Libre du Québec – Permissive version 1.1+ | LiLiQ_R_1_1 -- ^ @LiLiQ-R-1.1@, Licence Libre du Québec – Réciprocité version 1.1+ | LiLiQ_Rplus_1_1 -- ^ @LiLiQ-Rplus-1.1@, Licence Libre du Québec – Réciprocité forte version 1.1+ | LPL_1_0 -- ^ @LPL-1.0@, Lucent Public License Version 1.0+ | LPL_1_02 -- ^ @LPL-1.02@, Lucent Public License v1.02+ | LPPL_1_0 -- ^ @LPPL-1.0@, LaTeX Project Public License v1.0+ | LPPL_1_1 -- ^ @LPPL-1.1@, LaTeX Project Public License v1.1+ | LPPL_1_2 -- ^ @LPPL-1.2@, LaTeX Project Public License v1.2+ | LPPL_1_3a -- ^ @LPPL-1.3a@, LaTeX Project Public License v1.3a+ | LPPL_1_3c -- ^ @LPPL-1.3c@, LaTeX Project Public License v1.3c+ | MakeIndex -- ^ @MakeIndex@, MakeIndex License+ | MirOS -- ^ @MirOS@, MirOS License+ | MIT_advertising -- ^ @MIT-advertising@, Enlightenment License (e16)+ | MIT_CMU -- ^ @MIT-CMU@, CMU License+ | MIT_enna -- ^ @MIT-enna@, enna License+ | MIT_feh -- ^ @MIT-feh@, feh License+ | MIT -- ^ @MIT@, MIT License+ | MITNFA -- ^ @MITNFA@, MIT +no-false-attribs license+ | Motosoto -- ^ @Motosoto@, Motosoto License+ | Mpich2 -- ^ @mpich2@, mpich2 License+ | MPL_1_0 -- ^ @MPL-1.0@, Mozilla Public License 1.0+ | MPL_1_1 -- ^ @MPL-1.1@, Mozilla Public License 1.1+ | MPL_2_0_no_copyleft_exception -- ^ @MPL-2.0-no-copyleft-exception@, Mozilla Public License 2.0 (no copyleft exception)+ | MPL_2_0 -- ^ @MPL-2.0@, Mozilla Public License 2.0+ | MS_PL -- ^ @MS-PL@, Microsoft Public License+ | MS_RL -- ^ @MS-RL@, Microsoft Reciprocal License+ | MTLL -- ^ @MTLL@, Matrix Template Library License+ | Multics -- ^ @Multics@, Multics License+ | Mup -- ^ @Mup@, Mup License+ | NASA_1_3 -- ^ @NASA-1.3@, NASA Open Source Agreement 1.3+ | Naumen -- ^ @Naumen@, Naumen Public License+ | NBPL_1_0 -- ^ @NBPL-1.0@, Net Boolean Public License v1+ | NCSA -- ^ @NCSA@, University of Illinois/NCSA Open Source License+ | Net_SNMP -- ^ @Net-SNMP@, Net-SNMP License+ | NetCDF -- ^ @NetCDF@, NetCDF license+ | Newsletr -- ^ @Newsletr@, Newsletr License+ | NGPL -- ^ @NGPL@, Nethack General Public License+ | NLOD_1_0 -- ^ @NLOD-1.0@, Norwegian Licence for Open Government Data+ | NLPL -- ^ @NLPL@, No Limit Public License+ | Nokia -- ^ @Nokia@, Nokia Open Source License+ | NOSL -- ^ @NOSL@, Netizen Open Source License+ | Noweb -- ^ @Noweb@, Noweb License+ | NPL_1_0 -- ^ @NPL-1.0@, Netscape Public License v1.0+ | NPL_1_1 -- ^ @NPL-1.1@, Netscape Public License v1.1+ | NPOSL_3_0 -- ^ @NPOSL-3.0@, Non-Profit Open Software License 3.0+ | NRL -- ^ @NRL@, NRL License+ | NTP -- ^ @NTP@, NTP License+ | OCCT_PL -- ^ @OCCT-PL@, Open CASCADE Technology Public License+ | OCLC_2_0 -- ^ @OCLC-2.0@, OCLC Research Public License 2.0+ | ODbL_1_0 -- ^ @ODbL-1.0@, ODC Open Database License v1.0+ | OFL_1_0 -- ^ @OFL-1.0@, SIL Open Font License 1.0+ | OFL_1_1 -- ^ @OFL-1.1@, SIL Open Font License 1.1+ | OGTSL -- ^ @OGTSL@, Open Group Test Suite License+ | OLDAP_1_1 -- ^ @OLDAP-1.1@, Open LDAP Public License v1.1+ | OLDAP_1_2 -- ^ @OLDAP-1.2@, Open LDAP Public License v1.2+ | OLDAP_1_3 -- ^ @OLDAP-1.3@, Open LDAP Public License v1.3+ | OLDAP_1_4 -- ^ @OLDAP-1.4@, Open LDAP Public License v1.4+ | OLDAP_2_0_1 -- ^ @OLDAP-2.0.1@, Open LDAP Public License v2.0.1+ | OLDAP_2_0 -- ^ @OLDAP-2.0@, Open LDAP Public License v2.0 (or possibly 2.0A and 2.0B)+ | OLDAP_2_1 -- ^ @OLDAP-2.1@, Open LDAP Public License v2.1+ | OLDAP_2_2_1 -- ^ @OLDAP-2.2.1@, Open LDAP Public License v2.2.1+ | OLDAP_2_2_2 -- ^ @OLDAP-2.2.2@, Open LDAP Public License 2.2.2+ | OLDAP_2_2 -- ^ @OLDAP-2.2@, Open LDAP Public License v2.2+ | OLDAP_2_3 -- ^ @OLDAP-2.3@, Open LDAP Public License v2.3+ | OLDAP_2_4 -- ^ @OLDAP-2.4@, Open LDAP Public License v2.4+ | OLDAP_2_5 -- ^ @OLDAP-2.5@, Open LDAP Public License v2.5+ | OLDAP_2_6 -- ^ @OLDAP-2.6@, Open LDAP Public License v2.6+ | OLDAP_2_7 -- ^ @OLDAP-2.7@, Open LDAP Public License v2.7+ | OLDAP_2_8 -- ^ @OLDAP-2.8@, Open LDAP Public License v2.8+ | OML -- ^ @OML@, Open Market License+ | OpenSSL -- ^ @OpenSSL@, OpenSSL License+ | OPL_1_0 -- ^ @OPL-1.0@, Open Public License v1.0+ | OSET_PL_2_1 -- ^ @OSET-PL-2.1@, OSET Public License version 2.1+ | OSL_1_0 -- ^ @OSL-1.0@, Open Software License 1.0+ | OSL_1_1 -- ^ @OSL-1.1@, Open Software License 1.1+ | OSL_2_0 -- ^ @OSL-2.0@, Open Software License 2.0+ | OSL_2_1 -- ^ @OSL-2.1@, Open Software License 2.1+ | OSL_3_0 -- ^ @OSL-3.0@, Open Software License 3.0+ | PDDL_1_0 -- ^ @PDDL-1.0@, ODC Public Domain Dedication & License 1.0+ | PHP_3_0 -- ^ @PHP-3.0@, PHP License v3.0+ | PHP_3_01 -- ^ @PHP-3.01@, PHP License v3.01+ | Plexus -- ^ @Plexus@, Plexus Classworlds License+ | PostgreSQL -- ^ @PostgreSQL@, PostgreSQL License+ | Psfrag -- ^ @psfrag@, psfrag License+ | Psutils -- ^ @psutils@, psutils License+ | Python_2_0 -- ^ @Python-2.0@, Python License 2.0+ | Qhull -- ^ @Qhull@, Qhull License+ | QPL_1_0 -- ^ @QPL-1.0@, Q Public License 1.0+ | Rdisc -- ^ @Rdisc@, Rdisc License+ | RHeCos_1_1 -- ^ @RHeCos-1.1@, Red Hat eCos Public License v1.1+ | RPL_1_1 -- ^ @RPL-1.1@, Reciprocal Public License 1.1+ | RPL_1_5 -- ^ @RPL-1.5@, Reciprocal Public License 1.5+ | RPSL_1_0 -- ^ @RPSL-1.0@, RealNetworks Public Source License v1.0+ | RSA_MD -- ^ @RSA-MD@, RSA Message-Digest License + | RSCPL -- ^ @RSCPL@, Ricoh Source Code Public License+ | Ruby -- ^ @Ruby@, Ruby License+ | SAX_PD -- ^ @SAX-PD@, Sax Public Domain Notice+ | Saxpath -- ^ @Saxpath@, Saxpath License+ | SCEA -- ^ @SCEA@, SCEA Shared Source License+ | Sendmail -- ^ @Sendmail@, Sendmail License+ | SGI_B_1_0 -- ^ @SGI-B-1.0@, SGI Free Software License B v1.0+ | SGI_B_1_1 -- ^ @SGI-B-1.1@, SGI Free Software License B v1.1+ | SGI_B_2_0 -- ^ @SGI-B-2.0@, SGI Free Software License B v2.0+ | SimPL_2_0 -- ^ @SimPL-2.0@, Simple Public License 2.0+ | SISSL_1_2 -- ^ @SISSL-1.2@, Sun Industry Standards Source License v1.2+ | SISSL -- ^ @SISSL@, Sun Industry Standards Source License v1.1+ | Sleepycat -- ^ @Sleepycat@, Sleepycat License+ | SMLNJ -- ^ @SMLNJ@, Standard ML of New Jersey License+ | SMPPL -- ^ @SMPPL@, Secure Messaging Protocol Public License+ | SNIA -- ^ @SNIA@, SNIA Public License 1.1+ | Spencer_86 -- ^ @Spencer-86@, Spencer License 86+ | Spencer_94 -- ^ @Spencer-94@, Spencer License 94+ | Spencer_99 -- ^ @Spencer-99@, Spencer License 99+ | SPL_1_0 -- ^ @SPL-1.0@, Sun Public License v1.0+ | SugarCRM_1_1_3 -- ^ @SugarCRM-1.1.3@, SugarCRM Public License v1.1.3+ | SWL -- ^ @SWL@, Scheme Widget Library (SWL) Software License Agreement+ | TCL -- ^ @TCL@, TCL/TK License+ | TCP_wrappers -- ^ @TCP-wrappers@, TCP Wrappers License+ | TMate -- ^ @TMate@, TMate Open Source License+ | TORQUE_1_1 -- ^ @TORQUE-1.1@, TORQUE v2.5+ Software License v1.1+ | TOSL -- ^ @TOSL@, Trusster Open Source License+ | Unicode_DFS_2015 -- ^ @Unicode-DFS-2015@, Unicode License Agreement - Data Files and Software (2015)+ | Unicode_DFS_2016 -- ^ @Unicode-DFS-2016@, Unicode License Agreement - Data Files and Software (2016)+ | Unicode_TOU -- ^ @Unicode-TOU@, Unicode Terms of Use+ | Unlicense -- ^ @Unlicense@, The Unlicense+ | UPL_1_0 -- ^ @UPL-1.0@, Universal Permissive License v1.0+ | Vim -- ^ @Vim@, Vim License+ | VOSTROM -- ^ @VOSTROM@, VOSTROM Public License for Open Source+ | VSL_1_0 -- ^ @VSL-1.0@, Vovida Software License v1.0+ | W3C_19980720 -- ^ @W3C-19980720@, W3C Software Notice and License (1998-07-20)+ | W3C_20150513 -- ^ @W3C-20150513@, W3C Software Notice and Document License (2015-05-13)+ | W3C -- ^ @W3C@, W3C Software Notice and License (2002-12-31)+ | Watcom_1_0 -- ^ @Watcom-1.0@, Sybase Open Watcom Public License 1.0+ | Wsuipa -- ^ @Wsuipa@, Wsuipa License+ | WTFPL -- ^ @WTFPL@, Do What The F*ck You Want To Public License+ | X11 -- ^ @X11@, X11 License+ | Xerox -- ^ @Xerox@, Xerox License+ | XFree86_1_1 -- ^ @XFree86-1.1@, XFree86 License 1.1+ | Xinetd -- ^ @xinetd@, xinetd License+ | Xnet -- ^ @Xnet@, X.Net License+ | Xpp -- ^ @xpp@, XPP License+ | XSkat -- ^ @XSkat@, XSkat License+ | YPL_1_0 -- ^ @YPL-1.0@, Yahoo! Public License v1.0+ | YPL_1_1 -- ^ @YPL-1.1@, Yahoo! Public License v1.1+ | Zed -- ^ @Zed@, Zed License+ | Zend_2_0 -- ^ @Zend-2.0@, Zend License v2.0+ | Zimbra_1_3 -- ^ @Zimbra-1.3@, Zimbra Public License v1.3+ | Zimbra_1_4 -- ^ @Zimbra-1.4@, Zimbra Public License v1.4+ | Zlib_acknowledgement -- ^ @zlib-acknowledgement@, zlib/libpng License with Acknowledgement+ | Zlib -- ^ @Zlib@, zlib License+ | ZPL_1_1 -- ^ @ZPL-1.1@, Zope Public License 1.1+ | ZPL_2_0 -- ^ @ZPL-2.0@, Zope Public License 2.0+ | ZPL_2_1 -- ^ @ZPL-2.1@, Zope Public License 2.1+ deriving (Eq, Ord, Enum, Bounded, Show, Read, Typeable, Data, Generic)++instance Binary LicenseId++instance Pretty LicenseId where+ pretty = Disp.text . licenseId++-- |+-- >>> eitherParsec "BSD-3-Clause" :: Either String LicenseId+-- Right BSD_3_Clause+--+-- >>> eitherParsec "BSD3" :: Either String LicenseId+-- Left "...Unknown SPDX license identifier: 'BSD3' Do you mean BSD-3-Clause?"+--+instance Parsec LicenseId where+ parsec = do+ n <- some $ P.satisfy $ \c -> isAsciiAlphaNum c || c == '-' || c == '.'+ maybe (fail $ "Unknown SPDX license identifier: '" ++ n ++ "' " ++ licenseIdMigrationMessage n) return $ mkLicenseId n++instance NFData LicenseId where+ rnf l = l `seq` ()++-- | Help message for migrating from non-SDPX license identifiers.+--+-- Old 'License' is almost SDPX, except for 'BSD2', 'BSD3'. This function+-- suggests SPDX variant:+--+-- >>> licenseIdMigrationMessage "BSD3"+-- "Do you mean BSD-3-Clause?"+--+-- Also 'OtherLicense', 'AllRightsReserved', and 'PublicDomain' aren't+-- valid SPDX identifiers+--+-- >>> traverse_ (print . licenseIdMigrationMessage) [ "OtherLicense", "AllRightsReserved", "PublicDomain" ]+-- "SPDX license list contains plenty of licenses. See https://spdx.org/licenses/. Also they can be combined into complex expressions with AND and OR."+-- "You can use NONE as a value of license field."+-- "Public Domain is a complex matter. See https://wiki.spdx.org/view/Legal_Team/Decisions/Dealing_with_Public_Domain_within_SPDX_Files. Consider using a proper license."+--+-- SPDX License list version 3.0 introduced "-only" and "-or-later" variants for GNU family of licenses.+-- See <https://spdx.org/news/news/2018/01/license-list-30-released>+-- >>> licenseIdMigrationMessage "GPL-2.0"+-- "SDPX license list 3.0 deprecated suffixless variants of GNU family of licenses. Use GPL-2.0-only or GPL-2.0-or-later."+--+-- For other common licenses their old license format coincides with the SPDX identifiers:+--+-- >>> traverse eitherParsec ["GPL-2.0-only", "GPL-3.0-only", "LGPL-2.1-only", "MIT", "ISC", "MPL-2.0", "Apache-2.0"] :: Either String [LicenseId]+-- Right [GPL_2_0_only,GPL_3_0_only,LGPL_2_1_only,MIT,ISC,MPL_2_0,Apache_2_0]+--+licenseIdMigrationMessage :: String -> String+licenseIdMigrationMessage = go where+ go l | gnuVariant l = "SDPX license list 3.0 deprecated suffixless variants of GNU family of licenses. Use " ++ l ++ "-only or " ++ l ++ "-or-later."+ go "BSD3" = "Do you mean BSD-3-Clause?"+ go "BSD2" = "Do you mean BSD-2-Clause?"+ go "AllRightsReserved" = "You can use NONE as a value of license field."+ go "OtherLicense" = "SPDX license list contains plenty of licenses. See https://spdx.org/licenses/. Also they can be combined into complex expressions with AND and OR."+ go "PublicDomain" = "Public Domain is a complex matter. See https://wiki.spdx.org/view/Legal_Team/Decisions/Dealing_with_Public_Domain_within_SPDX_Files. Consider using a proper license."++ -- otherwise, we don't know+ go _ = ""++ gnuVariant = flip elem ["GPL-2.0", "GPL-3.0", "LGPL-2.1", "LGPL-3.0", "AGPL-3.0" ]++-------------------------------------------------------------------------------+-- License Data+-------------------------------------------------------------------------------++-- | License SPDX identifier, e.g. @"BSD-3-Clause"@.+licenseId :: LicenseId -> String+licenseId NullBSD = "0BSD"+licenseId AAL = "AAL"+licenseId Abstyles = "Abstyles"+licenseId Adobe_2006 = "Adobe-2006"+licenseId Adobe_Glyph = "Adobe-Glyph"+licenseId ADSL = "ADSL"+licenseId AFL_1_1 = "AFL-1.1"+licenseId AFL_1_2 = "AFL-1.2"+licenseId AFL_2_0 = "AFL-2.0"+licenseId AFL_2_1 = "AFL-2.1"+licenseId AFL_3_0 = "AFL-3.0"+licenseId Afmparse = "Afmparse"+licenseId AGPL_1_0 = "AGPL-1.0"+licenseId AGPL_3_0_only = "AGPL-3.0-only"+licenseId AGPL_3_0_or_later = "AGPL-3.0-or-later"+licenseId Aladdin = "Aladdin"+licenseId AMDPLPA = "AMDPLPA"+licenseId AML = "AML"+licenseId AMPAS = "AMPAS"+licenseId ANTLR_PD = "ANTLR-PD"+licenseId Apache_1_0 = "Apache-1.0"+licenseId Apache_1_1 = "Apache-1.1"+licenseId Apache_2_0 = "Apache-2.0"+licenseId APAFML = "APAFML"+licenseId APL_1_0 = "APL-1.0"+licenseId APSL_1_0 = "APSL-1.0"+licenseId APSL_1_1 = "APSL-1.1"+licenseId APSL_1_2 = "APSL-1.2"+licenseId APSL_2_0 = "APSL-2.0"+licenseId Artistic_1_0_cl8 = "Artistic-1.0-cl8"+licenseId Artistic_1_0_Perl = "Artistic-1.0-Perl"+licenseId Artistic_1_0 = "Artistic-1.0"+licenseId Artistic_2_0 = "Artistic-2.0"+licenseId Bahyph = "Bahyph"+licenseId Barr = "Barr"+licenseId Beerware = "Beerware"+licenseId BitTorrent_1_0 = "BitTorrent-1.0"+licenseId BitTorrent_1_1 = "BitTorrent-1.1"+licenseId Borceux = "Borceux"+licenseId BSD_1_Clause = "BSD-1-Clause"+licenseId BSD_2_Clause_FreeBSD = "BSD-2-Clause-FreeBSD"+licenseId BSD_2_Clause_NetBSD = "BSD-2-Clause-NetBSD"+licenseId BSD_2_Clause_Patent = "BSD-2-Clause-Patent"+licenseId BSD_2_Clause = "BSD-2-Clause"+licenseId BSD_3_Clause_Attribution = "BSD-3-Clause-Attribution"+licenseId BSD_3_Clause_Clear = "BSD-3-Clause-Clear"+licenseId BSD_3_Clause_LBNL = "BSD-3-Clause-LBNL"+licenseId BSD_3_Clause_No_Nuclear_License_2014 = "BSD-3-Clause-No-Nuclear-License-2014"+licenseId BSD_3_Clause_No_Nuclear_License = "BSD-3-Clause-No-Nuclear-License"+licenseId BSD_3_Clause_No_Nuclear_Warranty = "BSD-3-Clause-No-Nuclear-Warranty"+licenseId BSD_3_Clause = "BSD-3-Clause"+licenseId BSD_4_Clause_UC = "BSD-4-Clause-UC"+licenseId BSD_4_Clause = "BSD-4-Clause"+licenseId BSD_Protection = "BSD-Protection"+licenseId BSD_Source_Code = "BSD-Source-Code"+licenseId BSL_1_0 = "BSL-1.0"+licenseId Bzip2_1_0_5 = "bzip2-1.0.5"+licenseId Bzip2_1_0_6 = "bzip2-1.0.6"+licenseId Caldera = "Caldera"+licenseId CATOSL_1_1 = "CATOSL-1.1"+licenseId CC_BY_1_0 = "CC-BY-1.0"+licenseId CC_BY_2_0 = "CC-BY-2.0"+licenseId CC_BY_2_5 = "CC-BY-2.5"+licenseId CC_BY_3_0 = "CC-BY-3.0"+licenseId CC_BY_4_0 = "CC-BY-4.0"+licenseId CC_BY_NC_1_0 = "CC-BY-NC-1.0"+licenseId CC_BY_NC_2_0 = "CC-BY-NC-2.0"+licenseId CC_BY_NC_2_5 = "CC-BY-NC-2.5"+licenseId CC_BY_NC_3_0 = "CC-BY-NC-3.0"+licenseId CC_BY_NC_4_0 = "CC-BY-NC-4.0"+licenseId CC_BY_NC_ND_1_0 = "CC-BY-NC-ND-1.0"+licenseId CC_BY_NC_ND_2_0 = "CC-BY-NC-ND-2.0"+licenseId CC_BY_NC_ND_2_5 = "CC-BY-NC-ND-2.5"+licenseId CC_BY_NC_ND_3_0 = "CC-BY-NC-ND-3.0"+licenseId CC_BY_NC_ND_4_0 = "CC-BY-NC-ND-4.0"+licenseId CC_BY_NC_SA_1_0 = "CC-BY-NC-SA-1.0"+licenseId CC_BY_NC_SA_2_0 = "CC-BY-NC-SA-2.0"+licenseId CC_BY_NC_SA_2_5 = "CC-BY-NC-SA-2.5"+licenseId CC_BY_NC_SA_3_0 = "CC-BY-NC-SA-3.0"+licenseId CC_BY_NC_SA_4_0 = "CC-BY-NC-SA-4.0"+licenseId CC_BY_ND_1_0 = "CC-BY-ND-1.0"+licenseId CC_BY_ND_2_0 = "CC-BY-ND-2.0"+licenseId CC_BY_ND_2_5 = "CC-BY-ND-2.5"+licenseId CC_BY_ND_3_0 = "CC-BY-ND-3.0"+licenseId CC_BY_ND_4_0 = "CC-BY-ND-4.0"+licenseId CC_BY_SA_1_0 = "CC-BY-SA-1.0"+licenseId CC_BY_SA_2_0 = "CC-BY-SA-2.0"+licenseId CC_BY_SA_2_5 = "CC-BY-SA-2.5"+licenseId CC_BY_SA_3_0 = "CC-BY-SA-3.0"+licenseId CC_BY_SA_4_0 = "CC-BY-SA-4.0"+licenseId CC0_1_0 = "CC0-1.0"+licenseId CDDL_1_0 = "CDDL-1.0"+licenseId CDDL_1_1 = "CDDL-1.1"+licenseId CDLA_Permissive_1_0 = "CDLA-Permissive-1.0"+licenseId CDLA_Sharing_1_0 = "CDLA-Sharing-1.0"+licenseId CECILL_1_0 = "CECILL-1.0"+licenseId CECILL_1_1 = "CECILL-1.1"+licenseId CECILL_2_0 = "CECILL-2.0"+licenseId CECILL_2_1 = "CECILL-2.1"+licenseId CECILL_B = "CECILL-B"+licenseId CECILL_C = "CECILL-C"+licenseId ClArtistic = "ClArtistic"+licenseId CNRI_Jython = "CNRI-Jython"+licenseId CNRI_Python_GPL_Compatible = "CNRI-Python-GPL-Compatible"+licenseId CNRI_Python = "CNRI-Python"+licenseId Condor_1_1 = "Condor-1.1"+licenseId CPAL_1_0 = "CPAL-1.0"+licenseId CPL_1_0 = "CPL-1.0"+licenseId CPOL_1_02 = "CPOL-1.02"+licenseId Crossword = "Crossword"+licenseId CrystalStacker = "CrystalStacker"+licenseId CUA_OPL_1_0 = "CUA-OPL-1.0"+licenseId Cube = "Cube"+licenseId Curl = "curl"+licenseId D_FSL_1_0 = "D-FSL-1.0"+licenseId Diffmark = "diffmark"+licenseId DOC = "DOC"+licenseId Dotseqn = "Dotseqn"+licenseId DSDP = "DSDP"+licenseId Dvipdfm = "dvipdfm"+licenseId ECL_1_0 = "ECL-1.0"+licenseId ECL_2_0 = "ECL-2.0"+licenseId EFL_1_0 = "EFL-1.0"+licenseId EFL_2_0 = "EFL-2.0"+licenseId EGenix = "eGenix"+licenseId Entessa = "Entessa"+licenseId EPL_1_0 = "EPL-1.0"+licenseId EPL_2_0 = "EPL-2.0"+licenseId ErlPL_1_1 = "ErlPL-1.1"+licenseId EUDatagrid = "EUDatagrid"+licenseId EUPL_1_0 = "EUPL-1.0"+licenseId EUPL_1_1 = "EUPL-1.1"+licenseId EUPL_1_2 = "EUPL-1.2"+licenseId Eurosym = "Eurosym"+licenseId Fair = "Fair"+licenseId Frameworx_1_0 = "Frameworx-1.0"+licenseId FreeImage = "FreeImage"+licenseId FSFAP = "FSFAP"+licenseId FSFUL = "FSFUL"+licenseId FSFULLR = "FSFULLR"+licenseId FTL = "FTL"+licenseId GFDL_1_1_only = "GFDL-1.1-only"+licenseId GFDL_1_1_or_later = "GFDL-1.1-or-later"+licenseId GFDL_1_2_only = "GFDL-1.2-only"+licenseId GFDL_1_2_or_later = "GFDL-1.2-or-later"+licenseId GFDL_1_3_only = "GFDL-1.3-only"+licenseId GFDL_1_3_or_later = "GFDL-1.3-or-later"+licenseId Giftware = "Giftware"+licenseId GL2PS = "GL2PS"+licenseId Glide = "Glide"+licenseId Glulxe = "Glulxe"+licenseId Gnuplot = "gnuplot"+licenseId GPL_1_0_only = "GPL-1.0-only"+licenseId GPL_1_0_or_later = "GPL-1.0-or-later"+licenseId GPL_2_0_only = "GPL-2.0-only"+licenseId GPL_2_0_or_later = "GPL-2.0-or-later"+licenseId GPL_3_0_only = "GPL-3.0-only"+licenseId GPL_3_0_or_later = "GPL-3.0-or-later"+licenseId GSOAP_1_3b = "gSOAP-1.3b"+licenseId HaskellReport = "HaskellReport"+licenseId HPND = "HPND"+licenseId IBM_pibs = "IBM-pibs"+licenseId ICU = "ICU"+licenseId IJG = "IJG"+licenseId ImageMagick = "ImageMagick"+licenseId IMatix = "iMatix"+licenseId Imlib2 = "Imlib2"+licenseId Info_ZIP = "Info-ZIP"+licenseId Intel_ACPI = "Intel-ACPI"+licenseId Intel = "Intel"+licenseId Interbase_1_0 = "Interbase-1.0"+licenseId IPA = "IPA"+licenseId IPL_1_0 = "IPL-1.0"+licenseId ISC = "ISC"+licenseId JasPer_2_0 = "JasPer-2.0"+licenseId JSON = "JSON"+licenseId LAL_1_2 = "LAL-1.2"+licenseId LAL_1_3 = "LAL-1.3"+licenseId Latex2e = "Latex2e"+licenseId Leptonica = "Leptonica"+licenseId LGPL_2_0_only = "LGPL-2.0-only"+licenseId LGPL_2_0_or_later = "LGPL-2.0-or-later"+licenseId LGPL_2_1_only = "LGPL-2.1-only"+licenseId LGPL_2_1_or_later = "LGPL-2.1-or-later"+licenseId LGPL_3_0_only = "LGPL-3.0-only"+licenseId LGPL_3_0_or_later = "LGPL-3.0-or-later"+licenseId LGPLLR = "LGPLLR"+licenseId Libpng = "Libpng"+licenseId Libtiff = "libtiff"+licenseId LiLiQ_P_1_1 = "LiLiQ-P-1.1"+licenseId LiLiQ_R_1_1 = "LiLiQ-R-1.1"+licenseId LiLiQ_Rplus_1_1 = "LiLiQ-Rplus-1.1"+licenseId LPL_1_0 = "LPL-1.0"+licenseId LPL_1_02 = "LPL-1.02"+licenseId LPPL_1_0 = "LPPL-1.0"+licenseId LPPL_1_1 = "LPPL-1.1"+licenseId LPPL_1_2 = "LPPL-1.2"+licenseId LPPL_1_3a = "LPPL-1.3a"+licenseId LPPL_1_3c = "LPPL-1.3c"+licenseId MakeIndex = "MakeIndex"+licenseId MirOS = "MirOS"+licenseId MIT_advertising = "MIT-advertising"+licenseId MIT_CMU = "MIT-CMU"+licenseId MIT_enna = "MIT-enna"+licenseId MIT_feh = "MIT-feh"+licenseId MIT = "MIT"+licenseId MITNFA = "MITNFA"+licenseId Motosoto = "Motosoto"+licenseId Mpich2 = "mpich2"+licenseId MPL_1_0 = "MPL-1.0"+licenseId MPL_1_1 = "MPL-1.1"+licenseId MPL_2_0_no_copyleft_exception = "MPL-2.0-no-copyleft-exception"+licenseId MPL_2_0 = "MPL-2.0"+licenseId MS_PL = "MS-PL"+licenseId MS_RL = "MS-RL"+licenseId MTLL = "MTLL"+licenseId Multics = "Multics"+licenseId Mup = "Mup"+licenseId NASA_1_3 = "NASA-1.3"+licenseId Naumen = "Naumen"+licenseId NBPL_1_0 = "NBPL-1.0"+licenseId NCSA = "NCSA"+licenseId Net_SNMP = "Net-SNMP"+licenseId NetCDF = "NetCDF"+licenseId Newsletr = "Newsletr"+licenseId NGPL = "NGPL"+licenseId NLOD_1_0 = "NLOD-1.0"+licenseId NLPL = "NLPL"+licenseId Nokia = "Nokia"+licenseId NOSL = "NOSL"+licenseId Noweb = "Noweb"+licenseId NPL_1_0 = "NPL-1.0"+licenseId NPL_1_1 = "NPL-1.1"+licenseId NPOSL_3_0 = "NPOSL-3.0"+licenseId NRL = "NRL"+licenseId NTP = "NTP"+licenseId OCCT_PL = "OCCT-PL"+licenseId OCLC_2_0 = "OCLC-2.0"+licenseId ODbL_1_0 = "ODbL-1.0"+licenseId OFL_1_0 = "OFL-1.0"+licenseId OFL_1_1 = "OFL-1.1"+licenseId OGTSL = "OGTSL"+licenseId OLDAP_1_1 = "OLDAP-1.1"+licenseId OLDAP_1_2 = "OLDAP-1.2"+licenseId OLDAP_1_3 = "OLDAP-1.3"+licenseId OLDAP_1_4 = "OLDAP-1.4"+licenseId OLDAP_2_0_1 = "OLDAP-2.0.1"+licenseId OLDAP_2_0 = "OLDAP-2.0"+licenseId OLDAP_2_1 = "OLDAP-2.1"+licenseId OLDAP_2_2_1 = "OLDAP-2.2.1"+licenseId OLDAP_2_2_2 = "OLDAP-2.2.2"+licenseId OLDAP_2_2 = "OLDAP-2.2"+licenseId OLDAP_2_3 = "OLDAP-2.3"+licenseId OLDAP_2_4 = "OLDAP-2.4"+licenseId OLDAP_2_5 = "OLDAP-2.5"+licenseId OLDAP_2_6 = "OLDAP-2.6"+licenseId OLDAP_2_7 = "OLDAP-2.7"+licenseId OLDAP_2_8 = "OLDAP-2.8"+licenseId OML = "OML"+licenseId OpenSSL = "OpenSSL"+licenseId OPL_1_0 = "OPL-1.0"+licenseId OSET_PL_2_1 = "OSET-PL-2.1"+licenseId OSL_1_0 = "OSL-1.0"+licenseId OSL_1_1 = "OSL-1.1"+licenseId OSL_2_0 = "OSL-2.0"+licenseId OSL_2_1 = "OSL-2.1"+licenseId OSL_3_0 = "OSL-3.0"+licenseId PDDL_1_0 = "PDDL-1.0"+licenseId PHP_3_0 = "PHP-3.0"+licenseId PHP_3_01 = "PHP-3.01"+licenseId Plexus = "Plexus"+licenseId PostgreSQL = "PostgreSQL"+licenseId Psfrag = "psfrag"+licenseId Psutils = "psutils"+licenseId Python_2_0 = "Python-2.0"+licenseId Qhull = "Qhull"+licenseId QPL_1_0 = "QPL-1.0"+licenseId Rdisc = "Rdisc"+licenseId RHeCos_1_1 = "RHeCos-1.1"+licenseId RPL_1_1 = "RPL-1.1"+licenseId RPL_1_5 = "RPL-1.5"+licenseId RPSL_1_0 = "RPSL-1.0"+licenseId RSA_MD = "RSA-MD"+licenseId RSCPL = "RSCPL"+licenseId Ruby = "Ruby"+licenseId SAX_PD = "SAX-PD"+licenseId Saxpath = "Saxpath"+licenseId SCEA = "SCEA"+licenseId Sendmail = "Sendmail"+licenseId SGI_B_1_0 = "SGI-B-1.0"+licenseId SGI_B_1_1 = "SGI-B-1.1"+licenseId SGI_B_2_0 = "SGI-B-2.0"+licenseId SimPL_2_0 = "SimPL-2.0"+licenseId SISSL_1_2 = "SISSL-1.2"+licenseId SISSL = "SISSL"+licenseId Sleepycat = "Sleepycat"+licenseId SMLNJ = "SMLNJ"+licenseId SMPPL = "SMPPL"+licenseId SNIA = "SNIA"+licenseId Spencer_86 = "Spencer-86"+licenseId Spencer_94 = "Spencer-94"+licenseId Spencer_99 = "Spencer-99"+licenseId SPL_1_0 = "SPL-1.0"+licenseId SugarCRM_1_1_3 = "SugarCRM-1.1.3"+licenseId SWL = "SWL"+licenseId TCL = "TCL"+licenseId TCP_wrappers = "TCP-wrappers"+licenseId TMate = "TMate"+licenseId TORQUE_1_1 = "TORQUE-1.1"+licenseId TOSL = "TOSL"+licenseId Unicode_DFS_2015 = "Unicode-DFS-2015"+licenseId Unicode_DFS_2016 = "Unicode-DFS-2016"+licenseId Unicode_TOU = "Unicode-TOU"+licenseId Unlicense = "Unlicense"+licenseId UPL_1_0 = "UPL-1.0"+licenseId Vim = "Vim"+licenseId VOSTROM = "VOSTROM"+licenseId VSL_1_0 = "VSL-1.0"+licenseId W3C_19980720 = "W3C-19980720"+licenseId W3C_20150513 = "W3C-20150513"+licenseId W3C = "W3C"+licenseId Watcom_1_0 = "Watcom-1.0"+licenseId Wsuipa = "Wsuipa"+licenseId WTFPL = "WTFPL"+licenseId X11 = "X11"+licenseId Xerox = "Xerox"+licenseId XFree86_1_1 = "XFree86-1.1"+licenseId Xinetd = "xinetd"+licenseId Xnet = "Xnet"+licenseId Xpp = "xpp"+licenseId XSkat = "XSkat"+licenseId YPL_1_0 = "YPL-1.0"+licenseId YPL_1_1 = "YPL-1.1"+licenseId Zed = "Zed"+licenseId Zend_2_0 = "Zend-2.0"+licenseId Zimbra_1_3 = "Zimbra-1.3"+licenseId Zimbra_1_4 = "Zimbra-1.4"+licenseId Zlib_acknowledgement = "zlib-acknowledgement"+licenseId Zlib = "Zlib"+licenseId ZPL_1_1 = "ZPL-1.1"+licenseId ZPL_2_0 = "ZPL-2.0"+licenseId ZPL_2_1 = "ZPL-2.1"++-- | License name, e.g. @"GNU General Public License v2.0 only"@+licenseName :: LicenseId -> String+licenseName NullBSD = "BSD Zero Clause License"+licenseName AAL = "Attribution Assurance License"+licenseName Abstyles = "Abstyles License"+licenseName Adobe_2006 = "Adobe Systems Incorporated Source Code License Agreement"+licenseName Adobe_Glyph = "Adobe Glyph List License"+licenseName ADSL = "Amazon Digital Services License"+licenseName AFL_1_1 = "Academic Free License v1.1"+licenseName AFL_1_2 = "Academic Free License v1.2"+licenseName AFL_2_0 = "Academic Free License v2.0"+licenseName AFL_2_1 = "Academic Free License v2.1"+licenseName AFL_3_0 = "Academic Free License v3.0"+licenseName Afmparse = "Afmparse License"+licenseName AGPL_1_0 = "Affero General Public License v1.0"+licenseName AGPL_3_0_only = "GNU Affero General Public License v3.0 only"+licenseName AGPL_3_0_or_later = "GNU Affero General Public License v3.0 or later"+licenseName Aladdin = "Aladdin Free Public License"+licenseName AMDPLPA = "AMD's plpa_map.c License"+licenseName AML = "Apple MIT License"+licenseName AMPAS = "Academy of Motion Picture Arts and Sciences BSD"+licenseName ANTLR_PD = "ANTLR Software Rights Notice"+licenseName Apache_1_0 = "Apache License 1.0"+licenseName Apache_1_1 = "Apache License 1.1"+licenseName Apache_2_0 = "Apache License 2.0"+licenseName APAFML = "Adobe Postscript AFM License"+licenseName APL_1_0 = "Adaptive Public License 1.0"+licenseName APSL_1_0 = "Apple Public Source License 1.0"+licenseName APSL_1_1 = "Apple Public Source License 1.1"+licenseName APSL_1_2 = "Apple Public Source License 1.2"+licenseName APSL_2_0 = "Apple Public Source License 2.0"+licenseName Artistic_1_0_cl8 = "Artistic License 1.0 w/clause 8"+licenseName Artistic_1_0_Perl = "Artistic License 1.0 (Perl)"+licenseName Artistic_1_0 = "Artistic License 1.0"+licenseName Artistic_2_0 = "Artistic License 2.0"+licenseName Bahyph = "Bahyph License"+licenseName Barr = "Barr License"+licenseName Beerware = "Beerware License"+licenseName BitTorrent_1_0 = "BitTorrent Open Source License v1.0"+licenseName BitTorrent_1_1 = "BitTorrent Open Source License v1.1"+licenseName Borceux = "Borceux license"+licenseName BSD_1_Clause = "BSD 1-Clause License"+licenseName BSD_2_Clause_FreeBSD = "BSD 2-Clause FreeBSD License"+licenseName BSD_2_Clause_NetBSD = "BSD 2-Clause NetBSD License"+licenseName BSD_2_Clause_Patent = "BSD-2-Clause Plus Patent License"+licenseName BSD_2_Clause = "BSD 2-Clause \"Simplified\" License"+licenseName BSD_3_Clause_Attribution = "BSD with attribution"+licenseName BSD_3_Clause_Clear = "BSD 3-Clause Clear License"+licenseName BSD_3_Clause_LBNL = "Lawrence Berkeley National Labs BSD variant license"+licenseName BSD_3_Clause_No_Nuclear_License_2014 = "BSD 3-Clause No Nuclear License 2014"+licenseName BSD_3_Clause_No_Nuclear_License = "BSD 3-Clause No Nuclear License"+licenseName BSD_3_Clause_No_Nuclear_Warranty = "BSD 3-Clause No Nuclear Warranty"+licenseName BSD_3_Clause = "BSD 3-Clause \"New\" or \"Revised\" License"+licenseName BSD_4_Clause_UC = "BSD-4-Clause (University of California-Specific)"+licenseName BSD_4_Clause = "BSD 4-Clause \"Original\" or \"Old\" License"+licenseName BSD_Protection = "BSD Protection License"+licenseName BSD_Source_Code = "BSD Source Code Attribution"+licenseName BSL_1_0 = "Boost Software License 1.0"+licenseName Bzip2_1_0_5 = "bzip2 and libbzip2 License v1.0.5"+licenseName Bzip2_1_0_6 = "bzip2 and libbzip2 License v1.0.6"+licenseName Caldera = "Caldera License"+licenseName CATOSL_1_1 = "Computer Associates Trusted Open Source License 1.1"+licenseName CC_BY_1_0 = "Creative Commons Attribution 1.0"+licenseName CC_BY_2_0 = "Creative Commons Attribution 2.0"+licenseName CC_BY_2_5 = "Creative Commons Attribution 2.5"+licenseName CC_BY_3_0 = "Creative Commons Attribution 3.0"+licenseName CC_BY_4_0 = "Creative Commons Attribution 4.0"+licenseName CC_BY_NC_1_0 = "Creative Commons Attribution Non Commercial 1.0"+licenseName CC_BY_NC_2_0 = "Creative Commons Attribution Non Commercial 2.0"+licenseName CC_BY_NC_2_5 = "Creative Commons Attribution Non Commercial 2.5"+licenseName CC_BY_NC_3_0 = "Creative Commons Attribution Non Commercial 3.0"+licenseName CC_BY_NC_4_0 = "Creative Commons Attribution Non Commercial 4.0"+licenseName CC_BY_NC_ND_1_0 = "Creative Commons Attribution Non Commercial No Derivatives 1.0"+licenseName CC_BY_NC_ND_2_0 = "Creative Commons Attribution Non Commercial No Derivatives 2.0"+licenseName CC_BY_NC_ND_2_5 = "Creative Commons Attribution Non Commercial No Derivatives 2.5"+licenseName CC_BY_NC_ND_3_0 = "Creative Commons Attribution Non Commercial No Derivatives 3.0"+licenseName CC_BY_NC_ND_4_0 = "Creative Commons Attribution Non Commercial No Derivatives 4.0"+licenseName CC_BY_NC_SA_1_0 = "Creative Commons Attribution Non Commercial Share Alike 1.0"+licenseName CC_BY_NC_SA_2_0 = "Creative Commons Attribution Non Commercial Share Alike 2.0"+licenseName CC_BY_NC_SA_2_5 = "Creative Commons Attribution Non Commercial Share Alike 2.5"+licenseName CC_BY_NC_SA_3_0 = "Creative Commons Attribution Non Commercial Share Alike 3.0"+licenseName CC_BY_NC_SA_4_0 = "Creative Commons Attribution Non Commercial Share Alike 4.0"+licenseName CC_BY_ND_1_0 = "Creative Commons Attribution No Derivatives 1.0"+licenseName CC_BY_ND_2_0 = "Creative Commons Attribution No Derivatives 2.0"+licenseName CC_BY_ND_2_5 = "Creative Commons Attribution No Derivatives 2.5"+licenseName CC_BY_ND_3_0 = "Creative Commons Attribution No Derivatives 3.0"+licenseName CC_BY_ND_4_0 = "Creative Commons Attribution No Derivatives 4.0"+licenseName CC_BY_SA_1_0 = "Creative Commons Attribution Share Alike 1.0"+licenseName CC_BY_SA_2_0 = "Creative Commons Attribution Share Alike 2.0"+licenseName CC_BY_SA_2_5 = "Creative Commons Attribution Share Alike 2.5"+licenseName CC_BY_SA_3_0 = "Creative Commons Attribution Share Alike 3.0"+licenseName CC_BY_SA_4_0 = "Creative Commons Attribution Share Alike 4.0"+licenseName CC0_1_0 = "Creative Commons Zero v1.0 Universal"+licenseName CDDL_1_0 = "Common Development and Distribution License 1.0"+licenseName CDDL_1_1 = "Common Development and Distribution License 1.1"+licenseName CDLA_Permissive_1_0 = "Community Data License Agreement Permissive 1.0"+licenseName CDLA_Sharing_1_0 = "Community Data License Agreement Sharing 1.0"+licenseName CECILL_1_0 = "CeCILL Free Software License Agreement v1.0"+licenseName CECILL_1_1 = "CeCILL Free Software License Agreement v1.1"+licenseName CECILL_2_0 = "CeCILL Free Software License Agreement v2.0"+licenseName CECILL_2_1 = "CeCILL Free Software License Agreement v2.1"+licenseName CECILL_B = "CeCILL-B Free Software License Agreement"+licenseName CECILL_C = "CeCILL-C Free Software License Agreement"+licenseName ClArtistic = "Clarified Artistic License"+licenseName CNRI_Jython = "CNRI Jython License"+licenseName CNRI_Python_GPL_Compatible = "CNRI Python Open Source GPL Compatible License Agreement"+licenseName CNRI_Python = "CNRI Python License"+licenseName Condor_1_1 = "Condor Public License v1.1"+licenseName CPAL_1_0 = "Common Public Attribution License 1.0"+licenseName CPL_1_0 = "Common Public License 1.0"+licenseName CPOL_1_02 = "Code Project Open License 1.02"+licenseName Crossword = "Crossword License"+licenseName CrystalStacker = "CrystalStacker License"+licenseName CUA_OPL_1_0 = "CUA Office Public License v1.0"+licenseName Cube = "Cube License"+licenseName Curl = "curl License"+licenseName D_FSL_1_0 = "Deutsche Freie Software Lizenz"+licenseName Diffmark = "diffmark license"+licenseName DOC = "DOC License"+licenseName Dotseqn = "Dotseqn License"+licenseName DSDP = "DSDP License"+licenseName Dvipdfm = "dvipdfm License"+licenseName ECL_1_0 = "Educational Community License v1.0"+licenseName ECL_2_0 = "Educational Community License v2.0"+licenseName EFL_1_0 = "Eiffel Forum License v1.0"+licenseName EFL_2_0 = "Eiffel Forum License v2.0"+licenseName EGenix = "eGenix.com Public License 1.1.0"+licenseName Entessa = "Entessa Public License v1.0"+licenseName EPL_1_0 = "Eclipse Public License 1.0"+licenseName EPL_2_0 = "Eclipse Public License 2.0"+licenseName ErlPL_1_1 = "Erlang Public License v1.1"+licenseName EUDatagrid = "EU DataGrid Software License"+licenseName EUPL_1_0 = "European Union Public License 1.0"+licenseName EUPL_1_1 = "European Union Public License 1.1"+licenseName EUPL_1_2 = "European Union Public License 1.2"+licenseName Eurosym = "Eurosym License"+licenseName Fair = "Fair License"+licenseName Frameworx_1_0 = "Frameworx Open License 1.0"+licenseName FreeImage = "FreeImage Public License v1.0"+licenseName FSFAP = "FSF All Permissive License"+licenseName FSFUL = "FSF Unlimited License"+licenseName FSFULLR = "FSF Unlimited License (with License Retention)"+licenseName FTL = "Freetype Project License"+licenseName GFDL_1_1_only = "GNU Free Documentation License v1.1 only"+licenseName GFDL_1_1_or_later = "GNU Free Documentation License v1.1 or later"+licenseName GFDL_1_2_only = "GNU Free Documentation License v1.2 only"+licenseName GFDL_1_2_or_later = "GNU Free Documentation License v1.2 or later"+licenseName GFDL_1_3_only = "GNU Free Documentation License v1.3 only"+licenseName GFDL_1_3_or_later = "GNU Free Documentation License v1.3 or later"+licenseName Giftware = "Giftware License"+licenseName GL2PS = "GL2PS License"+licenseName Glide = "3dfx Glide License"+licenseName Glulxe = "Glulxe License"+licenseName Gnuplot = "gnuplot License"+licenseName GPL_1_0_only = "GNU General Public License v1.0 only"+licenseName GPL_1_0_or_later = "GNU General Public License v1.0 or later"+licenseName GPL_2_0_only = "GNU General Public License v2.0 only"+licenseName GPL_2_0_or_later = "GNU General Public License v2.0 or later"+licenseName GPL_3_0_only = "GNU General Public License v3.0 only"+licenseName GPL_3_0_or_later = "GNU General Public License v3.0 or later"+licenseName GSOAP_1_3b = "gSOAP Public License v1.3b"+licenseName HaskellReport = "Haskell Language Report License"+licenseName HPND = "Historical Permission Notice and Disclaimer"+licenseName IBM_pibs = "IBM PowerPC Initialization and Boot Software"+licenseName ICU = "ICU License"+licenseName IJG = "Independent JPEG Group License"+licenseName ImageMagick = "ImageMagick License"+licenseName IMatix = "iMatix Standard Function Library Agreement"+licenseName Imlib2 = "Imlib2 License"+licenseName Info_ZIP = "Info-ZIP License"+licenseName Intel_ACPI = "Intel ACPI Software License Agreement"+licenseName Intel = "Intel Open Source License"+licenseName Interbase_1_0 = "Interbase Public License v1.0"+licenseName IPA = "IPA Font License"+licenseName IPL_1_0 = "IBM Public License v1.0"+licenseName ISC = "ISC License"+licenseName JasPer_2_0 = "JasPer License"+licenseName JSON = "JSON License"+licenseName LAL_1_2 = "Licence Art Libre 1.2"+licenseName LAL_1_3 = "Licence Art Libre 1.3"+licenseName Latex2e = "Latex2e License"+licenseName Leptonica = "Leptonica License"+licenseName LGPL_2_0_only = "GNU Library General Public License v2 only"+licenseName LGPL_2_0_or_later = "GNU Library General Public License v2 or later"+licenseName LGPL_2_1_only = "GNU Lesser General Public License v2.1 only"+licenseName LGPL_2_1_or_later = "GNU Lesser General Public License v2.1 or later"+licenseName LGPL_3_0_only = "GNU Lesser General Public License v3.0 only"+licenseName LGPL_3_0_or_later = "GNU Lesser General Public License v3.0 or later"+licenseName LGPLLR = "Lesser General Public License For Linguistic Resources"+licenseName Libpng = "libpng License"+licenseName Libtiff = "libtiff License"+licenseName LiLiQ_P_1_1 = "Licence Libre du Qu\233bec \8211 Permissive version 1.1"+licenseName LiLiQ_R_1_1 = "Licence Libre du Qu\233bec \8211 R\233ciprocit\233 version 1.1"+licenseName LiLiQ_Rplus_1_1 = "Licence Libre du Qu\233bec \8211 R\233ciprocit\233 forte version 1.1"+licenseName LPL_1_0 = "Lucent Public License Version 1.0"+licenseName LPL_1_02 = "Lucent Public License v1.02"+licenseName LPPL_1_0 = "LaTeX Project Public License v1.0"+licenseName LPPL_1_1 = "LaTeX Project Public License v1.1"+licenseName LPPL_1_2 = "LaTeX Project Public License v1.2"+licenseName LPPL_1_3a = "LaTeX Project Public License v1.3a"+licenseName LPPL_1_3c = "LaTeX Project Public License v1.3c"+licenseName MakeIndex = "MakeIndex License"+licenseName MirOS = "MirOS License"+licenseName MIT_advertising = "Enlightenment License (e16)"+licenseName MIT_CMU = "CMU License"+licenseName MIT_enna = "enna License"+licenseName MIT_feh = "feh License"+licenseName MIT = "MIT License"+licenseName MITNFA = "MIT +no-false-attribs license"+licenseName Motosoto = "Motosoto License"+licenseName Mpich2 = "mpich2 License"+licenseName MPL_1_0 = "Mozilla Public License 1.0"+licenseName MPL_1_1 = "Mozilla Public License 1.1"+licenseName MPL_2_0_no_copyleft_exception = "Mozilla Public License 2.0 (no copyleft exception)"+licenseName MPL_2_0 = "Mozilla Public License 2.0"+licenseName MS_PL = "Microsoft Public License"+licenseName MS_RL = "Microsoft Reciprocal License"+licenseName MTLL = "Matrix Template Library License"+licenseName Multics = "Multics License"+licenseName Mup = "Mup License"+licenseName NASA_1_3 = "NASA Open Source Agreement 1.3"+licenseName Naumen = "Naumen Public License"+licenseName NBPL_1_0 = "Net Boolean Public License v1"+licenseName NCSA = "University of Illinois/NCSA Open Source License"+licenseName Net_SNMP = "Net-SNMP License"+licenseName NetCDF = "NetCDF license"+licenseName Newsletr = "Newsletr License"+licenseName NGPL = "Nethack General Public License"+licenseName NLOD_1_0 = "Norwegian Licence for Open Government Data"+licenseName NLPL = "No Limit Public License"+licenseName Nokia = "Nokia Open Source License"+licenseName NOSL = "Netizen Open Source License"+licenseName Noweb = "Noweb License"+licenseName NPL_1_0 = "Netscape Public License v1.0"+licenseName NPL_1_1 = "Netscape Public License v1.1"+licenseName NPOSL_3_0 = "Non-Profit Open Software License 3.0"+licenseName NRL = "NRL License"+licenseName NTP = "NTP License"+licenseName OCCT_PL = "Open CASCADE Technology Public License"+licenseName OCLC_2_0 = "OCLC Research Public License 2.0"+licenseName ODbL_1_0 = "ODC Open Database License v1.0"+licenseName OFL_1_0 = "SIL Open Font License 1.0"+licenseName OFL_1_1 = "SIL Open Font License 1.1"+licenseName OGTSL = "Open Group Test Suite License"+licenseName OLDAP_1_1 = "Open LDAP Public License v1.1"+licenseName OLDAP_1_2 = "Open LDAP Public License v1.2"+licenseName OLDAP_1_3 = "Open LDAP Public License v1.3"+licenseName OLDAP_1_4 = "Open LDAP Public License v1.4"+licenseName OLDAP_2_0_1 = "Open LDAP Public License v2.0.1"+licenseName OLDAP_2_0 = "Open LDAP Public License v2.0 (or possibly 2.0A and 2.0B)"+licenseName OLDAP_2_1 = "Open LDAP Public License v2.1"+licenseName OLDAP_2_2_1 = "Open LDAP Public License v2.2.1"+licenseName OLDAP_2_2_2 = "Open LDAP Public License 2.2.2"+licenseName OLDAP_2_2 = "Open LDAP Public License v2.2"+licenseName OLDAP_2_3 = "Open LDAP Public License v2.3"+licenseName OLDAP_2_4 = "Open LDAP Public License v2.4"+licenseName OLDAP_2_5 = "Open LDAP Public License v2.5"+licenseName OLDAP_2_6 = "Open LDAP Public License v2.6"+licenseName OLDAP_2_7 = "Open LDAP Public License v2.7"+licenseName OLDAP_2_8 = "Open LDAP Public License v2.8"+licenseName OML = "Open Market License"+licenseName OpenSSL = "OpenSSL License"+licenseName OPL_1_0 = "Open Public License v1.0"+licenseName OSET_PL_2_1 = "OSET Public License version 2.1"+licenseName OSL_1_0 = "Open Software License 1.0"+licenseName OSL_1_1 = "Open Software License 1.1"+licenseName OSL_2_0 = "Open Software License 2.0"+licenseName OSL_2_1 = "Open Software License 2.1"+licenseName OSL_3_0 = "Open Software License 3.0"+licenseName PDDL_1_0 = "ODC Public Domain Dedication & License 1.0"+licenseName PHP_3_0 = "PHP License v3.0"+licenseName PHP_3_01 = "PHP License v3.01"+licenseName Plexus = "Plexus Classworlds License"+licenseName PostgreSQL = "PostgreSQL License"+licenseName Psfrag = "psfrag License"+licenseName Psutils = "psutils License"+licenseName Python_2_0 = "Python License 2.0"+licenseName Qhull = "Qhull License"+licenseName QPL_1_0 = "Q Public License 1.0"+licenseName Rdisc = "Rdisc License"+licenseName RHeCos_1_1 = "Red Hat eCos Public License v1.1"+licenseName RPL_1_1 = "Reciprocal Public License 1.1"+licenseName RPL_1_5 = "Reciprocal Public License 1.5"+licenseName RPSL_1_0 = "RealNetworks Public Source License v1.0"+licenseName RSA_MD = "RSA Message-Digest License "+licenseName RSCPL = "Ricoh Source Code Public License"+licenseName Ruby = "Ruby License"+licenseName SAX_PD = "Sax Public Domain Notice"+licenseName Saxpath = "Saxpath License"+licenseName SCEA = "SCEA Shared Source License"+licenseName Sendmail = "Sendmail License"+licenseName SGI_B_1_0 = "SGI Free Software License B v1.0"+licenseName SGI_B_1_1 = "SGI Free Software License B v1.1"+licenseName SGI_B_2_0 = "SGI Free Software License B v2.0"+licenseName SimPL_2_0 = "Simple Public License 2.0"+licenseName SISSL_1_2 = "Sun Industry Standards Source License v1.2"+licenseName SISSL = "Sun Industry Standards Source License v1.1"+licenseName Sleepycat = "Sleepycat License"+licenseName SMLNJ = "Standard ML of New Jersey License"+licenseName SMPPL = "Secure Messaging Protocol Public License"+licenseName SNIA = "SNIA Public License 1.1"+licenseName Spencer_86 = "Spencer License 86"+licenseName Spencer_94 = "Spencer License 94"+licenseName Spencer_99 = "Spencer License 99"+licenseName SPL_1_0 = "Sun Public License v1.0"+licenseName SugarCRM_1_1_3 = "SugarCRM Public License v1.1.3"+licenseName SWL = "Scheme Widget Library (SWL) Software License Agreement"+licenseName TCL = "TCL/TK License"+licenseName TCP_wrappers = "TCP Wrappers License"+licenseName TMate = "TMate Open Source License"+licenseName TORQUE_1_1 = "TORQUE v2.5+ Software License v1.1"+licenseName TOSL = "Trusster Open Source License"+licenseName Unicode_DFS_2015 = "Unicode License Agreement - Data Files and Software (2015)"+licenseName Unicode_DFS_2016 = "Unicode License Agreement - Data Files and Software (2016)"+licenseName Unicode_TOU = "Unicode Terms of Use"+licenseName Unlicense = "The Unlicense"+licenseName UPL_1_0 = "Universal Permissive License v1.0"+licenseName Vim = "Vim License"+licenseName VOSTROM = "VOSTROM Public License for Open Source"+licenseName VSL_1_0 = "Vovida Software License v1.0"+licenseName W3C_19980720 = "W3C Software Notice and License (1998-07-20)"+licenseName W3C_20150513 = "W3C Software Notice and Document License (2015-05-13)"+licenseName W3C = "W3C Software Notice and License (2002-12-31)"+licenseName Watcom_1_0 = "Sybase Open Watcom Public License 1.0"+licenseName Wsuipa = "Wsuipa License"+licenseName WTFPL = "Do What The F*ck You Want To Public License"+licenseName X11 = "X11 License"+licenseName Xerox = "Xerox License"+licenseName XFree86_1_1 = "XFree86 License 1.1"+licenseName Xinetd = "xinetd License"+licenseName Xnet = "X.Net License"+licenseName Xpp = "XPP License"+licenseName XSkat = "XSkat License"+licenseName YPL_1_0 = "Yahoo! Public License v1.0"+licenseName YPL_1_1 = "Yahoo! Public License v1.1"+licenseName Zed = "Zed License"+licenseName Zend_2_0 = "Zend License v2.0"+licenseName Zimbra_1_3 = "Zimbra Public License v1.3"+licenseName Zimbra_1_4 = "Zimbra Public License v1.4"+licenseName Zlib_acknowledgement = "zlib/libpng License with Acknowledgement"+licenseName Zlib = "zlib License"+licenseName ZPL_1_1 = "Zope Public License 1.1"+licenseName ZPL_2_0 = "Zope Public License 2.0"+licenseName ZPL_2_1 = "Zope Public License 2.1"++-- | Whether the license is approved by Open Source Initiative (OSI).+--+-- See <https://opensource.org/licenses/alphabetical>.+licenseIsOsiApproved :: LicenseId -> Bool+licenseIsOsiApproved NullBSD = False+licenseIsOsiApproved AAL = True+licenseIsOsiApproved Abstyles = False+licenseIsOsiApproved Adobe_2006 = False+licenseIsOsiApproved Adobe_Glyph = False+licenseIsOsiApproved ADSL = False+licenseIsOsiApproved AFL_1_1 = True+licenseIsOsiApproved AFL_1_2 = True+licenseIsOsiApproved AFL_2_0 = True+licenseIsOsiApproved AFL_2_1 = True+licenseIsOsiApproved AFL_3_0 = True+licenseIsOsiApproved Afmparse = False+licenseIsOsiApproved AGPL_1_0 = False+licenseIsOsiApproved AGPL_3_0_only = True+licenseIsOsiApproved AGPL_3_0_or_later = True+licenseIsOsiApproved Aladdin = False+licenseIsOsiApproved AMDPLPA = False+licenseIsOsiApproved AML = False+licenseIsOsiApproved AMPAS = False+licenseIsOsiApproved ANTLR_PD = False+licenseIsOsiApproved Apache_1_0 = False+licenseIsOsiApproved Apache_1_1 = True+licenseIsOsiApproved Apache_2_0 = True+licenseIsOsiApproved APAFML = False+licenseIsOsiApproved APL_1_0 = True+licenseIsOsiApproved APSL_1_0 = True+licenseIsOsiApproved APSL_1_1 = True+licenseIsOsiApproved APSL_1_2 = True+licenseIsOsiApproved APSL_2_0 = True+licenseIsOsiApproved Artistic_1_0_cl8 = True+licenseIsOsiApproved Artistic_1_0_Perl = True+licenseIsOsiApproved Artistic_1_0 = True+licenseIsOsiApproved Artistic_2_0 = True+licenseIsOsiApproved Bahyph = False+licenseIsOsiApproved Barr = False+licenseIsOsiApproved Beerware = False+licenseIsOsiApproved BitTorrent_1_0 = False+licenseIsOsiApproved BitTorrent_1_1 = False+licenseIsOsiApproved Borceux = False+licenseIsOsiApproved BSD_1_Clause = False+licenseIsOsiApproved BSD_2_Clause_FreeBSD = False+licenseIsOsiApproved BSD_2_Clause_NetBSD = False+licenseIsOsiApproved BSD_2_Clause_Patent = True+licenseIsOsiApproved BSD_2_Clause = True+licenseIsOsiApproved BSD_3_Clause_Attribution = False+licenseIsOsiApproved BSD_3_Clause_Clear = False+licenseIsOsiApproved BSD_3_Clause_LBNL = False+licenseIsOsiApproved BSD_3_Clause_No_Nuclear_License_2014 = False+licenseIsOsiApproved BSD_3_Clause_No_Nuclear_License = False+licenseIsOsiApproved BSD_3_Clause_No_Nuclear_Warranty = False+licenseIsOsiApproved BSD_3_Clause = True+licenseIsOsiApproved BSD_4_Clause_UC = False+licenseIsOsiApproved BSD_4_Clause = False+licenseIsOsiApproved BSD_Protection = False+licenseIsOsiApproved BSD_Source_Code = False+licenseIsOsiApproved BSL_1_0 = True+licenseIsOsiApproved Bzip2_1_0_5 = False+licenseIsOsiApproved Bzip2_1_0_6 = False+licenseIsOsiApproved Caldera = False+licenseIsOsiApproved CATOSL_1_1 = True+licenseIsOsiApproved CC_BY_1_0 = False+licenseIsOsiApproved CC_BY_2_0 = False+licenseIsOsiApproved CC_BY_2_5 = False+licenseIsOsiApproved CC_BY_3_0 = False+licenseIsOsiApproved CC_BY_4_0 = False+licenseIsOsiApproved CC_BY_NC_1_0 = False+licenseIsOsiApproved CC_BY_NC_2_0 = False+licenseIsOsiApproved CC_BY_NC_2_5 = False+licenseIsOsiApproved CC_BY_NC_3_0 = False+licenseIsOsiApproved CC_BY_NC_4_0 = False+licenseIsOsiApproved CC_BY_NC_ND_1_0 = False+licenseIsOsiApproved CC_BY_NC_ND_2_0 = False+licenseIsOsiApproved CC_BY_NC_ND_2_5 = False+licenseIsOsiApproved CC_BY_NC_ND_3_0 = False+licenseIsOsiApproved CC_BY_NC_ND_4_0 = False+licenseIsOsiApproved CC_BY_NC_SA_1_0 = False+licenseIsOsiApproved CC_BY_NC_SA_2_0 = False+licenseIsOsiApproved CC_BY_NC_SA_2_5 = False+licenseIsOsiApproved CC_BY_NC_SA_3_0 = False+licenseIsOsiApproved CC_BY_NC_SA_4_0 = False+licenseIsOsiApproved CC_BY_ND_1_0 = False+licenseIsOsiApproved CC_BY_ND_2_0 = False+licenseIsOsiApproved CC_BY_ND_2_5 = False+licenseIsOsiApproved CC_BY_ND_3_0 = False+licenseIsOsiApproved CC_BY_ND_4_0 = False+licenseIsOsiApproved CC_BY_SA_1_0 = False+licenseIsOsiApproved CC_BY_SA_2_0 = False+licenseIsOsiApproved CC_BY_SA_2_5 = False+licenseIsOsiApproved CC_BY_SA_3_0 = False+licenseIsOsiApproved CC_BY_SA_4_0 = False+licenseIsOsiApproved CC0_1_0 = False+licenseIsOsiApproved CDDL_1_0 = True+licenseIsOsiApproved CDDL_1_1 = False+licenseIsOsiApproved CDLA_Permissive_1_0 = False+licenseIsOsiApproved CDLA_Sharing_1_0 = False+licenseIsOsiApproved CECILL_1_0 = False+licenseIsOsiApproved CECILL_1_1 = False+licenseIsOsiApproved CECILL_2_0 = False+licenseIsOsiApproved CECILL_2_1 = True+licenseIsOsiApproved CECILL_B = False+licenseIsOsiApproved CECILL_C = False+licenseIsOsiApproved ClArtistic = False+licenseIsOsiApproved CNRI_Jython = False+licenseIsOsiApproved CNRI_Python_GPL_Compatible = False+licenseIsOsiApproved CNRI_Python = True+licenseIsOsiApproved Condor_1_1 = False+licenseIsOsiApproved CPAL_1_0 = True+licenseIsOsiApproved CPL_1_0 = True+licenseIsOsiApproved CPOL_1_02 = False+licenseIsOsiApproved Crossword = False+licenseIsOsiApproved CrystalStacker = False+licenseIsOsiApproved CUA_OPL_1_0 = True+licenseIsOsiApproved Cube = False+licenseIsOsiApproved Curl = False+licenseIsOsiApproved D_FSL_1_0 = False+licenseIsOsiApproved Diffmark = False+licenseIsOsiApproved DOC = False+licenseIsOsiApproved Dotseqn = False+licenseIsOsiApproved DSDP = False+licenseIsOsiApproved Dvipdfm = False+licenseIsOsiApproved ECL_1_0 = True+licenseIsOsiApproved ECL_2_0 = True+licenseIsOsiApproved EFL_1_0 = True+licenseIsOsiApproved EFL_2_0 = True+licenseIsOsiApproved EGenix = False+licenseIsOsiApproved Entessa = True+licenseIsOsiApproved EPL_1_0 = True+licenseIsOsiApproved EPL_2_0 = True+licenseIsOsiApproved ErlPL_1_1 = False+licenseIsOsiApproved EUDatagrid = True+licenseIsOsiApproved EUPL_1_0 = False+licenseIsOsiApproved EUPL_1_1 = True+licenseIsOsiApproved EUPL_1_2 = True+licenseIsOsiApproved Eurosym = False+licenseIsOsiApproved Fair = True+licenseIsOsiApproved Frameworx_1_0 = True+licenseIsOsiApproved FreeImage = False+licenseIsOsiApproved FSFAP = False+licenseIsOsiApproved FSFUL = False+licenseIsOsiApproved FSFULLR = False+licenseIsOsiApproved FTL = False+licenseIsOsiApproved GFDL_1_1_only = False+licenseIsOsiApproved GFDL_1_1_or_later = False+licenseIsOsiApproved GFDL_1_2_only = False+licenseIsOsiApproved GFDL_1_2_or_later = False+licenseIsOsiApproved GFDL_1_3_only = False+licenseIsOsiApproved GFDL_1_3_or_later = False+licenseIsOsiApproved Giftware = False+licenseIsOsiApproved GL2PS = False+licenseIsOsiApproved Glide = False+licenseIsOsiApproved Glulxe = False+licenseIsOsiApproved Gnuplot = False+licenseIsOsiApproved GPL_1_0_only = False+licenseIsOsiApproved GPL_1_0_or_later = False+licenseIsOsiApproved GPL_2_0_only = True+licenseIsOsiApproved GPL_2_0_or_later = True+licenseIsOsiApproved GPL_3_0_only = True+licenseIsOsiApproved GPL_3_0_or_later = True+licenseIsOsiApproved GSOAP_1_3b = False+licenseIsOsiApproved HaskellReport = False+licenseIsOsiApproved HPND = True+licenseIsOsiApproved IBM_pibs = False+licenseIsOsiApproved ICU = False+licenseIsOsiApproved IJG = False+licenseIsOsiApproved ImageMagick = False+licenseIsOsiApproved IMatix = False+licenseIsOsiApproved Imlib2 = False+licenseIsOsiApproved Info_ZIP = False+licenseIsOsiApproved Intel_ACPI = False+licenseIsOsiApproved Intel = True+licenseIsOsiApproved Interbase_1_0 = False+licenseIsOsiApproved IPA = True+licenseIsOsiApproved IPL_1_0 = True+licenseIsOsiApproved ISC = True+licenseIsOsiApproved JasPer_2_0 = False+licenseIsOsiApproved JSON = False+licenseIsOsiApproved LAL_1_2 = False+licenseIsOsiApproved LAL_1_3 = False+licenseIsOsiApproved Latex2e = False+licenseIsOsiApproved Leptonica = False+licenseIsOsiApproved LGPL_2_0_only = True+licenseIsOsiApproved LGPL_2_0_or_later = True+licenseIsOsiApproved LGPL_2_1_only = True+licenseIsOsiApproved LGPL_2_1_or_later = True+licenseIsOsiApproved LGPL_3_0_only = True+licenseIsOsiApproved LGPL_3_0_or_later = True+licenseIsOsiApproved LGPLLR = False+licenseIsOsiApproved Libpng = False+licenseIsOsiApproved Libtiff = False+licenseIsOsiApproved LiLiQ_P_1_1 = True+licenseIsOsiApproved LiLiQ_R_1_1 = True+licenseIsOsiApproved LiLiQ_Rplus_1_1 = True+licenseIsOsiApproved LPL_1_0 = True+licenseIsOsiApproved LPL_1_02 = True+licenseIsOsiApproved LPPL_1_0 = False+licenseIsOsiApproved LPPL_1_1 = False+licenseIsOsiApproved LPPL_1_2 = False+licenseIsOsiApproved LPPL_1_3a = False+licenseIsOsiApproved LPPL_1_3c = True+licenseIsOsiApproved MakeIndex = False+licenseIsOsiApproved MirOS = True+licenseIsOsiApproved MIT_advertising = False+licenseIsOsiApproved MIT_CMU = False+licenseIsOsiApproved MIT_enna = False+licenseIsOsiApproved MIT_feh = False+licenseIsOsiApproved MIT = True+licenseIsOsiApproved MITNFA = False+licenseIsOsiApproved Motosoto = True+licenseIsOsiApproved Mpich2 = False+licenseIsOsiApproved MPL_1_0 = True+licenseIsOsiApproved MPL_1_1 = True+licenseIsOsiApproved MPL_2_0_no_copyleft_exception = True+licenseIsOsiApproved MPL_2_0 = True+licenseIsOsiApproved MS_PL = True+licenseIsOsiApproved MS_RL = True+licenseIsOsiApproved MTLL = False+licenseIsOsiApproved Multics = True+licenseIsOsiApproved Mup = False+licenseIsOsiApproved NASA_1_3 = True+licenseIsOsiApproved Naumen = True+licenseIsOsiApproved NBPL_1_0 = False+licenseIsOsiApproved NCSA = True+licenseIsOsiApproved Net_SNMP = False+licenseIsOsiApproved NetCDF = False+licenseIsOsiApproved Newsletr = False+licenseIsOsiApproved NGPL = True+licenseIsOsiApproved NLOD_1_0 = False+licenseIsOsiApproved NLPL = False+licenseIsOsiApproved Nokia = True+licenseIsOsiApproved NOSL = False+licenseIsOsiApproved Noweb = False+licenseIsOsiApproved NPL_1_0 = False+licenseIsOsiApproved NPL_1_1 = False+licenseIsOsiApproved NPOSL_3_0 = True+licenseIsOsiApproved NRL = False+licenseIsOsiApproved NTP = True+licenseIsOsiApproved OCCT_PL = False+licenseIsOsiApproved OCLC_2_0 = True+licenseIsOsiApproved ODbL_1_0 = False+licenseIsOsiApproved OFL_1_0 = False+licenseIsOsiApproved OFL_1_1 = True+licenseIsOsiApproved OGTSL = True+licenseIsOsiApproved OLDAP_1_1 = False+licenseIsOsiApproved OLDAP_1_2 = False+licenseIsOsiApproved OLDAP_1_3 = False+licenseIsOsiApproved OLDAP_1_4 = False+licenseIsOsiApproved OLDAP_2_0_1 = False+licenseIsOsiApproved OLDAP_2_0 = False+licenseIsOsiApproved OLDAP_2_1 = False+licenseIsOsiApproved OLDAP_2_2_1 = False+licenseIsOsiApproved OLDAP_2_2_2 = False+licenseIsOsiApproved OLDAP_2_2 = False+licenseIsOsiApproved OLDAP_2_3 = False+licenseIsOsiApproved OLDAP_2_4 = False+licenseIsOsiApproved OLDAP_2_5 = False+licenseIsOsiApproved OLDAP_2_6 = False+licenseIsOsiApproved OLDAP_2_7 = False+licenseIsOsiApproved OLDAP_2_8 = False+licenseIsOsiApproved OML = False+licenseIsOsiApproved OpenSSL = False+licenseIsOsiApproved OPL_1_0 = False+licenseIsOsiApproved OSET_PL_2_1 = True+licenseIsOsiApproved OSL_1_0 = True+licenseIsOsiApproved OSL_1_1 = False+licenseIsOsiApproved OSL_2_0 = True+licenseIsOsiApproved OSL_2_1 = True+licenseIsOsiApproved OSL_3_0 = True+licenseIsOsiApproved PDDL_1_0 = False+licenseIsOsiApproved PHP_3_0 = True+licenseIsOsiApproved PHP_3_01 = False+licenseIsOsiApproved Plexus = False+licenseIsOsiApproved PostgreSQL = True+licenseIsOsiApproved Psfrag = False+licenseIsOsiApproved Psutils = False+licenseIsOsiApproved Python_2_0 = True+licenseIsOsiApproved Qhull = False+licenseIsOsiApproved QPL_1_0 = True+licenseIsOsiApproved Rdisc = False+licenseIsOsiApproved RHeCos_1_1 = False+licenseIsOsiApproved RPL_1_1 = True+licenseIsOsiApproved RPL_1_5 = True+licenseIsOsiApproved RPSL_1_0 = True+licenseIsOsiApproved RSA_MD = False+licenseIsOsiApproved RSCPL = True+licenseIsOsiApproved Ruby = False+licenseIsOsiApproved SAX_PD = False+licenseIsOsiApproved Saxpath = False+licenseIsOsiApproved SCEA = False+licenseIsOsiApproved Sendmail = False+licenseIsOsiApproved SGI_B_1_0 = False+licenseIsOsiApproved SGI_B_1_1 = False+licenseIsOsiApproved SGI_B_2_0 = False+licenseIsOsiApproved SimPL_2_0 = True+licenseIsOsiApproved SISSL_1_2 = False+licenseIsOsiApproved SISSL = True+licenseIsOsiApproved Sleepycat = True+licenseIsOsiApproved SMLNJ = False+licenseIsOsiApproved SMPPL = False+licenseIsOsiApproved SNIA = False+licenseIsOsiApproved Spencer_86 = False+licenseIsOsiApproved Spencer_94 = False+licenseIsOsiApproved Spencer_99 = False+licenseIsOsiApproved SPL_1_0 = True+licenseIsOsiApproved SugarCRM_1_1_3 = False+licenseIsOsiApproved SWL = False+licenseIsOsiApproved TCL = False+licenseIsOsiApproved TCP_wrappers = False+licenseIsOsiApproved TMate = False+licenseIsOsiApproved TORQUE_1_1 = False+licenseIsOsiApproved TOSL = False+licenseIsOsiApproved Unicode_DFS_2015 = False+licenseIsOsiApproved Unicode_DFS_2016 = False+licenseIsOsiApproved Unicode_TOU = False+licenseIsOsiApproved Unlicense = False+licenseIsOsiApproved UPL_1_0 = True+licenseIsOsiApproved Vim = False+licenseIsOsiApproved VOSTROM = False+licenseIsOsiApproved VSL_1_0 = True+licenseIsOsiApproved W3C_19980720 = False+licenseIsOsiApproved W3C_20150513 = False+licenseIsOsiApproved W3C = True+licenseIsOsiApproved Watcom_1_0 = True+licenseIsOsiApproved Wsuipa = False+licenseIsOsiApproved WTFPL = False+licenseIsOsiApproved X11 = False+licenseIsOsiApproved Xerox = False+licenseIsOsiApproved XFree86_1_1 = False+licenseIsOsiApproved Xinetd = False+licenseIsOsiApproved Xnet = True+licenseIsOsiApproved Xpp = False+licenseIsOsiApproved XSkat = False+licenseIsOsiApproved YPL_1_0 = False+licenseIsOsiApproved YPL_1_1 = False+licenseIsOsiApproved Zed = False+licenseIsOsiApproved Zend_2_0 = False+licenseIsOsiApproved Zimbra_1_3 = False+licenseIsOsiApproved Zimbra_1_4 = False+licenseIsOsiApproved Zlib_acknowledgement = False+licenseIsOsiApproved Zlib = True+licenseIsOsiApproved ZPL_1_1 = False+licenseIsOsiApproved ZPL_2_0 = True+licenseIsOsiApproved ZPL_2_1 = False++-------------------------------------------------------------------------------+-- Creation+-------------------------------------------------------------------------------++-- | Create a 'LicenseId' from a 'String'.+mkLicenseId :: String -> Maybe LicenseId+mkLicenseId s = Map.lookup s stringLookup++stringLookup :: Map String LicenseId+stringLookup = Map.fromList $ map (\i -> (licenseId i, i)) $ [minBound .. maxBound]
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+module Distribution.SPDX.LicenseReference (+ LicenseRef,+ licenseRef,+ licenseDocumentRef,+ mkLicenseRef,+ mkLicenseRef',+ ) where++import Prelude ()+import Distribution.Compat.Prelude++import Distribution.Utils.Generic (isAsciiAlphaNum)+import Distribution.Pretty+import Distribution.Parsec.Class++import qualified Distribution.Compat.CharParsing as P+import qualified Text.PrettyPrint as Disp++-- | A user defined license reference denoted by @LicenseRef-[idstring]@ (for a license not on the SPDX License List);+data LicenseRef = LicenseRef+ { _lrDocument :: !(Maybe String)+ , _lrLicense :: !String+ }+ deriving (Show, Read, Eq, Ord, Typeable, Data, Generic)++-- | License reference.+licenseRef :: LicenseRef -> String+licenseRef = _lrLicense++-- | Document reference.+licenseDocumentRef :: LicenseRef -> Maybe String+licenseDocumentRef = _lrDocument++instance Binary LicenseRef++instance NFData LicenseRef where+ rnf (LicenseRef d l) = rnf d `seq` rnf l++instance Pretty LicenseRef where+ pretty (LicenseRef Nothing l) = Disp.text "LicenseRef-" <<>> Disp.text l+ pretty (LicenseRef (Just d) l) =+ Disp.text "DocumentRef-" <<>> Disp.text d <<>> Disp.char ':' <<>> Disp.text "LicenseRef-" <<>> Disp.text l++instance Parsec LicenseRef where+ parsec = name <|> doc+ where+ name = do+ _ <- P.string "LicenseRef-"+ n <- some $ P.satisfy $ \c -> isAsciiAlphaNum c || c == '-' || c == '.'+ pure (LicenseRef Nothing n)++ doc = do+ _ <- P.string "DocumentRef-"+ d <- some $ P.satisfy $ \c -> isAsciiAlphaNum c || c == '-' || c == '.'+ _ <- P.char ':'+ _ <- P.string "LicenseRef-"+ n <- some $ P.satisfy $ \c -> isAsciiAlphaNum c || c == '-' || c == '.'+ pure (LicenseRef (Just d) n)++-- | Create 'LicenseRef' from optional document ref and name.+mkLicenseRef :: Maybe String -> String -> Maybe LicenseRef+mkLicenseRef d l = do+ d' <- traverse checkIdString d+ l' <- checkIdString l+ pure (LicenseRef d' l')+ where+ checkIdString s+ | all (\c -> isAsciiAlphaNum c || c == '-' || c == '.') s = Just s+ | otherwise = Nothing++-- | Like 'mkLicenseRef' but convert invalid characters into @-@.+mkLicenseRef' :: Maybe String -> String -> LicenseRef+mkLicenseRef' d l = LicenseRef (fmap f d) (f l)+ where+ f = map g+ g c | isAsciiAlphaNum c || c == '-' || c == '.' = c+ | otherwise = '-'
@@ -1,4 +1,3 @@-{-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE RankNTypes #-} @@ -49,7 +48,7 @@ -- * Customization UserHooks(..), Args, defaultMainWithHooks, defaultMainWithHooksArgs,- defaultMainWithHooksNoRead,+ defaultMainWithHooksNoRead, defaultMainWithHooksNoReadArgs, -- ** Standard sets of hooks simpleUserHooks, autoconfUserHooks,@@ -59,6 +58,7 @@ ) where import Prelude ()+import Control.Exception (try) import Distribution.Compat.Prelude -- local@@ -99,18 +99,14 @@ import System.Directory (removeFile, doesFileExist ,doesDirectoryExist, removeDirectoryRecursive) import System.Exit (exitWith,ExitCode(..))-import System.FilePath (searchPathSeparator)+import System.FilePath (searchPathSeparator, takeDirectory, (</>))+import Distribution.Compat.Directory (makeAbsolute) import Distribution.Compat.Environment (getEnvironment) import Distribution.Compat.GetShortPathName (getShortPathName) import Data.List (unionBy, (\\)) -#ifdef CABAL_PARSEC import Distribution.PackageDescription.Parsec-import Distribution.PackageDescription.Parse (readHookedBuildInfo)-#else-import Distribution.PackageDescription.Parse-#endif -- | A simple implementation of @main@ for a Cabal setup script. -- It reads the package description file using IO, and performs the@@ -143,6 +139,14 @@ getArgs >>= defaultMainHelper hooks { readDesc = return (Just pkg_descr) } +-- | A customizable version of 'defaultMainNoRead' that also takes the+-- command line arguments.+--+-- @since 2.2.0.0+defaultMainWithHooksNoReadArgs :: UserHooks -> GenericPackageDescription -> [String] -> IO ()+defaultMainWithHooksNoReadArgs hooks pkg_descr =+ defaultMainHelper hooks { readDesc = return (Just pkg_descr) }+ defaultMainHelper :: UserHooks -> Args -> IO () defaultMainHelper hooks args = topHandler $ case commandsRun (globalCommand commands) commands args of@@ -237,9 +241,7 @@ pdfile <- case mb_path of Nothing -> defaultPackageDesc verbosity Just path -> return path-#ifdef CABAL_PARSEC info verbosity "Using Parsec parser"-#endif descr <- readGenericPackageDescription verbosity pdfile return (Just pdfile, descr) @@ -247,9 +249,10 @@ buildAction hooks flags args = do distPref <- findDistPrefOrDefault (buildDistPref flags) let verbosity = fromFlag $ buildVerbosity flags- flags' = flags { buildDistPref = toFlag distPref }- lbi <- getBuildConfig hooks verbosity distPref+ let flags' = flags { buildDistPref = toFlag distPref+ , buildCabalFilePath = maybeToFlag (cabalFilePath lbi)}+ progs <- reconfigurePrograms verbosity (buildProgramPaths flags') (buildProgramArgs flags')@@ -287,7 +290,10 @@ hscolourAction hooks flags args = do distPref <- findDistPrefOrDefault (hscolourDistPref flags) let verbosity = fromFlag $ hscolourVerbosity flags- flags' = flags { hscolourDistPref = toFlag distPref }+ lbi <- getBuildConfig hooks verbosity distPref+ let flags' = flags { hscolourDistPref = toFlag distPref+ , hscolourCabalFilePath = maybeToFlag (cabalFilePath lbi)}+ hookedAction preHscolour hscolourHook postHscolour (getBuildConfig hooks verbosity distPref) hooks flags' args@@ -312,9 +318,10 @@ haddockAction hooks flags args = do distPref <- findDistPrefOrDefault (haddockDistPref flags) let verbosity = fromFlag $ haddockVerbosity flags- flags' = flags { haddockDistPref = toFlag distPref }- lbi <- getBuildConfig hooks verbosity distPref+ let flags' = flags { haddockDistPref = toFlag distPref+ , haddockCabalFilePath = maybeToFlag (cabalFilePath lbi)}+ progs <- reconfigurePrograms verbosity (haddockProgramPaths flags') (haddockProgramArgs flags')@@ -327,8 +334,13 @@ cleanAction :: UserHooks -> CleanFlags -> Args -> IO () cleanAction hooks flags args = do distPref <- findDistPrefOrDefault (cleanDistPref flags)- let flags' = flags { cleanDistPref = toFlag distPref } + elbi <- tryGetBuildConfig hooks verbosity distPref+ let flags' = flags { cleanDistPref = toFlag distPref+ , cleanCabalFilePath = case elbi of+ Left _ -> mempty+ Right lbi -> maybeToFlag (cabalFilePath lbi)}+ pbi <- preClean hooks args flags' (_, ppd) <- confPkgDescr hooks verbosity Nothing@@ -353,7 +365,9 @@ copyAction hooks flags args = do distPref <- findDistPrefOrDefault (copyDistPref flags) let verbosity = fromFlag $ copyVerbosity flags- flags' = flags { copyDistPref = toFlag distPref }+ lbi <- getBuildConfig hooks verbosity distPref+ let flags' = flags { copyDistPref = toFlag distPref+ , copyCabalFilePath = maybeToFlag (cabalFilePath lbi)} hookedAction preCopy copyHook postCopy (getBuildConfig hooks verbosity distPref) hooks flags' { copyArgs = args } args@@ -362,7 +376,9 @@ installAction hooks flags args = do distPref <- findDistPrefOrDefault (installDistPref flags) let verbosity = fromFlag $ installVerbosity flags- flags' = flags { installDistPref = toFlag distPref }+ lbi <- getBuildConfig hooks verbosity distPref+ let flags' = flags { installDistPref = toFlag distPref+ , installCabalFilePath = maybeToFlag (cabalFilePath lbi)} hookedAction preInst instHook postInst (getBuildConfig hooks verbosity distPref) hooks flags' args@@ -426,7 +442,9 @@ registerAction hooks flags args = do distPref <- findDistPrefOrDefault (regDistPref flags) let verbosity = fromFlag $ regVerbosity flags- flags' = flags { regDistPref = toFlag distPref }+ lbi <- getBuildConfig hooks verbosity distPref+ let flags' = flags { regDistPref = toFlag distPref+ , regCabalFilePath = maybeToFlag (cabalFilePath lbi)} hookedAction preReg regHook postReg (getBuildConfig hooks verbosity distPref) hooks flags' { regArgs = args } args@@ -435,7 +453,9 @@ unregisterAction hooks flags args = do distPref <- findDistPrefOrDefault (regDistPref flags) let verbosity = fromFlag $ regVerbosity flags- flags' = flags { regDistPref = toFlag distPref }+ lbi <- getBuildConfig hooks verbosity distPref+ let flags' = flags { regDistPref = toFlag distPref+ , regCabalFilePath = maybeToFlag (cabalFilePath lbi)} hookedAction preUnreg unregHook postUnreg (getBuildConfig hooks verbosity distPref) hooks flags' args@@ -486,7 +506,13 @@ sanityCheckHookedBuildInfo _ _ = return () +-- | Try to read the 'localBuildInfoFile'+tryGetBuildConfig :: UserHooks -> Verbosity -> FilePath+ -> IO (Either ConfigStateFileError LocalBuildInfo)+tryGetBuildConfig u v = try . getBuildConfig u v ++-- | Read the 'localBuildInfoFile' or throw an exception. getBuildConfig :: UserHooks -> Verbosity -> FilePath -> IO LocalBuildInfo getBuildConfig hooks verbosity distPref = do lbi_wo_programs <- getPersistBuildConfig distPref@@ -617,12 +643,14 @@ -- https://github.com/haskell/cabal/issues/158 where oldCompatPostConf args flags pkg_descr lbi = do let verbosity = fromFlag (configVerbosity flags)- confExists <- doesFileExist "configure"+ baseDir lbi' = fromMaybe "" (takeDirectory <$> cabalFilePath lbi')++ confExists <- doesFileExist $ (baseDir lbi) </> "configure" when confExists $ runConfigureScript verbosity backwardsCompatHack flags lbi - pbi <- getHookedBuildInfo verbosity+ pbi <- getHookedBuildInfo (buildDir lbi) verbosity sanityCheckHookedBuildInfo pkg_descr pbi let pkg_descr' = updatePackageDescription pbi pkg_descr lbi' = lbi { localPkgDescr = pkg_descr' }@@ -635,26 +663,27 @@ = simpleUserHooks { postConf = defaultPostConf,- preBuild = readHookWithArgs buildVerbosity,- preCopy = readHookWithArgs copyVerbosity,- preClean = readHook cleanVerbosity,- preInst = readHook installVerbosity,- preHscolour = readHook hscolourVerbosity,- preHaddock = readHook haddockVerbosity,- preReg = readHook regVerbosity,- preUnreg = readHook regVerbosity+ preBuild = readHookWithArgs buildVerbosity buildDistPref, -- buildCabalFilePath,+ preCopy = readHookWithArgs copyVerbosity copyDistPref,+ preClean = readHook cleanVerbosity cleanDistPref,+ preInst = readHook installVerbosity installDistPref,+ preHscolour = readHook hscolourVerbosity hscolourDistPref,+ preHaddock = readHook haddockVerbosity haddockDistPref,+ preReg = readHook regVerbosity regDistPref,+ preUnreg = readHook regVerbosity regDistPref } where defaultPostConf :: Args -> ConfigFlags -> PackageDescription -> LocalBuildInfo -> IO () defaultPostConf args flags pkg_descr lbi = do let verbosity = fromFlag (configVerbosity flags)- confExists <- doesFileExist "configure"+ baseDir lbi' = fromMaybe "" (takeDirectory <$> cabalFilePath lbi')+ confExists <- doesFileExist $ (baseDir lbi) </> "configure" if confExists then runConfigureScript verbosity backwardsCompatHack flags lbi else die "configure script not found." - pbi <- getHookedBuildInfo verbosity+ pbi <- getHookedBuildInfo (buildDir lbi) verbosity sanityCheckHookedBuildInfo pkg_descr pbi let pkg_descr' = updatePackageDescription pbi pkg_descr lbi' = lbi { localPkgDescr = pkg_descr' }@@ -662,17 +691,23 @@ backwardsCompatHack = False - readHookWithArgs :: (a -> Flag Verbosity) -> Args -> a+ readHookWithArgs :: (a -> Flag Verbosity)+ -> (a -> Flag FilePath)+ -> Args -> a -> IO HookedBuildInfo- readHookWithArgs get_verbosity _ flags = do- getHookedBuildInfo verbosity+ readHookWithArgs get_verbosity get_dist_pref _ flags = do+ dist_dir <- findDistPrefOrDefault (get_dist_pref flags)+ getHookedBuildInfo (dist_dir </> "build") verbosity where verbosity = fromFlag (get_verbosity flags) - readHook :: (a -> Flag Verbosity) -> Args -> a -> IO HookedBuildInfo- readHook get_verbosity a flags = do+ readHook :: (a -> Flag Verbosity)+ -> (a -> Flag FilePath)+ -> Args -> a -> IO HookedBuildInfo+ readHook get_verbosity get_dist_pref a flags = do noExtraFlags a- getHookedBuildInfo verbosity+ dist_dir <- findDistPrefOrDefault (get_dist_pref flags)+ getHookedBuildInfo (dist_dir </> "build") verbosity where verbosity = fromFlag (get_verbosity flags) @@ -689,6 +724,8 @@ -- to ccFlags -- We don't try and tell configure which ld to use, as we don't have -- a way to pass its flags too+ configureFile <- makeAbsolute $+ fromMaybe "." (takeDirectory <$> cabalFilePath lbi) </> "configure" let extraPath = fromNubList $ configProgramPathExtra flags let cflagsEnv = maybe (unwords ccFlags) (++ (" " ++ unwords ccFlags)) $ lookup "CFLAGS" env@@ -697,19 +734,20 @@ ((intercalate spSep extraPath ++ spSep)++) $ lookup "PATH" env overEnv = ("CFLAGS", Just cflagsEnv) : [("PATH", Just pathEnv) | not (null extraPath)]- args' = args ++ ["CC=" ++ ccProgShort]+ args' = configureFile:args ++ ["CC=" ++ ccProgShort] shProg = simpleProgram "sh" progDb = modifyProgramSearchPath (\p -> map ProgramSearchPathDir extraPath ++ p) emptyProgramDb shConfiguredProg <- lookupProgram shProg `fmap` configureProgram verbosity shProg progDb case shConfiguredProg of- Just sh -> runProgramInvocation verbosity+ Just sh -> runProgramInvocation verbosity $ (programInvocation (sh {programOverrideEnv = overEnv}) args')+ { progInvokeCwd = Just (buildDir lbi) } Nothing -> die notFoundMsg where- args = "./configure" : configureArgs backwardsCompatHack flags+ args = configureArgs backwardsCompatHack flags notFoundMsg = "The package has a './configure' script. " ++ "If you are on Windows, This requires a "@@ -717,9 +755,9 @@ ++ "If you are not on Windows, ensure that an 'sh' command " ++ "is discoverable in your path." -getHookedBuildInfo :: Verbosity -> IO HookedBuildInfo-getHookedBuildInfo verbosity = do- maybe_infoFile <- defaultHookedPackageDesc+getHookedBuildInfo :: FilePath -> Verbosity -> IO HookedBuildInfo+getHookedBuildInfo build_dir verbosity = do+ maybe_infoFile <- findHookedPackageDesc build_dir case maybe_infoFile of Nothing -> return emptyHookedBuildInfo Just infoFile -> do@@ -741,7 +779,7 @@ defaultInstallHook pkg_descr localbuildinfo _ flags = do let copyFlags = defaultCopyFlags { copyDistPref = installDistPref flags,- copyDest = toFlag NoCopyDest,+ copyDest = installDest flags, copyVerbosity = installVerbosity flags } install pkg_descr localbuildinfo copyFlags
@@ -201,7 +201,7 @@ setupMessage' verbosity "Building" (packageId pkg_descr) (componentLocalName clbi) (maybeComponentInstantiatedWith clbi) let libbi = libBuildInfo lib- lib' = lib { libBuildInfo = addExtraCSources libbi extras }+ lib' = lib { libBuildInfo = addExtraCxxSources (addExtraCSources libbi extras) extras } buildLib verbosity numJobs pkg_descr lbi lib' clbi let oneComponentRequested (OneComponentRequestedSpec _) = True@@ -329,6 +329,15 @@ addExtraCSources bi extras = bi { cSources = new } where new = Set.toList $ old `Set.union` exs old = Set.fromList $ cSources bi+ exs = Set.fromList extras+++-- | Add extra C++ sources generated by preprocessing to build+-- information.+addExtraCxxSources :: BuildInfo -> [FilePath] -> BuildInfo+addExtraCxxSources bi extras = bi { cxxSources = new }+ where new = Set.toList $ old `Set.union` exs+ old = Set.fromList $ cxxSources bi exs = Set.fromList extras
@@ -39,11 +39,24 @@ generate :: PackageDescription -> LocalBuildInfo -> ComponentLocalBuildInfo -> String generate pkg_descr lbi clbi =- let pragmas = cpp_pragma ++ ffi_pragmas ++ warning_pragmas+ let pragmas =+ cpp_pragma+ ++ no_rebindable_syntax_pragma+ ++ ffi_pragmas+ ++ warning_pragmas - cpp_pragma | supports_cpp = "{-# LANGUAGE CPP #-}\n"- | otherwise = ""+ cpp_pragma+ | supports_cpp = "{-# LANGUAGE CPP #-}\n"+ | otherwise = "" + -- -XRebindableSyntax is problematic because when paired with+ -- -XOverloadedLists, 'fromListN' is not in scope,+ -- or -XOverloadedStrings 'fromString' is not in scope,+ -- so we disable 'RebindableSyntax'.+ no_rebindable_syntax_pragma+ | supports_rebindable_syntax = "{-# LANGUAGE NoRebindableSyntax #-}\n"+ | otherwise = ""+ ffi_pragmas | absolute = "" | supports_language_pragma =@@ -53,8 +66,7 @@ "{-# OPTIONS_JHC -fffi #-}\n" warning_pragmas =- "{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}\n"++- "{-# OPTIONS_GHC -fno-warn-implicit-prelude #-}\n"+ "{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}\n" foreign_imports | absolute = ""@@ -235,13 +247,14 @@ path_sep = show [pathSeparator] - supports_cpp = compilerFlavor (compiler lbi) == GHC+ supports_cpp = supports_language_pragma+ supports_rebindable_syntax= ghc_newer_than (mkVersion [7,0,1])+ supports_language_pragma = ghc_newer_than (mkVersion [6,6,1]) - supports_language_pragma =- (compilerFlavor (compiler lbi) == GHC &&- (compilerVersion (compiler lbi)- `withinRange` orLaterVersion (mkVersion [6,6,1]))) ||- compilerFlavor (compiler lbi) == GHCJS+ ghc_newer_than minVersion =+ case compilerCompatVersion GHC (compiler lbi) of+ Nothing -> False+ Just version -> version `withinRange` orLaterVersion minVersion -- | Generates the name of the environment variable controlling the path -- component of interest.
@@ -25,10 +25,13 @@ cppHeaderName, haddockName, + mkGenericStaticLibName, mkLibName, mkProfLibName,+ mkGenericSharedLibName, mkSharedLibName,-+ mkStaticLibName,+ exeExtension, objExtension, dllExtension,@@ -182,20 +185,37 @@ -- --------------------------------------------------------------------------- -- Library file names --- TODO: Should this use staticLibExtension?+-- | Create a library name for a static library from a given name.+-- Prepends 'lib' and appends the static library extension ('.a').+mkGenericStaticLibName :: String -> String+mkGenericStaticLibName lib = "lib" ++ lib <.> "a"+ mkLibName :: UnitId -> String-mkLibName lib = "lib" ++ getHSLibraryName lib <.> "a"+mkLibName lib = mkGenericStaticLibName (getHSLibraryName lib) --- TODO: Should this use staticLibExtension? mkProfLibName :: UnitId -> String-mkProfLibName lib = "lib" ++ getHSLibraryName lib ++ "_p" <.> "a"+mkProfLibName lib = mkGenericStaticLibName (getHSLibraryName lib ++ "_p") +-- | Create a library name for a shared lirbary from a given name.+-- Prepends 'lib' and appends the '-<compilerFlavour><compilerVersion>'+-- as well as the shared library extension.+mkGenericSharedLibName :: CompilerId -> String -> String+mkGenericSharedLibName (CompilerId compilerFlavor compilerVersion) lib+ = mconcat [ "lib", lib, "-", comp <.> dllExtension ]+ where comp = display compilerFlavor ++ display compilerVersion+ -- Implement proper name mangling for dynamical shared objects -- libHS<packagename>-<compilerFlavour><compilerVersion> -- e.g. libHSbase-2.1-ghc6.6.1.so mkSharedLibName :: CompilerId -> UnitId -> String-mkSharedLibName (CompilerId compilerFlavor compilerVersion) lib- = "lib" ++ getHSLibraryName lib ++ "-" ++ comp <.> dllExtension+mkSharedLibName comp lib+ = mkGenericSharedLibName comp (getHSLibraryName lib)++-- Static libs are named the same as shared libraries, only with+-- a different extension.+mkStaticLibName :: CompilerId -> UnitId -> String+mkStaticLibName (CompilerId compilerFlavor compilerVersion) lib+ = "lib" ++ getHSLibraryName lib ++ "-" ++ comp <.> staticLibExtension where comp = display compilerFlavor ++ display compilerVersion -- ------------------------------------------------------------
@@ -450,6 +450,8 @@ cinfoSrcDirs :: [FilePath], cinfoModules :: [ModuleName], cinfoHsFiles :: [FilePath], -- other hs files (like main.hs)+ cinfoAsmFiles:: [FilePath],+ cinfoCmmFiles:: [FilePath], cinfoCFiles :: [FilePath], cinfoJsFiles :: [FilePath] }@@ -464,6 +466,8 @@ cinfoSrcDirs = hsSourceDirs bi, cinfoModules = componentModules c, cinfoHsFiles = componentHsFiles c,+ cinfoAsmFiles= asmSources bi,+ cinfoCmmFiles= cmmSources bi, cinfoCFiles = cSources bi, cinfoJsFiles = jsSources bi }
@@ -11,7 +11,7 @@ -- Portability : portable -- -- This should be a much more sophisticated abstraction than it is. Currently--- it's just a bit of data about the compiler, like it's flavour and name and+-- it's just a bit of data about the compiler, like its flavour and name and -- version. The reason it's just data is because currently it has to be in -- 'Read' and 'Show' so it can be saved along with the 'LocalBuildInfo'. The -- only interesting bit of info it contains is a mapping between language@@ -61,6 +61,7 @@ coverageSupported, profilingSupported, backpackSupported,+ arResponseFilesSupported, libraryDynDirSupported, -- * Support for profiling detail levels@@ -79,6 +80,7 @@ import Language.Haskell.Extension import Distribution.Simple.Utils +import Control.Monad (join) import qualified Data.Map as Map (lookup) import System.Directory (canonicalizePath) @@ -93,7 +95,7 @@ -- compatible with. compilerLanguages :: [(Language, Flag)], -- ^ Supported language standards.- compilerExtensions :: [(Extension, Flag)],+ compilerExtensions :: [(Extension, Maybe Flag)], -- ^ Supported extensions. compilerProperties :: Map String String -- ^ A key-value map for properties not covered by the above fields.@@ -285,7 +287,7 @@ unsupportedExtensions :: Compiler -> [Extension] -> [Extension] unsupportedExtensions comp exts = [ ext | ext <- exts- , isNothing (extensionToFlag comp ext) ]+ , isNothing (extensionToFlag' comp ext) ] type Flag = String @@ -294,9 +296,23 @@ extensionsToFlags comp = nub . filter (not . null) . catMaybes . map (extensionToFlag comp) +-- | Looks up the flag for a given extension, for a given compiler.+-- Ignores the subtlety of extensions which lack associated flags. extensionToFlag :: Compiler -> Extension -> Maybe Flag-extensionToFlag comp ext = lookup ext (compilerExtensions comp)+extensionToFlag comp ext = join (extensionToFlag' comp ext) +-- | Looks up the flag for a given extension, for a given compiler.+-- However, the extension may be valid for the compiler but not have a flag.+-- For example, NondecreasingIndentation is enabled by default on GHC 7.0.4,+-- hence it is considered a supported extension but not an accepted flag.+--+-- The outer layer of Maybe indicates whether the extensions is supported, while+-- the inner layer indicates whether it has a flag.+-- When building strings, it is often more convenient to use 'extensionToFlag',+-- which ignores the difference.+extensionToFlag' :: Compiler -> Extension -> Maybe (Maybe Flag)+extensionToFlag' comp ext = lookup ext (compilerExtensions comp)+ -- | Does this compiler support parallel --make mode? parmakeSupported :: Compiler -> Bool parmakeSupported = ghcSupported "Support parallel --make"@@ -338,6 +354,11 @@ _ -> False where v = compilerVersion comp++-- | Does this compiler's "ar" command supports response file+-- arguments (i.e. @file-style arguments).+arResponseFilesSupported :: Compiler -> Bool+arResponseFilesSupported = ghcSupported "ar supports at file" -- | Does this compiler support Haskell program coverage? coverageSupported :: Compiler -> Bool
@@ -53,7 +53,6 @@ ConfigStateFileError(..), tryGetConfigStateFile, platformDefines,- relaxPackageDeps, ) where @@ -113,19 +112,22 @@ import Control.Exception ( ErrorCall, Exception, evaluate, throw, throwIO, try )-import Distribution.Compat.Binary ( decodeOrFailIO, encode )-import Data.ByteString.Lazy (ByteString)+import Control.Monad ( forM, forM_ )+import Distribution.Compat.Binary ( decodeOrFailIO, encode )+import Distribution.Compat.Directory ( listDirectory )+import Data.ByteString.Lazy ( ByteString ) import qualified Data.ByteString as BS import qualified Data.ByteString.Lazy.Char8 as BLC8 import Data.List- ( (\\), partition, inits, stripPrefix )+ ( (\\), partition, inits, stripPrefix, intersect ) import Data.Either ( partitionEithers ) import qualified Data.Map as Map import System.Directory- ( doesFileExist, createDirectoryIfMissing, getTemporaryDirectory )+ ( doesFileExist, createDirectoryIfMissing, getTemporaryDirectory+ , removeFile) import System.FilePath- ( (</>), isAbsolute )+ ( (</>), isAbsolute, takeDirectory ) import qualified System.Info ( compilerName, compilerVersion ) import System.IO@@ -138,6 +140,7 @@ import Distribution.Compat.Environment ( lookupEnv ) import Distribution.Compat.Exception ( catchExit, catchIO ) + type UseExternalInternalDeps = Bool -- | The errors that can be thrown when reading the @setup-config@ file.@@ -330,18 +333,7 @@ -- Returns the @.setup-config@ file. configure :: (GenericPackageDescription, HookedBuildInfo) -> ConfigFlags -> IO LocalBuildInfo-configure (pkg_descr0', pbi) cfg = do- let pkg_descr0 =- -- Ignore '--allow-{older,newer}' when we're given- -- '--exact-configuration'.- if fromFlagOrDefault False (configExactConfiguration cfg)- then pkg_descr0'- else relaxPackageDeps removeLowerBound- (maybe RelaxDepsNone unAllowOlder $ configAllowOlder cfg) $- relaxPackageDeps removeUpperBound- (maybe RelaxDepsNone unAllowNewer $ configAllowNewer cfg)- pkg_descr0'-+configure (pkg_descr0, pbi) cfg = do -- Determine the component we are configuring, if a user specified -- one on the command line. We use a fake, flattened version of -- the package since at this point, we're not really sure what@@ -618,11 +610,31 @@ installedPackageSet comp + -- Decide if we're going to compile with split sections.+ split_sections :: Bool <-+ if not (fromFlag $ configSplitSections cfg)+ then return False+ else case compilerFlavor comp of+ GHC | compilerVersion comp >= mkVersion [8,0]+ -> return True+ GHCJS+ -> return True+ _ -> do warn verbosity+ ("this compiler does not support " +++ "--enable-split-sections; ignoring")+ return False+ -- Decide if we're going to compile with split objects. split_objs :: Bool <- if not (fromFlag $ configSplitObjs cfg) then return False else case compilerFlavor comp of+ _ | split_sections+ -> do warn verbosity+ ("--enable-split-sections and " +++ "--enable-split-objs are mutually" +++ "exclusive; ignoring the latter")+ return False GHC | compilerVersion comp >= mkVersion [6,5] -> return True GHCJS@@ -667,6 +679,12 @@ -- building only static library archives with -- --disable-shared. fromFlagOrDefault sharedLibsByDefault $ configSharedLib cfg++ withStaticLib_ =+ -- build a static library (all dependent libraries rolled+ -- into a huge .a archive) via GHCs -staticlib flag.+ fromFlagOrDefault False $ configStaticLib cfg+ withDynExe_ = fromFlag $ configDynExe cfg when (withDynExe_ && not withSharedLib_) $ warn verbosity $ "Executables will use dynamic linking, but a shared library "@@ -677,10 +695,7 @@ setCoverageLBI <- configureCoverage verbosity cfg comp - reloc <-- if not (fromFlag $ configRelocatable cfg)- then return False- else return True+ let reloc = fromFlagOrDefault False $ configRelocatable cfg let buildComponentsMap = foldl' (\m clbi -> Map.insertWith (++)@@ -699,6 +714,7 @@ compiler = comp, hostPlatform = compPlatform, buildDir = buildDir,+ cabalFilePath = flagToMaybe (configCabalFilePath cfg), componentGraph = Graph.fromDistinctList buildComponents, componentNameMap = buildComponentsMap, installedPkgs = packageDependsIndex,@@ -707,6 +723,7 @@ withPrograms = programDb'', withVanillaLib = fromFlag $ configVanillaLib cfg, withSharedLib = withSharedLib_,+ withStaticLib = withStaticLib_, withDynExe = withDynExe_, withProfLib = False, withProfLibDetail = ProfDetailNone,@@ -716,6 +733,7 @@ withDebugInfo = fromFlag $ configDebugInfo cfg, withGHCiLib = fromFlagOrDefault ghciLibByDefault $ configGHCiLib cfg,+ splitSections = split_sections, splitObjs = split_objs, stripExes = fromFlag $ configStripExes cfg, stripLibs = fromFlag $ configStripLibs cfg,@@ -734,9 +752,25 @@ let dirs = absoluteInstallDirs pkg_descr lbi NoCopyDest relative = prefixRelativeInstallDirs (packageId pkg_descr) lbi - unless (isAbsolute (prefix dirs)) $ die' verbosity $+ -- PKGROOT: allowing ${pkgroot} to be passed as --prefix to+ -- cabal configure, is only a hidden option. It allows packages+ -- to be relocatable with their package database. This however+ -- breaks when the Paths_* or other includes are used that+ -- contain hard coded paths. This is still an open TODO.+ --+ -- Allowing ${pkgroot} here, however requires less custom hooks+ -- in scripts that *really* want ${pkgroot}. See haskell/cabal/#4872+ unless (isAbsolute (prefix dirs)+ || "${pkgroot}" `isPrefixOf` prefix dirs) $ die' verbosity $ "expected an absolute directory name for --prefix: " ++ prefix dirs + when ("${pkgroot}" `isPrefixOf` prefix dirs) $+ warn verbosity $ "Using ${pkgroot} in prefix " ++ prefix dirs+ ++ " will not work if you rely on the Path_* module "+ ++ " or other hard coded paths. Cabal does not yet "+ ++ " support fully relocatable builds! "+ ++ " See #462 #2302 #2994 #3305 #3473 #3586 #3909 #4097 #4291 #4872"+ info verbosity $ "Using " ++ display currentCabalId ++ " compiled by " ++ display currentCompilerId info verbosity $ "Using compiler: " ++ showCompilerId comp@@ -802,7 +836,7 @@ checkExactConfiguration :: Verbosity -> GenericPackageDescription -> ConfigFlags -> IO () checkExactConfiguration verbosity pkg_descr0 cfg = when (fromFlagOrDefault False (configExactConfiguration cfg)) $ do- let cmdlineFlags = map fst (configConfigurationsFlags cfg)+ let cmdlineFlags = map fst (unFlagAssignment (configConfigurationsFlags cfg)) allFlags = map flagName . genPackageFlags $ pkg_descr0 diffFlags = allFlags \\ cmdlineFlags when (not . null $ diffFlags) $@@ -890,30 +924,6 @@ -- name = Just (mkUnqualComponentName (unPackageName depName)) --- | Relax the dependencies of this package if needed.-relaxPackageDeps :: (VersionRange -> VersionRange)- -> RelaxDeps- -> GenericPackageDescription -> GenericPackageDescription-relaxPackageDeps _ RelaxDepsNone gpd = gpd-relaxPackageDeps vrtrans RelaxDepsAll gpd = transformAllBuildDepends relaxAll gpd- where- relaxAll = \(Dependency pkgName verRange) ->- Dependency pkgName (vrtrans verRange)-relaxPackageDeps vrtrans (RelaxDepsSome allowNewerDeps') gpd =- transformAllBuildDepends relaxSome gpd- where- thisPkgName = packageName gpd- allowNewerDeps = mapMaybe f allowNewerDeps'-- f (Setup.RelaxedDep p) = Just p- f (Setup.RelaxedDepScoped scope p) | scope == thisPkgName = Just p- | otherwise = Nothing-- relaxSome = \d@(Dependency depName verRange) ->- if depName `elem` allowNewerDeps- then Dependency depName (vrtrans verRange)- else d- -- | Finalize a generic package description. The workhorse is -- 'finalizePD' but there's a bit of other nattering -- about necessary.@@ -954,10 +964,10 @@ -- we do it here so that those get checked too let pkg_descr = addExtraIncludeLibDirs pkg_descr0' - when (not (null flags)) $+ unless (nullFlagAssignment flags) $ info verbosity $ "Flags chosen: " ++ intercalate ", " [ unFlagName fn ++ "=" ++ display value- | (fn, value) <- flags ]+ | (fn, value) <- unFlagAssignment flags ] return (pkg_descr, flags) where@@ -1648,9 +1658,41 @@ allLibs = collectField PD.extraLibs ifBuildsWith headers args success failure = do+ checkDuplicateHeaders ok <- builds (makeProgram headers) args if ok then success else failure + -- Ensure that there is only one header with a given name+ -- in either the generated (most likely by `configure`)+ -- build directory (e.g. `dist/build`) or in the source directory.+ --+ -- If it exists in both, we'll remove the one in the source+ -- directory, as the generated should take precedence.+ --+ -- C compilers like to prefer source local relative includes,+ -- so the search paths provided to the compiler via -I are+ -- ignored if the included file can be found relative to the+ -- including file. As such we need to take drastic measures+ -- and delete the offending file in the source directory.+ checkDuplicateHeaders = do+ let relIncDirs = filter (not . isAbsolute) (collectField PD.includeDirs)+ isHeader = isSuffixOf ".h"+ genHeaders <- forM relIncDirs $ \dir ->+ fmap (dir </>) . filter isHeader <$> listDirectory (buildDir lbi </> dir)+ `catchIO` (\_ -> return [])+ srcHeaders <- forM relIncDirs $ \dir ->+ fmap (dir </>) . filter isHeader <$> listDirectory (baseDir lbi </> dir)+ `catchIO` (\_ -> return [])+ let commonHeaders = concat genHeaders `intersect` concat srcHeaders+ forM_ commonHeaders $ \hdr -> do+ warn verbosity $ "Duplicate header found in "+ ++ (buildDir lbi </> hdr)+ ++ " and "+ ++ (baseDir lbi </> hdr)+ ++ "; removing "+ ++ (baseDir lbi </> hdr)+ removeFile (baseDir lbi </> hdr)+ findOffendingHdr = ifBuildsWith allHeaders ccArgs (return Nothing)@@ -1675,14 +1717,23 @@ libExists lib = builds (makeProgram []) (makeLdArgs [lib]) + baseDir lbi' = fromMaybe "." (takeDirectory <$> cabalFilePath lbi')+ commonCppArgs = platformDefines lbi -- TODO: This is a massive hack, to work around the -- fact that the test performed here should be -- PER-component (c.f. the "I'm Feeling Lucky"; we -- should NOT be glomming everything together.) ++ [ "-I" ++ buildDir lbi </> "autogen" ]- ++ [ "-I" ++ dir | dir <- collectField PD.includeDirs ]- ++ ["-I."]+ -- `configure' may generate headers in the build directory+ ++ [ "-I" ++ buildDir lbi </> dir | dir <- collectField PD.includeDirs+ , not (isAbsolute dir)]+ -- we might also reference headers from the packages directory.+ ++ [ "-I" ++ baseDir lbi </> dir | dir <- collectField PD.includeDirs+ , not (isAbsolute dir)]+ ++ [ "-I" ++ dir | dir <- collectField PD.includeDirs+ , isAbsolute dir]+ ++ ["-I" ++ baseDir lbi] ++ collectField PD.cppOptions ++ collectField PD.ccOptions ++ [ "-I" ++ dir@@ -1754,8 +1805,8 @@ _ -> [] ++ case libs of [] -> []- [lib] -> ["* Missing C library: " ++ lib]- _ -> ["* Missing C libraries: " ++ intercalate ", " libs]+ [lib] -> ["* Missing (or bad) C library: " ++ lib]+ _ -> ["* Missing (or bad) C libraries: " ++ intercalate ", " libs] ++ [if plural then messagePlural else messageSingular | missing] ++ case hdr of Just (Left _) -> [ headerCppMessage ]@@ -1777,6 +1828,10 @@ ++ "but in a non-standard location then you can use the flags " ++ "--extra-include-dirs= and --extra-lib-dirs= to specify " ++ "where it is."+ ++ "If the library file does exist, it may contain errors that "+ ++ "are caught by the C compiler at the preprocessing stage. "+ ++ "In this case you can re-run configure with the verbosity "+ ++ "flag -v3 to see the error messages." messagePlural = "This problem can usually be solved by installing the system " ++ "packages that provide these libraries (you may need the "@@ -1784,6 +1839,10 @@ ++ "but in a non-standard location then you can use the flags " ++ "--extra-include-dirs= and --extra-lib-dirs= to specify " ++ "where they are."+ ++ "If the library files do exist, it may contain errors that "+ ++ "are caught by the C compiler at the preprocessing stage. "+ ++ "In this case you can re-run configure with the verbosity "+ ++ "flag -v3 to see the error messages." headerCppMessage = "If the header file does exist, it may contain errors that " ++ "are caught by the C compiler at the preprocessing stage. "
@@ -131,6 +131,13 @@ (userMaybeSpecifyPath "ghc" hcPath conf0) let implInfo = ghcVersionImplInfo ghcVersion + -- Cabal 2.2 supports ghc >= 6.11 && < 8.5+ unless (ghcVersion < mkVersion [8,5]) $+ warn verbosity $+ "Unknown/unsupported 'ghc' version detected "+ ++ "(Cabal " ++ display cabalVersion ++ " supports 'ghc' version < 8.5): "+ ++ programPath ghcProg ++ " is version " ++ display ghcVersion+ -- This is slightly tricky, we have to configure ghc first, then we use the -- location of ghc to help find ghc-pkg in the case that the user did not -- specify the location of ghc-pkg directly:@@ -519,6 +526,8 @@ whenProfLib = when (withProfLib lbi) whenSharedLib forceShared = when (forceShared || withSharedLib lbi)+ whenStaticLib forceStatic =+ when (forceStatic || withStaticLib lbi) whenGHCiLib = when (withGHCiLib lbi && withVanillaLib lbi) ifReplLib = when forRepl comp = compiler lbi@@ -535,7 +544,7 @@ let isGhcDynamic = isDynamic comp dynamicTooSupported = supportsDynamicToo comp- doingTH = EnableExtension TemplateHaskell `elem` allExtensions libBi+ doingTH = usesTemplateHaskellOrQQ libBi forceVanillaLib = doingTH && not isGhcDynamic forceSharedLib = doingTH && isGhcDynamic -- TH always needs default libs, even when building for profiling@@ -557,7 +566,8 @@ createDirectoryIfMissingVerbose verbosity True libTargetDir -- TODO: do we need to put hs-boot files into place for mutually recursive -- modules?- let cObjs = map (`replaceExtension` objExtension) (cSources libBi)+ let cLikeFiles = fromNubListR $ toNubListR (cSources libBi) <> toNubListR (cxxSources libBi)+ cObjs = map (`replaceExtension` objExtension) cLikeFiles baseOpts = componentGhcOptions verbosity lbi libBi clbi libTargetDir vanillaOpts = baseOpts `mappend` mempty { ghcOptMode = toFlag GhcModeMake,@@ -642,7 +652,41 @@ else do vanilla; shared whenProfLib (runGhcProg profOpts) + -- build any C++ sources seperately+ unless (not has_code || null (cxxSources libBi)) $ do+ info verbosity "Building C++ Sources..."+ sequence_+ [ do let baseCxxOpts = Internal.componentCxxGhcOptions verbosity implInfo+ lbi libBi clbi libTargetDir filename+ vanillaCxxOpts = if isGhcDynamic+ then baseCxxOpts { ghcOptFPic = toFlag True }+ else baseCxxOpts+ profCxxOpts = vanillaCxxOpts `mappend` mempty {+ ghcOptProfilingMode = toFlag True,+ ghcOptObjSuffix = toFlag "p_o"+ }+ sharedCxxOpts = vanillaCxxOpts `mappend` mempty {+ ghcOptFPic = toFlag True,+ ghcOptDynLinkMode = toFlag GhcDynamicOnly,+ ghcOptObjSuffix = toFlag "dyn_o"+ }+ odir = fromFlag (ghcOptObjDir vanillaCxxOpts)+ createDirectoryIfMissingVerbose verbosity True odir+ let runGhcProgIfNeeded cxxOpts = do+ needsRecomp <- checkNeedsRecompilation filename cxxOpts+ when needsRecomp $ runGhcProg cxxOpts+ runGhcProgIfNeeded vanillaCxxOpts+ unless forRepl $+ whenSharedLib forceSharedLib (runGhcProgIfNeeded sharedCxxOpts)+ unless forRepl $ whenProfLib (runGhcProgIfNeeded profCxxOpts)+ | filename <- cxxSources libBi]++ when has_code . ifReplLib $ do+ when (null (allLibModules lib clbi)) $ warn verbosity "No exposed modules"+ ifReplLib (runGhcProg replOpts)+ -- build any C sources+ -- TODO: Add support for S and CMM files. unless (not has_code || null (cSources libBi)) $ do info verbosity "Building C Sources..." sequence_@@ -677,21 +721,18 @@ -- with ghci, but .c files can depend on .h files generated by ghc by ffi -- exports. - when has_code . ifReplLib $ do- when (null (allLibModules lib clbi)) $ warn verbosity "No exposed modules"- ifReplLib (runGhcProg replOpts)- -- link: when has_code . unless forRepl $ do info verbosity "Linking..." let cProfObjs = map (`replaceExtension` ("p_" ++ objExtension))- (cSources libBi)+ (cSources libBi ++ cxxSources libBi) cSharedObjs = map (`replaceExtension` ("dyn_" ++ objExtension))- (cSources libBi)+ (cSources libBi ++ cxxSources libBi) compiler_id = compilerId (compiler lbi) vanillaLibFilePath = libTargetDir </> mkLibName uid profileLibFilePath = libTargetDir </> mkProfLibName uid sharedLibFilePath = libTargetDir </> mkSharedLibName compiler_id uid+ staticLibFilePath = libTargetDir </> mkStaticLibName compiler_id uid ghciLibFilePath = libTargetDir </> Internal.mkGHCiLibName uid libInstallPath = libdir $ absoluteComponentInstallDirs pkg_descr lbi uid NoCopyDest sharedLibInstallPath = libInstallPath </> mkSharedLibName compiler_id uid@@ -788,6 +829,35 @@ toNubListR $ PD.extraFrameworkDirs libBi, ghcOptRPaths = rpaths }+ ghcStaticLinkArgs =+ mempty {+ ghcOptStaticLib = toFlag True,+ ghcOptInputFiles = toNubListR staticObjectFiles,+ ghcOptOutputFile = toFlag staticLibFilePath,+ ghcOptExtra = toNubListR $+ hcStaticOptions GHC libBi,+ ghcOptHideAllPackages = toFlag True,+ ghcOptNoAutoLinkPackages = toFlag True,+ ghcOptPackageDBs = withPackageDB lbi,+ ghcOptThisUnitId = case clbi of+ LibComponentLocalBuildInfo { componentCompatPackageKey = pk }+ -> toFlag pk+ _ -> mempty,+ ghcOptThisComponentId = case clbi of+ LibComponentLocalBuildInfo { componentInstantiatedWith = insts } ->+ if null insts+ then mempty+ else toFlag (componentComponentId clbi)+ _ -> mempty,+ ghcOptInstantiatedWith = case clbi of+ LibComponentLocalBuildInfo { componentInstantiatedWith = insts }+ -> insts+ _ -> [],+ ghcOptPackages = toNubListR $+ Internal.mkGhcOptPackages clbi ,+ ghcOptLinkLibs = toNubListR $ extraLibs libBi,+ ghcOptLinkLibPath = toNubListR $ extraLibDirs libBi+ } info verbosity (show (ghcOptPackages ghcSharedLinkArgs)) @@ -799,12 +869,15 @@ whenGHCiLib $ do (ldProg, _) <- requireProgram verbosity ldProgram (withPrograms lbi)- Ld.combineObjectFiles verbosity ldProg+ Ld.combineObjectFiles verbosity lbi ldProg ghciLibFilePath ghciObjFiles whenSharedLib False $ runGhcProg ghcSharedLinkArgs + whenStaticLib False $+ runGhcProg ghcStaticLinkArgs+ -- | Start a REPL without loading any source files. startInterpreter :: Verbosity -> ProgramDb -> Compiler -> Platform -> PackageDBStack -> IO ()@@ -1046,7 +1119,7 @@ -- have no excuse anymore to keep doing it wrong... ;-) warn verbosity $ "Enabling workaround for Main module '" ++ display mainModName- ++ "' listed in 'other-modules' illegaly!"+ ++ "' listed in 'other-modules' illegally!" return (cSources bnfo, [main], filter (/= mainModName) (exeModules exe))@@ -1184,7 +1257,7 @@ -- by the compiler. -- With dynamic-by-default GHC the TH object files loaded at compile-time -- need to be .dyn_o instead of .o.- doingTH = EnableExtension TemplateHaskell `elem` allExtensions bnfo+ doingTH = usesTemplateHaskellOrQQ bnfo -- Should we use -dynamic-too instead of compiling twice? useDynToo = dynamicTooSupported && isGhcDynamic && doingTH && withStaticExe@@ -1202,7 +1275,11 @@ runGhcProg compileTHOpts { ghcOptNoLink = toFlag True , ghcOptNumJobs = numJobs } - unless (gbuildIsRepl bm) $+ -- Do not try to build anything if there are no input files.+ -- This can happen if the cabal file ends up with only cSrcs+ -- but no Haskell modules.+ unless ((null inputFiles && null inputModules)+ || gbuildIsRepl bm) $ runGhcProg compileOpts { ghcOptNoLink = toFlag True , ghcOptNumJobs = numJobs } @@ -1427,6 +1504,7 @@ return rpaths where (Platform _ hostOS) = hostPlatform lbi+ compid = compilerId . compiler $ lbi -- The list of RPath-supported operating systems below reflects the -- platforms on which Cabal's RPATH handling is tested. It does _NOT_@@ -1438,7 +1516,10 @@ supportRPaths Linux = True supportRPaths Windows = False supportRPaths OSX = True- supportRPaths FreeBSD = False+ supportRPaths FreeBSD =+ case compid of+ CompilerId GHC ver | ver >= mkVersion [7,10,2] -> True+ _ -> False supportRPaths OpenBSD = False supportRPaths NetBSD = False supportRPaths DragonFly = False@@ -1636,7 +1717,11 @@ -- copy the built library files over: whenHasCode $ do- whenVanilla $ installOrdinary builtDir targetDir vanillaLibName+ whenVanilla $ do+ sequence_ [ installOrdinary builtDir targetDir (mkGenericStaticLibName (l ++ f))+ | l <- getHSLibraryName (componentUnitId clbi):(extraBundledLibs (libBuildInfo lib))+ , f <- "":extraLibFlavours (libBuildInfo lib)+ ] whenProf $ installOrdinary builtDir targetDir profileLibName whenGHCi $ installOrdinary builtDir targetDir ghciLibName whenShared $ installShared builtDir dynlibTargetDir sharedLibName@@ -1647,6 +1732,7 @@ install isShared srcDir dstDir name = do let src = srcDir </> name dst = dstDir </> name+ createDirectoryIfMissingVerbose verbosity True dstDir if isShared@@ -1665,7 +1751,6 @@ compiler_id = compilerId (compiler lbi) uid = componentUnitId clbi- vanillaLibName = mkLibName uid profileLibName = mkProfLibName uid ghciLibName = Internal.mkGHCiLibName uid sharedLibName = (mkSharedLibName compiler_id) uid
@@ -20,6 +20,7 @@ import qualified Distribution.Types.PackageId as Current import qualified Distribution.Types.PackageName as Current import qualified Distribution.License as Current+import qualified Distribution.SPDX as SPDX import Distribution.Version import Distribution.ModuleName@@ -44,11 +45,11 @@ convertModuleName :: String -> ModuleName convertModuleName s = fromMaybe (error "convertModuleName") $ simpleParse s -convertLicense :: License -> Current.License-convertLicense GPL = Current.GPL Nothing-convertLicense LGPL = Current.LGPL Nothing-convertLicense BSD3 = Current.BSD3-convertLicense BSD4 = Current.BSD4-convertLicense PublicDomain = Current.PublicDomain-convertLicense AllRightsReserved = Current.AllRightsReserved-convertLicense OtherLicense = Current.OtherLicense+convertLicense :: License -> Either SPDX.License Current.License+convertLicense GPL = Right $ Current.GPL Nothing+convertLicense LGPL = Right $ Current.LGPL Nothing+convertLicense BSD3 = Right $ Current.BSD3+convertLicense BSD4 = Right $ Current.BSD4+convertLicense PublicDomain = Right $ Current.PublicDomain+convertLicense AllRightsReserved = Right $ Current.AllRightsReserved+convertLicense OtherLicense = Right $ Current.OtherLicense
@@ -19,6 +19,7 @@ targetPlatform, getGhcInfo, componentCcGhcOptions,+ componentCxxGhcOptions, componentGhcOptions, mkGHCiLibName, filterGhciFlags,@@ -106,8 +107,8 @@ } where compilerDir = takeDirectory (programPath ghcProg)- baseDir = takeDirectory compilerDir- mingwBinDir = baseDir </> "mingw" </> "bin"+ base_dir = takeDirectory compilerDir+ mingwBinDir = base_dir </> "mingw" </> "bin" isWindows = case buildOS of Windows -> True; _ -> False binPrefix = "" @@ -231,7 +232,7 @@ die' verbosity "Can't parse --info output of GHC" getExtensions :: Verbosity -> GhcImplInfo -> ConfiguredProgram- -> IO [(Extension, String)]+ -> IO [(Extension, Maybe String)] getExtensions verbosity implInfo ghcProg = do str <- getProgramOutput verbosity (suppressOverrideArgs ghcProg) ["--supported-languages"]@@ -246,14 +247,16 @@ _ -> "No" ++ extStr , extStr'' <- [extStr, extStr'] ]- let extensions0 = [ (ext, "-X" ++ display ext)+ let extensions0 = [ (ext, Just $ "-X" ++ display ext) | Just ext <- map simpleParse extStrs ] extensions1 = if alwaysNondecIndent implInfo then -- ghc-7.2 split NondecreasingIndentation off -- into a proper extension. Before that it -- was always on.- (EnableExtension NondecreasingIndentation, "") :- (DisableExtension NondecreasingIndentation, "") :+ -- Since it was not a proper extension, it could+ -- not be turned off, hence we omit a+ -- DisableExtension entry here.+ (EnableExtension NondecreasingIndentation, Nothing) : extensions0 else extensions0 return extensions1@@ -273,7 +276,11 @@ ghcOptCppIncludePath = toNubListR $ [autogenComponentModulesDir lbi clbi ,autogenPackageModulesDir lbi ,odir]- ++ PD.includeDirs bi,+ -- includes relative to the package+ ++ PD.includeDirs bi+ -- potential includes generated by `configure'+ -- in the build directory+ ++ [buildDir lbi </> dir | dir <- PD.includeDirs bi], ghcOptHideAllPackages= toFlag True, ghcOptPackageDBs = withPackageDB lbi, ghcOptPackages = toNubListR $ mkGhcOptPackages clbi,@@ -290,6 +297,44 @@ ghcOptObjDir = toFlag odir } ++componentCxxGhcOptions :: Verbosity -> GhcImplInfo -> LocalBuildInfo+ -> BuildInfo -> ComponentLocalBuildInfo+ -> FilePath -> FilePath+ -> GhcOptions+componentCxxGhcOptions verbosity _implInfo lbi bi cxxlbi odir filename =+ mempty {+ -- Respect -v0, but don't crank up verbosity on GHC if+ -- Cabal verbosity is requested. For that, use --ghc-option=-v instead!+ ghcOptVerbosity = toFlag (min verbosity normal),+ ghcOptMode = toFlag GhcModeCompile,+ ghcOptInputFiles = toNubListR [filename],++ ghcOptCppIncludePath = toNubListR $ [autogenComponentModulesDir lbi cxxlbi+ ,autogenPackageModulesDir lbi+ ,odir]+ -- includes relative to the package+ ++ PD.includeDirs bi+ -- potential includes generated by `configure'+ -- in the build directory+ ++ [buildDir lbi </> dir | dir <- PD.includeDirs bi],+ ghcOptHideAllPackages= toFlag True,+ ghcOptPackageDBs = withPackageDB lbi,+ ghcOptPackages = toNubListR $ mkGhcOptPackages cxxlbi,+ ghcOptCxxOptions = toNubListR $+ (case withOptimization lbi of+ NoOptimisation -> []+ _ -> ["-O2"]) +++ (case withDebugInfo lbi of+ NoDebugInfo -> []+ MinimalDebugInfo -> ["-g1"]+ NormalDebugInfo -> ["-g"]+ MaximalDebugInfo -> ["-g3"]) +++ PD.cxxOptions bi,+ ghcOptObjDir = toFlag odir+ }++ componentGhcOptions :: Verbosity -> GhcImplInfo -> LocalBuildInfo -> BuildInfo -> ComponentLocalBuildInfo -> FilePath -> GhcOptions@@ -319,6 +364,7 @@ ghcOptWarnMissingHomeModules = toFlag $ flagWarnMissingHomeModules implInfo, ghcOptPackageDBs = withPackageDB lbi, ghcOptPackages = toNubListR $ mkGhcOptPackages clbi,+ ghcOptSplitSections = toFlag (splitSections lbi), ghcOptSplitObjs = toFlag (splitObjs lbi), ghcOptSourcePathClear = toFlag True, ghcOptSourcePath = toNubListR $ [odir] ++ (hsSourceDirs bi)@@ -327,7 +373,11 @@ ghcOptCppIncludePath = toNubListR $ [autogenComponentModulesDir lbi clbi ,autogenPackageModulesDir lbi ,odir]- ++ PD.includeDirs bi,+ -- includes relative to the package+ ++ PD.includeDirs bi+ -- potential includes generated by `configure'+ -- in the build directory+ ++ [buildDir lbi </> dir | dir <- PD.includeDirs bi], ghcOptCppOptions = toNubListR $ cppOptions bi, ghcOptCppIncludes = toNubListR $ [autogenComponentModulesDir lbi clbi </> cppHeaderName],@@ -463,7 +513,7 @@ -- ----------------------------------------------------------------------------- -- GHC platform and version strings --- | GHC's rendering of it's host or target 'Arch' as used in its platform+-- | GHC's rendering of its host or target 'Arch' as used in its platform -- strings and certain file locations (such as user package db location). -- ghcArchString :: Arch -> String@@ -471,7 +521,7 @@ ghcArchString PPC64 = "powerpc64" ghcArchString other = display other --- | GHC's rendering of it's host or target 'OS' as used in its platform+-- | GHC's rendering of its host or target 'OS' as used in its platform -- strings and certain file locations (such as user package db location). -- ghcOsString :: OS -> String@@ -480,7 +530,7 @@ ghcOsString Solaris = "solaris2" ghcOsString other = display other --- | GHC's rendering of it's platform and compiler version string as used in+-- | GHC's rendering of its platform and compiler version string as used in -- certain file locations (such as user package db location). -- For example @x86_64-linux-7.10.4@ --@@ -520,13 +570,15 @@ -- -- The 'Platform' and GHC 'Version' are needed as part of the file name. --+-- Returns the name of the file written. writeGhcEnvironmentFile :: FilePath -- ^ directory in which to put it -> Platform -- ^ the GHC target platform -> Version -- ^ the GHC version -> [GhcEnvironmentFileEntry] -- ^ the content- -> NoCallStackIO ()-writeGhcEnvironmentFile directory platform ghcversion =- writeFileAtomic envfile . BS.pack . renderGhcEnvironmentFile+ -> NoCallStackIO FilePath+writeGhcEnvironmentFile directory platform ghcversion entries = do+ writeFileAtomic envfile . BS.pack . renderGhcEnvironmentFile $ entries+ return envfile where envfile = directory </> ghcEnvironmentFileName platform ghcversion
@@ -46,7 +46,6 @@ import Distribution.Utils.NubList import Distribution.Text import Distribution.Types.UnitId-import Language.Haskell.Extension import qualified Data.Map as Map import System.Directory ( doesFileExist )@@ -289,7 +288,7 @@ libBi = libBuildInfo lib isGhcjsDynamic = isDynamic comp dynamicTooSupported = supportsDynamicToo comp- doingTH = EnableExtension TemplateHaskell `elem` allExtensions libBi+ doingTH = usesTemplateHaskellOrQQ libBi forceVanillaLib = doingTH && not isGhcjsDynamic forceSharedLib = doingTH && isGhcjsDynamic -- TH always needs default libs, even when building for profiling@@ -485,7 +484,7 @@ whenGHCiLib $ do (ldProg, _) <- requireProgram verbosity ldProgram (withPrograms lbi)- Ld.combineObjectFiles verbosity ldProg+ Ld.combineObjectFiles verbosity lbi ldProg ghciLibFilePath ghciObjFiles whenSharedLib False $@@ -624,7 +623,7 @@ -- by the compiler. -- With dynamic-by-default GHC the TH object files loaded at compile-time -- need to be .dyn_o instead of .o.- doingTH = EnableExtension TemplateHaskell `elem` allExtensions exeBi+ doingTH = usesTemplateHaskellOrQQ exeBi -- Should we use -dynamic-too instead of compiling twice? useDynToo = dynamicTooSupported && isGhcjsDynamic && doingTH && withStaticExe && null (ghcjsSharedOptions exeBi)@@ -787,9 +786,9 @@ ghcOptProfilingMode = toFlag True, ghcOptExtra = toNubListR (ghcjsProfOptions libBi) }- ghcArgs = if withVanillaLib lbi then vanillaArgs- else if withProfLib lbi then profArgs- else error "libAbiHash: Can't find an enabled library way"+ ghcArgs | withVanillaLib lbi = vanillaArgs+ | withProfLib lbi = profArgs+ | otherwise = error "libAbiHash: Can't find an enabled library way" -- (ghcjsProg, _) <- requireProgram verbosity ghcjsProgram (withPrograms lbi) hash <- getProgramInvocationOutput verbosity
@@ -41,6 +41,7 @@ import Distribution.PackageDescription as PD hiding (Flag) import Distribution.Simple.Compiler hiding (Flag) import Distribution.Simple.Program.GHC+import Distribution.Simple.Program.ResponseFile import Distribution.Simple.Program import Distribution.Simple.PreProcess import Distribution.Simple.Setup@@ -65,7 +66,7 @@ import System.Directory (doesFileExist) import System.FilePath ( (</>), (<.>), normalise, isAbsolute )-import System.IO (hClose, hPutStr, hPutStrLn, hSetEncoding, utf8)+import System.IO (hClose, hPutStrLn, hSetEncoding, utf8) -- ------------------------------------------------------------------------------ -- Types@@ -83,6 +84,8 @@ -- ^ Ignore export lists in modules? argLinkSource :: Flag (Template,Template,Template), -- ^ (Template for modules, template for symbols, template for lines).+ argLinkedSource :: Flag Bool,+ -- ^ Generate hyperlinked sources argCssFile :: Flag FilePath, -- ^ Optional custom CSS file. argContents :: Flag String,@@ -98,7 +101,7 @@ -- ^ Page title, required. argPrologue :: Flag String, -- ^ Prologue text, required.- argGhcOptions :: Flag (GhcOptions, Version),+ argGhcOptions :: GhcOptions, -- ^ Additional flags to pass to GHC. argGhcLibDir :: Flag FilePath, -- ^ To find the correct GHC, required.@@ -148,7 +151,7 @@ , haddockHtml = Flag True , haddockHtmlLocation = Flag (pkg_url ++ "/docs") , haddockContents = Flag (toPathTemplate pkg_url)- , haddockHscolour = Flag True+ , haddockLinkedSource = Flag True } pkg_url = "/package/$pkg-$version" flag f = fromFlag $ f flags@@ -184,7 +187,9 @@ -- the tools match the requests, we can proceed - when (flag haddockHscolour) $+ -- We fall back to using HsColour only for versions of Haddock which don't+ -- support '--hyperlinked-sources'.+ when (flag haddockLinkedSource && version < mkVersion [2,17]) $ hscolour' (warn verbosity) haddockTarget pkg_descr lbi suffixes (defaultHscolourFlags `mappend` haddockToHscolour flags) @@ -250,11 +255,12 @@ mempty { argHideModules = (maybe mempty (All . not) $ flagToMaybe (haddockInternal flags), mempty),- argLinkSource = if fromFlag (haddockHscolour flags)+ argLinkSource = if fromFlag (haddockLinkedSource flags) then Flag ("src/%{MODULE/./-}.html" ,"src/%{MODULE/./-}.html#%{NAME}" ,"src/%{MODULE/./-}.html#line-%{LINE}") else NoFlag,+ argLinkedSource = haddockLinkedSource flags, argCssFile = haddockCss flags, argContents = fmap (fromPathTemplate . substPathTemplate env) (haddockContents flags),@@ -265,8 +271,12 @@ [ Hoogle | Flag True <- [haddockHoogle flags] ] of [] -> [ Html ] os -> os,- argOutputDir = maybe mempty Dir . flagToMaybe $ haddockDistPref flags+ argOutputDir = maybe mempty Dir . flagToMaybe $ haddockDistPref flags,++ argGhcOptions = mempty { ghcOptExtra = toNubListR ghcArgs } }+ where+ ghcArgs = fromMaybe [] . lookup "ghc" . haddockProgramArgs $ flags fromPackageDescription :: HaddockTarget -> PackageDescription -> HaddockArgs fromPackageDescription haddockTarget pkg_descr =@@ -331,12 +341,9 @@ then return sharedOpts else die' verbosity $ "Must have vanilla or shared libraries " ++ "enabled in order to run haddock"- ghcVersion <- maybe (die' verbosity "Compiler has no GHC version")- return- (compilerCompatVersion GHC (compiler lbi)) return ifaceArgs {- argGhcOptions = toFlag (opts, ghcVersion),+ argGhcOptions = opts, argTargets = inFiles } @@ -489,18 +496,14 @@ renderedArgs = pflag : renderPureArgs version comp platform args if haddockSupportsResponseFiles then- withTempFileEx tmpFileOpts outputDir "haddock-response.txt" $- \responseFileName hf -> do- when haddockSupportsUTF8 (hSetEncoding hf utf8)- let responseContents =- unlines $ map escapeArg renderedArgs- hPutStr hf responseContents- hClose hf- info verbosity $ responseFileName ++ " contents: <<<"- info verbosity responseContents- info verbosity $ ">>> " ++ responseFileName- let respFile = "@" ++ responseFileName- k ([respFile], result)+ withResponseFile+ verbosity+ tmpFileOpts+ outputDir+ "haddock-response.txt"+ (if haddockSupportsUTF8 then Just utf8 else Nothing)+ renderedArgs+ (\responseFileName -> k (["@" ++ responseFileName], result)) else k (renderedArgs, result) where@@ -515,19 +518,6 @@ pkgstr = display $ packageName pkgid pkgid = arg argPackageName arg f = fromFlag $ f args- -- Support a gcc-like response file syntax. Each separate- -- argument and its possible parameter(s), will be separated in the- -- response file by an actual newline; all other whitespace,- -- single quotes, double quotes, and the character used for escaping- -- (backslash) are escaped. The called program will need to do a similar- -- inverse operation to de-escape and re-constitute the argument list.- escape cs c- | isSpace c- || '\\' == c- || '\'' == c- || '"' == c = c:'\\':cs -- n.b., our caller must reverse the result- | otherwise = c:cs- escapeArg = reverse . foldl' escape [] renderPureArgs :: Version -> Compiler -> Platform -> HaddockArgs -> [String] renderPureArgs version comp platform args = concat@@ -541,6 +531,9 @@ . fromFlag . argPackageName $ args else [] + , [ "--hyperlinked-source" | isVersion 2 17+ , fromFlag . argLinkedSource $ args ]+ , (\(All b,xs) -> bool (map (("--hide=" ++). display) xs) [] b) . argHideModules $ args @@ -571,7 +564,7 @@ id (getAny $ argIgnoreExports args)) . fromFlag . argTitle $ args - , [ "--optghc=" ++ opt | (opts, _ghcVer) <- flagToList (argGhcOptions args)+ , [ "--optghc=" ++ opt | let opts = argGhcOptions args , opt <- renderGhcOptions comp platform opts ] , maybe [] (\l -> ["-B"++l]) $@@ -752,7 +745,8 @@ hscolourBenchmarks = haddockBenchmarks flags, hscolourForeignLibs = haddockForeignLibs flags, hscolourVerbosity = haddockVerbosity flags,- hscolourDistPref = haddockDistPref flags+ hscolourDistPref = haddockDistPref flags,+ hscolourCabalFilePath = haddockCabalFilePath flags } -- ------------------------------------------------------------------------------
@@ -102,13 +102,13 @@ simpleParse versionStr return (name, version) -getExtensions :: Verbosity -> ConfiguredProgram -> IO [(Extension, Compiler.Flag)]+getExtensions :: Verbosity -> ConfiguredProgram -> IO [(Extension, Maybe Compiler.Flag)] getExtensions verbosity prog = do extStrs <- lines `fmap` rawSystemStdout verbosity (programPath prog) ["--supported-extensions"] return- [ (ext, "-X" ++ display ext) | Just ext <- map simpleParse extStrs ]+ [ (ext, Just $ "-X" ++ display ext) | Just ext <- map simpleParse extStrs ] getLanguages :: Verbosity -> ConfiguredProgram -> IO [(Language, Compiler.Flag)] getLanguages verbosity prog = do
@@ -171,7 +171,7 @@ -- install include files for all compilers - they may be needed to compile -- haskell files (using the CPP extension)- installIncludeFiles verbosity lib incPref+ installIncludeFiles verbosity lib lbi buildPref incPref case compilerFlavor (compiler lbi) of GHC -> GHC.installLib verbosity lbi libPref dynlibPref buildPref pkg_descr lib clbi@@ -247,11 +247,13 @@ -- | Install the files listed in install-includes for a library ---installIncludeFiles :: Verbosity -> Library -> FilePath -> IO ()-installIncludeFiles verbosity lib destIncludeDir = do- let relincdirs = "." : filter isRelative (includeDirs lbi)- lbi = libBuildInfo lib- incs <- traverse (findInc relincdirs) (installIncludes lbi)+installIncludeFiles :: Verbosity -> Library -> LocalBuildInfo -> FilePath -> FilePath -> IO ()+installIncludeFiles verbosity lib lbi buildPref destIncludeDir = do+ let relincdirs = "." : filter isRelative (includeDirs libBi)+ libBi = libBuildInfo lib+ incdirs = [ baseDir lbi </> dir | dir <- relincdirs ]+ ++ [ buildPref </> dir | dir <- relincdirs ]+ incs <- traverse (findInc incdirs) (installIncludes libBi) sequence_ [ do createDirectoryIfMissingVerbose verbosity True destDir installOrdinaryFile verbosity srcFile destFile@@ -259,7 +261,7 @@ , let destFile = destIncludeDir </> relFile destDir = takeDirectory destFile ] where-+ baseDir lbi' = fromMaybe "" (takeDirectory <$> cabalFilePath lbi') findInc [] file = die' verbosity ("can't find include file " ++ file) findInc (dir:dirs) file = do let path = dir </> file
@@ -57,8 +57,10 @@ import Distribution.Text import System.Directory (getAppUserDataDirectory)-import System.FilePath ((</>), isPathSeparator, pathSeparator)-import System.FilePath (dropDrive)+import System.FilePath+ ( (</>), isPathSeparator+ , pathSeparator, dropDrive+ , takeDirectory ) #ifdef mingw32_HOST_OS import qualified Prelude@@ -286,19 +288,29 @@ absoluteInstallDirs pkgId libname compilerId copydest platform dirs = (case copydest of CopyTo destdir -> fmap ((destdir </>) . dropDrive)+ CopyToDb dbdir -> fmap (substPrefix "${pkgroot}" (takeDirectory dbdir)) _ -> id) . appendSubdirs (</>) . fmap fromPathTemplate $ substituteInstallDirTemplates env dirs where env = initialPathTemplateEnv pkgId libname compilerId platform+ substPrefix pre root path+ | pre `isPrefixOf` path = root ++ drop (length pre) path+ | otherwise = path -- |The location prefix for the /copy/ command. data CopyDest = NoCopyDest | CopyTo FilePath- deriving (Eq, Show)+ | CopyToDb FilePath+ -- ^ when using the ${pkgroot} as prefix. The CopyToDb will+ -- adjust the paths to be relative to the provided package+ -- database when copying / installing.+ deriving (Eq, Show, Generic)++instance Binary CopyDest -- | Check which of the paths are relative to the installation $prefix. --
@@ -78,16 +78,16 @@ jhcLanguages = [(Haskell98, "")] -- | The flags for the supported extensions-jhcLanguageExtensions :: [(Extension, Flag)]+jhcLanguageExtensions :: [(Extension, Maybe Flag)] jhcLanguageExtensions =- [(EnableExtension TypeSynonymInstances , "")- ,(DisableExtension TypeSynonymInstances , "")- ,(EnableExtension ForeignFunctionInterface , "")- ,(DisableExtension ForeignFunctionInterface , "")- ,(EnableExtension ImplicitPrelude , "") -- Wrong- ,(DisableExtension ImplicitPrelude , "--noprelude")- ,(EnableExtension CPP , "-fcpp")- ,(DisableExtension CPP , "-fno-cpp")+ [(EnableExtension TypeSynonymInstances , Nothing)+ ,(DisableExtension TypeSynonymInstances , Nothing)+ ,(EnableExtension ForeignFunctionInterface , Nothing)+ ,(DisableExtension ForeignFunctionInterface , Nothing)+ ,(EnableExtension ImplicitPrelude , Nothing) -- Wrong+ ,(DisableExtension ImplicitPrelude , Just "--noprelude")+ ,(EnableExtension CPP , Just "-fcpp")+ ,(DisableExtension CPP , Just "-fno-cpp") ] getInstalledPackages :: Verbosity -> PackageDBStack -> ProgramDb
@@ -118,7 +118,7 @@ -> ProgramDb configureToolchain lhcProg = addKnownProgram gccProgram {- programFindLocation = findProg gccProgram (baseDir </> "gcc.exe"),+ programFindLocation = findProg gccProgram (base_dir </> "gcc.exe"), programPostConf = configureGcc } . addKnownProgram ldProgram {@@ -127,9 +127,9 @@ } where compilerDir = takeDirectory (programPath lhcProg)- baseDir = takeDirectory compilerDir- gccLibDir = baseDir </> "gcc-lib"- includeDir = baseDir </> "include" </> "mingw"+ base_dir = takeDirectory compilerDir+ gccLibDir = base_dir </> "gcc-lib"+ includeDir = base_dir </> "include" </> "mingw" isWindows = case buildOS of Windows -> True; _ -> False -- on Windows finding and configuring ghc's gcc and ld is a bit special@@ -183,7 +183,7 @@ getLanguages _ _ = return [(Haskell98, "")] --FIXME: does lhc support -XHaskell98 flag? from what version? -getExtensions :: Verbosity -> ConfiguredProgram -> IO [(Extension, Flag)]+getExtensions :: Verbosity -> ConfiguredProgram -> IO [(Extension, Maybe Flag)] getExtensions verbosity lhcProg = do exts <- rawSystemStdout verbosity (programPath lhcProg) ["--supported-languages"]@@ -194,7 +194,7 @@ case ext of UnknownExtension _ -> simpleParse str _ -> return ext- return $ [ (ext, "-X" ++ display ext)+ return $ [ (ext, Just $ "-X" ++ display ext) | Just ext <- map readExtension (lines exts) ] getInstalledPackages :: Verbosity -> PackageDBStack -> ProgramDb@@ -306,7 +306,7 @@ (compiler lbi) (withProfLib lbi) (libBuildInfo lib) let libTargetDir = pref- forceVanillaLib = EnableExtension TemplateHaskell `elem` allExtensions libBi+ forceVanillaLib = usesTemplateHaskellOrQQ libBi -- TH always needs vanilla libs, even when building for profiling createDirectoryIfMissingVerbose verbosity True libTargetDir@@ -515,7 +515,7 @@ -- with profiling. This is because the code that TH needs to -- run at compile time needs to be the vanilla ABI so it can -- be loaded up and run by the compiler.- when (withProfExe lbi && EnableExtension TemplateHaskell `elem` allExtensions exeBi)+ when (withProfExe lbi && usesTemplateHaskellOrQQ exeBi) (runGhcProg $ lhcWrap (binArgs False False)) runGhcProg (binArgs True (withProfExe lbi))
@@ -303,7 +303,7 @@ . List.deleteBy (\_ pkg -> installedUnitId pkg == ipkgid) undefined -- | Backwards compatibility wrapper for Cabal pre-1.24.-{-# DEPRECATED deleteInstalledPackageId "Use deleteUnitId instead" #-}+{-# DEPRECATED deleteInstalledPackageId "Use deleteUnitId instead. This symbol will be removed in Cabal-3.0 (est. Oct 2018)." #-} deleteInstalledPackageId :: UnitId -> InstalledPackageIndex -> InstalledPackageIndex deleteInstalledPackageId = deleteUnitId@@ -419,7 +419,7 @@ Map.lookup (newSimpleUnitId cid) (unitIdIndex index) -- | Backwards compatibility for Cabal pre-1.24.-{-# DEPRECATED lookupInstalledPackageId "Use lookupUnitId instead" #-}+{-# DEPRECATED lookupInstalledPackageId "Use lookupUnitId instead. This symbol will be removed in Cabal-3.0 (est. Oct 2018)." #-} lookupInstalledPackageId :: PackageIndex a -> UnitId -> Maybe a lookupInstalledPackageId = lookupUnitId
@@ -421,6 +421,7 @@ -- Options from the current package: ++ [ "--cflag=-I" ++ dir | dir <- PD.includeDirs bi ]+ ++ [ "--cflag=-I" ++ buildDir lbi </> dir | dir <- PD.includeDirs bi ] ++ [ "--cflag=" ++ opt | opt <- PD.ccOptions bi ++ PD.cppOptions bi ] ++ [ "--cflag=" ++ opt | opt <-@@ -466,7 +467,7 @@ _ -> id -- We don't link in the actual Haskell libraries of our dependencies, so -- the -u flags in the ldOptions of the rts package mean linking fails on- -- OS X (it's ld is a tad stricter than gnu ld). Thus we remove the+ -- OS X (its ld is a tad stricter than gnu ld). Thus we remove the -- ldOptions for GHC's rts package: hackRtsPackage index = case PackageIndex.lookupPackageName index (mkPackageName "rts") of
@@ -200,42 +200,41 @@ -- Deprecated aliases -- -{-# DEPRECATED rawSystemProgram "use runProgram instead" #-}+{-# DEPRECATED rawSystemProgram "use runProgram instead. This symbol will be removed in Cabal-3.0 (est. Oct 2018)." #-} rawSystemProgram :: Verbosity -> ConfiguredProgram -> [ProgArg] -> IO () rawSystemProgram = runProgram -{-# DEPRECATED rawSystemProgramStdout "use getProgramOutput instead" #-}+{-# DEPRECATED rawSystemProgramStdout "use getProgramOutput instead. This symbol will be removed in Cabal-3.0 (est. Oct 2018)." #-} rawSystemProgramStdout :: Verbosity -> ConfiguredProgram -> [ProgArg] -> IO String rawSystemProgramStdout = getProgramOutput -{-# DEPRECATED rawSystemProgramConf "use runDbProgram instead" #-}+{-# DEPRECATED rawSystemProgramConf "use runDbProgram instead. This symbol will be removed in Cabal-3.0 (est. Oct 2018)." #-} rawSystemProgramConf :: Verbosity -> Program -> ProgramConfiguration -> [ProgArg] -> IO () rawSystemProgramConf = runDbProgram -{-# DEPRECATED rawSystemProgramStdoutConf "use getDbProgramOutput instead" #-}+{-# DEPRECATED rawSystemProgramStdoutConf "use getDbProgramOutput instead. This symbol will be removed in Cabal-3.0 (est. Oct 2018)." #-} rawSystemProgramStdoutConf :: Verbosity -> Program -> ProgramConfiguration -> [ProgArg] -> IO String rawSystemProgramStdoutConf = getDbProgramOutput -{-# DEPRECATED ProgramConfiguration "use ProgramDb instead" #-}+{-# DEPRECATED ProgramConfiguration "use ProgramDb instead. This symbol will be removed in Cabal-3.0 (est. Oct 2018)." #-} type ProgramConfiguration = ProgramDb -{-# DEPRECATED emptyProgramConfiguration "use emptyProgramDb instead" #-}-{-# DEPRECATED defaultProgramConfiguration "use defaultProgramDb instead" #-}+{-# DEPRECATED emptyProgramConfiguration "use emptyProgramDb instead. This symbol will be removed in Cabal-3.0 (est. Oct 2018)." #-}+{-# DEPRECATED defaultProgramConfiguration "use defaultProgramDb instead. This symbol will be removed in Cabal-3.0 (est. Oct 2018)." #-} emptyProgramConfiguration, defaultProgramConfiguration :: ProgramConfiguration emptyProgramConfiguration = emptyProgramDb defaultProgramConfiguration = defaultProgramDb -{-# DEPRECATED restoreProgramConfiguration- "use restoreProgramDb instead" #-}+{-# DEPRECATED restoreProgramConfiguration "use restoreProgramDb instead. This symbol will be removed in Cabal-3.0 (est. Oct 2018)." #-} restoreProgramConfiguration :: [Program] -> ProgramConfiguration -> ProgramConfiguration restoreProgramConfiguration = restoreProgramDb -{-# DEPRECATED findProgramOnPath "use findProgramOnSearchPath instead" #-}+{-# DEPRECATED findProgramOnPath "use findProgramOnSearchPath instead. This symbol will be removed in Cabal-3.0 (est. Oct 2018)." #-} findProgramOnPath :: String -> Verbosity -> IO (Maybe FilePath) findProgramOnPath name verbosity = fmap (fmap fst) $
@@ -24,14 +24,19 @@ import qualified Data.ByteString as BS import qualified Data.ByteString.Char8 as BS8 import Distribution.Compat.CopyFile (filesEqual)+import Distribution.Simple.Compiler (arResponseFilesSupported) import Distribution.Simple.LocalBuildInfo (LocalBuildInfo(..)) import Distribution.Simple.Program- ( arProgram, requireProgram )+ ( ProgramInvocation, arProgram, requireProgram )+import Distribution.Simple.Program.ResponseFile+ ( withResponseFile ) import Distribution.Simple.Program.Run ( programInvocation, multiStageProgramInvocation , runProgramInvocation )+import Distribution.Simple.Setup+ ( fromFlagOrDefault, configUseResponseFiles ) import Distribution.Simple.Utils- ( dieWithLocation', withTempDirectory )+ ( defaultTempFileOptions, dieWithLocation', withTempDirectory ) import Distribution.System ( Arch(..), OS(..), Platform(..) ) import Distribution.Verbosity@@ -83,10 +88,25 @@ middle = initial final = programInvocation ar (finalArgs ++ extraArgs) - sequence_+ oldVersionManualOverride =+ fromFlagOrDefault False $ configUseResponseFiles $ configFlags lbi+ responseArgumentsNotSupported =+ not (arResponseFilesSupported (compiler lbi))++ invokeWithResponesFile :: FilePath -> ProgramInvocation+ invokeWithResponesFile atFile =+ programInvocation ar $+ simpleArgs ++ extraArgs ++ ['@' : atFile]++ if oldVersionManualOverride || responseArgumentsNotSupported+ then+ sequence_ [ runProgramInvocation verbosity inv | inv <- multiStageProgramInvocation simple (initial, middle, final) files ]+ else+ withResponseFile verbosity defaultTempFileOptions tmpDir "ar.rsp" Nothing files $+ \path -> runProgramInvocation verbosity $ invokeWithResponesFile path unless (hostArch == Arm -- See #1537 || hostOS == AIX) $ -- AIX uses its own "ar" format variant@@ -97,9 +117,10 @@ where progDb = withPrograms lbi Platform hostArch hostOS = hostPlatform lbi- verbosityOpts v | v >= deafening = ["-v"]- | v >= verbose = []- | otherwise = ["-c"]+ verbosityOpts v+ | v >= deafening = ["-v"]+ | v >= verbose = []+ | otherwise = ["-c"] -- Do not warn if library had to be created. -- | @ar@ by default includes various metadata for each object file in their -- respective headers, so the output can differ for the same inputs, making
@@ -14,6 +14,8 @@ runGHC, + packageDbArgsDb,+ ) where import Prelude ()@@ -24,6 +26,7 @@ import Distribution.PackageDescription hiding (Flag) import Distribution.ModuleName import Distribution.Simple.Compiler hiding (Flag)+import qualified Distribution.Simple.Compiler as Compiler (Flag) import Distribution.Simple.Setup import Distribution.Simple.Program.Types import Distribution.Simple.Program.Run@@ -68,7 +71,7 @@ ghcOptOutputDynFile :: Flag FilePath, -- | Start with an empty search path for Haskell source files;- -- the @ghc -i@ flag (@-i@ on it's own with no path argument).+ -- the @ghc -i@ flag (@-i@ on its own with no path argument). ghcOptSourcePathClear :: Flag Bool, -- | Search path for Haskell source files; the @ghc -i@ flag.@@ -152,6 +155,9 @@ -- | Options to pass through to the C compiler; the @ghc -optc@ flag. ghcOptCcOptions :: NubListR String, + -- | Options to pass through to the C++ compiler.+ ghcOptCxxOptions :: NubListR String,+ -- | Options to pass through to CPP; the @ghc -optP@ flag. ghcOptCppOptions :: NubListR String, @@ -175,7 +181,7 @@ -- | A GHC version-dependent mapping of extensions to flags. This must be -- set to be able to make use of the 'ghcOptExtensions'.- ghcOptExtensionMap :: Map Extension String,+ ghcOptExtensionMap :: Map Extension (Maybe Compiler.Flag), ---------------- -- Compilation@@ -192,6 +198,9 @@ -- | Automatically add profiling cost centers; the @ghc -fprof-auto*@ flags. ghcOptProfilingAuto :: Flag GhcProfAuto, + -- | Use the \"split sections\" feature; the @ghc -split-sections@ flag.+ ghcOptSplitSections :: Flag Bool,+ -- | Use the \"split object files\" feature; the @ghc -split-objs@ flag. ghcOptSplitObjs :: Flag Bool, @@ -345,6 +354,7 @@ | flagProfAuto implInfo -> ["-fprof-auto-exported"] | otherwise -> ["-auto"] + , [ "-split-sections" | flagBool ghcOptSplitSections ] , [ "-split-objs" | flagBool ghcOptSplitObjs ] , case flagToMaybe (ghcOptHPCDir opts) of@@ -390,13 +400,16 @@ , [ "-i" ++ dir | dir <- flags ghcOptSourcePath ] --------------------- -- C and CPP stuff + --------------------+ -- CPP, C, and C++ stuff+ , [ "-I" ++ dir | dir <- flags ghcOptCppIncludePath ] , [ "-optP" ++ opt | opt <- flags ghcOptCppOptions ] , concat [ [ "-optP-include", "-optP" ++ inc] | inc <- flags ghcOptCppIncludes ] , [ "-optc" ++ opt | opt <- flags ghcOptCcOptions ]+ , [ "-optc" ++ opt | opt <- flags ghcOptCxxOptions ] ----------------- -- Linker stuff@@ -459,11 +472,15 @@ then [ "-X" ++ display lang | lang <- flag ghcOptLanguage ] else [] - , [ case Map.lookup ext (ghcOptExtensionMap opts) of- Just arg -> arg- Nothing -> error $ "Distribution.Simple.Program.GHC.renderGhcOptions: "- ++ display ext ++ " not present in ghcOptExtensionMap."- | ext <- flags ghcOptExtensions ]+ , [ ext'+ | ext <- flags ghcOptExtensions+ , ext' <- case Map.lookup ext (ghcOptExtensionMap opts) of+ Just (Just arg) -> [arg]+ Just Nothing -> []+ Nothing ->+ error $ "Distribution.Simple.Program.GHC.renderGhcOptions: "+ ++ display ext ++ " not present in ghcOptExtensionMap."+ ] ---------------- -- GHCi
@@ -46,7 +46,6 @@ import Distribution.Compat.Prelude hiding (init) import Distribution.InstalledPackageInfo-import Distribution.ParseUtils import Distribution.Simple.Compiler import Distribution.Simple.Program.Types import Distribution.Simple.Program.Run@@ -259,16 +258,13 @@ parsePackages :: String -> Either [InstalledPackageInfo] [PError] parsePackages str =- let parsed = map parseInstalledPackageInfo' (splitPkgs str)+ let parsed = map parseInstalledPackageInfo (splitPkgs str) in case [ msg | ParseFailed msg <- parsed ] of [] -> Left [ setUnitId . maybe id mungePackagePaths (pkgRoot pkg) $ pkg | ParseOk _ pkg <- parsed ] msgs -> Right msgs- where- parseInstalledPackageInfo' =- parseFieldsFlat fieldsInstalledPackageInfo emptyInstalledPackageInfo --TODO: this could be a lot faster. We're doing normaliseLineEndings twice -- and converting back and forth with lines/unlines.
@@ -18,24 +18,32 @@ import Prelude () import Distribution.Compat.Prelude -import Distribution.Simple.Program.Types- ( ConfiguredProgram(..) )+import Distribution.Simple.Compiler (arResponseFilesSupported)+import Distribution.Simple.LocalBuildInfo (LocalBuildInfo(..))+import Distribution.Simple.Program.ResponseFile+ ( withResponseFile ) import Distribution.Simple.Program.Run- ( programInvocation, multiStageProgramInvocation+ ( ProgramInvocation, programInvocation, multiStageProgramInvocation , runProgramInvocation )+import Distribution.Simple.Program.Types+ ( ConfiguredProgram(..) )+import Distribution.Simple.Setup+ ( fromFlagOrDefault, configUseResponseFiles )+import Distribution.Simple.Utils+ ( defaultTempFileOptions ) import Distribution.Verbosity ( Verbosity ) import System.Directory ( renameFile ) import System.FilePath- ( (<.>) )+ ( (<.>), takeDirectory ) -- | Call @ld -r@ to link a bunch of object files together. ---combineObjectFiles :: Verbosity -> ConfiguredProgram+combineObjectFiles :: Verbosity -> LocalBuildInfo -> ConfiguredProgram -> FilePath -> [FilePath] -> IO ()-combineObjectFiles verbosity ld target files =+combineObjectFiles verbosity lbi ld target files = do -- Unlike "ar", the "ld" tool is not designed to be used with xargs. That is, -- if we have more object files than fit on a single command line then we@@ -53,16 +61,33 @@ middle = programInvocation ld middleArgs final = programInvocation ld finalArgs - invocations = multiStageProgramInvocation- simple (initial, middle, final) files+ targetDir = takeDirectory target - in run invocations+ invokeWithResponesFile :: FilePath -> ProgramInvocation+ invokeWithResponesFile atFile =+ programInvocation ld $ simpleArgs ++ ['@' : atFile] + oldVersionManualOverride =+ fromFlagOrDefault False $ configUseResponseFiles $ configFlags lbi+ -- Whether ghc's ar supports response files is a good proxy for+ -- whether ghc's ld supports them as well.+ responseArgumentsNotSupported =+ not (arResponseFilesSupported (compiler lbi))++ if oldVersionManualOverride || responseArgumentsNotSupported+ then+ run $ multiStageProgramInvocation simple (initial, middle, final) files+ else+ withResponseFile verbosity defaultTempFileOptions targetDir "ld.rsp" Nothing files $+ \path -> runProgramInvocation verbosity $ invokeWithResponesFile path+ where tmpfile = target <.> "tmp" -- perhaps should use a proper temp file + run :: [ProgramInvocation] -> IO () run [] = return () run [inv] = runProgramInvocation verbosity inv run (inv:invs) = do runProgramInvocation verbosity inv renameFile target tmpfile run invs+
@@ -0,0 +1,60 @@+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE RankNTypes #-}+----------------------------------------------------------------------------+-- |+-- Module : Distribution.Simple.Program.ResponseFile+-- Copyright : (c) Sergey Vinokurov 2017+-- License : BSD3-style+--+-- Maintainer : cabal-devel@haskell.org+-- Created : 23 July 2017+----------------------------------------------------------------------------++module Distribution.Simple.Program.ResponseFile (withResponseFile) where++import Prelude ()+import System.IO (TextEncoding, hSetEncoding, hPutStr, hClose)++import Distribution.Compat.Prelude+import Distribution.Simple.Utils (TempFileOptions, withTempFileEx, debug)+import Distribution.Verbosity++withResponseFile+ :: Verbosity+ -> TempFileOptions+ -> FilePath -- ^ Working directory to create response file in.+ -> FilePath -- ^ Template for response file name.+ -> Maybe TextEncoding -- ^ Encoding to use for response file contents.+ -> [String] -- ^ Arguments to put into response file.+ -> (FilePath -> IO a)+ -> IO a+withResponseFile verbosity tmpFileOpts workDir fileNameTemplate encoding arguments f =+ withTempFileEx tmpFileOpts workDir fileNameTemplate $ \responseFileName hf -> do+ traverse_ (hSetEncoding hf) encoding+ let responseContents = unlines $ map escapeResponseFileArg arguments+ hPutStr hf responseContents+ hClose hf+ debug verbosity $ responseFileName ++ " contents: <<<"+ debug verbosity responseContents+ debug verbosity $ ">>> " ++ responseFileName+ f responseFileName++-- Support a gcc-like response file syntax. Each separate+-- argument and its possible parameter(s), will be separated in the+-- response file by an actual newline; all other whitespace,+-- single quotes, double quotes, and the character used for escaping+-- (backslash) are escaped. The called program will need to do a similar+-- inverse operation to de-escape and re-constitute the argument list.+escapeResponseFileArg :: String -> String+escapeResponseFileArg = reverse . foldl' escape []+ where+ escape :: String -> Char -> String+ escape cs c =+ case c of+ '\\' -> c:'\\':cs+ '\'' -> c:'\\':cs+ '"' -> c:'\\':cs+ _ | isSpace c -> c:'\\':cs+ | otherwise -> c:cs++
@@ -22,6 +22,7 @@ runProgramInvocation, getProgramInvocationOutput,+ getProgramInvocationOutputAndErrors, getEffectiveEnvironment, ) where@@ -61,6 +62,10 @@ data IOEncoding = IOEncodingText -- locale mode text | IOEncodingUTF8 -- always utf8 +encodeToIOData :: IOEncoding -> String -> IOData+encodeToIOData IOEncodingText = IODataText+encodeToIOData IOEncodingUTF8 = IODataBinary . toUTF8LBS+ emptyProgramInvocation :: ProgramInvocation emptyProgramInvocation = ProgramInvocation {@@ -137,18 +142,23 @@ (_, errors, exitCode) <- rawSystemStdInOut verbosity path args mcwd menv- (Just input) True+ (Just input) IODataModeBinary when (exitCode /= ExitSuccess) $ die' verbosity $ "'" ++ path ++ "' exited with an error:\n" ++ errors where- input = case encoding of- IOEncodingText -> (inputStr, False)- IOEncodingUTF8 -> (toUTF8 inputStr, True) -- use binary mode for- -- utf8-+ input = encodeToIOData encoding inputStr getProgramInvocationOutput :: Verbosity -> ProgramInvocation -> IO String-getProgramInvocationOutput verbosity+getProgramInvocationOutput verbosity inv = do+ (output, errors, exitCode) <- getProgramInvocationOutputAndErrors verbosity inv+ when (exitCode /= ExitSuccess) $+ die' verbosity $ "'" ++ progInvokePath inv ++ "' exited with an error:\n" ++ errors+ return output+++getProgramInvocationOutputAndErrors :: Verbosity -> ProgramInvocation+ -> IO (String, String, ExitCode)+getProgramInvocationOutputAndErrors verbosity ProgramInvocation { progInvokePath = path, progInvokeArgs = args,@@ -158,27 +168,21 @@ progInvokeInput = minputStr, progInvokeOutputEncoding = encoding } = do- let utf8 = case encoding of IOEncodingUTF8 -> True; _ -> False- decode | utf8 = fromUTF8 . normaliseLineEndings- | otherwise = id+ let mode = case encoding of IOEncodingUTF8 -> IODataModeBinary+ IOEncodingText -> IODataModeText++ decode (IODataBinary b) = normaliseLineEndings (fromUTF8LBS b)+ decode (IODataText s) = s+ pathOverride <- getExtraPathEnv envOverrides extraPath menv <- getEffectiveEnvironment (envOverrides ++ pathOverride) (output, errors, exitCode) <- rawSystemStdInOut verbosity path args mcwd menv- input utf8- when (exitCode /= ExitSuccess) $- die' verbosity $ "'" ++ path ++ "' exited with an error:\n" ++ errors- return (decode output)+ input mode+ return (decode output, errors, exitCode) where- input =- case minputStr of- Nothing -> Nothing- Just inputStr -> Just $- case encoding of- IOEncodingText -> (inputStr, False)- IOEncodingUTF8 -> (toUTF8 inputStr, True) -- use binary mode for utf8-+ input = encodeToIOData encoding <$> minputStr getExtraPathEnv :: [(String, Maybe String)] -> [FilePath] -> NoCallStackIO [(String, Maybe String)] getExtraPathEnv _ [] = return []@@ -243,28 +247,28 @@ [c] -> [ simple `appendArgs` c ] - [c,c'] -> [ initial `appendArgs` c ]- ++ [ final `appendArgs` c']- (c:cs) -> [ initial `appendArgs` c ] ++ [ middle `appendArgs` c'| c' <- init cs ] ++ [ final `appendArgs` c'| let c' = last cs ] where+ appendArgs :: ProgramInvocation -> [String] -> ProgramInvocation inv `appendArgs` as = inv { progInvokeArgs = progInvokeArgs inv ++ as } + splitChunks :: Int -> [[a]] -> [[[a]]] splitChunks len = unfoldr $ \s -> if null s then Nothing else Just (chunk len s) + chunk :: Int -> [[a]] -> ([[a]], [[a]]) chunk len (s:_) | length s >= len = error toolong chunk len ss = chunk' [] len ss - chunk' acc _ [] = (reverse acc,[])+ chunk' :: [[a]] -> Int -> [[a]] -> ([[a]], [[a]]) chunk' acc len (s:ss) | len' < len = chunk' (s:acc) (len-len'-1) ss- | otherwise = (reverse acc, s:ss) where len' = length s+ chunk' acc _ ss = (reverse acc, ss) toolong = "multiStageProgramInvocation: a single program arg is larger " ++ "than the maximum command line length!"
@@ -74,6 +74,7 @@ import Distribution.Simple.Setup import Distribution.PackageDescription import Distribution.Package+import Distribution.License (licenseToSPDX, licenseFromSPDX) import qualified Distribution.InstalledPackageInfo as IPI import Distribution.InstalledPackageInfo (InstalledPackageInfo) import Distribution.Simple.Utils@@ -407,7 +408,11 @@ IPI.instantiatedWith = componentInstantiatedWith clbi, IPI.sourceLibName = libName lib, IPI.compatPackageKey = componentCompatPackageKey clbi,- IPI.license = license pkg,+ -- If GHC >= 8.4 we register with SDPX, otherwise with legacy license+ IPI.license =+ if ghc84+ then Left $ either id licenseToSPDX $ licenseRaw pkg+ else Right $ either licenseFromSPDX id $ licenseRaw pkg, IPI.copyright = copyright pkg, IPI.maintainer = maintainer pkg, IPI.author = author pkg,@@ -420,16 +425,19 @@ IPI.abiHash = abi_hash, IPI.indefinite = componentIsIndefinite clbi, IPI.exposed = libExposed lib,- IPI.exposedModules = componentExposedModules clbi,+ IPI.exposedModules = componentExposedModules clbi+ -- add virtual modules into the list of exposed modules for the+ -- package database as well.+ ++ map (\name -> IPI.ExposedModule name Nothing) (virtualModules bi), IPI.hiddenModules = otherModules bi, IPI.trusted = IPI.trusted IPI.emptyInstalledPackageInfo, IPI.importDirs = [ libdir installDirs | hasModules ], IPI.libraryDirs = libdirs, IPI.libraryDynDirs = dynlibdirs, IPI.dataDir = datadir installDirs,- IPI.hsLibraries = if hasLibrary- then [getHSLibraryName (componentUnitId clbi)]- else [],+ IPI.hsLibraries = (if hasLibrary+ then [getHSLibraryName (componentUnitId clbi)]+ else []) ++ extraBundledLibs bi, IPI.extraLibraries = extraLibs bi, IPI.extraGHCiLibraries = extraGHCiLibs bi, IPI.includeDirs = absinc ++ adjustRelIncDirs relinc,@@ -447,6 +455,10 @@ IPI.pkgRoot = Nothing } where+ ghc84 = case compilerId $ compiler lbi of+ CompilerId GHC v -> v >= mkVersion [8, 4]+ _ -> False+ bi = libBuildInfo lib --TODO: unclear what the root cause of the -- duplication is, but we nub it here for now:@@ -462,6 +474,9 @@ hasModules = not $ null (allLibModules lib clbi) comp = compiler lbi hasLibrary = (hasModules || not (null (cSources bi))+ || not (null (asmSources bi))+ || not (null (cmmSources bi))+ || not (null (cxxSources bi)) || (not (null (jsSources bi)) && compilerFlavor comp == GHCJS)) && not (componentIsIndefinite clbi)
@@ -37,8 +37,6 @@ GlobalFlags(..), emptyGlobalFlags, defaultGlobalFlags, globalCommand, ConfigFlags(..), emptyConfigFlags, defaultConfigFlags, configureCommand, configPrograms,- RelaxDeps(..), RelaxedDep(..), isRelaxDeps,- AllowNewer(..), AllowOlder(..), configAbsolutePaths, readPackageDbList, showPackageDbList, CopyFlags(..), emptyCopyFlags, defaultCopyFlags, copyCommand, InstallFlags(..), emptyInstallFlags, defaultInstallFlags, installCommand,@@ -83,7 +81,10 @@ import Distribution.Compiler import Distribution.ReadE import Distribution.Text+import Distribution.Parsec.Class+import Distribution.Pretty import qualified Distribution.Compat.ReadP as Parse+import qualified Distribution.Compat.CharParsing as P import Distribution.ParseUtils (readPToMaybe) import qualified Text.PrettyPrint as Disp import Distribution.ModuleName@@ -273,92 +274,6 @@ -- * Config flags -- ------------------------------------------------------------ --- | Generic data type for policy when relaxing bounds in dependencies.--- Don't use this directly: use 'AllowOlder' or 'AllowNewer' depending--- on whether or not you are relaxing an lower or upper bound--- (respectively).-data RelaxDeps =-- -- | Default: honor the upper bounds in all dependencies, never choose- -- versions newer than allowed.- RelaxDepsNone-- -- | Ignore upper bounds in dependencies on the given packages.- | RelaxDepsSome [RelaxedDep]-- -- | Ignore upper bounds in dependencies on all packages.- | RelaxDepsAll- deriving (Eq, Read, Show, Generic)---- | 'RelaxDeps' in the context of upper bounds (i.e. for @--allow-newer@ flag)-newtype AllowNewer = AllowNewer { unAllowNewer :: RelaxDeps }- deriving (Eq, Read, Show, Generic)---- | 'RelaxDeps' in the context of lower bounds (i.e. for @--allow-older@ flag)-newtype AllowOlder = AllowOlder { unAllowOlder :: RelaxDeps }- deriving (Eq, Read, Show, Generic)---- | Dependencies can be relaxed either for all packages in the install plan, or--- only for some packages.-data RelaxedDep = RelaxedDep PackageName- | RelaxedDepScoped PackageName PackageName- deriving (Eq, Read, Show, Generic)--instance Text RelaxedDep where- disp (RelaxedDep p0) = disp p0- disp (RelaxedDepScoped p0 p1) = disp p0 Disp.<> Disp.colon Disp.<> disp p1-- parse = scopedP Parse.<++ normalP- where- scopedP = RelaxedDepScoped `fmap` parse <* Parse.char ':' <*> parse- normalP = RelaxedDep `fmap` parse--instance Binary RelaxDeps-instance Binary RelaxedDep-instance Binary AllowNewer-instance Binary AllowOlder--instance Semigroup RelaxDeps where- RelaxDepsNone <> r = r- l@RelaxDepsAll <> _ = l- l@(RelaxDepsSome _) <> RelaxDepsNone = l- (RelaxDepsSome _) <> r@RelaxDepsAll = r- (RelaxDepsSome a) <> (RelaxDepsSome b) = RelaxDepsSome (a ++ b)--instance Monoid RelaxDeps where- mempty = RelaxDepsNone- mappend = (<>)--instance Semigroup AllowNewer where- AllowNewer x <> AllowNewer y = AllowNewer (x <> y)--instance Semigroup AllowOlder where- AllowOlder x <> AllowOlder y = AllowOlder (x <> y)--instance Monoid AllowNewer where- mempty = AllowNewer mempty- mappend = (<>)--instance Monoid AllowOlder where- mempty = AllowOlder mempty- mappend = (<>)---- | Convert 'RelaxDeps' to a boolean.-isRelaxDeps :: RelaxDeps -> Bool-isRelaxDeps RelaxDepsNone = False-isRelaxDeps (RelaxDepsSome _) = True-isRelaxDeps RelaxDepsAll = True--relaxDepsParser :: Parse.ReadP r (Maybe RelaxDeps)-relaxDepsParser =- (Just . RelaxDepsSome) `fmap` Parse.sepBy1 parse (Parse.char ',')--relaxDepsPrinter :: (Maybe RelaxDeps) -> [Maybe String]-relaxDepsPrinter Nothing = []-relaxDepsPrinter (Just RelaxDepsNone) = []-relaxDepsPrinter (Just RelaxDepsAll) = [Nothing]-relaxDepsPrinter (Just (RelaxDepsSome pkgs)) = map (Just . display) $ pkgs- -- | Flags to @configure@ command. -- -- IMPORTANT: every time a new flag is added, 'D.C.Setup.filterConfigureFlags'@@ -387,6 +302,7 @@ configVanillaLib :: Flag Bool, -- ^Enable vanilla library configProfLib :: Flag Bool, -- ^Enable profiling in the library configSharedLib :: Flag Bool, -- ^Build shared library+ configStaticLib :: Flag Bool, -- ^Build static library configDynExe :: Flag Bool, -- ^Enable dynamic linking of the -- executables. configProfExe :: Flag Bool, -- ^Enable profiling in the@@ -420,6 +336,7 @@ configUserInstall :: Flag Bool, -- ^The --user\/--global flag configPackageDBs :: [Maybe PackageDB], -- ^Which package DBs to use configGHCiLib :: Flag Bool, -- ^Enable compiling library for GHCi+ configSplitSections :: Flag Bool, -- ^Enable -split-sections with GHC configSplitObjs :: Flag Bool, -- ^Enable -split-objs with GHC configStripExes :: Flag Bool, -- ^Enable executable stripping configStripLibs :: Flag Bool, -- ^Enable library stripping@@ -443,10 +360,9 @@ -- ^Halt and show an error message indicating an error in flag assignment configRelocatable :: Flag Bool, -- ^ Enable relocatable package built configDebugInfo :: Flag DebugInfoLevel, -- ^ Emit debug info.- configAllowOlder :: Maybe AllowOlder, -- ^ dual to 'configAllowNewer'- configAllowNewer :: Maybe AllowNewer- -- ^ Ignore upper bounds on all or some dependencies. Wrapped in 'Maybe' to- -- distinguish between "default" and "explicitly disabled".+ configUseResponseFiles :: Flag Bool+ -- ^ Whether to use response files at all. They're used for such tools+ -- as haddock, or or ld. } deriving (Generic, Read, Show) @@ -469,6 +385,7 @@ && equal configVanillaLib && equal configProfLib && equal configSharedLib+ && equal configStaticLib && equal configDynExe && equal configProfExe && equal configProf@@ -489,6 +406,7 @@ && equal configUserInstall && equal configPackageDBs && equal configGHCiLib+ && equal configSplitSections && equal configSplitObjs && equal configStripExes && equal configStripLibs@@ -503,6 +421,7 @@ && equal configFlagError && equal configRelocatable && equal configDebugInfo+ && equal configUseResponseFiles where equal f = on (==) f a b @@ -520,6 +439,7 @@ configVanillaLib = Flag True, configProfLib = NoFlag, configSharedLib = NoFlag,+ configStaticLib = NoFlag, configDynExe = Flag False, configProfExe = NoFlag, configProf = NoFlag,@@ -538,6 +458,7 @@ #else configGHCiLib = NoFlag, #endif+ configSplitSections = Flag False, configSplitObjs = Flag False, -- takes longer, so turn off by default configStripExes = Flag True, configStripLibs = Flag True,@@ -549,7 +470,7 @@ configFlagError = NoFlag, configRelocatable = Flag False, configDebugInfo = Flag NoDebugInfo,- configAllowNewer = Nothing+ configUseResponseFiles = NoFlag } configureCommand :: ProgramDb -> CommandUI ConfigFlags@@ -577,12 +498,12 @@ } -- | Inverse to 'dispModSubstEntry'.-parseModSubstEntry :: Parse.ReadP r (ModuleName, Module)-parseModSubstEntry =- do k <- parse- _ <- Parse.char '='- v <- parse- return (k, v)+parsecModSubstEntry :: ParsecParser (ModuleName, Module)+parsecModSubstEntry = do+ k <- parsec+ _ <- P.char '='+ v <- parsec+ return (k, v) -- | Pretty-print a single entry of a module substitution. dispModSubstEntry :: (ModuleName, Module) -> Disp.Doc@@ -650,6 +571,11 @@ configSharedLib (\v flags -> flags { configSharedLib = v }) (boolOpt [] []) + ,option "" ["static"]+ "Static library"+ configStaticLib (\v flags -> flags { configStaticLib = v })+ (boolOpt [] [])+ ,option "" ["executable-dynamic"] "Executable dynamic linking" configDynExe (\v flags -> flags { configDynExe = v })@@ -714,6 +640,11 @@ configGHCiLib (\v flags -> flags { configGHCiLib = v }) (boolOpt [] []) + ,option "" ["split-sections"]+ "compile library code such that unneeded definitions can be dropped from the final executable (GHC 7.8+)"+ configSplitSections (\v flags -> flags { configSplitSections = v })+ (boolOpt [] [])+ ,option "" ["split-objs"] "split library into smaller objects to reduce binary sizes (GHC 6.6+)" configSplitObjs (\v flags -> flags { configSplitObjs = v })@@ -753,8 +684,8 @@ "Force values for the given flags in Cabal conditionals in the .cabal file. E.g., --flags=\"debug -usebytestrings\" forces the flag \"debug\" to true and \"usebytestrings\" to false." configConfigurationsFlags (\v flags -> flags { configConfigurationsFlags = v }) (reqArg "FLAGS"- (readP_to_E (\err -> "Invalid flag assignment: " ++ err) parseFlagAssignment)- (map showFlagValue'))+ (parsecToReadE (\err -> "Invalid flag assignment: " ++ err) parsecFlagAssignment)+ showFlagAssignment) ,option "" ["extra-include-dirs"] "A list of directories to search for header files"@@ -796,21 +727,21 @@ "A list of additional constraints on the dependencies." configConstraints (\v flags -> flags { configConstraints = v}) (reqArg "DEPENDENCY"- (readP_to_E (const "dependency expected") ((\x -> [x]) `fmap` parse))- (map (\x -> display x)))+ (parsecToReadE (const "dependency expected") ((\x -> [x]) `fmap` parsec))+ (map display)) ,option "" ["dependency"] "A list of exact dependencies. E.g., --dependency=\"void=void-0.5.8-177d5cdf20962d0581fe2e4932a6c309\"" configDependencies (\v flags -> flags { configDependencies = v}) (reqArg "NAME=CID"- (readP_to_E (const "dependency expected") ((\x -> [x]) `fmap` parseDependency))+ (parsecToReadE (const "dependency expected") ((\x -> [x]) `fmap` parsecDependency)) (map (\x -> display (fst x) ++ "=" ++ display (snd x)))) ,option "" ["instantiate-with"] "A mapping of signature names to concrete module instantiations." configInstantiateWith (\v flags -> flags { configInstantiateWith = v }) (reqArg "NAME=MOD"- (readP_to_E ("Cannot parse module substitution: " ++) (fmap (:[]) parseModSubstEntry))+ (parsecToReadE ("Cannot parse module substitution: " ++) (fmap (:[]) parsecModSubstEntry)) (map (Disp.renderStyle defaultStyle . dispModSubstEntry))) ,option "" ["tests"]@@ -828,22 +759,6 @@ configLibCoverage (\v flags -> flags { configLibCoverage = v }) (boolOpt [] []) - ,option [] ["allow-older"]- ("Ignore upper bounds in all dependencies or DEPS")- (fmap unAllowOlder . configAllowOlder)- (\v flags -> flags { configAllowOlder = fmap AllowOlder v})- (optArg "DEPS"- (readP_to_E ("Cannot parse the list of packages: " ++) relaxDepsParser)- (Just RelaxDepsAll) relaxDepsPrinter)-- ,option [] ["allow-newer"]- ("Ignore upper bounds in all dependencies or DEPS")- (fmap unAllowNewer . configAllowNewer)- (\v flags -> flags { configAllowNewer = fmap AllowNewer v})- (optArg "DEPS"- (readP_to_E ("Cannot parse the list of packages: " ++) relaxDepsParser)- (Just RelaxDepsAll) relaxDepsPrinter)- ,option "" ["exact-configuration"] "All direct dependencies and flags are provided on the command line." configExactConfiguration@@ -859,6 +774,12 @@ "building a package that is relocatable. (GHC only)" configRelocatable (\v flags -> flags { configRelocatable = v}) (boolOpt [] [])++ ,option "" ["response-files"]+ "enable workaround for old versions of programs like \"ar\" that do not support @file arguments"+ configUseResponseFiles+ (\v flags -> flags { configUseResponseFiles = v })+ (boolOpt' ([], ["disable-response-files"]) ([], [])) ] where liftInstallDirs =@@ -868,6 +789,9 @@ reqArgFlag title _sf _lf d (fmap fromPathTemplate . get) (set . fmap toPathTemplate) +showFlagAssignment :: FlagAssignment -> [String]+showFlagAssignment = map showFlagValue' . unFlagAssignment+ where -- We can't use 'showFlagValue' because legacy custom-setups don't -- support the '+' prefix in --flags; so we omit the (redundant) + prefix; -- NB: we assume that we never have to set/enable '-'-prefixed flags here.@@ -893,11 +817,11 @@ showProfDetailLevelFlag NoFlag = [] showProfDetailLevelFlag (Flag dl) = [showProfDetailLevel dl] -parseDependency :: Parse.ReadP r (PackageName, ComponentId)-parseDependency = do- x <- parse- _ <- Parse.char '='- y <- parse+parsecDependency :: ParsecParser (PackageName, ComponentId)+parsecDependency = do+ x <- parsec+ _ <- P.char '='+ y <- parsec return (x, y) installDirsOptions :: [OptionField (InstallDirs (Flag PathTemplate))]@@ -994,7 +918,8 @@ -- This is the same hack as in 'buildArgs'. But I (ezyang) don't -- think it's a hack, it's the right way to make hooks more robust -- TODO: Stop using this eventually when 'UserHooks' gets changed- copyArgs :: [String]+ copyArgs :: [String],+ copyCabalFilePath :: Flag FilePath } deriving (Show, Generic) @@ -1003,7 +928,8 @@ copyDest = Flag NoCopyDest, copyDistPref = NoFlag, copyVerbosity = Flag normal,- copyArgs = []+ copyArgs = [],+ copyCabalFilePath = mempty } copyCommand :: CommandUI CopyFlags@@ -1011,7 +937,7 @@ { commandName = "copy" , commandSynopsis = "Copy the files of all/specific components to install locations." , commandDescription = Just $ \_ -> wrapText $- "Components encompass executables and libraries."+ "Components encompass executables and libraries. " ++ "Does not call register, and allows a prefix at install time. " ++ "Without the --destdir flag, configure determines location.\n" , commandNotes = Just $ \pname ->@@ -1025,21 +951,38 @@ , "COMPONENTS [FLAGS]" ] , commandDefaultFlags = defaultCopyFlags- , commandOptions = \showOrParseArgs ->- [optionVerbosity copyVerbosity (\v flags -> flags { copyVerbosity = v })+ , commandOptions = \showOrParseArgs -> case showOrParseArgs of+ ShowArgs -> filter ((`notElem` ["target-package-db"])+ . optionName) $ copyOptions ShowArgs+ ParseArgs -> copyOptions ParseArgs+} - ,optionDistPref- copyDistPref (\d flags -> flags { copyDistPref = d })- showOrParseArgs+copyOptions :: ShowOrParseArgs -> [OptionField CopyFlags]+copyOptions showOrParseArgs =+ [optionVerbosity copyVerbosity (\v flags -> flags { copyVerbosity = v }) - ,option "" ["destdir"]- "directory to copy files to, prepended to installation directories"- copyDest (\v flags -> flags { copyDest = v })- (reqArg "DIR" (succeedReadE (Flag . CopyTo))- (\f -> case f of Flag (CopyTo p) -> [p]; _ -> []))- ]- }+ ,optionDistPref+ copyDistPref (\d flags -> flags { copyDistPref = d })+ showOrParseArgs + ,option "" ["destdir"]+ "directory to copy files to, prepended to installation directories"+ copyDest (\v flags -> case copyDest flags of+ Flag (CopyToDb _) -> error "Use either 'destdir' or 'target-package-db'."+ _ -> flags { copyDest = v })+ (reqArg "DIR" (succeedReadE (Flag . CopyTo))+ (\f -> case f of Flag (CopyTo p) -> [p]; _ -> []))++ ,option "" ["target-package-db"]+ "package database to copy files into. Required when using ${pkgroot} prefix."+ copyDest (\v flags -> case copyDest flags of+ NoFlag -> flags { copyDest = v }+ Flag NoCopyDest -> flags { copyDest = v }+ _ -> error "Use either 'destdir' or 'target-package-db'.")+ (reqArg "DATABASE" (succeedReadE (Flag . CopyToDb))+ (\f -> case f of Flag (CopyToDb p) -> [p]; _ -> []))+ ]+ emptyCopyFlags :: CopyFlags emptyCopyFlags = mempty @@ -1057,20 +1000,26 @@ -- | Flags to @install@: (package db, verbosity) data InstallFlags = InstallFlags { installPackageDB :: Flag PackageDB,+ installDest :: Flag CopyDest, installDistPref :: Flag FilePath, installUseWrapper :: Flag Bool, installInPlace :: Flag Bool,- installVerbosity :: Flag Verbosity+ installVerbosity :: Flag Verbosity,+ -- this is only here, because we can not+ -- change the hooks API.+ installCabalFilePath :: Flag FilePath } deriving (Show, Generic) defaultInstallFlags :: InstallFlags defaultInstallFlags = InstallFlags { installPackageDB = NoFlag,+ installDest = Flag NoCopyDest, installDistPref = NoFlag, installUseWrapper = Flag False, installInPlace = Flag False,- installVerbosity = Flag normal+ installVerbosity = Flag normal,+ installCabalFilePath = mempty } installCommand :: CommandUI InstallFlags@@ -1086,31 +1035,42 @@ , commandUsage = \pname -> "Usage: " ++ pname ++ " install [FLAGS]\n" , commandDefaultFlags = defaultInstallFlags- , commandOptions = \showOrParseArgs ->- [optionVerbosity installVerbosity (\v flags -> flags { installVerbosity = v })- ,optionDistPref- installDistPref (\d flags -> flags { installDistPref = d })- showOrParseArgs+ , commandOptions = \showOrParseArgs -> case showOrParseArgs of+ ShowArgs -> filter ((`notElem` ["target-package-db"])+ . optionName) $ installOptions ShowArgs+ ParseArgs -> installOptions ParseArgs+ } - ,option "" ["inplace"]- "install the package in the install subdirectory of the dist prefix, so it can be used without being installed"- installInPlace (\v flags -> flags { installInPlace = v })- trueArg+installOptions :: ShowOrParseArgs -> [OptionField InstallFlags]+installOptions showOrParseArgs =+ [optionVerbosity installVerbosity (\v flags -> flags { installVerbosity = v })+ ,optionDistPref+ installDistPref (\d flags -> flags { installDistPref = d })+ showOrParseArgs - ,option "" ["shell-wrappers"]- "using shell script wrappers around executables"- installUseWrapper (\v flags -> flags { installUseWrapper = v })- (boolOpt [] [])+ ,option "" ["inplace"]+ "install the package in the install subdirectory of the dist prefix, so it can be used without being installed"+ installInPlace (\v flags -> flags { installInPlace = v })+ trueArg - ,option "" ["package-db"] ""- installPackageDB (\v flags -> flags { installPackageDB = v })- (choiceOpt [ (Flag UserPackageDB, ([],["user"]),- "upon configuration register this package in the user's local package database")- , (Flag GlobalPackageDB, ([],["global"]),- "(default) upon configuration register this package in the system-wide package database")])- ]- }+ ,option "" ["shell-wrappers"]+ "using shell script wrappers around executables"+ installUseWrapper (\v flags -> flags { installUseWrapper = v })+ (boolOpt [] []) + ,option "" ["package-db"] ""+ installPackageDB (\v flags -> flags { installPackageDB = v })+ (choiceOpt [ (Flag UserPackageDB, ([],["user"]),+ "upon configuration register this package in the user's local package database")+ , (Flag GlobalPackageDB, ([],["global"]),+ "(default) upon configuration register this package in the system-wide package database")])+ ,option "" ["target-package-db"]+ "package database to install into. Required when using ${pkgroot} prefix."+ installDest (\v flags -> flags { installDest = v })+ (reqArg "DATABASE" (succeedReadE (Flag . CopyToDb))+ (\f -> case f of Flag (CopyToDb p) -> [p]; _ -> []))+ ]+ emptyInstallFlags :: InstallFlags emptyInstallFlags = mempty @@ -1203,7 +1163,8 @@ regPrintId :: Flag Bool, regVerbosity :: Flag Verbosity, -- Same as in 'buildArgs' and 'copyArgs'- regArgs :: [String]+ regArgs :: [String],+ regCabalFilePath :: Flag FilePath } deriving (Show, Generic) @@ -1216,6 +1177,7 @@ regDistPref = NoFlag, regPrintId = Flag False, regArgs = [],+ regCabalFilePath = mempty, regVerbosity = Flag normal } @@ -1315,8 +1277,9 @@ hscolourBenchmarks :: Flag Bool, hscolourForeignLibs :: Flag Bool, hscolourDistPref :: Flag FilePath,- hscolourVerbosity :: Flag Verbosity- }+ hscolourVerbosity :: Flag Verbosity,+ hscolourCabalFilePath :: Flag FilePath+ } deriving (Show, Generic) emptyHscolourFlags :: HscolourFlags@@ -1330,7 +1293,8 @@ hscolourBenchmarks = Flag False, hscolourDistPref = NoFlag, hscolourForeignLibs = Flag False,- hscolourVerbosity = Flag normal+ hscolourVerbosity = Flag normal,+ hscolourCabalFilePath = mempty } instance Monoid HscolourFlags where@@ -1478,6 +1442,15 @@ -- documentation in @<dist>/doc/html/<package id>-docs@. data HaddockTarget = ForHackage | ForDevelopment deriving (Eq, Show, Generic) +instance Binary HaddockTarget++instance Text HaddockTarget where+ disp ForHackage = Disp.text "for-hackage"+ disp ForDevelopment = Disp.text "for-development"++ parse = Parse.choice [ Parse.string "for-hackage" >> return ForHackage+ , Parse.string "for-development" >> return ForDevelopment]+ data HaddockFlags = HaddockFlags { haddockProgramPaths :: [(String, FilePath)], haddockProgramArgs :: [(String, [String])],@@ -1491,12 +1464,13 @@ haddockForeignLibs :: Flag Bool, haddockInternal :: Flag Bool, haddockCss :: Flag FilePath,- haddockHscolour :: Flag Bool,+ haddockLinkedSource :: Flag Bool, haddockHscolourCss :: Flag FilePath, haddockContents :: Flag PathTemplate, haddockDistPref :: Flag FilePath, haddockKeepTempFiles:: Flag Bool,- haddockVerbosity :: Flag Verbosity+ haddockVerbosity :: Flag Verbosity,+ haddockCabalFilePath :: Flag FilePath } deriving (Show, Generic) @@ -1507,19 +1481,20 @@ haddockHoogle = Flag False, haddockHtml = Flag False, haddockHtmlLocation = NoFlag,- haddockForHackage = Flag ForDevelopment,+ haddockForHackage = NoFlag, haddockExecutables = Flag False, haddockTestSuites = Flag False, haddockBenchmarks = Flag False, haddockForeignLibs = Flag False, haddockInternal = Flag False, haddockCss = NoFlag,- haddockHscolour = Flag False,+ haddockLinkedSource = Flag False, haddockHscolourCss = NoFlag, haddockContents = NoFlag, haddockDistPref = NoFlag, haddockKeepTempFiles= Flag False,- haddockVerbosity = Flag normal+ haddockVerbosity = Flag normal,+ haddockCabalFilePath = mempty } haddockCommand :: CommandUI HaddockFlags@@ -1624,8 +1599,8 @@ (reqArgFlag "PATH") ,option "" ["hyperlink-source","hyperlink-sources"]- "Hyperlink the documentation to the source code (using HsColour)"- haddockHscolour (\v flags -> flags { haddockHscolour = v })+ "Hyperlink the documentation to the source code"+ haddockLinkedSource (\v flags -> flags { haddockLinkedSource = v }) trueArg ,option "" ["hscolour-css"]@@ -1658,7 +1633,8 @@ data CleanFlags = CleanFlags { cleanSaveConf :: Flag Bool, cleanDistPref :: Flag FilePath,- cleanVerbosity :: Flag Verbosity+ cleanVerbosity :: Flag Verbosity,+ cleanCabalFilePath :: Flag FilePath } deriving (Show, Generic) @@ -1666,7 +1642,8 @@ defaultCleanFlags = CleanFlags { cleanSaveConf = Flag False, cleanDistPref = NoFlag,- cleanVerbosity = Flag normal+ cleanVerbosity = Flag normal,+ cleanCabalFilePath = mempty } cleanCommand :: CommandUI CleanFlags@@ -1714,7 +1691,8 @@ buildNumJobs :: Flag (Maybe Int), -- TODO: this one should not be here, it's just that the silly -- UserHooks stop us from passing extra info in other ways- buildArgs :: [String]+ buildArgs :: [String],+ buildCabalFilePath :: Flag FilePath } deriving (Read, Show, Generic) @@ -1729,7 +1707,8 @@ buildDistPref = mempty, buildVerbosity = Flag normal, buildNumJobs = mempty,- buildArgs = []+ buildArgs = [],+ buildCabalFilePath = mempty } buildCommand :: ProgramDb -> CommandUI BuildFlags@@ -1904,9 +1883,19 @@ knownTestShowDetails :: [TestShowDetails] knownTestShowDetails = [minBound..maxBound] -instance Text TestShowDetails where- disp = Disp.text . lowercase . show+instance Pretty TestShowDetails where+ pretty = Disp.text . lowercase . show +instance Parsec TestShowDetails where+ parsec = maybe (fail "invalid TestShowDetails") return . classify =<< ident+ where+ ident = P.munch1 (\c -> isAlpha c || c == '_' || c == '-')+ classify str = lookup (lowercase str) enumMap+ enumMap :: [(String, TestShowDetails)]+ enumMap = [ (display x, x)+ | x <- knownTestShowDetails ]++instance Text TestShowDetails where parse = maybe Parse.pfail return . classify =<< ident where ident = Parse.munch1 (\c -> isAlpha c || c == '_' || c == '-')@@ -1993,10 +1982,10 @@ ++ "'direct': send results of test cases in real time; no log file.") testShowDetails (\v flags -> flags { testShowDetails = v }) (reqArg "FILTER"- (readP_to_E (\_ -> "--show-details flag expects one of "+ (parsecToReadE (\_ -> "--show-details flag expects one of " ++ intercalate ", " (map display knownTestShowDetails))- (fmap toFlag parse))+ (fmap toFlag parsec)) (flagToList . fmap display)) , option [] ["keep-tix-files"] "keep .tix files for HPC between test runs"
@@ -335,7 +335,7 @@ pathsModule = autogenPathsModuleName pkg_descr0 filterFunction bi = \mn -> mn /= pathsModule- && not (elem mn (autogenModules bi))+ && not (mn `elem` autogenModules bi) -- | Prepare a directory tree of source files for a snapshot version. -- It is expected that the appropriate snapshot version has already been set
@@ -40,7 +40,7 @@ import System.Directory ( createDirectoryIfMissing, doesFileExist, getDirectoryContents , removeFile )-import System.Exit ( ExitCode(..), exitFailure, exitWith )+import System.Exit ( exitFailure, exitSuccess ) import System.FilePath ( (</>) ) -- |Perform the \"@.\/setup test@\" action.@@ -80,9 +80,9 @@ , logFile = "" } - when (not $ PD.hasTests pkg_descr) $ do+ unless (PD.hasTests pkg_descr) $ do notice verbosity "Package has no test suites."- exitWith ExitSuccess+ exitSuccess when (PD.hasTests pkg_descr && null enabledTests) $ die' verbosity $@@ -91,7 +91,7 @@ testsToRun <- case testNames of [] -> return $ zip enabledTests $ repeat Nothing- names -> flip traverse names $ \tName ->+ names -> for names $ \tName -> let testMap = zip enabledNames enabledTests enabledNames = map (PD.testName . fst) enabledTests allNames = map PD.testName pkgTests
@@ -33,7 +33,7 @@ , getCurrentDirectory, removeDirectoryRecursive ) import System.Exit ( ExitCode(..) ) import System.FilePath ( (</>), (<.>) )-import System.IO ( hGetContents, hPutStr, stdout, stderr )+import System.IO ( hGetContents, stdout, stderr ) runTest :: PD.PackageDescription -> LBI.LocalBuildInfo@@ -78,7 +78,7 @@ void $ forkIO $ length logText `seq` return () -- '--show-details=streaming': print the log output in another thread- when (details == Streaming) $ void $ forkIO $ hPutStr stdout logText+ when (details == Streaming) $ void $ forkIO $ putStr logText return (wOut, wOut, logText)
@@ -39,7 +39,7 @@ , doesDirectoryExist, doesFileExist , getCurrentDirectory, removeDirectoryRecursive, removeFile , setCurrentDirectory )-import System.Exit ( ExitCode(..), exitWith )+import System.Exit ( exitSuccess, exitWith, ExitCode(..) ) import System.FilePath ( (</>), (<.>) ) import System.IO ( hClose, hGetContents, hPutStr ) import System.Process (StdStream(..), waitForProcess)@@ -272,4 +272,4 @@ writeFile (logFile testLog) $ show testLog when (suiteError logs) $ exitWith $ ExitFailure 2 when (suiteFailed logs) $ exitWith $ ExitFailure 1- exitWith ExitSuccess+ exitSuccess
@@ -73,13 +73,13 @@ uhcLanguages = [(Haskell98, "")] -- | The flags for the supported extensions.-uhcLanguageExtensions :: [(Extension, C.Flag)]+uhcLanguageExtensions :: [(Extension, Maybe C.Flag)] uhcLanguageExtensions = let doFlag (f, (enable, disable)) = [(EnableExtension f, enable), (DisableExtension f, disable)]- alwaysOn = ("", ""{- wrong -})+ alwaysOn = (Nothing, Nothing{- wrong -}) in concatMap doFlag- [(CPP, ("--cpp", ""{- wrong -})),+ [(CPP, (Just "--cpp", Nothing{- wrong -})), (PolymorphicComponents, alwaysOn), (ExistentialQuantification, alwaysOn), (ForeignFunctionInterface, alwaysOn),@@ -88,7 +88,7 @@ (Rank2Types, alwaysOn), (PatternSignatures, alwaysOn), (EmptyDataDecls, alwaysOn),- (ImplicitPrelude, ("", "--no-prelude"{- wrong -})),+ (ImplicitPrelude, (Nothing, Just "--no-prelude"{- wrong -})), (TypeOperators, alwaysOn), (OverlappingInstances, alwaysOn), (FlexibleInstances, alwaysOn)]
@@ -57,6 +57,14 @@ findProgramLocation, findProgramVersion, + -- ** 'IOData' re-export+ --+ -- These types are re-exported from+ -- "Distribution.Utils.IOData" for convience as they're+ -- exposed in the API of 'rawSystemStdInOut'+ IOData(..),+ IODataMode(..),+ -- * copying files smartCopySources, createDirectoryIfMissingVerbose,@@ -129,18 +137,16 @@ rewriteFileEx, -- * Unicode- fromUTF8, fromUTF8BS, fromUTF8LBS,- toUTF8,+ toUTF8BS,+ toUTF8LBS, readUTF8File, withUTF8FileContents, writeUTF8File, normaliseLineEndings, -- * BOM- startsWithBOM,- fileHasBOM, ignoreBOM, -- * generic utils@@ -171,6 +177,8 @@ import Distribution.Text import Distribution.Utils.Generic+import Distribution.Utils.IOData (IOData(..), IODataMode(..))+import qualified Distribution.Utils.IOData as IOData import Distribution.ModuleName as ModuleName import Distribution.System import Distribution.Version@@ -204,7 +212,7 @@ import System.Directory ( Permissions(executable), getDirectoryContents, getPermissions , doesDirectoryExist, doesFileExist, removeFile, findExecutable- , getModificationTime )+ , getModificationTime, createDirectory, removeDirectoryRecursive ) import System.Environment ( getProgName ) import System.Exit@@ -214,8 +222,6 @@ , getSearchPath, joinPath, takeDirectory, splitFileName , splitExtension, splitExtensions, splitDirectories , searchPathSeparator )-import System.Directory- ( createDirectory, removeDirectoryRecursive ) import System.IO ( Handle, hSetBinaryMode, hGetContents, stderr, stdout, hPutStr, hFlush , hClose, hSetBuffering, BufferMode(..) )@@ -224,8 +230,10 @@ ( unsafeInterleaveIO ) import qualified Control.Exception as Exception +import Data.Time.Clock.POSIX (getPOSIXTime, POSIXTime) import Control.Exception (IOException, evaluate, throwIO) import Control.Concurrent (forkIO)+import Numeric (showFFloat) import qualified System.Process as Process ( CreateProcess(..), StdStream(..), proc) import System.Process@@ -333,9 +341,10 @@ dieWithLocation' :: Verbosity -> FilePath -> Maybe Int -> String -> IO a dieWithLocation' verbosity filename mb_lineno msg = withFrozenCallStack $ do+ ts <- getPOSIXTime pname <- getProgName ioError . verbatimUserError- . withMetadata AlwaysMark VerboseTrace verbosity+ . withMetadata ts AlwaysMark VerboseTrace verbosity . wrapTextVerbosity verbosity $ pname ++ ": " ++ filename ++ (case mb_lineno of@@ -345,17 +354,19 @@ die' :: Verbosity -> String -> IO a die' verbosity msg = withFrozenCallStack $ do+ ts <- getPOSIXTime pname <- getProgName ioError . verbatimUserError- . withMetadata AlwaysMark VerboseTrace verbosity+ . withMetadata ts AlwaysMark VerboseTrace verbosity . wrapTextVerbosity verbosity $ pname ++ ": " ++ msg dieNoWrap :: Verbosity -> String -> IO a dieNoWrap verbosity msg = withFrozenCallStack $ do -- TODO: should this have program name or not?+ ts <- getPOSIXTime ioError . verbatimUserError- . withMetadata AlwaysMark VerboseTrace verbosity+ . withMetadata ts AlwaysMark VerboseTrace verbosity $ msg -- | Given a block of IO code that may raise an exception, annotate@@ -364,12 +375,16 @@ -- this function unconditionally wraps the error message with a trace -- (so it is NOT idempotent.) annotateIO :: Verbosity -> IO a -> IO a-annotateIO verbosity = modifyIOError f+annotateIO verbosity act = do+ ts <- getPOSIXTime+ modifyIOError (f ts) act where- f ioe = ioeSetErrorString ioe- . withMetadata NeverMark VerboseTrace verbosity- $ ioeGetErrorString ioe+ f ts ioe = ioeSetErrorString ioe+ . withMetadata ts NeverMark VerboseTrace verbosity+ $ ioeGetErrorString ioe ++{-# NOINLINE topHandlerWith #-} topHandlerWith :: forall a. (Exception.SomeException -> IO a) -> IO a -> IO a topHandlerWith cont prog = do -- By default, stderr to a terminal device is NoBuffering. But this@@ -403,7 +418,7 @@ Just ioe | ioeGetVerbatim ioe -> -- Use the message verbatim- ioeGetErrorString ioe+ ioeGetErrorString ioe ++ "\n" | isUserError ioe -> let file = case ioeGetFileName ioe of Nothing -> ""@@ -414,7 +429,7 @@ detail = ioeGetErrorString ioe in wrapText (pname ++ ": " ++ file ++ detail) _ ->- displaySomeException se+ displaySomeException se ++ "\n" -- | BC wrapper around 'Exception.displayException'. displaySomeException :: Exception.Exception e => e -> String@@ -435,8 +450,9 @@ warn :: Verbosity -> String -> IO () warn verbosity msg = withFrozenCallStack $ do when (verbosity >= normal) $ do+ ts <- getPOSIXTime hFlush stdout- hPutStr stderr . withMetadata NormalMark FlagTrace verbosity+ hPutStr stderr . withMetadata ts NormalMark FlagTrace verbosity . wrapTextVerbosity verbosity $ "Warning: " ++ msg @@ -450,7 +466,8 @@ notice :: Verbosity -> String -> IO () notice verbosity msg = withFrozenCallStack $ do when (verbosity >= normal) $ do- hPutStr stdout . withMetadata NormalMark FlagTrace verbosity+ ts <- getPOSIXTime+ hPutStr stdout . withMetadata ts NormalMark FlagTrace verbosity . wrapTextVerbosity verbosity $ msg @@ -460,7 +477,8 @@ noticeNoWrap :: Verbosity -> String -> IO () noticeNoWrap verbosity msg = withFrozenCallStack $ do when (verbosity >= normal) $ do- hPutStr stdout . withMetadata NormalMark FlagTrace verbosity $ msg+ ts <- getPOSIXTime+ hPutStr stdout . withMetadata ts NormalMark FlagTrace verbosity $ msg -- | Pretty-print a 'Disp.Doc' status message at 'normal' verbosity -- level. Use this if you need fancy formatting.@@ -468,7 +486,8 @@ noticeDoc :: Verbosity -> Disp.Doc -> IO () noticeDoc verbosity msg = withFrozenCallStack $ do when (verbosity >= normal) $ do- hPutStr stdout . withMetadata NormalMark FlagTrace verbosity+ ts <- getPOSIXTime+ hPutStr stdout . withMetadata ts NormalMark FlagTrace verbosity . Disp.renderStyle defaultStyle $ msg -- | Display a "setup status message". Prefer using setupMessage'@@ -485,14 +504,16 @@ info :: Verbosity -> String -> IO () info verbosity msg = withFrozenCallStack $ when (verbosity >= verbose) $ do- hPutStr stdout . withMetadata NeverMark FlagTrace verbosity+ ts <- getPOSIXTime+ hPutStr stdout . withMetadata ts NeverMark FlagTrace verbosity . wrapTextVerbosity verbosity $ msg infoNoWrap :: Verbosity -> String -> IO () infoNoWrap verbosity msg = withFrozenCallStack $ when (verbosity >= verbose) $ do- hPutStr stdout . withMetadata NeverMark FlagTrace verbosity+ ts <- getPOSIXTime+ hPutStr stdout . withMetadata ts NeverMark FlagTrace verbosity $ msg -- | Detailed internal debugging information@@ -502,7 +523,8 @@ debug :: Verbosity -> String -> IO () debug verbosity msg = withFrozenCallStack $ when (verbosity >= deafening) $ do- hPutStr stdout . withMetadata NeverMark FlagTrace verbosity+ ts <- getPOSIXTime+ hPutStr stdout . withMetadata ts NeverMark FlagTrace verbosity . wrapTextVerbosity verbosity $ msg -- ensure that we don't lose output if we segfault/infinite loop@@ -513,7 +535,8 @@ debugNoWrap :: Verbosity -> String -> IO () debugNoWrap verbosity msg = withFrozenCallStack $ when (verbosity >= deafening) $ do- hPutStr stdout . withMetadata NeverMark FlagTrace verbosity+ ts <- getPOSIXTime+ hPutStr stdout . withMetadata ts NeverMark FlagTrace verbosity $ msg -- ensure that we don't lose output if we segfault/infinite loop hFlush stdout@@ -542,8 +565,28 @@ wrapTextVerbosity :: Verbosity -> String -> String wrapTextVerbosity verb | isVerboseNoWrap verb = withTrailingNewline- | otherwise = wrapText+ | otherwise = withTrailingNewline . wrapText ++-- | Prepends a timestamp if @+timestamp@ verbosity flag is set+--+-- This is used by 'withMetadata'+--+withTimestamp :: Verbosity -> POSIXTime -> String -> String+withTimestamp v ts msg+ | isVerboseTimestamp v = msg'+ | otherwise = msg -- no-op+ where+ msg' = case lines msg of+ [] -> tsstr "\n"+ l1:rest -> unlines (tsstr (' ':l1) : map (contpfx++) rest)++ -- format timestamp to be prepended to first line with msec precision+ tsstr = showFFloat (Just 3) (realToFrac ts :: Double)++ -- continuation prefix for subsequent lines of msg+ contpfx = replicate (length (tsstr " ")) ' '+ -- | Wrap output with a marker if @+markoutput@ verbosity flag is set. -- -- NB: Why is markoutput done with start/end markers, and not prefixes?@@ -554,6 +597,8 @@ -- Cabal's output comes straight from external programs, where -- we don't have the ability to interpose on the output. --+-- This is used by 'withMetadata'+-- withOutputMarker :: Verbosity -> String -> String withOutputMarker v xs | not (isVerboseMarkOutput v) = xs withOutputMarker _ "" = "" -- Minor optimization, don't mark uselessly@@ -617,8 +662,8 @@ -- | Add all necessary metadata to a logging message ---withMetadata :: WithCallStack (MarkWhen -> TraceWhen -> Verbosity -> String -> String)-withMetadata marker tracer verbosity x = withFrozenCallStack $+withMetadata :: WithCallStack (POSIXTime -> MarkWhen -> TraceWhen -> Verbosity -> String -> String)+withMetadata ts marker tracer verbosity x = withFrozenCallStack $ -- NB: order matters. Output marker first because we -- don't want to capture call stacks. withTrailingNewline@@ -632,6 +677,7 @@ NeverMark -> id) -- Clear out any existing markers . clearMarkers+ . withTimestamp verbosity ts $ x clearMarkers :: String -> String@@ -768,9 +814,9 @@ -- rawSystemStdout :: Verbosity -> FilePath -> [String] -> IO String rawSystemStdout verbosity path args = withFrozenCallStack $ do- (output, errors, exitCode) <- rawSystemStdInOut verbosity path args+ (IODataText output, errors, exitCode) <- rawSystemStdInOut verbosity path args Nothing Nothing- Nothing False+ Nothing IODataModeText when (exitCode /= ExitSuccess) $ die errors return output@@ -784,10 +830,10 @@ -> [String] -- ^ Arguments -> Maybe FilePath -- ^ New working dir or inherit -> Maybe [(String, String)] -- ^ New environment or inherit- -> Maybe (String, Bool) -- ^ input text and binary mode- -> Bool -- ^ output in binary mode- -> IO (String, String, ExitCode) -- ^ output, errors, exit-rawSystemStdInOut verbosity path args mcwd menv input outputBinary = withFrozenCallStack $ do+ -> Maybe IOData -- ^ input text and binary mode+ -> IODataMode -- ^ output in binary mode+ -> IO (IOData, String, ExitCode) -- ^ output, errors, exit+rawSystemStdInOut verbosity path args mcwd menv input outputMode = withFrozenCallStack $ do printRawCommandAndArgs verbosity path args Exception.bracket@@ -796,7 +842,6 @@ $ \(inh,outh,errh,pid) -> do -- output mode depends on what the caller wants- hSetBinaryMode outh outputBinary -- but the errors are always assumed to be text (in the current locale) hSetBinaryMode errh False @@ -804,11 +849,12 @@ -- so if the process writes to stderr we do not block. err <- hGetContents errh- out <- hGetContents outh + out <- IOData.hGetContents outh outputMode+ mv <- newEmptyMVar let force str = do- mberr <- Exception.try (evaluate (length str) >> return ())+ mberr <- Exception.try (evaluate (rnf str) >> return ()) putMVar mv (mberr :: Either IOError ()) _ <- forkIO $ force out _ <- forkIO $ force err@@ -816,11 +862,9 @@ -- push all the input, if any case input of Nothing -> return ()- Just (inputStr, inputBinary) -> do- -- input mode depends on what the caller wants- hSetBinaryMode inh inputBinary- hPutStr inh inputStr- hClose inh+ Just inputData -> do+ -- input mode depends on what the caller wants+ IOData.hPutContents inh inputData --TODO: this probably fails if the process refuses to consume -- or if it closes stdin (eg if it exits) @@ -836,8 +880,9 @@ " with error message:\n" ++ err ++ case input of Nothing -> ""- Just ("", _) -> ""- Just (inp, _) -> "\nstdin input:\n" ++ inp+ Just d | IOData.null d -> ""+ Just (IODataText inp) -> "\nstdin input:\n" ++ inp+ Just (IODataBinary inp) -> "\nstdin input (binary):\n" ++ show inp -- Check if we we hit an exception while consuming the output -- (e.g. a text decoding error)@@ -1171,8 +1216,7 @@ -- that the directory did indeed exist. | isAlreadyExistsError e -> (do isDir <- doesDirectoryExist dir- if isDir then return ()- else throwIO e+ unless isDir $ throwIO e ) `catchIO` ((\_ -> return ()) :: IOException -> IO ()) | otherwise -> throwIO e @@ -1394,9 +1438,7 @@ ----------------------------------- -- Safely reading and writing files --- | See 'rewriteFileEx'------ This function is provided for backwards-compatibility+{-# DEPRECATED rewriteFile "Use rewriteFileEx so that Verbosity is respected" #-} rewriteFile :: FilePath -> String -> IO () rewriteFile = rewriteFileEx normal @@ -1494,6 +1536,7 @@ tryFindPackageDesc :: FilePath -> IO FilePath tryFindPackageDesc dir = either die return =<< findPackageDesc dir +{-# DEPRECATED defaultHookedPackageDesc "Use findHookedPackageDesc with the proper base directory instead" #-} -- |Optional auxiliary package information file (/pkgname/@.buildinfo@) defaultHookedPackageDesc :: IO (Maybe FilePath) defaultHookedPackageDesc = findHookedPackageDesc currentDir
@@ -1,5 +1,6 @@ {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleContexts #-} ----------------------------------------------------------------------------- -- |@@ -42,12 +43,17 @@ import Prelude () import Distribution.Compat.Prelude+import Control.Applicative (liftA2) import qualified System.Info (os, arch)+import Distribution.Utils.Generic (lowercase) +import Distribution.Parsec.Class+import Distribution.Pretty import Distribution.Text-import qualified Distribution.Compat.ReadP as Parse +import qualified Distribution.Compat.ReadP as Parse+import qualified Distribution.Compat.CharParsing as P import qualified Text.PrettyPrint as Disp -- | How strict to be when classifying strings into the 'OS' and 'Arch' enums.@@ -98,6 +104,8 @@ instance Binary OS +instance NFData OS where rnf = genericRnf+ knownOSs :: [OS] knownOSs = [Linux, Windows, OSX ,FreeBSD, OpenBSD, NetBSD, DragonFly@@ -118,10 +126,14 @@ osAliases Compat Solaris = ["solaris2"] osAliases _ _ = [] -instance Text OS where- disp (OtherOS name) = Disp.text name- disp other = Disp.text (lowercase (show other))+instance Pretty OS where+ pretty (OtherOS name) = Disp.text name+ pretty other = Disp.text (lowercase (show other)) +instance Parsec OS where+ parsec = classifyOS Compat <$> parsecIdent++instance Text OS where parse = fmap (classifyOS Compat) ident classifyOS :: ClassificationStrictness -> String -> OS@@ -161,6 +173,8 @@ instance Binary Arch +instance NFData Arch where rnf = genericRnf+ knownArches :: [Arch] knownArches = [I386, X86_64, PPC, PPC64, Sparc ,Arm, Mips, SH@@ -179,10 +193,14 @@ archAliases _ Arm = ["armeb", "armel"] archAliases _ _ = [] -instance Text Arch where- disp (OtherArch name) = Disp.text name- disp other = Disp.text (lowercase (show other))+instance Pretty Arch where+ pretty (OtherArch name) = Disp.text name+ pretty other = Disp.text (lowercase (show other)) +instance Parsec Arch where+ parsec = classifyArch Strict <$> parsecIdent++instance Text Arch where parse = fmap (classifyArch Strict) ident classifyArch :: ClassificationStrictness -> String -> Arch@@ -205,8 +223,26 @@ instance Binary Platform +instance NFData Platform where rnf = genericRnf++instance Pretty Platform where+ pretty (Platform arch os) = pretty arch <<>> Disp.char '-' <<>> pretty os++instance Parsec Platform where+ parsec = do+ arch <- parsecDashlessArch+ _ <- P.char '-'+ os <- parsec+ return (Platform arch os)+ where+ parsecDashlessArch = classifyArch Strict <$> dashlessIdent++ dashlessIdent = liftA2 (:) firstChar rest+ where+ firstChar = P.satisfy isAlpha+ rest = P.munch (\c -> isAlphaNum c || c == '_')+ instance Text Platform where- disp (Platform arch os) = disp arch <<>> Disp.char '-' <<>> disp os -- TODO: there are ambigious platforms like: `arch-word-os` -- which could be parsed as -- * Platform "arch-word" "os"@@ -223,6 +259,11 @@ parseDashlessArch :: Parse.ReadP r Arch parseDashlessArch = fmap (classifyArch Strict) dashlessIdent + dashlessIdent :: Parse.ReadP r String+ dashlessIdent = liftM2 (:) firstChar rest+ where firstChar = Parse.satisfy isAlpha+ rest = Parse.munch (\c -> isAlphaNum c || c == '_')+ -- | The platform Cabal was compiled on. In most cases, -- @LocalBuildInfo.hostPlatform@ should be used instead (the platform we're -- targeting).@@ -236,13 +277,11 @@ where firstChar = Parse.satisfy isAlpha rest = Parse.munch (\c -> isAlphaNum c || c == '_' || c == '-') -dashlessIdent :: Parse.ReadP r String-dashlessIdent = liftM2 (:) firstChar rest- where firstChar = Parse.satisfy isAlpha- rest = Parse.munch (\c -> isAlphaNum c || c == '_')--lowercase :: String -> String-lowercase = map toLower+parsecIdent :: CabalParsing m => m String+parsecIdent = (:) <$> firstChar <*> rest+ where+ firstChar = P.satisfy isAlpha+ rest = P.munch (\c -> isAlphaNum c || c == '_' || c == '-') platformFromTriple :: String -> Maybe Platform platformFromTriple triple =
@@ -1,3 +1,4 @@+{-# LANGUAGE DefaultSignatures #-} ----------------------------------------------------------------------------- -- | -- Module : Distribution.Text@@ -7,7 +8,7 @@ -- Portability : portable -- -- This defines a 'Text' class which is a bit like the 'Read' and 'Show'--- classes. The difference is that is uses a modern pretty printer and parser+-- classes. The difference is that it uses a modern pretty printer and parser -- system and the format is not expected to be Haskell concrete syntax but -- rather the external human readable representation used by Cabal. --@@ -23,38 +24,29 @@ import Prelude () import Distribution.Compat.Prelude +import Data.Functor.Identity (Identity (..))+import Distribution.Pretty+import Distribution.Parsec.Class import qualified Distribution.Compat.ReadP as Parse import qualified Text.PrettyPrint as Disp import Data.Version (Version(Version)) +-- | /Note:/ this class will soon be deprecated.+-- It's not yet, so that we are @-Wall@ clean. class Text a where disp :: a -> Disp.Doc- parse :: Parse.ReadP r a+ default disp :: Pretty a => a -> Disp.Doc+ disp = pretty --- | The default rendering style used in Cabal for console--- output. It has a fixed page width and adds line breaks--- automatically.-defaultStyle :: Disp.Style-defaultStyle = Disp.Style { Disp.mode = Disp.PageMode- , Disp.lineLength = 79- , Disp.ribbonsPerLine = 1.0- }+ parse :: Parse.ReadP r a+ default parse :: Parsec a => Parse.ReadP r a+ parse = parsec -- | Pretty-prints with the default style. display :: Text a => a -> String display = Disp.renderStyle defaultStyle . disp --- | A style for rendering all on one line.-flatStyle :: Disp.Style-flatStyle = Disp.Style { Disp.mode = Disp.LeftMode- , Disp.lineLength = err "lineLength"- , Disp.ribbonsPerLine = err "ribbonsPerLine"- }- where- err x = error ("flatStyle: tried to access " ++ x ++ " in LeftMode. " ++- "This should never happen and indicates a bug in Cabal.")- simpleParse :: Text a => String -> Maybe a simpleParse str = case [ p | (p, s) <- Parse.readP_to_S parse str , all isSpace s ] of@@ -82,15 +74,17 @@ -- Instances for types from the base package instance Text Bool where- disp = Disp.text . show parse = Parse.choice [ (Parse.string "True" Parse.+++ Parse.string "true") >> return True , (Parse.string "False" Parse.+++ Parse.string "false") >> return False ] instance Text Int where- disp = Disp.text . show- parse = (fmap negate $ Parse.char '-' >> parseNat) Parse.+++ parseNat+ parse = fmap negate (Parse.char '-' >> parseNat) Parse.+++ parseNat++instance Text a => Text (Identity a) where+ disp = disp . runIdentity+ parse = fmap Identity parse -- | Parser for non-negative integers. parseNat :: Parse.ReadP r Int
@@ -0,0 +1,52 @@+{-# LANGUAGE DeriveGeneric #-}+module Distribution.Types.AbiDependency where++import Distribution.Compat.Prelude+import Prelude ()++import Distribution.Parsec.Class+import Distribution.Pretty+import Distribution.Text++import qualified Distribution.Compat.CharParsing as P+import qualified Distribution.Compat.ReadP as Parse+import qualified Distribution.Package as Package+import qualified Text.PrettyPrint as Disp++-- | An ABI dependency is a dependency on a library which also+-- records the ABI hash ('abiHash') of the library it depends+-- on.+--+-- The primary utility of this is to enable an extra sanity when+-- GHC loads libraries: it can check if the dependency has a matching+-- ABI and if not, refuse to load this library. This information+-- is critical if we are shadowing libraries; differences in the+-- ABI hash let us know what packages get shadowed by the new version+-- of a package.+data AbiDependency = AbiDependency {+ depUnitId :: Package.UnitId,+ depAbiHash :: Package.AbiHash+ }+ deriving (Eq, Generic, Read, Show)++instance Pretty AbiDependency where+ pretty (AbiDependency uid abi) =+ disp uid <<>> Disp.char '=' <<>> disp abi++instance Parsec AbiDependency where+ parsec = do+ uid <- parsec+ _ <- P.char '='+ abi <- parsec+ return (AbiDependency uid abi)++instance Text AbiDependency where+ parse = do+ uid <- parse+ _ <- Parse.char '='+ abi <- parse+ return (AbiDependency uid abi)++instance Binary AbiDependency++instance NFData AbiDependency where rnf = genericRnf
@@ -11,9 +11,13 @@ import Distribution.Utils.ShortText import qualified Distribution.Compat.ReadP as Parse-import qualified Text.PrettyPrint as Disp+import qualified Distribution.Compat.CharParsing as P import Distribution.Text+import Distribution.Pretty+import Distribution.Parsec.Class +import Text.PrettyPrint (text)+ -- | ABI Hashes -- -- Use 'mkAbiHash' and 'unAbiHash' to convert from/to a@@ -50,6 +54,13 @@ instance Binary AbiHash +instance NFData AbiHash where rnf = genericRnf++instance Pretty AbiHash where+ pretty = text . unAbiHash++instance Parsec AbiHash where+ parsec = fmap mkAbiHash (P.munch isAlphaNum)+ instance Text AbiHash where- disp = Disp.text . unAbiHash parse = fmap mkAbiHash (Parse.munch isAlphaNum)
@@ -11,12 +11,21 @@ -- | An 'AnnotatedId' is a 'ComponentId', 'UnitId', etc. -- which is annotated with some other useful information -- that is useful for printing to users, etc.+--+-- Invariant: if ann_id x == ann_id y, then ann_pid x == ann_pid y+-- and ann_cname x == ann_cname y data AnnotatedId id = AnnotatedId { ann_pid :: PackageId, ann_cname :: ComponentName, ann_id :: id } deriving (Show)++instance Eq id => Eq (AnnotatedId id) where+ x == y = ann_id x == ann_id y++instance Ord id => Ord (AnnotatedId id) where+ compare x y = compare (ann_id x) (ann_id y) instance Package (AnnotatedId id) where packageId = ann_pid
@@ -19,6 +19,8 @@ import Distribution.ModuleName +import qualified Distribution.Types.BuildInfo.Lens as L+ -- | A \"benchmark\" stanza in a cabal file. -- data Benchmark = Benchmark {@@ -29,6 +31,11 @@ deriving (Generic, Show, Read, Eq, Typeable, Data) instance Binary Benchmark++instance NFData Benchmark where rnf = genericRnf++instance L.HasBuildInfo Benchmark where+ buildInfo f (Benchmark x1 x2 x3) = fmap (\y1 -> Benchmark x1 x2 y1) (f x3) instance Monoid Benchmark where mempty = Benchmark {
@@ -0,0 +1,27 @@+module Distribution.Types.Benchmark.Lens (+ Benchmark,+ module Distribution.Types.Benchmark.Lens,+ ) where++import Distribution.Compat.Lens+import Distribution.Compat.Prelude+import Prelude ()++import Distribution.Types.Benchmark (Benchmark)+import Distribution.Types.BenchmarkInterface (BenchmarkInterface)+import Distribution.Types.BuildInfo (BuildInfo)+import Distribution.Types.UnqualComponentName (UnqualComponentName)++import qualified Distribution.Types.Benchmark as T++benchmarkName :: Lens' Benchmark UnqualComponentName+benchmarkName f s = fmap (\x -> s { T.benchmarkName = x }) (f (T.benchmarkName s))+{-# INLINE benchmarkName #-}++benchmarkInterface :: Lens' Benchmark BenchmarkInterface+benchmarkInterface f s = fmap (\x -> s { T.benchmarkInterface = x }) (f (T.benchmarkInterface s))+{-# INLINE benchmarkInterface #-}++benchmarkBuildInfo :: Lens' Benchmark BuildInfo+benchmarkBuildInfo f s = fmap (\x -> s { T.benchmarkBuildInfo = x }) (f (T.benchmarkBuildInfo s))+{-# INLINE benchmarkBuildInfo #-}
@@ -35,6 +35,8 @@ instance Binary BenchmarkInterface +instance NFData BenchmarkInterface where rnf = genericRnf+ instance Monoid BenchmarkInterface where mempty = BenchmarkUnsupported (BenchmarkTypeUnknown mempty nullVersion) mappend = (<>)
@@ -1,18 +1,19 @@ {-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveGeneric #-} module Distribution.Types.BenchmarkType ( BenchmarkType(..), knownBenchmarkTypes, ) where -import Prelude () import Distribution.Compat.Prelude+import Prelude () -import Distribution.Version+import Distribution.Parsec.Class+import Distribution.Pretty import Distribution.Text--import Text.PrettyPrint as Disp+import Distribution.Version+import Text.PrettyPrint (char, text) -- | The \"benchmark-type\" field in the benchmark stanza. --@@ -24,13 +25,21 @@ instance Binary BenchmarkType +instance NFData BenchmarkType where rnf = genericRnf+ knownBenchmarkTypes :: [BenchmarkType] knownBenchmarkTypes = [ BenchmarkTypeExe (mkVersion [1,0]) ] -instance Text BenchmarkType where- disp (BenchmarkTypeExe ver) = text "exitcode-stdio-" <<>> disp ver- disp (BenchmarkTypeUnknown name ver) = text name <<>> char '-' <<>> disp ver+instance Pretty BenchmarkType where+ pretty (BenchmarkTypeExe ver) = text "exitcode-stdio-" <<>> pretty ver+ pretty (BenchmarkTypeUnknown name ver) = text name <<>> char '-' <<>> pretty ver +instance Parsec BenchmarkType where+ parsec = parsecStandard $ \ver name -> case name of+ "exitcode-stdio" -> BenchmarkTypeExe ver+ _ -> BenchmarkTypeUnknown name ver++instance Text BenchmarkType where parse = stdParse $ \ver name -> case name of "exitcode-stdio" -> BenchmarkTypeExe ver _ -> BenchmarkTypeUnknown name ver
@@ -8,10 +8,12 @@ allLanguages, allExtensions, usedExtensions,+ usesTemplateHaskellOrQQ, hcOptions, hcProfOptions, hcSharedOptions,+ hcStaticOptions, ) where import Prelude ()@@ -49,15 +51,22 @@ -- field directly. buildToolDepends :: [ExeDependency], cppOptions :: [String], -- ^ options for pre-processing Haskell code+ asmOptions :: [String], -- ^ options for assmebler+ cmmOptions :: [String], -- ^ options for C-- compiler ccOptions :: [String], -- ^ options for C compiler+ cxxOptions :: [String], -- ^ options for C++ compiler ldOptions :: [String], -- ^ options for linker pkgconfigDepends :: [PkgconfigDependency], -- ^ pkg-config packages that are used frameworks :: [String], -- ^support frameworks for Mac OS X extraFrameworkDirs:: [String], -- ^ extra locations to find frameworks.+ asmSources :: [FilePath], -- ^ Assembly files.+ cmmSources :: [FilePath], -- ^ C-- files. cSources :: [FilePath],+ cxxSources :: [FilePath], jsSources :: [FilePath], hsSourceDirs :: [FilePath], -- ^ where to look for the Haskell module hierarchy otherModules :: [ModuleName], -- ^ non-exposed or non-main modules+ virtualModules :: [ModuleName], -- ^ exposed modules that do not have a source file (e.g. @GHC.Prim@ from @ghc-prim@ package) autogenModules :: [ModuleName], -- ^ not present on sdist, Paths_* or user-generated with a custom Setup.hs defaultLanguage :: Maybe Language,-- ^ language used when not explicitly specified@@ -68,6 +77,17 @@ extraLibs :: [String], -- ^ what libraries to link with when compiling a program that uses your package extraGHCiLibs :: [String], -- ^ if present, overrides extraLibs when package is loaded with GHCi.+ extraBundledLibs :: [String], -- ^ if present, adds libs to hs-lirbaries, which become part of the package.+ -- Example: the Cffi library shipping with the rts, alognside the HSrts-1.0.a,.o,...+ -- Example 2: a library that is being built by a foreing tool (e.g. rust)+ -- and copied and registered together with this library. The+ -- logic on how this library is built will have to be encoded in a+ -- custom Setup for now. Oherwise cabal would need to lear how to+ -- call arbitary lirbary builders.+ extraLibFlavours :: [String], -- ^ Hidden Flag. This set of strings, will be appended to all lirbaries when+ -- copying. E.g. [libHS<name>_<flavour> | flavour <- extraLibFlavours]. This+ -- should only be needed in very specific cases, e.g. the `rts` package, where+ -- there are multiple copies of slightly differently built libs. extraLibDirs :: [String], includeDirs :: [FilePath], -- ^directories to find .h files includes :: [FilePath], -- ^ The .h files to be found in includeDirs@@ -75,6 +95,7 @@ options :: [(CompilerFlavor,[String])], profOptions :: [(CompilerFlavor,[String])], sharedOptions :: [(CompilerFlavor,[String])],+ staticOptions :: [(CompilerFlavor,[String])], customFieldsBI :: [(String,String)], -- ^Custom fields starting -- with x-, stored in a -- simple assoc-list.@@ -85,21 +106,30 @@ instance Binary BuildInfo +instance NFData BuildInfo where rnf = genericRnf+ instance Monoid BuildInfo where mempty = BuildInfo { buildable = True, buildTools = [], buildToolDepends = [], cppOptions = [],+ asmOptions = [],+ cmmOptions = [], ccOptions = [],+ cxxOptions = [], ldOptions = [], pkgconfigDepends = [], frameworks = [], extraFrameworkDirs = [],+ asmSources = [],+ cmmSources = [], cSources = [],+ cxxSources = [], jsSources = [], hsSourceDirs = [], otherModules = [],+ virtualModules = [], autogenModules = [], defaultLanguage = Nothing, otherLanguages = [],@@ -108,6 +138,8 @@ oldExtensions = [], extraLibs = [], extraGHCiLibs = [],+ extraBundledLibs = [],+ extraLibFlavours = [], extraLibDirs = [], includeDirs = [], includes = [],@@ -115,6 +147,7 @@ options = [], profOptions = [], sharedOptions = [],+ staticOptions = [], customFieldsBI = [], targetBuildDepends = [], mixins = []@@ -127,15 +160,22 @@ buildTools = combine buildTools, buildToolDepends = combine buildToolDepends, cppOptions = combine cppOptions,+ asmOptions = combine asmOptions,+ cmmOptions = combine cmmOptions, ccOptions = combine ccOptions,+ cxxOptions = combine cxxOptions, ldOptions = combine ldOptions, pkgconfigDepends = combine pkgconfigDepends, frameworks = combineNub frameworks, extraFrameworkDirs = combineNub extraFrameworkDirs,+ asmSources = combineNub asmSources,+ cmmSources = combineNub cmmSources, cSources = combineNub cSources,+ cxxSources = combineNub cxxSources, jsSources = combineNub jsSources, hsSourceDirs = combineNub hsSourceDirs, otherModules = combineNub otherModules,+ virtualModules = combineNub virtualModules, autogenModules = combineNub autogenModules, defaultLanguage = combineMby defaultLanguage, otherLanguages = combineNub otherLanguages,@@ -144,6 +184,8 @@ oldExtensions = combineNub oldExtensions, extraLibs = combine extraLibs, extraGHCiLibs = combine extraGHCiLibs,+ extraBundledLibs = combine extraBundledLibs,+ extraLibFlavours = combine extraLibFlavours, extraLibDirs = combineNub extraLibDirs, includeDirs = combineNub includeDirs, includes = combineNub includes,@@ -151,6 +193,7 @@ options = combine options, profOptions = combine profOptions, sharedOptions = combine sharedOptions,+ staticOptions = combine staticOptions, customFieldsBI = combine customFieldsBI, targetBuildDepends = combineNub targetBuildDepends, mixins = combine mixins@@ -181,6 +224,14 @@ usedExtensions bi = oldExtensions bi ++ defaultExtensions bi +-- | Whether any modules in this component use Template Haskell or+-- Quasi Quotes+usesTemplateHaskellOrQQ :: BuildInfo -> Bool+usesTemplateHaskellOrQQ bi = any p (allExtensions bi)+ where+ p ex = ex `elem`+ [EnableExtension TemplateHaskell, EnableExtension QuasiQuotes]+ -- |Select options for a particular Haskell compiler. hcOptions :: CompilerFlavor -> BuildInfo -> [String] hcOptions = lookupHcOptions options@@ -190,6 +241,9 @@ hcSharedOptions :: CompilerFlavor -> BuildInfo -> [String] hcSharedOptions = lookupHcOptions sharedOptions++hcStaticOptions :: CompilerFlavor -> BuildInfo -> [String]+hcStaticOptions = lookupHcOptions staticOptions lookupHcOptions :: (BuildInfo -> [(CompilerFlavor,[String])]) -> CompilerFlavor -> BuildInfo -> [String]
@@ -0,0 +1,316 @@+module Distribution.Types.BuildInfo.Lens (+ BuildInfo,+ HasBuildInfo (..),+ ) where++import Prelude ()+import Distribution.Compat.Prelude+import Distribution.Compat.Lens++import Distribution.Compiler (CompilerFlavor)+import Distribution.ModuleName (ModuleName)+import Distribution.Types.BuildInfo (BuildInfo)+import Distribution.Types.Dependency (Dependency)+import Distribution.Types.ExeDependency (ExeDependency)+import Distribution.Types.LegacyExeDependency (LegacyExeDependency)+import Distribution.Types.Mixin (Mixin)+import Distribution.Types.PkgconfigDependency (PkgconfigDependency)+import Language.Haskell.Extension (Extension, Language)++import qualified Distribution.Types.BuildInfo as T++-- | Classy lenses for 'BuildInfo'.+class HasBuildInfo a where+ buildInfo :: Lens' a BuildInfo++ buildable :: Lens' a Bool+ buildable = buildInfo . buildable+ {-# INLINE buildable #-}++ buildTools :: Lens' a [LegacyExeDependency]+ buildTools = buildInfo . buildTools+ {-# INLINE buildTools #-}++ buildToolDepends :: Lens' a [ExeDependency]+ buildToolDepends = buildInfo . buildToolDepends+ {-# INLINE buildToolDepends #-}++ cppOptions :: Lens' a [String]+ cppOptions = buildInfo . cppOptions+ {-# INLINE cppOptions #-}++ asmOptions :: Lens' a [String]+ asmOptions = buildInfo . asmOptions+ {-# INLINE asmOptions #-}++ cmmOptions :: Lens' a [String]+ cmmOptions = buildInfo . cmmOptions+ {-# INLINE cmmOptions #-}++ ccOptions :: Lens' a [String]+ ccOptions = buildInfo . ccOptions+ {-# INLINE ccOptions #-}++ cxxOptions :: Lens' a [String]+ cxxOptions = buildInfo . cxxOptions+ {-# INLINE cxxOptions #-}++ ldOptions :: Lens' a [String]+ ldOptions = buildInfo . ldOptions+ {-# INLINE ldOptions #-}++ pkgconfigDepends :: Lens' a [PkgconfigDependency]+ pkgconfigDepends = buildInfo . pkgconfigDepends+ {-# INLINE pkgconfigDepends #-}++ frameworks :: Lens' a [String]+ frameworks = buildInfo . frameworks+ {-# INLINE frameworks #-}++ extraFrameworkDirs :: Lens' a [String]+ extraFrameworkDirs = buildInfo . extraFrameworkDirs+ {-# INLINE extraFrameworkDirs #-}++ asmSources :: Lens' a [FilePath]+ asmSources = buildInfo . asmSources+ {-# INLINE asmSources #-}++ cmmSources :: Lens' a [FilePath]+ cmmSources = buildInfo . cmmSources+ {-# INLINE cmmSources #-}++ cSources :: Lens' a [FilePath]+ cSources = buildInfo . cSources+ {-# INLINE cSources #-}++ cxxSources :: Lens' a [FilePath]+ cxxSources = buildInfo . cxxSources+ {-# INLINE cxxSources #-}++ jsSources :: Lens' a [FilePath]+ jsSources = buildInfo . jsSources+ {-# INLINE jsSources #-}++ hsSourceDirs :: Lens' a [FilePath]+ hsSourceDirs = buildInfo . hsSourceDirs+ {-# INLINE hsSourceDirs #-}++ otherModules :: Lens' a [ModuleName]+ otherModules = buildInfo . otherModules+ {-# INLINE otherModules #-}++ virtualModules :: Lens' a [ModuleName]+ virtualModules = buildInfo . virtualModules+ {-# INLINE virtualModules #-}++ autogenModules :: Lens' a [ModuleName]+ autogenModules = buildInfo . autogenModules+ {-# INLINE autogenModules #-}++ defaultLanguage :: Lens' a (Maybe Language)+ defaultLanguage = buildInfo . defaultLanguage+ {-# INLINE defaultLanguage #-}++ otherLanguages :: Lens' a [Language]+ otherLanguages = buildInfo . otherLanguages+ {-# INLINE otherLanguages #-}++ defaultExtensions :: Lens' a [Extension]+ defaultExtensions = buildInfo . defaultExtensions+ {-# INLINE defaultExtensions #-}++ otherExtensions :: Lens' a [Extension]+ otherExtensions = buildInfo . otherExtensions+ {-# INLINE otherExtensions #-}++ oldExtensions :: Lens' a [Extension]+ oldExtensions = buildInfo . oldExtensions+ {-# INLINE oldExtensions #-}++ extraLibs :: Lens' a [String]+ extraLibs = buildInfo . extraLibs+ {-# INLINE extraLibs #-}++ extraGHCiLibs :: Lens' a [String]+ extraGHCiLibs = buildInfo . extraGHCiLibs+ {-# INLINE extraGHCiLibs #-}++ extraBundledLibs :: Lens' a [String]+ extraBundledLibs = buildInfo . extraBundledLibs+ {-# INLINE extraBundledLibs #-}++ extraLibFlavours :: Lens' a [String]+ extraLibFlavours = buildInfo . extraLibFlavours+ {-# INLINE extraLibFlavours #-}++ extraLibDirs :: Lens' a [String]+ extraLibDirs = buildInfo . extraLibDirs+ {-# INLINE extraLibDirs #-}++ includeDirs :: Lens' a [FilePath]+ includeDirs = buildInfo . includeDirs+ {-# INLINE includeDirs #-}++ includes :: Lens' a [FilePath]+ includes = buildInfo . includes+ {-# INLINE includes #-}++ installIncludes :: Lens' a [FilePath]+ installIncludes = buildInfo . installIncludes+ {-# INLINE installIncludes #-}++ options :: Lens' a [(CompilerFlavor,[String])]+ options = buildInfo . options+ {-# INLINE options #-}++ profOptions :: Lens' a [(CompilerFlavor,[String])]+ profOptions = buildInfo . profOptions+ {-# INLINE profOptions #-}++ sharedOptions :: Lens' a [(CompilerFlavor,[String])]+ sharedOptions = buildInfo . sharedOptions+ {-# INLINE sharedOptions #-}++ staticOptions :: Lens' a [(CompilerFlavor,[String])]+ staticOptions = buildInfo . staticOptions+ {-# INLINE staticOptions #-}++ customFieldsBI :: Lens' a [(String,String)]+ customFieldsBI = buildInfo . customFieldsBI+ {-# INLINE customFieldsBI #-}++ targetBuildDepends :: Lens' a [Dependency]+ targetBuildDepends = buildInfo . targetBuildDepends+ {-# INLINE targetBuildDepends #-}++ mixins :: Lens' a [Mixin]+ mixins = buildInfo . mixins+ {-# INLINE mixins #-}+++instance HasBuildInfo BuildInfo where+ buildInfo = id+ {-# INLINE buildInfo #-}++ buildable f s = fmap (\x -> s { T.buildable = x }) (f (T.buildable s))+ {-# INLINE buildable #-}++ buildTools f s = fmap (\x -> s { T.buildTools = x }) (f (T.buildTools s))+ {-# INLINE buildTools #-}++ buildToolDepends f s = fmap (\x -> s { T.buildToolDepends = x }) (f (T.buildToolDepends s))+ {-# INLINE buildToolDepends #-}++ cppOptions f s = fmap (\x -> s { T.cppOptions = x }) (f (T.cppOptions s))+ {-# INLINE cppOptions #-}++ asmOptions f s = fmap (\x -> s { T.asmOptions = x }) (f (T.asmOptions s))+ {-# INLINE asmOptions #-}++ cmmOptions f s = fmap (\x -> s { T.cmmOptions = x }) (f (T.cmmOptions s))+ {-# INLINE cmmOptions #-}++ ccOptions f s = fmap (\x -> s { T.ccOptions = x }) (f (T.ccOptions s))+ {-# INLINE ccOptions #-}++ cxxOptions f s = fmap (\x -> s { T.cxxOptions = x }) (f (T.cxxOptions s))+ {-# INLINE cxxOptions #-}++ ldOptions f s = fmap (\x -> s { T.ldOptions = x }) (f (T.ldOptions s))+ {-# INLINE ldOptions #-}++ pkgconfigDepends f s = fmap (\x -> s { T.pkgconfigDepends = x }) (f (T.pkgconfigDepends s))+ {-# INLINE pkgconfigDepends #-}++ frameworks f s = fmap (\x -> s { T.frameworks = x }) (f (T.frameworks s))+ {-# INLINE frameworks #-}++ extraFrameworkDirs f s = fmap (\x -> s { T.extraFrameworkDirs = x }) (f (T.extraFrameworkDirs s))+ {-# INLINE extraFrameworkDirs #-}++ asmSources f s = fmap (\x -> s { T.asmSources = x }) (f (T.asmSources s))+ {-# INLINE asmSources #-}++ cmmSources f s = fmap (\x -> s { T.cmmSources = x }) (f (T.cmmSources s))+ {-# INLINE cmmSources #-}++ cSources f s = fmap (\x -> s { T.cSources = x }) (f (T.cSources s))+ {-# INLINE cSources #-}++ cxxSources f s = fmap (\x -> s { T.cSources = x }) (f (T.cxxSources s))+ {-# INLINE cxxSources #-}++ jsSources f s = fmap (\x -> s { T.jsSources = x }) (f (T.jsSources s))+ {-# INLINE jsSources #-}++ hsSourceDirs f s = fmap (\x -> s { T.hsSourceDirs = x }) (f (T.hsSourceDirs s))+ {-# INLINE hsSourceDirs #-}++ otherModules f s = fmap (\x -> s { T.otherModules = x }) (f (T.otherModules s))+ {-# INLINE otherModules #-}++ virtualModules f s = fmap (\x -> s { T.virtualModules = x }) (f (T.virtualModules s))+ {-# INLINE virtualModules #-}++ autogenModules f s = fmap (\x -> s { T.autogenModules = x }) (f (T.autogenModules s))+ {-# INLINE autogenModules #-}++ defaultLanguage f s = fmap (\x -> s { T.defaultLanguage = x }) (f (T.defaultLanguage s))+ {-# INLINE defaultLanguage #-}++ otherLanguages f s = fmap (\x -> s { T.otherLanguages = x }) (f (T.otherLanguages s))+ {-# INLINE otherLanguages #-}++ defaultExtensions f s = fmap (\x -> s { T.defaultExtensions = x }) (f (T.defaultExtensions s))+ {-# INLINE defaultExtensions #-}++ otherExtensions f s = fmap (\x -> s { T.otherExtensions = x }) (f (T.otherExtensions s))+ {-# INLINE otherExtensions #-}++ oldExtensions f s = fmap (\x -> s { T.oldExtensions = x }) (f (T.oldExtensions s))+ {-# INLINE oldExtensions #-}++ extraLibs f s = fmap (\x -> s { T.extraLibs = x }) (f (T.extraLibs s))+ {-# INLINE extraLibs #-}++ extraGHCiLibs f s = fmap (\x -> s { T.extraGHCiLibs = x }) (f (T.extraGHCiLibs s))+ {-# INLINE extraGHCiLibs #-}++ extraBundledLibs f s = fmap (\x -> s { T.extraBundledLibs = x }) (f (T.extraBundledLibs s))+ {-# INLINE extraBundledLibs #-}++ extraLibFlavours f s = fmap (\x -> s { T.extraLibFlavours = x }) (f (T.extraLibFlavours s))+ {-# INLINE extraLibFlavours #-}++ extraLibDirs f s = fmap (\x -> s { T.extraLibDirs = x }) (f (T.extraLibDirs s))+ {-# INLINE extraLibDirs #-}++ includeDirs f s = fmap (\x -> s { T.includeDirs = x }) (f (T.includeDirs s))+ {-# INLINE includeDirs #-}++ includes f s = fmap (\x -> s { T.includes = x }) (f (T.includes s))+ {-# INLINE includes #-}++ installIncludes f s = fmap (\x -> s { T.installIncludes = x }) (f (T.installIncludes s))+ {-# INLINE installIncludes #-}++ options f s = fmap (\x -> s { T.options = x }) (f (T.options s))+ {-# INLINE options #-}++ profOptions f s = fmap (\x -> s { T.profOptions = x }) (f (T.profOptions s))+ {-# INLINE profOptions #-}++ sharedOptions f s = fmap (\x -> s { T.sharedOptions = x }) (f (T.sharedOptions s))+ {-# INLINE sharedOptions #-}++ staticOptions f s = fmap (\x -> s { T.staticOptions = x }) (f (T.staticOptions s))+ {-# INLINE staticOptions #-}++ customFieldsBI f s = fmap (\x -> s { T.customFieldsBI = x }) (f (T.customFieldsBI s))+ {-# INLINE customFieldsBI #-}++ targetBuildDepends f s = fmap (\x -> s { T.targetBuildDepends = x }) (f (T.targetBuildDepends s))+ {-# INLINE targetBuildDepends #-}++ mixins f s = fmap (\x -> s { T.mixins = x }) (f (T.mixins s))+ {-# INLINE mixins #-}
@@ -9,10 +9,14 @@ import Prelude () import Distribution.Compat.Prelude +import Distribution.CabalSpecVersion (CabalSpecVersion (..))+import Distribution.Pretty+import Distribution.Parsec.Class import Distribution.Text-import qualified Distribution.Compat.ReadP as Parse -import Text.PrettyPrint as Disp+import qualified Distribution.Compat.CharParsing as P+import qualified Distribution.Compat.ReadP as Parse+import qualified Text.PrettyPrint as Disp -- | The type of build system used by this package. data BuildType@@ -22,27 +26,42 @@ -- information used by later phases. | Make -- ^ calls @Distribution.Make.defaultMain@ | Custom -- ^ uses user-supplied @Setup.hs@ or @Setup.lhs@ (default)- | UnknownBuildType String- -- ^ a package that uses an unknown build type cannot actually- -- be built. Doing it this way rather than just giving a- -- parse error means we get better error messages and allows- -- you to inspect the rest of the package description. deriving (Generic, Show, Read, Eq, Typeable, Data) instance Binary BuildType +instance NFData BuildType where rnf = genericRnf+ knownBuildTypes :: [BuildType] knownBuildTypes = [Simple, Configure, Make, Custom] -instance Text BuildType where- disp (UnknownBuildType other) = Disp.text other- disp other = Disp.text (show other)+instance Pretty BuildType where+ pretty = Disp.text . show +instance Parsec BuildType where+ parsec = do+ name <- P.munch1 isAlphaNum+ case name of+ "Simple" -> return Simple+ "Configure" -> return Configure+ "Custom" -> return Custom+ "Make" -> return Make+ "Default" -> do+ v <- askCabalSpecVersion+ if v <= CabalSpecOld+ then do+ parsecWarning PWTBuildTypeDefault "build-type: Default is parsed as Custom for legacy reasons. See https://github.com/haskell/cabal/issues/5020"+ return Custom+ else fail ("unknown build-type: '" ++ name ++ "'")+ _ -> fail ("unknown build-type: '" ++ name ++ "'")++instance Text BuildType where parse = do name <- Parse.munch1 isAlphaNum- return $ case name of- "Simple" -> Simple- "Configure" -> Configure- "Custom" -> Custom- "Make" -> Make- _ -> UnknownBuildType name+ case name of+ "Simple" -> return Simple+ "Configure" -> return Configure+ "Custom" -> return Custom+ "Make" -> return Make+ "Default" -> return Custom+ _ -> fail ("unknown build-type: '" ++ name ++ "'")
@@ -21,6 +21,8 @@ import Distribution.Types.ComponentName import Distribution.Types.BuildInfo +import qualified Distribution.Types.BuildInfo.Lens as L+ data Component = CLib Library | CFLib ForeignLib | CExe Executable@@ -35,6 +37,13 @@ CTest t <> CTest t' = CTest (t <> t') CBench b <> CBench b' = CBench (b <> b') _ <> _ = error "Cannot merge Component"++instance L.HasBuildInfo Component where+ buildInfo f (CLib l) = CLib <$> L.buildInfo f l+ buildInfo f (CFLib l) = CFLib <$> L.buildInfo f l+ buildInfo f (CExe e) = CExe <$> L.buildInfo f e+ buildInfo f (CTest t) = CTest <$> L.buildInfo f t+ buildInfo f (CBench b) = CBench <$> L.buildInfo f b foldComponent :: (Library -> a) -> (ForeignLib -> a)
@@ -11,7 +11,10 @@ import Distribution.Utils.ShortText import qualified Distribution.Compat.ReadP as Parse+import qualified Distribution.Compat.CharParsing as P import Distribution.Text+import Distribution.Pretty+import Distribution.Parsec.Class import Text.PrettyPrint (text) @@ -56,9 +59,14 @@ instance Binary ComponentId -instance Text ComponentId where- disp = text . unComponentId+instance Pretty ComponentId where+ pretty = text . unComponentId +instance Parsec ComponentId where+ parsec = mkComponentId `fmap` P.munch1 abi_char+ where abi_char c = isAlphaNum c || c `elem` "-_."++instance Text ComponentId where parse = mkComponentId `fmap` Parse.munch1 abi_char where abi_char c = isAlphaNum c || c `elem` "-_."
@@ -16,6 +16,7 @@ import qualified Distribution.Compat.ReadP as Parse import Distribution.Compat.ReadP ((<++)) import Distribution.Types.UnqualComponentName+import Distribution.Pretty import Distribution.Text import Text.PrettyPrint as Disp@@ -32,14 +33,15 @@ instance Binary ComponentName -- Build-target-ish syntax-instance Text ComponentName where- disp CLibName = Disp.text "lib"- disp (CSubLibName str) = Disp.text "lib:" <<>> disp str- disp (CFLibName str) = Disp.text "flib:" <<>> disp str- disp (CExeName str) = Disp.text "exe:" <<>> disp str- disp (CTestName str) = Disp.text "test:" <<>> disp str- disp (CBenchName str) = Disp.text "bench:" <<>> disp str+instance Pretty ComponentName where+ pretty CLibName = Disp.text "lib"+ pretty (CSubLibName str) = Disp.text "lib:" <<>> pretty str+ pretty (CFLibName str) = Disp.text "flib:" <<>> pretty str+ pretty (CExeName str) = Disp.text "exe:" <<>> pretty str+ pretty (CTestName str) = Disp.text "test:" <<>> pretty str+ pretty (CBenchName str) = Disp.text "bench:" <<>> pretty str +instance Text ComponentName where parse = parseComposite <++ parseSingle where parseSingle = Parse.string "lib" >> return CLibName
@@ -59,6 +59,8 @@ instance (Binary v, Binary c, Binary a) => Binary (CondTree v c a) +instance (NFData v, NFData c, NFData a) => NFData (CondTree v c a) where rnf = genericRnf+ -- | A 'CondBranch' represents a conditional branch, e.g., @if -- flag(foo)@ on some syntax @a@. It also has an optional false -- branch.@@ -78,6 +80,8 @@ foldMap f (CondBranch _ c (Just a)) = foldMap f c `mappend` foldMap f a instance (Binary v, Binary c, Binary a) => Binary (CondBranch v c a)++instance (NFData v, NFData c, NFData a) => NFData (CondBranch v c a) where rnf = genericRnf condIfThen :: Condition v -> CondTree v c a -> CondBranch v c a condIfThen c t = CondBranch c t Nothing
@@ -98,6 +98,8 @@ instance Binary c => Binary (Condition c) +instance NFData c => NFData (Condition c) where rnf = genericRnf+ -- | Simplify the condition and return its free variables. simplifyCondition :: Condition c -> (c -> Either d Bool) -- ^ (partial) variable assignment
@@ -17,8 +17,10 @@ , simplifyVersionRange ) import qualified Distribution.Compat.ReadP as Parse-import Distribution.Compat.ReadP+ import Distribution.Text+import Distribution.Pretty+import Distribution.Parsec.Class import Distribution.Types.PackageId import Distribution.Types.PackageName @@ -38,13 +40,19 @@ instance Binary Dependency instance NFData Dependency where rnf = genericRnf -instance Text Dependency where- disp (Dependency name ver) =- disp name <+> disp ver+instance Pretty Dependency where+ pretty (Dependency name ver) = pretty name <+> pretty ver +instance Parsec Dependency where+ parsec = do+ name <- lexemeParsec+ ver <- parsec <|> pure anyVersion+ return (Dependency name ver)++instance Text Dependency where parse = do name <- parse Parse.skipSpaces- ver <- parse <++ return anyVersion+ ver <- parse Parse.<++ return anyVersion Parse.skipSpaces return (Dependency name ver)
@@ -1,23 +1,25 @@ {-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveGeneric #-} module Distribution.Types.ExeDependency ( ExeDependency(..) , qualifiedExeName ) where -import Prelude () import Distribution.Compat.Prelude+import Prelude () +import Distribution.Parsec.Class+import Distribution.Pretty+import Distribution.Text import Distribution.Types.ComponentName-import Distribution.Types.UnqualComponentName import Distribution.Types.PackageName-import Distribution.Version ( VersionRange, anyVersion )--import qualified Distribution.Compat.ReadP as Parse-import Distribution.Compat.ReadP-import Distribution.Text+import Distribution.Types.UnqualComponentName+import Distribution.Version (VersionRange, anyVersion) -import Text.PrettyPrint ((<+>), text)+import qualified Distribution.Compat.CharParsing as P+import Distribution.Compat.ReadP ((<++))+import qualified Distribution.Compat.ReadP as Parse+import Text.PrettyPrint (text, (<+>)) -- | Describes a dependency on an executable from a package --@@ -30,10 +32,19 @@ instance Binary ExeDependency instance NFData ExeDependency where rnf = genericRnf -instance Text ExeDependency where- disp (ExeDependency name exe ver) =- (disp name <<>> text ":" <<>> disp exe) <+> disp ver+instance Pretty ExeDependency where+ pretty (ExeDependency name exe ver) =+ (pretty name <<>> text ":" <<>> pretty exe) <+> pretty ver +instance Parsec ExeDependency where+ parsec = do+ name <- lexemeParsec+ _ <- P.char ':'+ exe <- lexemeParsec+ ver <- parsec <|> pure anyVersion+ return (ExeDependency name exe ver)++instance Text ExeDependency where parse = do name <- parse _ <- Parse.char ':' exe <- parse
@@ -16,6 +16,8 @@ import Distribution.Types.ExecutableScope import Distribution.ModuleName +import qualified Distribution.Types.BuildInfo.Lens as L+ data Executable = Executable { exeName :: UnqualComponentName, modulePath :: FilePath,@@ -24,7 +26,12 @@ } deriving (Generic, Show, Read, Eq, Typeable, Data) +instance L.HasBuildInfo Executable where+ buildInfo f l = (\x -> l { buildInfo = x }) <$> f (buildInfo l)+ instance Binary Executable++instance NFData Executable where rnf = genericRnf instance Monoid Executable where mempty = gmempty
@@ -0,0 +1,32 @@+module Distribution.Types.Executable.Lens (+ Executable,+ module Distribution.Types.Executable.Lens,+ ) where++import Distribution.Compat.Lens+import Distribution.Compat.Prelude+import Prelude ()++import Distribution.Types.Executable (Executable)+import Distribution.Types.ExecutableScope (ExecutableScope)+import Distribution.Types.UnqualComponentName (UnqualComponentName)++import qualified Distribution.Types.Executable as T++exeName :: Lens' Executable UnqualComponentName+exeName f s = fmap (\x -> s { T.exeName = x }) (f (T.exeName s))+{-# INLINE exeName #-}++modulePath :: Lens' Executable String+modulePath f s = fmap (\x -> s { T.modulePath = x }) (f (T.modulePath s))+{-# INLINE modulePath #-}++exeScope :: Lens' Executable ExecutableScope+exeScope f s = fmap (\x -> s { T.exeScope = x }) (f (T.exeScope s))+{-# INLINE exeScope #-}++{-+buildInfo :: Lens' Executable BuildInfo+buildInfo f s = fmap (\x -> s { T.buildInfo = x }) (f (T.buildInfo s))+{-# INLINE buildInfo #-}+-}
@@ -8,34 +8,43 @@ import Prelude () import Distribution.Compat.Prelude +import Distribution.Pretty+import Distribution.Parsec.Class import Distribution.Text-import qualified Distribution.Compat.ReadP as Parse -import Text.PrettyPrint (text)+import qualified Distribution.Compat.CharParsing as P+import qualified Distribution.Compat.ReadP as Parse+import qualified Text.PrettyPrint as Disp -data ExecutableScope = ExecutableScopeUnknown- | ExecutablePublic+data ExecutableScope = ExecutablePublic | ExecutablePrivate deriving (Generic, Show, Read, Eq, Typeable, Data) -instance Text ExecutableScope where- disp ExecutablePublic = text "public"- disp ExecutablePrivate = text "private"- disp ExecutableScopeUnknown = text "unknown"+instance Pretty ExecutableScope where+ pretty ExecutablePublic = Disp.text "public"+ pretty ExecutablePrivate = Disp.text "private" - parse = Parse.choice- [ Parse.string "public" >> return ExecutablePublic- , Parse.string "private" >> return ExecutablePrivate- ]+instance Parsec ExecutableScope where+ parsec = P.try pub <|> pri where+ pub = ExecutablePublic <$ P.string "public"+ pri = ExecutablePrivate <$ P.string "private" +instance Text ExecutableScope where+ parse = Parse.choice+ [ Parse.string "public" >> return ExecutablePublic+ , Parse.string "private" >> return ExecutablePrivate+ ]+ instance Binary ExecutableScope -instance Monoid ExecutableScope where- mempty = ExecutableScopeUnknown- mappend = (<>)+instance NFData ExecutableScope where rnf = genericRnf +-- | 'Any' like semigroup, where 'ExecutablePrivate' is 'Any True' instance Semigroup ExecutableScope where- ExecutableScopeUnknown <> x = x- x <> ExecutableScopeUnknown = x- x <> y | x == y = x- | otherwise = error "Ambiguous executable scope"+ ExecutablePublic <> x = x+ x@ExecutablePrivate <> _ = x++-- | 'mempty' = 'ExecutablePublic'+instance Monoid ExecutableScope where+ mempty = ExecutablePublic+ mappend = (<>)
@@ -0,0 +1,57 @@+{-# LANGUAGE DeriveGeneric #-}+module Distribution.Types.ExposedModule where++import Distribution.Compat.Prelude+import Prelude ()++import Distribution.Backpack+import Distribution.ModuleName+import Distribution.Parsec.Class+import Distribution.ParseUtils (parseModuleNameQ)+import Distribution.Pretty+import Distribution.Text++import qualified Distribution.Compat.CharParsing as P+import qualified Distribution.Compat.ReadP as Parse+import qualified Text.PrettyPrint as Disp++data ExposedModule+ = ExposedModule {+ exposedName :: ModuleName,+ exposedReexport :: Maybe OpenModule+ }+ deriving (Eq, Generic, Read, Show)++instance Pretty ExposedModule where+ pretty (ExposedModule m reexport) =+ Disp.hsep [ pretty m+ , case reexport of+ Just m' -> Disp.hsep [Disp.text "from", disp m']+ Nothing -> Disp.empty+ ]++instance Parsec ExposedModule where+ parsec = do+ m <- parsecMaybeQuoted parsec+ P.spaces++ reexport <- P.optional $ do+ _ <- P.string "from"+ P.skipSpaces1+ parsec++ return (ExposedModule m reexport)++instance Text ExposedModule where+ parse = do+ m <- parseModuleNameQ+ Parse.skipSpaces+ reexport <- Parse.option Nothing $ do+ _ <- Parse.string "from"+ Parse.skipSpaces+ fmap Just parse+ return (ExposedModule m reexport)++instance Binary ExposedModule++instance NFData ExposedModule where rnf = genericRnf
@@ -1,5 +1,5 @@ {-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveGeneric #-} module Distribution.Types.ForeignLib( ForeignLib(..),@@ -16,23 +16,27 @@ libVersionMajor ) where -import Prelude () import Distribution.Compat.Prelude+import Prelude () import Distribution.ModuleName-import Distribution.Version+import Distribution.Parsec.Class+import Distribution.Pretty import Distribution.System import Distribution.Text-import qualified Distribution.Compat.ReadP as Parse- import Distribution.Types.BuildInfo-import Distribution.Types.ForeignLibType import Distribution.Types.ForeignLibOption+import Distribution.Types.ForeignLibType import Distribution.Types.UnqualComponentName+import Distribution.Version -import qualified Text.PrettyPrint as Disp-import qualified Text.Read as Read+import qualified Distribution.Compat.CharParsing as P+import qualified Distribution.Compat.ReadP as Parse+import qualified Text.PrettyPrint as Disp+import qualified Text.Read as Read +import qualified Distribution.Types.BuildInfo.Lens as L+ -- | A foreign library stanza is like a library stanza, except that -- the built code is intended for consumption by a non-Haskell client. data ForeignLib = ForeignLib {@@ -81,9 +85,25 @@ instance Binary LibVersionInfo -instance Text LibVersionInfo where- disp (LibVersionInfo c r a)+instance NFData LibVersionInfo where rnf = genericRnf++instance Pretty LibVersionInfo where+ pretty (LibVersionInfo c r a) = Disp.hcat $ Disp.punctuate (Disp.char ':') $ map Disp.int [c,r,a]++instance Parsec LibVersionInfo where+ parsec = do+ c <- P.integral+ (r, a) <- P.option (0,0) $ do+ _ <- P.char ':'+ r <- P.integral+ a <- P.option 0 $ do+ _ <- P.char ':'+ P.integral+ return (r,a)+ return $ mkLibVersionInfo (c,r,a)++instance Text LibVersionInfo where parse = do c <- parseNat (r, a) <- Parse.option (0,0) $ do@@ -125,7 +145,12 @@ libVersionMajor :: LibVersionInfo -> Int libVersionMajor (LibVersionInfo c _ a) = c-a +instance L.HasBuildInfo ForeignLib where+ buildInfo f l = (\x -> l { foreignLibBuildInfo = x }) <$> f (foreignLibBuildInfo l)+ instance Binary ForeignLib++instance NFData ForeignLib where rnf = genericRnf instance Semigroup ForeignLib where a <> b = ForeignLib {
@@ -0,0 +1,45 @@+module Distribution.Types.ForeignLib.Lens (+ ForeignLib,+ module Distribution.Types.ForeignLib.Lens,+ ) where++import Distribution.Compat.Lens+import Distribution.Compat.Prelude+import Prelude ()++import Distribution.Types.BuildInfo (BuildInfo)+import Distribution.Types.ForeignLib (ForeignLib, LibVersionInfo)+import Distribution.Types.ForeignLibOption (ForeignLibOption)+import Distribution.Types.ForeignLibType (ForeignLibType)+import Distribution.Types.UnqualComponentName (UnqualComponentName)+import Distribution.Version (Version)++import qualified Distribution.Types.ForeignLib as T++foreignLibName :: Lens' ForeignLib UnqualComponentName+foreignLibName f s = fmap (\x -> s { T.foreignLibName = x }) (f (T.foreignLibName s))+{-# INLINE foreignLibName #-}++foreignLibType :: Lens' ForeignLib ForeignLibType+foreignLibType f s = fmap (\x -> s { T.foreignLibType = x }) (f (T.foreignLibType s))+{-# INLINE foreignLibType #-}++foreignLibOptions :: Lens' ForeignLib [ForeignLibOption]+foreignLibOptions f s = fmap (\x -> s { T.foreignLibOptions = x }) (f (T.foreignLibOptions s))+{-# INLINE foreignLibOptions #-}++foreignLibBuildInfo :: Lens' ForeignLib BuildInfo+foreignLibBuildInfo f s = fmap (\x -> s { T.foreignLibBuildInfo = x }) (f (T.foreignLibBuildInfo s))+{-# INLINE foreignLibBuildInfo #-}++foreignLibVersionInfo :: Lens' ForeignLib (Maybe LibVersionInfo)+foreignLibVersionInfo f s = fmap (\x -> s { T.foreignLibVersionInfo = x }) (f (T.foreignLibVersionInfo s))+{-# INLINE foreignLibVersionInfo #-}++foreignLibVersionLinux :: Lens' ForeignLib (Maybe Version)+foreignLibVersionLinux f s = fmap (\x -> s { T.foreignLibVersionLinux = x }) (f (T.foreignLibVersionLinux s))+{-# INLINE foreignLibVersionLinux #-}++foreignLibModDefFile :: Lens' ForeignLib [FilePath]+foreignLibModDefFile f s = fmap (\x -> s { T.foreignLibModDefFile = x }) (f (T.foreignLibModDefFile s))+{-# INLINE foreignLibModDefFile #-}
@@ -8,10 +8,14 @@ import Prelude () import Distribution.Compat.Prelude -import Text.PrettyPrint-import qualified Distribution.Compat.ReadP as Parse+import Distribution.Pretty+import Distribution.Parsec.Class import Distribution.Text +import qualified Distribution.Compat.CharParsing as P+import qualified Distribution.Compat.ReadP as Parse+import qualified Text.PrettyPrint as Disp+ data ForeignLibOption = -- | Merge in all dependent libraries (i.e., use -- @ghc -shared -static@ rather than just record@@ -21,12 +25,21 @@ ForeignLibStandalone deriving (Generic, Show, Read, Eq, Typeable, Data) -instance Text ForeignLibOption where- disp ForeignLibStandalone = text "standalone"+instance Pretty ForeignLibOption where+ pretty ForeignLibStandalone = Disp.text "standalone" +instance Parsec ForeignLibOption where+ parsec = do+ name <- P.munch1 (\c -> isAlphaNum c || c == '-')+ case name of+ "standalone" -> return ForeignLibStandalone+ _ -> fail "unrecognized foreign-library option"++instance Text ForeignLibOption where parse = Parse.choice [ do _ <- Parse.string "standalone" ; return ForeignLibStandalone ] instance Binary ForeignLibOption +instance NFData ForeignLibOption where rnf = genericRnf
@@ -9,11 +9,15 @@ import Prelude () import Distribution.Compat.Prelude+import Distribution.PackageDescription.Utils -import Text.PrettyPrint hiding ((<>))+import Distribution.Pretty+import Distribution.Parsec.Class import Distribution.Text++import qualified Distribution.Compat.CharParsing as P import qualified Distribution.Compat.ReadP as Parse-import Distribution.PackageDescription.Utils+import qualified Text.PrettyPrint as Disp -- | What kind of foreign library is to be built? data ForeignLibType =@@ -26,17 +30,28 @@ | ForeignLibTypeUnknown deriving (Generic, Show, Read, Eq, Typeable, Data) -instance Text ForeignLibType where- disp ForeignLibNativeShared = text "native-shared"- disp ForeignLibNativeStatic = text "native-static"- disp ForeignLibTypeUnknown = text "unknown"+instance Pretty ForeignLibType where+ pretty ForeignLibNativeShared = Disp.text "native-shared"+ pretty ForeignLibNativeStatic = Disp.text "native-static"+ pretty ForeignLibTypeUnknown = Disp.text "unknown" +instance Parsec ForeignLibType where+ parsec = do+ name <- P.munch1 (\c -> isAlphaNum c || c == '-')+ return $ case name of+ "native-shared" -> ForeignLibNativeShared+ "native-static" -> ForeignLibNativeStatic+ _ -> ForeignLibTypeUnknown++instance Text ForeignLibType where parse = Parse.choice [ do _ <- Parse.string "native-shared" ; return ForeignLibNativeShared , do _ <- Parse.string "native-static" ; return ForeignLibNativeStatic ] instance Binary ForeignLibType++instance NFData ForeignLibType where rnf = genericRnf instance Semigroup ForeignLibType where ForeignLibTypeUnknown <> b = b
@@ -1,17 +1,28 @@ {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-} module Distribution.Types.GenericPackageDescription ( GenericPackageDescription(..),+ emptyGenericPackageDescription, Flag(..), emptyFlag, FlagName, mkFlagName, unFlagName, FlagAssignment,+ mkFlagAssignment,+ unFlagAssignment,+ lookupFlagAssignment,+ insertFlagAssignment,+ diffFlagAssignment,+ findDuplicateFlagAssignments,+ nullFlagAssignment, showFlagValue, dispFlagAssignment, parseFlagAssignment,+ parsecFlagAssignment, ConfVar(..), ) where @@ -20,7 +31,9 @@ import Distribution.Utils.ShortText import Distribution.Utils.Generic (lowercase) import qualified Text.PrettyPrint as Disp+import qualified Data.Map as Map import qualified Distribution.Compat.ReadP as Parse+import qualified Distribution.Compat.CharParsing as P import Distribution.Compat.ReadP ((+++)) import Distribution.Types.PackageDescription@@ -38,21 +51,29 @@ import Distribution.Version import Distribution.Compiler import Distribution.System+import Distribution.Parsec.Class+import Distribution.Pretty+import Distribution.Text -- --------------------------------------------------------------------------- -- The GenericPackageDescription type data GenericPackageDescription =- GenericPackageDescription {- packageDescription :: PackageDescription,- genPackageFlags :: [Flag],- condLibrary :: Maybe (CondTree ConfVar [Dependency] Library),- condSubLibraries :: [(UnqualComponentName, CondTree ConfVar [Dependency] Library)],- condForeignLibs :: [(UnqualComponentName, CondTree ConfVar [Dependency] ForeignLib)],- condExecutables :: [(UnqualComponentName, CondTree ConfVar [Dependency] Executable)],- condTestSuites :: [(UnqualComponentName, CondTree ConfVar [Dependency] TestSuite)],- condBenchmarks :: [(UnqualComponentName, CondTree ConfVar [Dependency] Benchmark)]- }+ GenericPackageDescription+ { packageDescription :: PackageDescription+ , genPackageFlags :: [Flag]+ , condLibrary :: Maybe (CondTree ConfVar [Dependency] Library)+ , condSubLibraries :: [( UnqualComponentName+ , CondTree ConfVar [Dependency] Library )]+ , condForeignLibs :: [( UnqualComponentName+ , CondTree ConfVar [Dependency] ForeignLib )]+ , condExecutables :: [( UnqualComponentName+ , CondTree ConfVar [Dependency] Executable )]+ , condTestSuites :: [( UnqualComponentName+ , CondTree ConfVar [Dependency] TestSuite )]+ , condBenchmarks :: [( UnqualComponentName+ , CondTree ConfVar [Dependency] Benchmark )]+ } deriving (Show, Eq, Typeable, Data, Generic) instance Package GenericPackageDescription where@@ -60,6 +81,8 @@ instance Binary GenericPackageDescription +instance NFData GenericPackageDescription where rnf = genericRnf+ -- | A flag can represent a feature to be included, or a way of linking -- a target against its dependencies, or in fact whatever you can think of. data Flag = MkFlag@@ -72,6 +95,8 @@ instance Binary Flag +instance NFData Flag where rnf = genericRnf+ -- | A 'Flag' initialized with default parameters. emptyFlag :: FlagName -> Flag emptyFlag name = MkFlag@@ -89,7 +114,7 @@ -- -- @since 2.0.0.2 newtype FlagName = FlagName ShortText- deriving (Eq, Generic, Ord, Show, Read, Typeable, Data)+ deriving (Eq, Generic, Ord, Show, Read, Typeable, Data, NFData) -- | Construct a 'FlagName' from a 'String' --@@ -116,13 +141,141 @@ instance Binary FlagName +instance Pretty FlagName where+ pretty = Disp.text . unFlagName++instance Parsec FlagName where+ parsec = mkFlagName . lowercase <$> parsec'+ where+ parsec' = (:) <$> lead <*> rest+ lead = P.satisfy (\c -> isAlphaNum c || c == '_')+ rest = P.munch (\c -> isAlphaNum c || c == '_' || c == '-')++instance Text FlagName where+ -- Note: we don't check that FlagName doesn't have leading dash,+ -- cabal check will do that.+ parse = mkFlagName . lowercase <$> parse'+ where+ parse' = (:) <$> lead <*> rest+ lead = Parse.satisfy (\c -> isAlphaNum c || c == '_')+ rest = Parse.munch (\c -> isAlphaNum c || c == '_' || c == '-')+ -- | A 'FlagAssignment' is a total or partial mapping of 'FlagName's to -- 'Bool' flag values. It represents the flags chosen by the user or -- discovered during configuration. For example @--flags=foo --flags=-bar@ -- becomes @[("foo", True), ("bar", False)]@ ---type FlagAssignment = [(FlagName, Bool)]+newtype FlagAssignment+ = FlagAssignment { getFlagAssignment :: Map.Map FlagName (Int, Bool) }+ deriving (Binary, NFData) +instance Eq FlagAssignment where+ (==) (FlagAssignment m1) (FlagAssignment m2)+ = fmap snd m1 == fmap snd m2++instance Ord FlagAssignment where+ compare (FlagAssignment m1) (FlagAssignment m2)+ = fmap snd m1 `compare` fmap snd m2++-- | Combines pairs of values contained in the 'FlagAssignment' Map.+--+-- The last flag specified takes precedence, and we record the number+-- of times we have seen the flag.+--+combineFlagValues :: (Int, Bool) -> (Int, Bool) -> (Int, Bool)+combineFlagValues (c1, _) (c2, b2) = (c1 + c2, b2)++-- The 'Semigroup' instance currently is right-biased.+--+-- If duplicate flags are specified, we want the last flag specified to+-- take precedence and we want to know how many times the flag has been+-- specified so that we have the option of warning the user about+-- supplying duplicate flags.+instance Semigroup FlagAssignment where+ (<>) (FlagAssignment m1) (FlagAssignment m2)+ = FlagAssignment (Map.unionWith combineFlagValues m1 m2)++instance Monoid FlagAssignment where+ mempty = FlagAssignment Map.empty+ mappend = (<>)++-- | Construct a 'FlagAssignment' from a list of flag/value pairs.+--+-- If duplicate flags occur in the input list, the later entries+-- in the list will take precedence.+--+-- @since 2.2.0+mkFlagAssignment :: [(FlagName, Bool)] -> FlagAssignment+mkFlagAssignment =+ FlagAssignment .+ Map.fromListWith (flip combineFlagValues) . fmap (fmap (\b -> (1, b)))++-- | Deconstruct a 'FlagAssignment' into a list of flag/value pairs.+--+-- @ 'null' ('findDuplicateFlagAssignments' fa) ==> ('mkFlagAssignment' . 'unFlagAssignment') fa == fa @+--+-- @since 2.2.0+unFlagAssignment :: FlagAssignment -> [(FlagName, Bool)]+unFlagAssignment = fmap (fmap snd) . Map.toList . getFlagAssignment++-- | Test whether 'FlagAssignment' is empty.+--+-- @since 2.2.0+nullFlagAssignment :: FlagAssignment -> Bool+nullFlagAssignment = Map.null . getFlagAssignment++-- | Lookup the value for a flag+--+-- Returns 'Nothing' if the flag isn't contained in the 'FlagAssignment'.+--+-- @since 2.2.0+lookupFlagAssignment :: FlagName -> FlagAssignment -> Maybe Bool+lookupFlagAssignment fn = fmap snd . Map.lookup fn . getFlagAssignment++-- | Insert or update the boolean value of a flag.+--+-- If the flag is already present in the 'FlagAssigment', the+-- value will be updated and the fact that multiple values have+-- been provided for that flag will be recorded so that a+-- warning can be generated later on.+--+-- @since 2.2.0+insertFlagAssignment :: FlagName -> Bool -> FlagAssignment -> FlagAssignment+-- TODO: this currently just shadows prior values for an existing+-- flag; rather than enforcing uniqueness at construction, it's+-- verified later on via `D.C.Dependency.configuredPackageProblems`+insertFlagAssignment flag val =+ FlagAssignment .+ Map.insertWith (flip combineFlagValues) flag (1, val) . getFlagAssignment++-- | Remove all flag-assignments from the first 'FlagAssignment' that+-- are contained in the second 'FlagAssignment'+--+-- NB/TODO: This currently only removes flag assignments which also+-- match the value assignment! We should review the code which uses+-- this operation to figure out if this it's not enough to only+-- compare the flagnames without the values.+--+-- @since 2.2.0+diffFlagAssignment :: FlagAssignment -> FlagAssignment -> FlagAssignment+diffFlagAssignment fa1 fa2 = FlagAssignment+ (Map.difference (getFlagAssignment fa1) (getFlagAssignment fa2))++-- | Find the 'FlagName's that have been listed more than once.+--+-- @since 2.2.0+findDuplicateFlagAssignments :: FlagAssignment -> [FlagName]+findDuplicateFlagAssignments =+ Map.keys . Map.filter ((> 1) . fst) . getFlagAssignment++-- | @since 2.2.0+instance Read FlagAssignment where+ readsPrec p s = [ (FlagAssignment x, rest) | (x,rest) <- readsPrec p s ]++-- | @since 2.2.0+instance Show FlagAssignment where+ showsPrec p (FlagAssignment xs) = showsPrec p xs+ -- | String representation of a flag-value pair. showFlagValue :: (FlagName, Bool) -> String showFlagValue (f, True) = '+' : unFlagName f@@ -130,27 +283,35 @@ -- | Pretty-prints a flag assignment. dispFlagAssignment :: FlagAssignment -> Disp.Doc-dispFlagAssignment = Disp.hsep . map (Disp.text . showFlagValue)+dispFlagAssignment = Disp.hsep . map (Disp.text . showFlagValue) . unFlagAssignment -- | Parses a flag assignment.+parsecFlagAssignment :: ParsecParser FlagAssignment+parsecFlagAssignment = mkFlagAssignment <$>+ P.sepBy (onFlag <|> offFlag) P.skipSpaces1+ where+ onFlag = do+ _ <- P.optional (P.char '+')+ f <- parsec+ return (f, True)+ offFlag = do+ _ <- P.char '-'+ f <- parsec+ return (f, False)++-- | Parses a flag assignment. parseFlagAssignment :: Parse.ReadP r FlagAssignment-parseFlagAssignment = Parse.sepBy parseFlagValue Parse.skipSpaces1+parseFlagAssignment = mkFlagAssignment <$>+ Parse.sepBy parseFlagValue Parse.skipSpaces1 where parseFlagValue = (do Parse.optional (Parse.char '+')- f <- parseFlagName+ f <- parse return (f, True)) +++ (do _ <- Parse.char '-'- f <- parseFlagName+ f <- parse return (f, False))- parseFlagName = liftM (mkFlagName . lowercase) ident-- ident :: Parse.ReadP r String- ident = Parse.munch1 identChar >>= \s -> check s >> return s- where- identChar c = isAlphaNum c || c == '_' || c == '-'- check ('-':_) = Parse.pfail- check _ = return ()+-- {-# DEPRECATED parseFlagAssignment "Use parsecFlagAssignment. This symbol will be removed in Cabal-3.0 (est. Oct 2018)." #-} -- | A @ConfVar@ represents the variable type used. data ConfVar = OS OS@@ -160,3 +321,8 @@ deriving (Eq, Show, Typeable, Data, Generic) instance Binary ConfVar++instance NFData ConfVar where rnf = genericRnf++emptyGenericPackageDescription :: GenericPackageDescription+emptyGenericPackageDescription = GenericPackageDescription emptyPackageDescription [] Nothing [] [] [] [] []
@@ -0,0 +1,121 @@+module Distribution.Types.GenericPackageDescription.Lens (+ GenericPackageDescription,+ Flag,+ FlagName,+ ConfVar (..),+ module Distribution.Types.GenericPackageDescription.Lens,+ ) where++import Prelude()+import Distribution.Compat.Prelude+import Distribution.Compat.Lens++import Distribution.Types.GenericPackageDescription (GenericPackageDescription(GenericPackageDescription), Flag(MkFlag), FlagName, ConfVar (..))++-- lens+import Distribution.Types.BuildInfo.Lens++-- We import types from their packages, so we can remove unused imports+-- and have wider inter-module dependency graph+import Distribution.Types.CondTree (CondTree)+import Distribution.Types.Dependency (Dependency)+import Distribution.Types.Executable (Executable)+import Distribution.Types.PackageDescription (PackageDescription)+import Distribution.Types.Benchmark (Benchmark)+import Distribution.Types.ForeignLib (ForeignLib)+import Distribution.Types.Library (Library)+import Distribution.Types.TestSuite (TestSuite)+import Distribution.Types.UnqualComponentName (UnqualComponentName)+import Distribution.System (Arch, OS)+import Distribution.Compiler (CompilerFlavor)+import Distribution.Version (VersionRange)++-------------------------------------------------------------------------------+-- GenericPackageDescription+-------------------------------------------------------------------------------++condBenchmarks :: Lens' GenericPackageDescription [(UnqualComponentName, CondTree ConfVar [Dependency] Benchmark)]+condBenchmarks f (GenericPackageDescription x1 x2 x3 x4 x5 x6 x7 x8) = fmap (\y1 -> GenericPackageDescription x1 x2 x3 x4 x5 x6 x7 y1) (f x8)+{-# INLINE condBenchmarks #-}++condExecutables :: Lens' GenericPackageDescription [(UnqualComponentName, CondTree ConfVar [Dependency] Executable)]+condExecutables f (GenericPackageDescription x1 x2 x3 x4 x5 x6 x7 x8) = fmap (\y1 -> GenericPackageDescription x1 x2 x3 x4 x5 y1 x7 x8) (f x6)+{-# INLINE condExecutables #-}++condForeignLibs :: Lens' GenericPackageDescription [(UnqualComponentName, CondTree ConfVar [Dependency] Distribution.Types.ForeignLib.ForeignLib)]+condForeignLibs f (GenericPackageDescription x1 x2 x3 x4 x5 x6 x7 x8) = fmap (\y1 -> GenericPackageDescription x1 x2 x3 x4 y1 x6 x7 x8) (f x5)+{-# INLINE condForeignLibs #-}++condLibrary :: Lens' GenericPackageDescription (Maybe (CondTree ConfVar [Dependency] Library))+condLibrary f (GenericPackageDescription x1 x2 x3 x4 x5 x6 x7 x8) = fmap (\y1 -> GenericPackageDescription x1 x2 y1 x4 x5 x6 x7 x8) (f x3)+{-# INLINE condLibrary #-}++condSubLibraries :: Lens' GenericPackageDescription [(UnqualComponentName, CondTree ConfVar [Dependency] Library)]+condSubLibraries f (GenericPackageDescription x1 x2 x3 x4 x5 x6 x7 x8) = fmap (\y1 -> GenericPackageDescription x1 x2 x3 y1 x5 x6 x7 x8) (f x4)+{-# INLINE condSubLibraries #-}++condTestSuites :: Lens' GenericPackageDescription [(UnqualComponentName, CondTree ConfVar [Dependency] TestSuite)]+condTestSuites f (GenericPackageDescription x1 x2 x3 x4 x5 x6 x7 x8) = fmap (\y1 -> GenericPackageDescription x1 x2 x3 x4 x5 x6 y1 x8) (f x7)+{-# INLINE condTestSuites #-}++genPackageFlags :: Lens' GenericPackageDescription [Flag]+genPackageFlags f (GenericPackageDescription x1 x2 x3 x4 x5 x6 x7 x8) = fmap (\y1 -> GenericPackageDescription x1 y1 x3 x4 x5 x6 x7 x8) (f x2)+{-# INLINE genPackageFlags #-}++packageDescription :: Lens' GenericPackageDescription PackageDescription+packageDescription f (GenericPackageDescription x1 x2 x3 x4 x5 x6 x7 x8) = fmap (\y1 -> GenericPackageDescription y1 x2 x3 x4 x5 x6 x7 x8) (f x1)+{-# INLINE packageDescription #-}++-------------------------------------------------------------------------------+-- BuildInfos+-------------------------------------------------------------------------------++buildInfos :: Traversal' GenericPackageDescription BuildInfo+buildInfos f (GenericPackageDescription x1 x2 x3 x4 x5 x6 x7 x8) =+ GenericPackageDescription x1 x2+ <$> (traverse . traverse . buildInfo) f x3+ <*> (traverse . _2 . traverse . buildInfo) f x4+ <*> (traverse . _2 . traverse . buildInfo) f x5+ <*> (traverse . _2 . traverse . buildInfo) f x6+ <*> (traverse . _2 . traverse . buildInfo) f x7+ <*> (traverse . _2 . traverse . buildInfo) f x8++-------------------------------------------------------------------------------+-- Flag+-------------------------------------------------------------------------------++flagName :: Lens' Flag FlagName+flagName f (MkFlag x1 x2 x3 x4) = fmap (\y1 -> MkFlag y1 x2 x3 x4) (f x1)+{-# INLINE flagName #-}++flagDescription :: Lens' Flag String+flagDescription f (MkFlag x1 x2 x3 x4) = fmap (\y1 -> MkFlag x1 y1 x3 x4) (f x2)+{-# INLINE flagDescription #-}++flagDefault :: Lens' Flag Bool+flagDefault f (MkFlag x1 x2 x3 x4) = fmap (\y1 -> MkFlag x1 x2 y1 x4) (f x3)+{-# INLINE flagDefault #-}++flagManual :: Lens' Flag Bool+flagManual f (MkFlag x1 x2 x3 x4) = fmap (\y1 -> MkFlag x1 x2 x3 y1) (f x4)+{-# INLINE flagManual #-}++-------------------------------------------------------------------------------+-- ConfVar+-------------------------------------------------------------------------------++_OS :: Traversal' ConfVar OS+_OS f (OS os) = OS <$> f os+_OS _ x = pure x++_Arch :: Traversal' ConfVar Arch+_Arch f (Arch arch) = Arch <$> f arch+_Arch _ x = pure x++_Flag :: Traversal' ConfVar FlagName+_Flag f (Flag flag) = Flag <$> f flag+_Flag _ x = pure x++_Impl :: Traversal' ConfVar (CompilerFlavor, VersionRange)+_Impl f (Impl cf vr) = uncurry Impl <$> f (cf, vr)+_Impl _ x = pure x
@@ -1,5 +1,5 @@ {-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveGeneric #-} module Distribution.Types.IncludeRenaming ( IncludeRenaming(..),@@ -7,16 +7,19 @@ isDefaultIncludeRenaming, ) where -import Prelude () import Distribution.Compat.Prelude+import Prelude () import Distribution.Types.ModuleRenaming -import Distribution.Text--import qualified Text.PrettyPrint as Disp-import Text.PrettyPrint ((<+>), text)-import Distribution.Compat.ReadP+import qualified Distribution.Compat.CharParsing as P+import Distribution.Compat.ReadP ((<++))+import qualified Distribution.Compat.ReadP as Parse+import Distribution.Parsec.Class+import Distribution.Pretty+import Distribution.Text+import Text.PrettyPrint (text, (<+>))+import qualified Text.PrettyPrint as Disp -- --------------------------------------------------------------------------- -- Module renaming@@ -31,6 +34,8 @@ instance Binary IncludeRenaming +instance NFData IncludeRenaming where rnf = genericRnf+ -- | The 'defaultIncludeRenaming' applied when you only @build-depends@ -- on a package. defaultIncludeRenaming :: IncludeRenaming@@ -40,15 +45,27 @@ isDefaultIncludeRenaming :: IncludeRenaming -> Bool isDefaultIncludeRenaming (IncludeRenaming p r) = isDefaultRenaming p && isDefaultRenaming r -instance Text IncludeRenaming where- disp (IncludeRenaming prov_rn req_rn) =- disp prov_rn+instance Pretty IncludeRenaming where+ pretty (IncludeRenaming prov_rn req_rn) =+ pretty prov_rn <+> (if isDefaultRenaming req_rn then Disp.empty- else text "requires" <+> disp req_rn)+ else text "requires" <+> pretty req_rn)++instance Parsec IncludeRenaming where+ parsec = do+ prov_rn <- parsec+ req_rn <- P.option defaultRenaming $ P.try $ do+ P.spaces+ _ <- P.string "requires"+ P.spaces+ parsec+ return (IncludeRenaming prov_rn req_rn)++instance Text IncludeRenaming where parse = do prov_rn <- parse- req_rn <- (string "requires" >> skipSpaces >> parse) <++ return defaultRenaming+ req_rn <- (Parse.string "requires" >> Parse.skipSpaces >> parse) <++ return defaultRenaming -- Requirements don't really care if they're mentioned -- or not (since you can't thin a requirement.) But -- we have a little hack in Configure to combine
@@ -0,0 +1,168 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE TypeFamilies #-}+module Distribution.Types.InstalledPackageInfo (+ InstalledPackageInfo (..),+ emptyInstalledPackageInfo,+ mungedPackageId,+ mungedPackageName,+ AbiDependency (..),+ ExposedModule (..),+ ) where++import Distribution.Compat.Prelude+import Prelude ()++import Distribution.Backpack+import Distribution.Compat.Graph (IsNode (..))+import Distribution.License+import Distribution.ModuleName+import Distribution.Package hiding (installedUnitId)+import Distribution.Types.AbiDependency+import Distribution.Types.ExposedModule+import Distribution.Types.MungedPackageId+import Distribution.Types.MungedPackageName+import Distribution.Types.UnqualComponentName+import Distribution.Version (nullVersion)++import qualified Distribution.Package as Package+import qualified Distribution.SPDX as SPDX++-- -----------------------------------------------------------------------------+-- The InstalledPackageInfo type++-- For BC reasons, we continue to name this record an InstalledPackageInfo;+-- but it would more accurately be called an InstalledUnitInfo with Backpack+data InstalledPackageInfo+ = InstalledPackageInfo {+ -- these parts (sourcePackageId, installedUnitId) are+ -- exactly the same as PackageDescription+ sourcePackageId :: PackageId,+ sourceLibName :: Maybe UnqualComponentName,+ installedComponentId_ :: ComponentId,+ installedUnitId :: UnitId,+ -- INVARIANT: if this package is definite, OpenModule's+ -- OpenUnitId directly records UnitId. If it is+ -- indefinite, OpenModule is always an OpenModuleVar+ -- with the same ModuleName as the key.+ instantiatedWith :: [(ModuleName, OpenModule)],+ compatPackageKey :: String,+ license :: Either SPDX.License License,+ copyright :: String,+ maintainer :: String,+ author :: String,+ stability :: String,+ homepage :: String,+ pkgUrl :: String,+ synopsis :: String,+ description :: String,+ category :: String,+ -- these parts are required by an installed package only:+ abiHash :: AbiHash,+ indefinite :: Bool,+ exposed :: Bool,+ -- INVARIANT: if the package is definite, OpenModule's+ -- OpenUnitId directly records UnitId.+ exposedModules :: [ExposedModule],+ hiddenModules :: [ModuleName],+ trusted :: Bool,+ importDirs :: [FilePath],+ libraryDirs :: [FilePath],+ libraryDynDirs :: [FilePath], -- ^ overrides 'libraryDirs'+ dataDir :: FilePath,+ hsLibraries :: [String],+ extraLibraries :: [String],+ extraGHCiLibraries:: [String], -- overrides extraLibraries for GHCi+ includeDirs :: [FilePath],+ includes :: [String],+ -- INVARIANT: if the package is definite, UnitId is NOT+ -- a ComponentId of an indefinite package+ depends :: [UnitId],+ abiDepends :: [AbiDependency],+ ccOptions :: [String],+ ldOptions :: [String],+ frameworkDirs :: [FilePath],+ frameworks :: [String],+ haddockInterfaces :: [FilePath],+ haddockHTMLs :: [FilePath],+ pkgRoot :: Maybe FilePath+ }+ deriving (Eq, Generic, Typeable, Read, Show)++instance Binary InstalledPackageInfo++instance NFData InstalledPackageInfo where rnf = genericRnf++instance Package.HasMungedPackageId InstalledPackageInfo where+ mungedId = mungedPackageId++instance Package.Package InstalledPackageInfo where+ packageId = sourcePackageId++instance Package.HasUnitId InstalledPackageInfo where+ installedUnitId = installedUnitId++instance Package.PackageInstalled InstalledPackageInfo where+ installedDepends = depends++instance IsNode InstalledPackageInfo where+ type Key InstalledPackageInfo = UnitId+ nodeKey = installedUnitId+ nodeNeighbors = depends++mungedPackageId :: InstalledPackageInfo -> MungedPackageId+mungedPackageId ipi =+ MungedPackageId (mungedPackageName ipi) (packageVersion ipi)++-- | Returns the munged package name, which we write into @name@ for+-- compatibility with old versions of GHC.+mungedPackageName :: InstalledPackageInfo -> MungedPackageName+mungedPackageName ipi =+ computeCompatPackageName+ (packageName ipi)+ (sourceLibName ipi)++emptyInstalledPackageInfo :: InstalledPackageInfo+emptyInstalledPackageInfo+ = InstalledPackageInfo {+ sourcePackageId = PackageIdentifier (mkPackageName "") nullVersion,+ sourceLibName = Nothing,+ installedComponentId_ = mkComponentId "",+ installedUnitId = mkUnitId "",+ instantiatedWith = [],+ compatPackageKey = "",+ license = Left SPDX.NONE,+ copyright = "",+ maintainer = "",+ author = "",+ stability = "",+ homepage = "",+ pkgUrl = "",+ synopsis = "",+ description = "",+ category = "",+ abiHash = mkAbiHash "",+ indefinite = False,+ exposed = False,+ exposedModules = [],+ hiddenModules = [],+ trusted = False,+ importDirs = [],+ libraryDirs = [],+ libraryDynDirs = [],+ dataDir = "",+ hsLibraries = [],+ extraLibraries = [],+ extraGHCiLibraries= [],+ includeDirs = [],+ includes = [],+ depends = [],+ abiDepends = [],+ ccOptions = [],+ ldOptions = [],+ frameworkDirs = [],+ frameworks = [],+ haddockInterfaces = [],+ haddockHTMLs = [],+ pkgRoot = Nothing+ }
@@ -0,0 +1,262 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+module Distribution.Types.InstalledPackageInfo.FieldGrammar (+ ipiFieldGrammar,+ ) where++import Distribution.Compat.Prelude+import Prelude ()++import Distribution.Backpack+import Distribution.Compat.Lens (Lens', (&), (.~))+import Distribution.Compat.Newtype+import Distribution.FieldGrammar+import Distribution.FieldGrammar.FieldDescrs+import Distribution.License+import Distribution.ModuleName+import Distribution.Package+import Distribution.Parsec.Class+import Distribution.Parsec.Newtypes+import Distribution.Pretty+import Distribution.Text+import Distribution.Types.MungedPackageName+import Distribution.Types.UnqualComponentName+import Distribution.Version++import qualified Data.Char as Char+import qualified Data.Map as Map+import qualified Distribution.Compat.CharParsing as P+import qualified Distribution.SPDX as SPDX+import qualified Text.PrettyPrint as Disp++import Distribution.Types.InstalledPackageInfo++import qualified Distribution.Types.InstalledPackageInfo.Lens as L+import qualified Distribution.Types.PackageId.Lens as L++-- Note: GHC goes nuts and inlines everything,+-- One can see e.g. in -ddump-simpl-stats:+--+-- 34886 KnownBranch+-- 8197 wild1_ixF0+--+-- https://ghc.haskell.org/trac/ghc/ticket/13253 might be the cause.+--+-- The workaround is to prevent GHC optimising the code:+infixl 4 <+>+(<+>) :: Applicative f => f (a -> b) -> f a -> f b+f <+> x = f <*> x+{-# NOINLINE (<+>) #-}++ipiFieldGrammar+ :: (FieldGrammar g, Applicative (g InstalledPackageInfo), Applicative (g Basic))+ => g InstalledPackageInfo InstalledPackageInfo+ipiFieldGrammar = mkInstalledPackageInfo+ -- Deprecated fields+ <$> monoidalFieldAla "hugs-options" (alaList' FSep Token) unitedList+ ^^^ deprecatedField' "hugs isn't supported anymore"+ -- Very basic fields: name, version, package-name and lib-name+ <+> blurFieldGrammar basic basicFieldGrammar+ -- Basic fields+ <+> optionalFieldDef "id" L.installedUnitId (mkUnitId "")+ <+> optionalFieldDefAla "instantiated-with" InstWith L.instantiatedWith []+ <+> optionalFieldDefAla "key" CompatPackageKey L.compatPackageKey ""+ <+> optionalFieldDefAla "license" SpecLicenseLenient L.license (Left SPDX.NONE)+ <+> optionalFieldDefAla "copyright" FreeText L.copyright ""+ <+> optionalFieldDefAla "maintainer" FreeText L.maintainer ""+ <+> optionalFieldDefAla "author" FreeText L.author ""+ <+> optionalFieldDefAla "stability" FreeText L.stability ""+ <+> optionalFieldDefAla "homepage" FreeText L.homepage ""+ <+> optionalFieldDefAla "package-url" FreeText L.pkgUrl ""+ <+> optionalFieldDefAla "synopsis" FreeText L.synopsis ""+ <+> optionalFieldDefAla "description" FreeText L.description ""+ <+> optionalFieldDefAla "category" FreeText L.category ""+ -- Installed fields+ <+> optionalFieldDef "abi" L.abiHash (mkAbiHash "")+ <+> booleanFieldDef "indefinite" L.indefinite False+ <+> booleanFieldDef "exposed" L.exposed False+ <+> monoidalFieldAla "exposed-modules" ExposedModules L.exposedModules+ <+> monoidalFieldAla "hidden-modules" (alaList' FSep MQuoted) L.hiddenModules+ <+> booleanFieldDef "trusted" L.trusted False+ <+> monoidalFieldAla "import-dirs" (alaList' FSep FilePathNT) L.importDirs+ <+> monoidalFieldAla "library-dirs" (alaList' FSep FilePathNT) L.libraryDirs+ <+> monoidalFieldAla "dynamic-library-dirs" (alaList' FSep FilePathNT) L.libraryDynDirs+ <+> optionalFieldDefAla "data-dir" FilePathNT L.dataDir ""+ <+> monoidalFieldAla "hs-libraries" (alaList' FSep Token) L.hsLibraries+ <+> monoidalFieldAla "extra-libraries" (alaList' FSep Token) L.extraLibraries+ <+> monoidalFieldAla "extra-ghci-libraries" (alaList' FSep Token) L.extraGHCiLibraries+ <+> monoidalFieldAla "include-dirs" (alaList' FSep FilePathNT) L.includeDirs+ <+> monoidalFieldAla "includes" (alaList' FSep FilePathNT) L.includes+ <+> monoidalFieldAla "depends" (alaList FSep) L.depends+ <+> monoidalFieldAla "abi-depends" (alaList FSep) L.abiDepends+ <+> monoidalFieldAla "cc-options" (alaList' FSep Token) L.ccOptions+ <+> monoidalFieldAla "ld-options" (alaList' FSep Token) L.ldOptions+ <+> monoidalFieldAla "framework-dirs" (alaList' FSep FilePathNT) L.frameworkDirs+ <+> monoidalFieldAla "frameworks" (alaList' FSep Token) L.frameworks+ <+> monoidalFieldAla "haddock-interfaces" (alaList' FSep FilePathNT) L.haddockInterfaces+ <+> monoidalFieldAla "haddock-html" (alaList' FSep FilePathNT) L.haddockHTMLs+ <+> optionalFieldAla "pkgroot" FilePathNT L.pkgRoot+ where+ mkInstalledPackageInfo _ Basic {..} = InstalledPackageInfo+ -- _basicPkgName is not used+ -- setMaybePackageId says it can be no-op.+ (PackageIdentifier pn _basicVersion)+ (mb_uqn <|> _basicLibName)+ (mkComponentId "") -- installedComponentId_, not in use+ where+ (pn, mb_uqn) = decodeCompatPackageName _basicName+{-# SPECIALIZE ipiFieldGrammar :: FieldDescrs InstalledPackageInfo InstalledPackageInfo #-}+{-# SPECIALIZE ipiFieldGrammar :: ParsecFieldGrammar InstalledPackageInfo InstalledPackageInfo #-}+{-# SPECIALIZE ipiFieldGrammar :: PrettyFieldGrammar InstalledPackageInfo InstalledPackageInfo #-}++-- (forall b. [b]) ~ ()+unitedList :: Lens' a [b]+unitedList f s = s <$ f []++-------------------------------------------------------------------------------+-- Helper functions+-------------------------------------------------------------------------------++-- To maintain backwards-compatibility, we accept both comma/non-comma+-- separated variants of this field. You SHOULD use the comma syntax if you+-- use any new functions, although actually it's unambiguous due to a quirk+-- of the fact that modules must start with capital letters.++showExposedModules :: [ExposedModule] -> Disp.Doc+showExposedModules xs+ | all isExposedModule xs = Disp.fsep (map disp xs)+ | otherwise = Disp.fsep (Disp.punctuate Disp.comma (map disp xs))+ where isExposedModule (ExposedModule _ Nothing) = True+ isExposedModule _ = False++-- | Returns @Just@ if the @name@ field of the IPI record would not contain+-- the package name verbatim. This helps us avoid writing @package-name@+-- when it's redundant.+maybePackageName :: InstalledPackageInfo -> Maybe PackageName+maybePackageName ipi =+ case sourceLibName ipi of+ Nothing -> Nothing+ Just _ -> Just (packageName ipi)++-- | Setter for the @package-name@ field. It should be acceptable for this+-- to be a no-op.+setMaybePackageName :: Maybe PackageName -> InstalledPackageInfo -> InstalledPackageInfo+setMaybePackageName Nothing ipi = ipi+setMaybePackageName (Just pn) ipi = ipi {+ sourcePackageId=(sourcePackageId ipi){pkgName=pn}+ }++setMungedPackageName :: MungedPackageName -> InstalledPackageInfo -> InstalledPackageInfo+setMungedPackageName mpn ipi =+ let (pn, mb_uqn) = decodeCompatPackageName mpn+ in ipi {+ sourcePackageId = (sourcePackageId ipi) {pkgName=pn},+ sourceLibName = mb_uqn+ }++-------------------------------------------------------------------------------+-- Auxiliary types+-------------------------------------------------------------------------------++newtype ExposedModules = ExposedModules { getExposedModules :: [ExposedModule] }++instance Newtype ExposedModules [ExposedModule] where+ pack = ExposedModules+ unpack = getExposedModules++instance Parsec ExposedModules where+ parsec = ExposedModules <$> parsecOptCommaList parsec++instance Pretty ExposedModules where+ pretty = showExposedModules . getExposedModules+++newtype CompatPackageKey = CompatPackageKey { getCompatPackageKey :: String }++instance Newtype CompatPackageKey String where+ pack = CompatPackageKey+ unpack = getCompatPackageKey++instance Pretty CompatPackageKey where+ pretty = Disp.text . getCompatPackageKey++instance Parsec CompatPackageKey where+ parsec = CompatPackageKey <$> P.munch1 uid_char where+ uid_char c = Char.isAlphaNum c || c `elem` ("-_.=[],:<>+" :: String)+++newtype InstWith = InstWith { getInstWith :: [(ModuleName,OpenModule)] }++instance Newtype InstWith [(ModuleName, OpenModule)] where+ pack = InstWith+ unpack = getInstWith++instance Pretty InstWith where+ pretty = dispOpenModuleSubst . Map.fromList . getInstWith++instance Parsec InstWith where+ parsec = InstWith . Map.toList <$> parsecOpenModuleSubst+++-- | SPDX License expression or legacy license. Lenient parser, accepts either.+newtype SpecLicenseLenient = SpecLicenseLenient { getSpecLicenseLenient :: Either SPDX.License License }++instance Newtype SpecLicenseLenient (Either SPDX.License License) where+ pack = SpecLicenseLenient+ unpack = getSpecLicenseLenient++instance Parsec SpecLicenseLenient where+ parsec = fmap SpecLicenseLenient $ Left <$> P.try parsec <|> Right <$> parsec++instance Pretty SpecLicenseLenient where+ pretty = either pretty pretty . unpack+++data Basic = Basic+ { _basicName :: MungedPackageName+ , _basicVersion :: Version+ , _basicPkgName :: Maybe PackageName+ , _basicLibName :: Maybe UnqualComponentName+ }++basic :: Lens' InstalledPackageInfo Basic+basic f ipi = g <$> f b+ where+ b = Basic+ (mungedPackageName ipi)+ (packageVersion ipi)+ (maybePackageName ipi)+ (sourceLibName ipi)++ g (Basic n v pn ln) = ipi+ & setMungedPackageName n+ & L.sourcePackageId . L.pkgVersion .~ v+ & setMaybePackageName pn+ & L.sourceLibName .~ ln++basicName :: Lens' Basic MungedPackageName+basicName f b = (\x -> b { _basicName = x }) <$> f (_basicName b)+{-# INLINE basicName #-}++basicVersion :: Lens' Basic Version+basicVersion f b = (\x -> b { _basicVersion = x }) <$> f (_basicVersion b)+{-# INLINE basicVersion #-}++basicPkgName :: Lens' Basic (Maybe PackageName)+basicPkgName f b = (\x -> b { _basicPkgName = x }) <$> f (_basicPkgName b)+{-# INLINE basicPkgName #-}++basicLibName :: Lens' Basic (Maybe UnqualComponentName)+basicLibName f b = (\x -> b { _basicLibName = x }) <$> f (_basicLibName b)+{-# INLINE basicLibName #-}++basicFieldGrammar+ :: (FieldGrammar g, Applicative (g Basic))+ => g Basic Basic+basicFieldGrammar = Basic+ <$> optionalFieldDefAla "name" MQuoted basicName (mungedPackageName emptyInstalledPackageInfo)+ <*> optionalFieldDefAla "version" MQuoted basicVersion nullVersion+ <*> optionalField "package-name" basicPkgName+ <*> optionalField "lib-name" basicLibName
@@ -0,0 +1,179 @@+module Distribution.Types.InstalledPackageInfo.Lens (+ InstalledPackageInfo,+ module Distribution.Types.InstalledPackageInfo.Lens+ ) where++import Distribution.Compat.Lens+import Distribution.Compat.Prelude+import Prelude ()++import Distribution.Backpack (OpenModule)+import Distribution.License (License)+import Distribution.ModuleName (ModuleName)+import Distribution.Package (AbiHash, ComponentId, PackageIdentifier, UnitId)+import Distribution.Types.InstalledPackageInfo (AbiDependency, ExposedModule, InstalledPackageInfo)+import Distribution.Types.UnqualComponentName (UnqualComponentName)++import qualified Distribution.SPDX as SPDX+import qualified Distribution.Types.InstalledPackageInfo as T++sourcePackageId :: Lens' InstalledPackageInfo PackageIdentifier+sourcePackageId f s = fmap (\x -> s { T.sourcePackageId = x }) (f (T.sourcePackageId s))+{-# INLINE sourcePackageId #-}++installedUnitId :: Lens' InstalledPackageInfo UnitId+installedUnitId f s = fmap (\x -> s { T.installedUnitId = x }) (f (T.installedUnitId s))+{-# INLINE installedUnitId #-}++installedComponentId_ :: Lens' InstalledPackageInfo ComponentId+installedComponentId_ f s = fmap (\x -> s { T.installedComponentId_ = x }) (f (T.installedComponentId_ s))+{-# INLINE installedComponentId_ #-}++instantiatedWith :: Lens' InstalledPackageInfo [(ModuleName,OpenModule)]+instantiatedWith f s = fmap (\x -> s { T.instantiatedWith = x }) (f (T.instantiatedWith s))+{-# INLINE instantiatedWith #-}++sourceLibName :: Lens' InstalledPackageInfo (Maybe UnqualComponentName)+sourceLibName f s = fmap (\x -> s { T.sourceLibName = x }) (f (T.sourceLibName s))+{-# INLINE sourceLibName #-}++compatPackageKey :: Lens' InstalledPackageInfo String+compatPackageKey f s = fmap (\x -> s { T.compatPackageKey = x }) (f (T.compatPackageKey s))+{-# INLINE compatPackageKey #-}++license :: Lens' InstalledPackageInfo (Either SPDX.License License)+license f s = fmap (\x -> s { T.license = x }) (f (T.license s))+{-# INLINE license #-}++copyright :: Lens' InstalledPackageInfo String+copyright f s = fmap (\x -> s { T.copyright = x }) (f (T.copyright s))+{-# INLINE copyright #-}++maintainer :: Lens' InstalledPackageInfo String+maintainer f s = fmap (\x -> s { T.maintainer = x }) (f (T.maintainer s))+{-# INLINE maintainer #-}++author :: Lens' InstalledPackageInfo String+author f s = fmap (\x -> s { T.author = x }) (f (T.author s))+{-# INLINE author #-}++stability :: Lens' InstalledPackageInfo String+stability f s = fmap (\x -> s { T.stability = x }) (f (T.stability s))+{-# INLINE stability #-}++homepage :: Lens' InstalledPackageInfo String+homepage f s = fmap (\x -> s { T.homepage = x }) (f (T.homepage s))+{-# INLINE homepage #-}++pkgUrl :: Lens' InstalledPackageInfo String+pkgUrl f s = fmap (\x -> s { T.pkgUrl = x }) (f (T.pkgUrl s))+{-# INLINE pkgUrl #-}++synopsis :: Lens' InstalledPackageInfo String+synopsis f s = fmap (\x -> s { T.synopsis = x }) (f (T.synopsis s))+{-# INLINE synopsis #-}++description :: Lens' InstalledPackageInfo String+description f s = fmap (\x -> s { T.description = x }) (f (T.description s))+{-# INLINE description #-}++category :: Lens' InstalledPackageInfo String+category f s = fmap (\x -> s { T.category = x }) (f (T.category s))+{-# INLINE category #-}++abiHash :: Lens' InstalledPackageInfo AbiHash+abiHash f s = fmap (\x -> s { T.abiHash = x }) (f (T.abiHash s))+{-# INLINE abiHash #-}++indefinite :: Lens' InstalledPackageInfo Bool+indefinite f s = fmap (\x -> s { T.indefinite = x }) (f (T.indefinite s))+{-# INLINE indefinite #-}++exposed :: Lens' InstalledPackageInfo Bool+exposed f s = fmap (\x -> s { T.exposed = x }) (f (T.exposed s))+{-# INLINE exposed #-}++exposedModules :: Lens' InstalledPackageInfo [ExposedModule]+exposedModules f s = fmap (\x -> s { T.exposedModules = x }) (f (T.exposedModules s))+{-# INLINE exposedModules #-}++hiddenModules :: Lens' InstalledPackageInfo [ModuleName]+hiddenModules f s = fmap (\x -> s { T.hiddenModules = x }) (f (T.hiddenModules s))+{-# INLINE hiddenModules #-}++trusted :: Lens' InstalledPackageInfo Bool+trusted f s = fmap (\x -> s { T.trusted = x }) (f (T.trusted s))+{-# INLINE trusted #-}++importDirs :: Lens' InstalledPackageInfo [FilePath]+importDirs f s = fmap (\x -> s { T.importDirs = x }) (f (T.importDirs s))+{-# INLINE importDirs #-}++libraryDirs :: Lens' InstalledPackageInfo [FilePath]+libraryDirs f s = fmap (\x -> s { T.libraryDirs = x }) (f (T.libraryDirs s))+{-# INLINE libraryDirs #-}++libraryDynDirs :: Lens' InstalledPackageInfo [FilePath]+libraryDynDirs f s = fmap (\x -> s { T.libraryDynDirs = x }) (f (T.libraryDynDirs s))+{-# INLINE libraryDynDirs #-}++dataDir :: Lens' InstalledPackageInfo FilePath+dataDir f s = fmap (\x -> s { T.dataDir = x }) (f (T.dataDir s))+{-# INLINE dataDir #-}++hsLibraries :: Lens' InstalledPackageInfo [String]+hsLibraries f s = fmap (\x -> s { T.hsLibraries = x }) (f (T.hsLibraries s))+{-# INLINE hsLibraries #-}++extraLibraries :: Lens' InstalledPackageInfo [String]+extraLibraries f s = fmap (\x -> s { T.extraLibraries = x }) (f (T.extraLibraries s))+{-# INLINE extraLibraries #-}++extraGHCiLibraries :: Lens' InstalledPackageInfo [String]+extraGHCiLibraries f s = fmap (\x -> s { T.extraGHCiLibraries = x }) (f (T.extraGHCiLibraries s))+{-# INLINE extraGHCiLibraries #-}++includeDirs :: Lens' InstalledPackageInfo [FilePath]+includeDirs f s = fmap (\x -> s { T.includeDirs = x }) (f (T.includeDirs s))+{-# INLINE includeDirs #-}++includes :: Lens' InstalledPackageInfo [String]+includes f s = fmap (\x -> s { T.includes = x }) (f (T.includes s))+{-# INLINE includes #-}++depends :: Lens' InstalledPackageInfo [UnitId]+depends f s = fmap (\x -> s { T.depends = x }) (f (T.depends s))+{-# INLINE depends #-}++abiDepends :: Lens' InstalledPackageInfo [AbiDependency]+abiDepends f s = fmap (\x -> s { T.abiDepends = x }) (f (T.abiDepends s))+{-# INLINE abiDepends #-}++ccOptions :: Lens' InstalledPackageInfo [String]+ccOptions f s = fmap (\x -> s { T.ccOptions = x }) (f (T.ccOptions s))+{-# INLINE ccOptions #-}++ldOptions :: Lens' InstalledPackageInfo [String]+ldOptions f s = fmap (\x -> s { T.ldOptions = x }) (f (T.ldOptions s))+{-# INLINE ldOptions #-}++frameworkDirs :: Lens' InstalledPackageInfo [FilePath]+frameworkDirs f s = fmap (\x -> s { T.frameworkDirs = x }) (f (T.frameworkDirs s))+{-# INLINE frameworkDirs #-}++frameworks :: Lens' InstalledPackageInfo [String]+frameworks f s = fmap (\x -> s { T.frameworks = x }) (f (T.frameworks s))+{-# INLINE frameworks #-}++haddockInterfaces :: Lens' InstalledPackageInfo [FilePath]+haddockInterfaces f s = fmap (\x -> s { T.haddockInterfaces = x }) (f (T.haddockInterfaces s))+{-# INLINE haddockInterfaces #-}++haddockHTMLs :: Lens' InstalledPackageInfo [FilePath]+haddockHTMLs f s = fmap (\x -> s { T.haddockHTMLs = x }) (f (T.haddockHTMLs s))+{-# INLINE haddockHTMLs #-}++pkgRoot :: Lens' InstalledPackageInfo (Maybe FilePath)+pkgRoot f s = fmap (\x -> s { T.pkgRoot = x }) (f (T.pkgRoot s))+{-# INLINE pkgRoot #-}+
@@ -1,21 +1,22 @@ {-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveGeneric #-} module Distribution.Types.LegacyExeDependency ( LegacyExeDependency(..) ) where -import Prelude () import Distribution.Compat.Prelude--import Distribution.Version ( VersionRange, anyVersion )+import Prelude () -import qualified Distribution.Compat.ReadP as Parse-import Distribution.Compat.ReadP+import Distribution.Parsec.Class+import Distribution.ParseUtils (parseMaybeQuoted)+import Distribution.Pretty import Distribution.Text--import Text.PrettyPrint ((<+>), text)+import Distribution.Version (VersionRange, anyVersion) -import Distribution.ParseUtils (parseMaybeQuoted)+import qualified Distribution.Compat.CharParsing as P+import Distribution.Compat.ReadP ((<++))+import qualified Distribution.Compat.ReadP as Parse+import Text.PrettyPrint (text, (<+>)) -- | Describes a legacy `build-tools`-style dependency on an executable --@@ -32,10 +33,23 @@ instance Binary LegacyExeDependency instance NFData LegacyExeDependency where rnf = genericRnf -instance Text LegacyExeDependency where- disp (LegacyExeDependency name ver) =- text name <+> disp ver+instance Pretty LegacyExeDependency where+ pretty (LegacyExeDependency name ver) =+ text name <+> pretty ver +instance Parsec LegacyExeDependency where+ parsec = do+ name <- parsecMaybeQuoted nameP+ P.spaces+ verRange <- parsecMaybeQuoted parsec <|> pure anyVersion+ pure $ LegacyExeDependency name verRange+ where+ nameP = intercalate "-" <$> P.sepBy1 component (P.char '-')+ component = do+ cs <- P.munch1 (\c -> isAlphaNum c || c == '+' || c == '_')+ if all isDigit cs then fail "invalid component" else return cs++instance Text LegacyExeDependency where parse = do name <- parseMaybeQuoted parseBuildToolName Parse.skipSpaces ver <- parse <++ return anyVersion@@ -44,8 +58,8 @@ where -- like parsePackageName but accepts symbols in components parseBuildToolName :: Parse.ReadP r String- parseBuildToolName = do ns <- sepBy1 component (Parse.char '-')+ parseBuildToolName = do ns <- Parse.sepBy1 component (Parse.char '-') return (intercalate "-" ns) where component = do- cs <- munch1 (\c -> isAlphaNum c || c == '+' || c == '_')- if all isDigit cs then pfail else return cs+ cs <- Parse.munch1 (\c -> isAlphaNum c || c == '+' || c == '_')+ if all isDigit cs then Parse.pfail else return cs
@@ -0,0 +1,25 @@+module Distribution.Types.Lens (+ module Distribution.Types.Benchmark.Lens,+ module Distribution.Types.BuildInfo.Lens,+ module Distribution.Types.Executable.Lens,+ module Distribution.Types.ForeignLib.Lens,+ module Distribution.Types.GenericPackageDescription.Lens,+ module Distribution.Types.Library.Lens,+ module Distribution.Types.PackageDescription.Lens,+ module Distribution.Types.PackageId.Lens,+ module Distribution.Types.SetupBuildInfo.Lens,+ module Distribution.Types.SourceRepo.Lens,+ module Distribution.Types.TestSuite.Lens,+ ) where++import Distribution.Types.Benchmark.Lens+import Distribution.Types.BuildInfo.Lens+import Distribution.Types.Executable.Lens+import Distribution.Types.ForeignLib.Lens+import Distribution.Types.GenericPackageDescription.Lens+import Distribution.Types.Library.Lens+import Distribution.Types.PackageDescription.Lens+import Distribution.Types.PackageId.Lens+import Distribution.Types.SetupBuildInfo.Lens+import Distribution.Types.SourceRepo.Lens+import Distribution.Types.TestSuite.Lens
@@ -17,18 +17,25 @@ import Distribution.Types.UnqualComponentName import Distribution.ModuleName -data Library = Library {- libName :: Maybe UnqualComponentName,- exposedModules :: [ModuleName],- reexportedModules :: [ModuleReexport],- signatures:: [ModuleName], -- ^ What sigs need implementations?- libExposed :: Bool, -- ^ Is the lib to be exposed by default?- libBuildInfo :: BuildInfo+import qualified Distribution.Types.BuildInfo.Lens as L++data Library = Library+ { libName :: Maybe UnqualComponentName+ , exposedModules :: [ModuleName]+ , reexportedModules :: [ModuleReexport]+ , signatures :: [ModuleName] -- ^ What sigs need implementations?+ , libExposed :: Bool -- ^ Is the lib to be exposed by default?+ , libBuildInfo :: BuildInfo } deriving (Generic, Show, Eq, Read, Typeable, Data) +instance L.HasBuildInfo Library where+ buildInfo f l = (\x -> l { libBuildInfo = x }) <$> f (libBuildInfo l)+ instance Binary Library +instance NFData Library where rnf = genericRnf+ instance Monoid Library where mempty = Library { libName = mempty,@@ -75,6 +82,6 @@ -- in the package description ('explicitLibModules'); unfortunately, the -- type signature for 'allLibModules' is incompatible since we need a -- 'ComponentLocalBuildInfo'.-{-# DEPRECATED libModules "If you want all modules that are built with a library, use 'allLibModules'. Otherwise, use 'explicitLibModules' for ONLY the modules explicitly mentioned in the package description." #-}+{-# DEPRECATED libModules "If you want all modules that are built with a library, use 'allLibModules'. Otherwise, use 'explicitLibModules' for ONLY the modules explicitly mentioned in the package description. This symbol will be removed in Cabal-3.0 (est. Oct 2018)." #-} libModules :: Library -> [ModuleName] libModules = explicitLibModules
@@ -0,0 +1,40 @@+module Distribution.Types.Library.Lens (+ Library,+ module Distribution.Types.Library.Lens,+ ) where++import Prelude ()+import Distribution.Compat.Prelude+import Distribution.Compat.Lens++import Distribution.ModuleName (ModuleName)+import Distribution.Types.BuildInfo (BuildInfo)+import Distribution.Types.Library (Library)+import Distribution.Types.ModuleReexport (ModuleReexport)+import Distribution.Types.UnqualComponentName (UnqualComponentName)++import qualified Distribution.Types.Library as T++libName :: Lens' Library (Maybe UnqualComponentName)+libName f s = fmap (\x -> s { T.libName = x }) (f (T.libName s))+{-# INLINE libName #-}++exposedModules :: Lens' Library [ModuleName]+exposedModules f s = fmap (\x -> s { T.exposedModules = x }) (f (T.exposedModules s))+{-# INLINE exposedModules #-}++reexportedModules :: Lens' Library [ModuleReexport]+reexportedModules f s = fmap (\x -> s { T.reexportedModules = x }) (f (T.reexportedModules s))+{-# INLINE reexportedModules #-}++signatures :: Lens' Library [ModuleName]+signatures f s = fmap (\x -> s { T.signatures = x }) (f (T.signatures s))+{-# INLINE signatures #-}++libExposed :: Lens' Library Bool+libExposed f s = fmap (\x -> s { T.libExposed = x }) (f (T.libExposed s))+{-# INLINE libExposed #-}++libBuildInfo :: Lens' Library BuildInfo+libBuildInfo f s = fmap (\x -> s { T.libBuildInfo = x }) (f (T.libBuildInfo s))+{-# INLINE libBuildInfo #-}
@@ -103,6 +103,8 @@ -- ^ The platform we're building for buildDir :: FilePath, -- ^ Where to build the package.+ cabalFilePath :: Maybe FilePath,+ -- ^ Path to the cabal file, if given during configuration. componentGraph :: Graph ComponentLocalBuildInfo, -- ^ All the components to build, ordered by topological -- sort, and with their INTERNAL dependencies over the@@ -142,6 +144,7 @@ withVanillaLib:: Bool, -- ^Whether to build normal libs. withProfLib :: Bool, -- ^Whether to build profiling versions of libs. withSharedLib :: Bool, -- ^Whether to build shared versions of libs.+ withStaticLib :: Bool, -- ^Whether to build static versions of libs (with all other libs rolled in) withDynExe :: Bool, -- ^Whether to link executables dynamically withProfExe :: Bool, -- ^Whether to build executables for profiling. withProfLibDetail :: ProfDetailLevel, -- ^Level of automatic profile detail.@@ -149,6 +152,7 @@ withOptimization :: OptimisationLevel, -- ^Whether to build with optimization (if available). withDebugInfo :: DebugInfoLevel, -- ^Whether to emit debug info (if available). withGHCiLib :: Bool, -- ^Whether to build libs suitable for use with GHCi.+ splitSections :: Bool, -- ^Use -split-sections with GHC, if available splitObjs :: Bool, -- ^Use -split-objs with GHC, if available stripExes :: Bool, -- ^Whether to strip executables during install stripLibs :: Bool, -- ^Whether to strip libraries during install@@ -305,7 +309,7 @@ ------------------------------------------------------------------------------- -- Backwards compatibility -{-# DEPRECATED componentsConfigs "Use 'componentGraph' instead; you can get a list of 'ComponentLocalBuildInfo' with 'Distribution.Compat.Graph.toList'. There's not a good way to get the list of 'ComponentName's the 'ComponentLocalBuildInfo' depends on because this query doesn't make sense; the graph is indexed by 'UnitId' not 'ComponentName'. Given a 'UnitId' you can lookup the 'ComponentLocalBuildInfo' ('getCLBI') and then get the 'ComponentName' ('componentLocalName]). To be removed in Cabal 2.2" #-}+{-# DEPRECATED componentsConfigs "Use 'componentGraph' instead; you can get a list of 'ComponentLocalBuildInfo' with 'Distribution.Compat.Graph.toList'. There's not a good way to get the list of 'ComponentName's the 'ComponentLocalBuildInfo' depends on because this query doesn't make sense; the graph is indexed by 'UnitId' not 'ComponentName'. Given a 'UnitId' you can lookup the 'ComponentLocalBuildInfo' ('getCLBI') and then get the 'ComponentName' ('componentLocalName]). To be removed in Cabal 3.0" #-} componentsConfigs :: LocalBuildInfo -> [(ComponentName, ComponentLocalBuildInfo, [ComponentName])] componentsConfigs lbi = [ (componentLocalName clbi,@@ -318,7 +322,7 @@ -- | External package dependencies for the package as a whole. This is the -- union of the individual 'componentPackageDeps', less any internal deps.-{-# DEPRECATED externalPackageDeps "You almost certainly don't want this function, which agglomerates the dependencies of ALL enabled components. If you're using this to write out information on your dependencies, read off the dependencies directly from the actual component in question. To be removed in Cabal 2.2" #-}+{-# DEPRECATED externalPackageDeps "You almost certainly don't want this function, which agglomerates the dependencies of ALL enabled components. If you're using this to write out information on your dependencies, read off the dependencies directly from the actual component in question. To be removed in Cabal 3.0" #-} externalPackageDeps :: LocalBuildInfo -> [(UnitId, MungedPackageId)] externalPackageDeps lbi = -- TODO: what about non-buildable components?
@@ -1,32 +1,45 @@ {-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveGeneric #-} module Distribution.Types.Mixin ( Mixin(..), ) where -import Prelude () import Distribution.Compat.Prelude+import Prelude () import Text.PrettyPrint ((<+>))-import Distribution.Compat.ReadP-import Distribution.Text -import Distribution.Types.PackageName+import Distribution.Parsec.Class+import Distribution.Pretty+import Distribution.Text import Distribution.Types.IncludeRenaming+import Distribution.Types.PackageName +import qualified Distribution.Compat.CharParsing as P+import qualified Distribution.Compat.ReadP as Parse+ data Mixin = Mixin { mixinPackageName :: PackageName , mixinIncludeRenaming :: IncludeRenaming } deriving (Show, Read, Eq, Ord, Typeable, Data, Generic) instance Binary Mixin -instance Text Mixin where- disp (Mixin pkg_name incl) =- disp pkg_name <+> disp incl+instance NFData Mixin where rnf = genericRnf +instance Pretty Mixin where+ pretty (Mixin pkg_name incl) = pretty pkg_name <+> pretty incl++instance Parsec Mixin where+ parsec = do+ mod_name <- parsec+ P.spaces+ incl <- parsec+ return (Mixin mod_name incl)++instance Text Mixin where parse = do pkg_name <- parse- skipSpaces+ Parse.skipSpaces incl <- parse return (Mixin pkg_name incl)
@@ -10,7 +10,10 @@ import Distribution.Compat.Prelude import qualified Distribution.Compat.ReadP as Parse+import qualified Distribution.Compat.CharParsing as P import qualified Text.PrettyPrint as Disp+import Distribution.Pretty+import Distribution.Parsec.Class import Distribution.Text import Distribution.Types.UnitId import Distribution.ModuleName@@ -29,9 +32,18 @@ instance Binary Module +instance Pretty Module where+ pretty (Module uid mod_name) =+ pretty uid <<>> Disp.text ":" <<>> pretty mod_name++instance Parsec Module where+ parsec = do+ uid <- parsec+ _ <- P.char ':'+ mod_name <- parsec+ return (Module uid mod_name)+ instance Text Module where- disp (Module uid mod_name) =- disp uid <<>> Disp.text ":" <<>> disp mod_name parse = do uid <- parse _ <- Parse.char ':'
@@ -1,19 +1,23 @@ {-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveGeneric #-} module Distribution.Types.ModuleReexport ( ModuleReexport(..) ) where -import Prelude () import Distribution.Compat.Prelude+import Prelude () -import qualified Distribution.Compat.ReadP as Parse import Distribution.ModuleName+import Distribution.Parsec.Class+import Distribution.Pretty import Distribution.Text import Distribution.Types.PackageName -import Text.PrettyPrint as Disp+import qualified Distribution.Compat.CharParsing as P+import qualified Distribution.Compat.ReadP as Parse+import Text.PrettyPrint ((<+>))+import qualified Text.PrettyPrint as Disp -- ----------------------------------------------------------------------------- -- Module re-exports@@ -27,14 +31,28 @@ instance Binary ModuleReexport -instance Text ModuleReexport where- disp (ModuleReexport mpkgname origname newname) =- maybe Disp.empty (\pkgname -> disp pkgname <<>> Disp.char ':') mpkgname- <<>> disp origname+instance NFData ModuleReexport where rnf = genericRnf++instance Pretty ModuleReexport where+ pretty (ModuleReexport mpkgname origname newname) =+ maybe Disp.empty (\pkgname -> pretty pkgname <<>> Disp.char ':') mpkgname+ <<>> pretty origname <+> if newname == origname then Disp.empty- else Disp.text "as" <+> disp newname+ else Disp.text "as" <+> pretty newname +instance Parsec ModuleReexport where+ parsec = do+ mpkgname <- P.optional (P.try $ parsec <* P.char ':')+ origname <- parsec+ newname <- P.option origname $ P.try $ do+ P.spaces+ _ <- P.string "as"+ P.spaces+ parsec+ return (ModuleReexport mpkgname origname newname)++instance Text ModuleReexport where parse = do mpkgname <- Parse.option Nothing $ do pkgname <- parse
@@ -1,21 +1,27 @@ {-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveGeneric #-} module Distribution.Types.ModuleRenaming ( ModuleRenaming(..),+ interpModuleRenaming, defaultRenaming, isDefaultRenaming, ) where -import Prelude () import Distribution.Compat.Prelude hiding (empty)+import Prelude () -import qualified Distribution.Compat.ReadP as Parse-import Distribution.Compat.ReadP ((<++)) import Distribution.ModuleName+import Distribution.Parsec.Class+import Distribution.Pretty import Distribution.Text -import Text.PrettyPrint+import qualified Data.Map as Map+import qualified Data.Set as Set+import qualified Distribution.Compat.CharParsing as P+import Distribution.Compat.ReadP ((<++))+import qualified Distribution.Compat.ReadP as Parse+import Text.PrettyPrint (hsep, parens, punctuate, text, (<+>), comma) -- | Renaming applied to the modules provided by a package. -- The boolean indicates whether or not to also include all of the@@ -38,6 +44,18 @@ | HidingRenaming [ModuleName] deriving (Show, Read, Eq, Ord, Typeable, Data, Generic) +-- | Interpret a 'ModuleRenaming' as a partial map from 'ModuleName'+-- to 'ModuleName'. For efficiency, you should partially apply it+-- with 'ModuleRenaming' and then reuse it.+interpModuleRenaming :: ModuleRenaming -> ModuleName -> Maybe ModuleName+interpModuleRenaming DefaultRenaming = Just+interpModuleRenaming (ModuleRenaming rns) =+ let m = Map.fromList rns+ in \k -> Map.lookup k m+interpModuleRenaming (HidingRenaming hs) =+ let s = Set.fromList hs+ in \k -> if k `Set.member` s then Nothing else Just k+ -- | The default renaming, if something is specified in @build-depends@ -- only. defaultRenaming :: ModuleRenaming@@ -51,18 +69,49 @@ instance Binary ModuleRenaming where +instance NFData ModuleRenaming where rnf = genericRnf+ -- NB: parentheses are mandatory, because later we may extend this syntax -- to allow "hiding (A, B)" or other modifier words.-instance Text ModuleRenaming where- disp DefaultRenaming = empty- disp (HidingRenaming hides)- = text "hiding" <+> parens (hsep (punctuate comma (map disp hides)))- disp (ModuleRenaming rns)+instance Pretty ModuleRenaming where+ pretty DefaultRenaming = mempty+ pretty (HidingRenaming hides)+ = text "hiding" <+> parens (hsep (punctuate comma (map pretty hides)))+ pretty (ModuleRenaming rns) = parens . hsep $ punctuate comma (map dispEntry rns) where dispEntry (orig, new)- | orig == new = disp orig- | otherwise = disp orig <+> text "as" <+> disp new+ | orig == new = pretty orig+ | otherwise = pretty orig <+> text "as" <+> pretty new +instance Parsec ModuleRenaming where+ -- NB: try not necessary as the first token is obvious+ parsec = P.choice [ parseRename, parseHiding, return DefaultRenaming ]+ where+ parseRename = do+ rns <- P.between (P.char '(') (P.char ')') parseList+ P.spaces+ return (ModuleRenaming rns)+ parseHiding = do+ _ <- P.string "hiding"+ P.spaces+ hides <- P.between (P.char '(') (P.char ')')+ (P.sepBy parsec (P.char ',' >> P.spaces))+ return (HidingRenaming hides)+ parseList =+ P.sepBy parseEntry (P.char ',' >> P.spaces)+ parseEntry = do+ orig <- parsec+ P.spaces+ P.option (orig, orig) $ do+ _ <- P.string "as"+ P.spaces+ new <- parsec+ P.spaces+ return (orig, new)++++instance Text ModuleRenaming where parse = do fmap ModuleRenaming parseRns <++ parseHidingRenaming <++ return DefaultRenaming
@@ -1,23 +1,25 @@-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-} module Distribution.Types.MungedPackageName ( MungedPackageName, unMungedPackageName, mkMungedPackageName , computeCompatPackageName , decodeCompatPackageName ) where -import Prelude () import Distribution.Compat.Prelude import Distribution.Utils.ShortText+import Prelude () -import qualified Text.PrettyPrint as Disp-import qualified Distribution.Compat.ReadP as Parse+import Distribution.Parsec.Class import Distribution.ParseUtils+import Distribution.Pretty import Distribution.Text import Distribution.Types.PackageName import Distribution.Types.UnqualComponentName +import qualified Distribution.Compat.ReadP as Parse+import qualified Text.PrettyPrint as Disp+ -- | A combination of a package and component name used in various legacy -- interfaces, chiefly bundled with a version as 'MungedPackageId'. It's generally -- better to use a 'UnitId' to opaquely refer to some compilation/packing unit,@@ -53,8 +55,13 @@ instance Binary MungedPackageName +instance Pretty MungedPackageName where+ pretty = Disp.text . unMungedPackageName++instance Parsec MungedPackageName where+ parsec = mkMungedPackageName <$> parsecUnqualComponentName+ instance Text MungedPackageName where- disp = Disp.text . unMungedPackageName parse = mkMungedPackageName <$> parsePackageName instance NFData MungedPackageName where
@@ -29,7 +29,11 @@ module Distribution.Types.PackageDescription ( PackageDescription(..), specVersion,+ specVersion',+ license,+ license', descCabalVersion,+ buildType, emptyPackageDescription, hasPublicLib, hasLibs,@@ -75,11 +79,13 @@ import Distribution.Types.SourceRepo import Distribution.Types.HookedBuildInfo +import Distribution.Compiler+import Distribution.License import Distribution.Package import Distribution.Version-import Distribution.License-import Distribution.Compiler +import qualified Distribution.SPDX as SPDX+ -- ----------------------------------------------------------------------------- -- The PackageDescription type @@ -92,8 +98,15 @@ data PackageDescription = PackageDescription { -- the following are required by all packages:++ -- | The version of the Cabal spec that this package description uses.+ -- For historical reasons this is specified with a version range but+ -- only ranges of the form @>= v@ make sense. We are in the process of+ -- transitioning to specifying just a single version, not a range.+ -- See also 'specVersion'.+ specVersionRaw :: Either Version VersionRange, package :: PackageIdentifier,- license :: License,+ licenseRaw :: Either SPDX.License License, licenseFiles :: [FilePath], copyright :: String, maintainer :: String,@@ -123,12 +136,11 @@ -- 'BuildInfo' and this field. This is all horrible, and #2066 -- tracks progress to get rid of this field. buildDepends :: [Dependency],- -- | The version of the Cabal spec that this package description uses.- -- For historical reasons this is specified with a version range but- -- only ranges of the form @>= v@ make sense. We are in the process of- -- transitioning to specifying just a single version, not a range.- specVersionRaw :: Either Version VersionRange,- buildType :: Maybe BuildType,+ -- | The original @build-type@ value as parsed from the+ -- @.cabal@ file without defaulting. See also 'buildType'.+ --+ -- @since 2.2+ buildTypeRaw :: Maybe BuildType, setupBuildInfo :: Maybe SetupBuildInfo, -- components library :: Maybe Library,@@ -137,6 +149,7 @@ foreignLibs :: [ForeignLib], testSuites :: [TestSuite], benchmarks :: [Benchmark],+ -- files dataFiles :: [FilePath], dataDir :: FilePath, extraSrcFiles :: [FilePath],@@ -147,6 +160,8 @@ instance Binary PackageDescription +instance NFData PackageDescription where rnf = genericRnf+ instance Package PackageDescription where packageId = package @@ -158,12 +173,29 @@ -- version by ignoring upper bounds in the version range. -- specVersion :: PackageDescription -> Version-specVersion pkg = case specVersionRaw pkg of- Left version -> version- Right versionRange -> case asVersionIntervals versionRange of- [] -> mkVersion [0]- ((LowerBound version _, _):_) -> version+specVersion = specVersion' . specVersionRaw +-- |+--+-- @since 2.2.0.0+specVersion' :: Either Version VersionRange -> Version+specVersion' (Left version) = version+specVersion' (Right versionRange) = case asVersionIntervals versionRange of+ [] -> mkVersion [0]+ ((LowerBound version _, _):_) -> version++-- | The SPDX 'LicenseExpression' of the package.+--+-- @since 2.2.0.0+license :: PackageDescription -> SPDX.License+license = license' . licenseRaw++-- | See 'license'.+--+-- @since 2.2.0.0+license' :: Either SPDX.License License -> SPDX.License+license' = either id licenseToSPDX+ -- | The range of versions of the Cabal tools that this package is intended to -- work with. --@@ -174,17 +206,42 @@ descCabalVersion pkg = case specVersionRaw pkg of Left version -> orLaterVersion version Right versionRange -> versionRange-{-# DEPRECATED descCabalVersion "Use specVersion instead" #-}+{-# DEPRECATED descCabalVersion "Use specVersion instead. This symbol will be removed in Cabal-3.0 (est. Oct 2018)." #-} +-- | The effective @build-type@ after applying defaulting rules.+--+-- The original @build-type@ value parsed is stored in the+-- 'buildTypeRaw' field. However, the @build-type@ field is optional+-- and can therefore be empty in which case we need to compute the+-- /effective/ @build-type@. This function implements the following+-- defaulting rules:+--+-- * For @cabal-version:2.0@ and below, default to the @Custom@+-- build-type unconditionally.+--+-- * Otherwise, if a @custom-setup@ stanza is defined, default to+-- the @Custom@ build-type; else default to @Simple@ build-type.+--+-- @since 2.2+buildType :: PackageDescription -> BuildType+buildType pkg+ | specVersion pkg >= mkVersion [2,1]+ = fromMaybe newDefault (buildTypeRaw pkg)+ | otherwise -- cabal-version < 2.1+ = fromMaybe Custom (buildTypeRaw pkg)+ where+ newDefault | isNothing (setupBuildInfo pkg) = Simple+ | otherwise = Custom+ emptyPackageDescription :: PackageDescription emptyPackageDescription = PackageDescription { package = PackageIdentifier (mkPackageName "") nullVersion,- license = UnspecifiedLicense,+ licenseRaw = Right UnspecifiedLicense, -- TODO: licenseFiles = [], specVersionRaw = Right anyVersion,- buildType = Nothing,+ buildTypeRaw = Nothing, copyright = "", maintainer = "", author = "",@@ -307,27 +364,21 @@ -- --------------------------------------------------------------------------- -- The BuildInfo type --- | The 'BuildInfo' for the library (if there is one and it's buildable), and--- all buildable executables, test suites and benchmarks. Useful for gathering--- dependencies.+-- | All 'BuildInfo' in the 'PackageDescription':+-- libraries, executables, test-suites and benchmarks.+--+-- Useful for implementing package checks. allBuildInfo :: PackageDescription -> [BuildInfo] allBuildInfo pkg_descr = [ bi | lib <- allLibraries pkg_descr- , let bi = libBuildInfo lib- , buildable bi ]- ++ [ bi | flib <- foreignLibs pkg_descr- , let bi = foreignLibBuildInfo flib- , buildable bi ]- ++ [ bi | exe <- executables pkg_descr- , let bi = buildInfo exe- , buildable bi ]- ++ [ bi | tst <- testSuites pkg_descr- , let bi = testBuildInfo tst- , buildable bi ]- ++ [ bi | tst <- benchmarks pkg_descr- , let bi = benchmarkBuildInfo tst- , buildable bi ]- --FIXME: many of the places where this is used, we actually want to look at- -- unbuildable bits too, probably need separate functions+ , let bi = libBuildInfo lib ]+ ++ [ bi | flib <- foreignLibs pkg_descr+ , let bi = foreignLibBuildInfo flib ]+ ++ [ bi | exe <- executables pkg_descr+ , let bi = buildInfo exe ]+ ++ [ bi | tst <- testSuites pkg_descr+ , let bi = testBuildInfo tst ]+ ++ [ bi | tst <- benchmarks pkg_descr+ , let bi = benchmarkBuildInfo tst ] -- | Return all of the 'BuildInfo's of enabled components, i.e., all of -- the ones that would be built if you run @./Setup build@.
@@ -0,0 +1,150 @@+module Distribution.Types.PackageDescription.Lens (+ PackageDescription,+ module Distribution.Types.PackageDescription.Lens,+ ) where++import Distribution.Compat.Lens+import Distribution.Compat.Prelude+import Prelude ()++import Distribution.Compiler (CompilerFlavor)+import Distribution.License (License)+import Distribution.Types.Benchmark (Benchmark)+import Distribution.Types.BuildType (BuildType)+import Distribution.Types.Dependency (Dependency)+import Distribution.Types.Executable (Executable)+import Distribution.Types.ForeignLib (ForeignLib)+import Distribution.Types.Library (Library)+import Distribution.Types.PackageDescription (PackageDescription)+import Distribution.Types.PackageId (PackageIdentifier)+import Distribution.Types.SetupBuildInfo (SetupBuildInfo)+import Distribution.Types.SourceRepo (SourceRepo)+import Distribution.Types.TestSuite (TestSuite)+import Distribution.Version (Version, VersionRange)++import qualified Distribution.SPDX as SPDX+import qualified Distribution.Types.PackageDescription as T++package :: Lens' PackageDescription PackageIdentifier+package f s = fmap (\x -> s { T.package = x }) (f (T.package s))+{-# INLINE package #-}++licenseRaw :: Lens' PackageDescription (Either SPDX.License License)+licenseRaw f s = fmap (\x -> s { T.licenseRaw = x }) (f (T.licenseRaw s))+{-# INLINE licenseRaw #-}++licenseFiles :: Lens' PackageDescription [String]+licenseFiles f s = fmap (\x -> s { T.licenseFiles = x }) (f (T.licenseFiles s))+{-# INLINE licenseFiles #-}++copyright :: Lens' PackageDescription String+copyright f s = fmap (\x -> s { T.copyright = x }) (f (T.copyright s))+{-# INLINE copyright #-}++maintainer :: Lens' PackageDescription String+maintainer f s = fmap (\x -> s { T.maintainer = x }) (f (T.maintainer s))+{-# INLINE maintainer #-}++author :: Lens' PackageDescription String+author f s = fmap (\x -> s { T.author = x }) (f (T.author s))+{-# INLINE author #-}++stability :: Lens' PackageDescription String+stability f s = fmap (\x -> s { T.stability = x }) (f (T.stability s))+{-# INLINE stability #-}++testedWith :: Lens' PackageDescription [(CompilerFlavor,VersionRange)]+testedWith f s = fmap (\x -> s { T.testedWith = x }) (f (T.testedWith s))+{-# INLINE testedWith #-}++homepage :: Lens' PackageDescription String+homepage f s = fmap (\x -> s { T.homepage = x }) (f (T.homepage s))+{-# INLINE homepage #-}++pkgUrl :: Lens' PackageDescription String+pkgUrl f s = fmap (\x -> s { T.pkgUrl = x }) (f (T.pkgUrl s))+{-# INLINE pkgUrl #-}++bugReports :: Lens' PackageDescription String+bugReports f s = fmap (\x -> s { T.bugReports = x }) (f (T.bugReports s))+{-# INLINE bugReports #-}++sourceRepos :: Lens' PackageDescription [SourceRepo]+sourceRepos f s = fmap (\x -> s { T.sourceRepos = x }) (f (T.sourceRepos s))+{-# INLINE sourceRepos #-}++synopsis :: Lens' PackageDescription String+synopsis f s = fmap (\x -> s { T.synopsis = x }) (f (T.synopsis s))+{-# INLINE synopsis #-}++description :: Lens' PackageDescription String+description f s = fmap (\x -> s { T.description = x }) (f (T.description s))+{-# INLINE description #-}++category :: Lens' PackageDescription String+category f s = fmap (\x -> s { T.category = x }) (f (T.category s))+{-# INLINE category #-}++customFieldsPD :: Lens' PackageDescription [(String,String)]+customFieldsPD f s = fmap (\x -> s { T.customFieldsPD = x }) (f (T.customFieldsPD s))+{-# INLINE customFieldsPD #-}++buildDepends :: Lens' PackageDescription [Dependency]+buildDepends f s = fmap (\x -> s { T.buildDepends = x }) (f (T.buildDepends s))+{-# INLINE buildDepends #-}++specVersionRaw :: Lens' PackageDescription (Either Version VersionRange)+specVersionRaw f s = fmap (\x -> s { T.specVersionRaw = x }) (f (T.specVersionRaw s))+{-# INLINE specVersionRaw #-}++buildTypeRaw :: Lens' PackageDescription (Maybe BuildType)+buildTypeRaw f s = fmap (\x -> s { T.buildTypeRaw = x }) (f (T.buildTypeRaw s))+{-# INLINE buildTypeRaw #-}++setupBuildInfo :: Lens' PackageDescription (Maybe SetupBuildInfo)+setupBuildInfo f s = fmap (\x -> s { T.setupBuildInfo = x }) (f (T.setupBuildInfo s))+{-# INLINE setupBuildInfo #-}++library :: Lens' PackageDescription (Maybe Library)+library f s = fmap (\x -> s { T.library = x }) (f (T.library s))+{-# INLINE library #-}++subLibraries :: Lens' PackageDescription [Library]+subLibraries f s = fmap (\x -> s { T.subLibraries = x }) (f (T.subLibraries s))+{-# INLINE subLibraries #-}++executables :: Lens' PackageDescription [Executable]+executables f s = fmap (\x -> s { T.executables = x }) (f (T.executables s))+{-# INLINE executables #-}++foreignLibs :: Lens' PackageDescription [ForeignLib]+foreignLibs f s = fmap (\x -> s { T.foreignLibs = x }) (f (T.foreignLibs s))+{-# INLINE foreignLibs #-}++testSuites :: Lens' PackageDescription [TestSuite]+testSuites f s = fmap (\x -> s { T.testSuites = x }) (f (T.testSuites s))+{-# INLINE testSuites #-}++benchmarks :: Lens' PackageDescription [Benchmark]+benchmarks f s = fmap (\x -> s { T.benchmarks = x }) (f (T.benchmarks s))+{-# INLINE benchmarks #-}++dataFiles :: Lens' PackageDescription [FilePath]+dataFiles f s = fmap (\x -> s { T.dataFiles = x }) (f (T.dataFiles s))+{-# INLINE dataFiles #-}++dataDir :: Lens' PackageDescription FilePath+dataDir f s = fmap (\x -> s { T.dataDir = x }) (f (T.dataDir s))+{-# INLINE dataDir #-}++extraSrcFiles :: Lens' PackageDescription [String]+extraSrcFiles f s = fmap (\x -> s { T.extraSrcFiles = x }) (f (T.extraSrcFiles s))+{-# INLINE extraSrcFiles #-}++extraTmpFiles :: Lens' PackageDescription [String]+extraTmpFiles f s = fmap (\x -> s { T.extraTmpFiles = x }) (f (T.extraTmpFiles s))+{-# INLINE extraTmpFiles #-}++extraDocFiles :: Lens' PackageDescription [String]+extraDocFiles f s = fmap (\x -> s { T.extraDocFiles = x }) (f (T.extraDocFiles s))+{-# INLINE extraDocFiles #-}
@@ -16,6 +16,7 @@ import qualified Text.PrettyPrint as Disp import Distribution.Compat.ReadP import Distribution.Text+import Distribution.Pretty import Distribution.Types.PackageName -- | Type alias so we can use the shorter name PackageId.@@ -31,11 +32,12 @@ instance Binary PackageIdentifier -instance Text PackageIdentifier where- disp (PackageIdentifier n v)- | v == nullVersion = disp n -- if no version, don't show version.- | otherwise = disp n <<>> Disp.char '-' <<>> disp v+instance Pretty PackageIdentifier where+ pretty (PackageIdentifier n v)+ | v == nullVersion = pretty n -- if no version, don't show version.+ | otherwise = pretty n <<>> Disp.char '-' <<>> pretty v +instance Text PackageIdentifier where parse = do n <- parse v <- (Parse.char '-' >> parse) <++ return nullVersion
@@ -0,0 +1,22 @@+module Distribution.Types.PackageId.Lens (+ PackageIdentifier,+ module Distribution.Types.PackageId.Lens,+ ) where++import Distribution.Compat.Lens+import Distribution.Compat.Prelude+import Prelude ()++import Distribution.Types.PackageId (PackageIdentifier)+import Distribution.Types.PackageName (PackageName)+import Distribution.Version (Version)++import qualified Distribution.Types.PackageId as T++pkgName :: Lens' PackageIdentifier PackageName+pkgName f s = fmap (\x -> s { T.pkgName = x }) (f (T.pkgName s))+{-# INLINE pkgName #-}++pkgVersion :: Lens' PackageIdentifier Version+pkgVersion f s = fmap (\x -> s { T.pkgVersion = x }) (f (T.pkgVersion s))+{-# INLINE pkgVersion #-}
@@ -12,6 +12,8 @@ import qualified Text.PrettyPrint as Disp import Distribution.ParseUtils import Distribution.Text+import Distribution.Pretty+import Distribution.Parsec.Class -- | A package name. --@@ -47,8 +49,13 @@ instance Binary PackageName +instance Pretty PackageName where+ pretty = Disp.text . unPackageName++instance Parsec PackageName where+ parsec = mkPackageName <$> parsecUnqualComponentName+ instance Text PackageName where- disp = Disp.text . unPackageName parse = mkPackageName <$> parsePackageName instance NFData PackageName where
@@ -1,21 +1,25 @@ {-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveGeneric #-} module Distribution.Types.PkgconfigDependency ( PkgconfigDependency(..) ) where -import Prelude () import Distribution.Compat.Prelude+import Prelude () -import Distribution.Version ( VersionRange, anyVersion )+import Distribution.Version (VersionRange, anyVersion) -import qualified Distribution.Compat.ReadP as Parse-import Distribution.Compat.ReadP-import Distribution.Text import Distribution.Types.PkgconfigName -import Text.PrettyPrint ((<+>))+import Distribution.Parsec.Class+import Distribution.Pretty+import Distribution.Text +import qualified Distribution.Compat.CharParsing as P+import Distribution.Compat.ReadP ((<++))+import qualified Distribution.Compat.ReadP as Parse+import Text.PrettyPrint ((<+>))+ -- | Describes a dependency on a pkg-config library -- -- @since 2.0.0.2@@ -27,10 +31,18 @@ instance Binary PkgconfigDependency instance NFData PkgconfigDependency where rnf = genericRnf -instance Text PkgconfigDependency where- disp (PkgconfigDependency name ver) =- disp name <+> disp ver+instance Pretty PkgconfigDependency where+ pretty (PkgconfigDependency name ver) =+ pretty name <+> pretty ver +instance Parsec PkgconfigDependency where+ parsec = do+ name <- parsec+ P.spaces+ verRange <- parsec <|> pure anyVersion+ pure $ PkgconfigDependency name verRange++instance Text PkgconfigDependency where parse = do name <- parse Parse.skipSpaces ver <- parse <++ return anyVersion
@@ -9,10 +9,14 @@ import Distribution.Compat.Prelude import Distribution.Utils.ShortText -import qualified Text.PrettyPrint as Disp-import Distribution.Compat.ReadP+import Distribution.Pretty+import Distribution.Parsec.Class import Distribution.Text +import qualified Distribution.Compat.CharParsing as P+import qualified Distribution.Compat.ReadP as Parse+import qualified Text.PrettyPrint as Disp+ -- | A pkg-config library name -- -- This is parsed as any valid argument to the pkg-config utility.@@ -49,10 +53,15 @@ -- pkg-config allows versions and other letters in package names, eg -- "gtk+-2.0" is a valid pkg-config package _name_. It then has a package -- version number like 2.10.13+instance Pretty PkgconfigName where+ pretty = Disp.text . unPkgconfigName++instance Parsec PkgconfigName where+ parsec = mkPkgconfigName <$> P.munch1 (\c -> isAlphaNum c || c `elem` "+-._")+ instance Text PkgconfigName where- disp = Disp.text . unPkgconfigName parse = mkPkgconfigName- <$> munch1 (\c -> isAlphaNum c || c `elem` "+-._")+ <$> Parse.munch1 (\c -> isAlphaNum c || c `elem` "+-._") instance NFData PkgconfigName where rnf (PkgconfigName pkg) = rnf pkg
@@ -17,9 +17,9 @@ -- To keep things simple for tools that compile Setup.hs we limit the -- options authors can specify to just Haskell package dependencies. -data SetupBuildInfo = SetupBuildInfo {- setupDepends :: [Dependency],- defaultSetupDepends :: Bool+data SetupBuildInfo = SetupBuildInfo+ { setupDepends :: [Dependency]+ , defaultSetupDepends :: Bool -- ^ Is this a default 'custom-setup' section added by the cabal-install -- code (as opposed to user-provided)? This field is only used -- internally, and doesn't correspond to anything in the .cabal@@ -29,10 +29,13 @@ instance Binary SetupBuildInfo +instance NFData SetupBuildInfo where rnf = genericRnf+ instance Monoid SetupBuildInfo where- mempty = SetupBuildInfo [] False- mappend = (<>)+ mempty = SetupBuildInfo [] False+ mappend = (<>) instance Semigroup SetupBuildInfo where- a <> b = SetupBuildInfo (setupDepends a <> setupDepends b)- (defaultSetupDepends a || defaultSetupDepends b)+ a <> b = SetupBuildInfo+ (setupDepends a <> setupDepends b)+ (defaultSetupDepends a || defaultSetupDepends b)
@@ -0,0 +1,21 @@+module Distribution.Types.SetupBuildInfo.Lens (+ SetupBuildInfo,+ module Distribution.Types.SetupBuildInfo.Lens,+ ) where++import Distribution.Compat.Lens+import Distribution.Compat.Prelude+import Prelude ()++import Distribution.Types.Dependency (Dependency)+import Distribution.Types.SetupBuildInfo (SetupBuildInfo)++import qualified Distribution.Types.SetupBuildInfo as T++setupDepends :: Lens' SetupBuildInfo [Dependency]+setupDepends f s = fmap (\x -> s { T.setupDepends = x }) (f (T.setupDepends s))+{-# INLINE setupDepends #-}++defaultSetupDepends :: Lens' SetupBuildInfo Bool+defaultSetupDepends f s = fmap (\x -> s { T.defaultSetupDepends = x }) (f (T.defaultSetupDepends s))+{-# INLINE defaultSetupDepends #-}
@@ -14,10 +14,15 @@ import Prelude () import Distribution.Compat.Prelude -import qualified Distribution.Compat.ReadP as Parse+import Distribution.Utils.Generic (lowercase)++import Distribution.Pretty+import Distribution.Parsec.Class import Distribution.Text -import Text.PrettyPrint as Disp+import qualified Distribution.Compat.CharParsing as P+import qualified Distribution.Compat.ReadP as Parse+import qualified Text.PrettyPrint as Disp -- ------------------------------------------------------------ -- * Source repos@@ -93,6 +98,8 @@ instance Binary SourceRepo +instance NFData SourceRepo where rnf = genericRnf+ -- | What this repo info is for, what it represents. -- data RepoKind =@@ -111,6 +118,8 @@ instance Binary RepoKind +instance NFData RepoKind where rnf = genericRnf+ -- | An enumeration of common source control systems. The fields used in the -- 'SourceRepo' depend on the type of repo. The tools and methods used to -- obtain and track the repo depend on the repo type.@@ -122,6 +131,8 @@ instance Binary RepoType +instance NFData RepoType where rnf = genericRnf+ knownRepoTypes :: [RepoType] knownRepoTypes = [Darcs, Git, SVN, CVS ,Mercurial, GnuArch, Bazaar, Monotone]@@ -132,11 +143,15 @@ repoTypeAliases GnuArch = ["arch"] repoTypeAliases _ = [] -instance Text RepoKind where- disp RepoHead = Disp.text "head"- disp RepoThis = Disp.text "this"- disp (RepoKindUnknown other) = Disp.text other+instance Pretty RepoKind where+ pretty RepoHead = Disp.text "head"+ pretty RepoThis = Disp.text "this"+ pretty (RepoKindUnknown other) = Disp.text other +instance Parsec RepoKind where+ parsec = classifyRepoKind <$> P.munch1 isIdent++instance Text RepoKind where parse = fmap classifyRepoKind ident classifyRepoKind :: String -> RepoKind@@ -145,22 +160,26 @@ "this" -> RepoThis _ -> RepoKindUnknown name +instance Pretty RepoType where+ pretty (OtherRepoType other) = Disp.text other+ pretty other = Disp.text (lowercase (show other))++instance Parsec RepoType where+ parsec = classifyRepoType <$> P.munch1 isIdent+ instance Text RepoType where- disp (OtherRepoType other) = Disp.text other- disp other = Disp.text (lowercase (show other)) parse = fmap classifyRepoType ident classifyRepoType :: String -> RepoType classifyRepoType s =- fromMaybe (OtherRepoType s) $ lookup (lowercase s) repoTypeMap+ fromMaybe (OtherRepoType s) $ lookup (lowercase s) repoTypeMap where repoTypeMap = [ (name, repoType') | repoType' <- knownRepoTypes , name <- display repoType' : repoTypeAliases repoType' ] ident :: Parse.ReadP r String-ident = Parse.munch1 (\c -> isAlphaNum c || c == '_' || c == '-')--lowercase :: String -> String-lowercase = map toLower+ident = Parse.munch1 isIdent +isIdent :: Char -> Bool+isIdent c = isAlphaNum c || c == '_' || c == '-'
@@ -0,0 +1,39 @@+module Distribution.Types.SourceRepo.Lens (+ T.SourceRepo,+ module Distribution.Types.SourceRepo.Lens,+ ) where++import Prelude()+import Distribution.Compat.Prelude+import Distribution.Compat.Lens++import Distribution.Types.SourceRepo (SourceRepo, RepoKind, RepoType)+import qualified Distribution.Types.SourceRepo as T++repoKind :: Lens' SourceRepo RepoKind+repoKind f s = fmap (\x -> s { T.repoKind = x }) (f (T.repoKind s))+{-# INLINE repoKind #-}++repoType :: Lens' SourceRepo (Maybe RepoType)+repoType f s = fmap (\x -> s { T.repoType = x }) (f (T.repoType s))+{-# INLINE repoType #-}++repoLocation :: Lens' SourceRepo (Maybe String)+repoLocation f s = fmap (\x -> s { T.repoLocation = x }) (f (T.repoLocation s))+{-# INLINE repoLocation #-}++repoModule :: Lens' SourceRepo (Maybe String)+repoModule f s = fmap (\x -> s { T.repoModule = x }) (f (T.repoModule s))+{-# INLINE repoModule #-}++repoBranch :: Lens' SourceRepo (Maybe String)+repoBranch f s = fmap (\x -> s { T.repoBranch = x }) (f (T.repoBranch s))+{-# INLINE repoBranch #-}++repoTag :: Lens' SourceRepo (Maybe String)+repoTag f s = fmap (\x -> s { T.repoTag = x }) (f (T.repoTag s))+{-# INLINE repoTag #-}++repoSubdir :: Lens' SourceRepo (Maybe FilePath)+repoSubdir f s = fmap (\x -> s { T.repoSubdir = x }) (f (T.repoSubdir s))+{-# INLINE repoSubdir #-}
@@ -19,6 +19,8 @@ import Distribution.ModuleName +import qualified Distribution.Types.BuildInfo.Lens as L+ -- | A \"test-suite\" stanza in a cabal file. -- data TestSuite = TestSuite {@@ -28,7 +30,12 @@ } deriving (Generic, Show, Read, Eq, Typeable, Data) +instance L.HasBuildInfo TestSuite where+ buildInfo f l = (\x -> l { testBuildInfo = x }) <$> f (testBuildInfo l)+ instance Binary TestSuite++instance NFData TestSuite where rnf = genericRnf instance Monoid TestSuite where mempty = TestSuite {
@@ -0,0 +1,27 @@+module Distribution.Types.TestSuite.Lens (+ TestSuite,+ module Distribution.Types.TestSuite.Lens,+ ) where++import Distribution.Compat.Lens+import Distribution.Compat.Prelude+import Prelude ()++import Distribution.Types.BuildInfo (BuildInfo)+import Distribution.Types.TestSuite (TestSuite)+import Distribution.Types.TestSuiteInterface (TestSuiteInterface)+import Distribution.Types.UnqualComponentName (UnqualComponentName)++import qualified Distribution.Types.TestSuite as T++testName :: Lens' TestSuite UnqualComponentName+testName f s = fmap (\x -> s { T.testName = x }) (f (T.testName s))+{-# INLINE testName #-}++testInterface :: Lens' TestSuite TestSuiteInterface+testInterface f s = fmap (\x -> s { T.testInterface = x }) (f (T.testInterface s))+{-# INLINE testInterface #-}++testBuildInfo :: Lens' TestSuite BuildInfo+testBuildInfo f s = fmap (\x -> s { T.testBuildInfo = x }) (f (T.testBuildInfo s))+{-# INLINE testBuildInfo #-}
@@ -40,6 +40,7 @@ instance Binary TestSuiteInterface +instance NFData TestSuiteInterface where rnf = genericRnf instance Monoid TestSuiteInterface where mempty = TestSuiteUnsupported (TestTypeUnknown mempty nullVersion)
@@ -1,18 +1,19 @@ {-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveGeneric #-} module Distribution.Types.TestType ( TestType(..), knownTestTypes, ) where -import Prelude () import Distribution.Compat.Prelude- import Distribution.Version-import Distribution.Text+import Prelude () -import Text.PrettyPrint as Disp+import Distribution.Parsec.Class+import Distribution.Pretty+import Distribution.Text+import Text.PrettyPrint (char, text) -- | The \"test-type\" field in the test suite stanza. --@@ -23,15 +24,24 @@ instance Binary TestType +instance NFData TestType where rnf = genericRnf+ knownTestTypes :: [TestType] knownTestTypes = [ TestTypeExe (mkVersion [1,0]) , TestTypeLib (mkVersion [0,9]) ] -instance Text TestType where- disp (TestTypeExe ver) = text "exitcode-stdio-" <<>> disp ver- disp (TestTypeLib ver) = text "detailed-" <<>> disp ver- disp (TestTypeUnknown name ver) = text name <<>> char '-' <<>> disp ver+instance Pretty TestType where+ pretty (TestTypeExe ver) = text "exitcode-stdio-" <<>> pretty ver+ pretty (TestTypeLib ver) = text "detailed-" <<>> pretty ver+ pretty (TestTypeUnknown name ver) = text name <<>> char '-' <<>> pretty ver +instance Parsec TestType where+ parsec = parsecStandard $ \ver name -> case name of+ "exitcode-stdio" -> TestTypeExe ver+ "detailed" -> TestTypeLib ver+ _ -> TestTypeUnknown name ver++instance Text TestType where parse = stdParse $ \ver name -> case name of "exitcode-stdio" -> TestTypeExe ver "detailed" -> TestTypeLib ver
@@ -1,6 +1,7 @@ {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE FlexibleContexts #-} module Distribution.Types.UnitId ( UnitId, unUnitId, mkUnitId@@ -18,6 +19,9 @@ import Distribution.Utils.ShortText import qualified Distribution.Compat.ReadP as Parse+import qualified Distribution.Compat.CharParsing as P+import Distribution.Pretty+import Distribution.Parsec.Class import Distribution.Text import Distribution.Types.ComponentId import Distribution.Types.PackageId@@ -64,7 +68,7 @@ newtype UnitId = UnitId ShortText deriving (Generic, Read, Show, Eq, Ord, Typeable, Data, NFData) -{-# DEPRECATED InstalledPackageId "Use UnitId instead" #-}+{-# DEPRECATED InstalledPackageId "Use UnitId instead. This symbol will be removed in Cabal-3.0 (est. Oct 2018)." #-} type InstalledPackageId = UnitId instance Binary UnitId@@ -72,8 +76,16 @@ -- | The textual format for 'UnitId' coincides with the format -- GHC accepts for @-package-id@. --+instance Pretty UnitId where+ pretty = text . unUnitId++-- | The textual format for 'UnitId' coincides with the format+-- GHC accepts for @-package-id@.+--+instance Parsec UnitId where+ parsec = mkUnitId <$> P.munch1 (\c -> isAlphaNum c || c `elem` "-_.+")+ instance Text UnitId where- disp = text . unUnitId parse = mkUnitId <$> Parse.munch1 (\c -> isAlphaNum c || c `elem` "-_.+") -- | If you need backwards compatibility, consider using 'display'@@ -109,7 +121,12 @@ -- that a 'UnitId' identified this way is definite; i.e., it has no -- unfilled holes. newtype DefUnitId = DefUnitId { unDefUnitId :: UnitId }- deriving (Generic, Read, Show, Eq, Ord, Typeable, Data, Binary, NFData, Text)+ deriving (Generic, Read, Show, Eq, Ord, Typeable, Data, Binary, NFData, Pretty, Text)++-- Workaround for a GHC 8.0.1 bug, see+-- https://github.com/haskell/cabal/issues/4793#issuecomment-334258288+instance Parsec DefUnitId where+ parsec = DefUnitId <$> parsec -- | Unsafely create a 'DefUnitId' from a 'UnitId'. Your responsibility -- is to ensure that the 'DefUnitId' invariant holds.
@@ -1,21 +1,21 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-} module Distribution.Types.UnqualComponentName ( UnqualComponentName, unUnqualComponentName, mkUnqualComponentName , packageNameToUnqualComponentName, unqualComponentNameToPackageName ) where -import Prelude () import Distribution.Compat.Prelude import Distribution.Utils.ShortText+import Prelude () +import Distribution.Parsec.Class+import Distribution.ParseUtils (parsePackageName)+import Distribution.Pretty import Distribution.Text-import Distribution.ParseUtils (parsePackageName) import Distribution.Types.PackageName -import Text.PrettyPrint (text)- -- | An unqualified component name, for any kind of component. -- -- This is distinguished from a 'ComponentName' and 'ComponentId'. The former@@ -52,8 +52,13 @@ instance Binary UnqualComponentName +instance Pretty UnqualComponentName where+ pretty = showToken . unUnqualComponentName++instance Parsec UnqualComponentName where+ parsec = mkUnqualComponentName <$> parsecUnqualComponentName+ instance Text UnqualComponentName where- disp = text . unUnqualComponentName parse = mkUnqualComponentName <$> parsePackageName instance NFData UnqualComponentName where
@@ -0,0 +1,255 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+module Distribution.Types.Version (+ -- * Package versions+ Version,+ mkVersion,+ mkVersion',+ versionNumbers,+ nullVersion,+ alterVersion,+ version0,++ -- ** Backwards compatibility+ showVersion,++ -- * Internal+ validVersion,+ ) where++import Data.Bits (shiftL, shiftR, (.&.), (.|.))+import Distribution.Compat.Prelude+import Prelude ()++import Distribution.CabalSpecVersion+import Distribution.Parsec.Class+import Distribution.Pretty+import Distribution.Text++import qualified Data.Version as Base+import qualified Distribution.Compat.CharParsing as P+import qualified Distribution.Compat.ReadP as Parse+import qualified Text.PrettyPrint as Disp+import qualified Text.Read as Read++-- | A 'Version' represents the version of a software entity.+--+-- Instances of 'Eq' and 'Ord' are provided, which gives exact+-- equality and lexicographic ordering of the version number+-- components (i.e. 2.1 > 2.0, 1.2.3 > 1.2.2, etc.).+--+-- This type is opaque and distinct from the 'Base.Version' type in+-- "Data.Version" since @Cabal-2.0@. The difference extends to the+-- 'Binary' instance using a different (and more compact) encoding.+--+-- @since 2.0.0.2+data Version = PV0 {-# UNPACK #-} !Word64+ | PV1 !Int [Int]+ -- NOTE: If a version fits into the packed Word64+ -- representation (i.e. at most four version components+ -- which all fall into the [0..0xfffe] range), then PV0+ -- MUST be used. This is essential for the 'Eq' instance+ -- to work.+ deriving (Data,Eq,Generic,Typeable)++instance Ord Version where+ compare (PV0 x) (PV0 y) = compare x y+ compare (PV1 x xs) (PV1 y ys) = case compare x y of+ EQ -> compare xs ys+ c -> c+ compare (PV0 w) (PV1 y ys) = case compare x y of+ EQ -> compare [x2,x3,x4] ys+ c -> c+ where+ x = fromIntegral ((w `shiftR` 48) .&. 0xffff) - 1+ x2 = fromIntegral ((w `shiftR` 32) .&. 0xffff) - 1+ x3 = fromIntegral ((w `shiftR` 16) .&. 0xffff) - 1+ x4 = fromIntegral (w .&. 0xffff) - 1+ compare (PV1 x xs) (PV0 w) = case compare x y of+ EQ -> compare xs [y2,y3,y4]+ c -> c+ where+ y = fromIntegral ((w `shiftR` 48) .&. 0xffff) - 1+ y2 = fromIntegral ((w `shiftR` 32) .&. 0xffff) - 1+ y3 = fromIntegral ((w `shiftR` 16) .&. 0xffff) - 1+ y4 = fromIntegral (w .&. 0xffff) - 1++instance Show Version where+ showsPrec d v = showParen (d > 10)+ $ showString "mkVersion "+ . showsPrec 11 (versionNumbers v)++instance Read Version where+ readPrec = Read.parens $ do+ Read.Ident "mkVersion" <- Read.lexP+ v <- Read.step Read.readPrec+ return (mkVersion v)++instance Binary Version++instance NFData Version where+ rnf (PV0 _) = ()+ rnf (PV1 _ ns) = rnf ns++instance Pretty Version where+ pretty ver+ = Disp.hcat (Disp.punctuate (Disp.char '.')+ (map Disp.int $ versionNumbers ver))++instance Parsec Version where+ parsec = do+ digit <- digitParser <$> askCabalSpecVersion+ mkVersion <$> P.sepBy1 digit (P.char '.') <* tags+ where+ digitParser v+ | v >= CabalSpecV2_0 = P.integral+ | otherwise = (some d >>= toNumber) P.<?> "non-leading-zero integral"+ where+ toNumber :: CabalParsing m => [Int] -> m Int+ toNumber [0] = return 0+ toNumber xs@(0:_) = do+ parsecWarning PWTVersionLeadingZeros "Version digit with leading zero. Use cabal-version: 2.0 or later to write such versions. For more information see https://github.com/haskell/cabal/issues/5092"+ return $ foldl' (\a b -> a * 10 + b) 0 xs+ toNumber xs = return $ foldl' (\a b -> a * 10 + b) 0 xs++ d :: P.CharParsing m => m Int+ d = f <$> P.satisfyRange '0' '9'+ f c = ord c - ord '0'++ tags = do+ ts <- many $ P.char '-' *> some (P.satisfy isAlphaNum)+ case ts of+ [] -> pure ()+ (_ : _) -> parsecWarning PWTVersionTag "version with tags"++instance Text Version where+ parse = do+ branch <- Parse.sepBy1 parseNat (Parse.char '.')+ -- allow but ignore tags:+ _tags <- Parse.many (Parse.char '-' >> Parse.munch1 isAlphaNum)+ return (mkVersion branch)+ where+ parseNat = read `fmap` Parse.munch1 isDigit++-- | Construct 'Version' from list of version number components.+--+-- For instance, @mkVersion [3,2,1]@ constructs a 'Version'+-- representing the version @3.2.1@.+--+-- All version components must be non-negative. @mkVersion []@+-- currently represents the special /null/ version; see also 'nullVersion'.+--+-- @since 2.0.0.2+mkVersion :: [Int] -> Version+-- TODO: add validity check; disallow 'mkVersion []' (we have+-- 'nullVersion' for that)+mkVersion [] = nullVersion+mkVersion (v1:[])+ | inWord16VerRep1 v1 = PV0 (mkWord64VerRep1 v1)+ | otherwise = PV1 v1 []+ where+ inWord16VerRep1 x1 = inWord16 (x1 .|. (x1+1))+ mkWord64VerRep1 y1 = mkWord64VerRep (y1+1) 0 0 0++mkVersion (v1:vs@(v2:[]))+ | inWord16VerRep2 v1 v2 = PV0 (mkWord64VerRep2 v1 v2)+ | otherwise = PV1 v1 vs+ where+ inWord16VerRep2 x1 x2 = inWord16 (x1 .|. (x1+1)+ .|. x2 .|. (x2+1))+ mkWord64VerRep2 y1 y2 = mkWord64VerRep (y1+1) (y2+1) 0 0++mkVersion (v1:vs@(v2:v3:[]))+ | inWord16VerRep3 v1 v2 v3 = PV0 (mkWord64VerRep3 v1 v2 v3)+ | otherwise = PV1 v1 vs+ where+ inWord16VerRep3 x1 x2 x3 = inWord16 (x1 .|. (x1+1)+ .|. x2 .|. (x2+1)+ .|. x3 .|. (x3+1))+ mkWord64VerRep3 y1 y2 y3 = mkWord64VerRep (y1+1) (y2+1) (y3+1) 0++mkVersion (v1:vs@(v2:v3:v4:[]))+ | inWord16VerRep4 v1 v2 v3 v4 = PV0 (mkWord64VerRep4 v1 v2 v3 v4)+ | otherwise = PV1 v1 vs+ where+ inWord16VerRep4 x1 x2 x3 x4 = inWord16 (x1 .|. (x1+1)+ .|. x2 .|. (x2+1)+ .|. x3 .|. (x3+1)+ .|. x4 .|. (x4+1))+ mkWord64VerRep4 y1 y2 y3 y4 = mkWord64VerRep (y1+1) (y2+1) (y3+1) (y4+1)++mkVersion (v1:vs) = PV1 v1 vs++-- | Version 0. A lower bound of 'Version'.+--+-- @since 2.2+version0 :: Version+version0 = mkVersion [0]++{-# INLINE mkWord64VerRep #-}+mkWord64VerRep :: Int -> Int -> Int -> Int -> Word64+mkWord64VerRep v1 v2 v3 v4 =+ (fromIntegral v1 `shiftL` 48)+ .|. (fromIntegral v2 `shiftL` 32)+ .|. (fromIntegral v3 `shiftL` 16)+ .|. fromIntegral v4++{-# INLINE inWord16 #-}+inWord16 :: Int -> Bool+inWord16 x = (fromIntegral x :: Word) <= 0xffff++-- | Variant of 'Version' which converts a "Data.Version" 'Version'+-- into Cabal's 'Version' type.+--+-- @since 2.0.0.2+mkVersion' :: Base.Version -> Version+mkVersion' = mkVersion . Base.versionBranch++-- | Unpack 'Version' into list of version number components.+--+-- This is the inverse to 'mkVersion', so the following holds:+--+-- > (versionNumbers . mkVersion) vs == vs+--+-- @since 2.0.0.2+versionNumbers :: Version -> [Int]+versionNumbers (PV1 n ns) = n:ns+versionNumbers (PV0 w)+ | v1 < 0 = []+ | v2 < 0 = [v1]+ | v3 < 0 = [v1,v2]+ | v4 < 0 = [v1,v2,v3]+ | otherwise = [v1,v2,v3,v4]+ where+ v1 = fromIntegral ((w `shiftR` 48) .&. 0xffff) - 1+ v2 = fromIntegral ((w `shiftR` 32) .&. 0xffff) - 1+ v3 = fromIntegral ((w `shiftR` 16) .&. 0xffff) - 1+ v4 = fromIntegral (w .&. 0xffff) - 1+++-- | Constant representing the special /null/ 'Version'+--+-- The 'nullVersion' compares (via 'Ord') as less than every proper+-- 'Version' value.+--+-- @since 2.0.0.2+nullVersion :: Version+-- TODO: at some point, 'mkVersion' may disallow creating /null/+-- 'Version's+nullVersion = PV0 0++-- | Apply function to list of version number components+--+-- > alterVersion f == mkVersion . f . versionNumbers+--+-- @since 2.0.0.2+alterVersion :: ([Int] -> [Int]) -> Version -> Version+alterVersion f = mkVersion . f . versionNumbers++-- internal helper+validVersion :: Version -> Bool+validVersion v = v /= nullVersion && all (>=0) (versionNumbers v)++showVersion :: Version -> String+showVersion = prettyShow+{-# DEPRECATED showVersion "Use prettyShow. This function will be removed in Cabal-3.0 (estimated Oct 2018)" #-}
@@ -0,0 +1,361 @@+{-# LANGUAGE DeriveDataTypeable #-}+module Distribution.Types.VersionInterval (+ -- * Version intervals+ VersionIntervals,+ toVersionIntervals,+ fromVersionIntervals,+ withinIntervals,+ versionIntervals,+ mkVersionIntervals,+ unionVersionIntervals,+ intersectVersionIntervals,+ invertVersionIntervals,+ relaxLastInterval,+ relaxHeadInterval,++ -- * Version intervals view+ asVersionIntervals,+ VersionInterval,+ LowerBound(..),+ UpperBound(..),+ Bound(..),+ ) where++import Prelude ()+import Distribution.Compat.Prelude+import Control.Exception (assert)++import Distribution.Types.Version+import Distribution.Types.VersionRange++-------------------------------------------------------------------------------+-- VersionRange+-------------------------------------------------------------------------------++-- | View a 'VersionRange' as a union of intervals.+--+-- This provides a canonical view of the semantics of a 'VersionRange' as+-- opposed to the syntax of the expression used to define it. For the syntactic+-- view use 'foldVersionRange'.+--+-- Each interval is non-empty. The sequence is in increasing order and no+-- intervals overlap or touch. Therefore only the first and last can be+-- unbounded. The sequence can be empty if the range is empty+-- (e.g. a range expression like @< 1 && > 2@).+--+-- Other checks are trivial to implement using this view. For example:+--+-- > isNoVersion vr | [] <- asVersionIntervals vr = True+-- > | otherwise = False+--+-- > isSpecificVersion vr+-- > | [(LowerBound v InclusiveBound+-- > ,UpperBound v' InclusiveBound)] <- asVersionIntervals vr+-- > , v == v' = Just v+-- > | otherwise = Nothing+--+asVersionIntervals :: VersionRange -> [VersionInterval]+asVersionIntervals = versionIntervals . toVersionIntervals+++-------------------------------------------------------------------------------+-- VersionInterval+-------------------------------------------------------------------------------++-- | A complementary representation of a 'VersionRange'. Instead of a boolean+-- version predicate it uses an increasing sequence of non-overlapping,+-- non-empty intervals.+--+-- The key point is that this representation gives a canonical representation+-- for the semantics of 'VersionRange's. This makes it easier to check things+-- like whether a version range is empty, covers all versions, or requires a+-- certain minimum or maximum version. It also makes it easy to check equality+-- or containment. It also makes it easier to identify \'simple\' version+-- predicates for translation into foreign packaging systems that do not+-- support complex version range expressions.+--+newtype VersionIntervals = VersionIntervals [VersionInterval]+ deriving (Eq, Show, Typeable)++-- | Inspect the list of version intervals.+--+versionIntervals :: VersionIntervals -> [VersionInterval]+versionIntervals (VersionIntervals is) = is++type VersionInterval = (LowerBound, UpperBound)+data LowerBound = LowerBound Version !Bound deriving (Eq, Show)+data UpperBound = NoUpperBound | UpperBound Version !Bound deriving (Eq, Show)+data Bound = ExclusiveBound | InclusiveBound deriving (Eq, Show)++minLowerBound :: LowerBound+minLowerBound = LowerBound (mkVersion [0]) InclusiveBound++isVersion0 :: Version -> Bool+isVersion0 = (==) version0++instance Ord LowerBound where+ LowerBound ver bound <= LowerBound ver' bound' = case compare ver ver' of+ LT -> True+ EQ -> not (bound == ExclusiveBound && bound' == InclusiveBound)+ GT -> False++instance Ord UpperBound where+ _ <= NoUpperBound = True+ NoUpperBound <= UpperBound _ _ = False+ UpperBound ver bound <= UpperBound ver' bound' = case compare ver ver' of+ LT -> True+ EQ -> not (bound == InclusiveBound && bound' == ExclusiveBound)+ GT -> False++invariant :: VersionIntervals -> Bool+invariant (VersionIntervals intervals) = all validInterval intervals+ && all doesNotTouch' adjacentIntervals+ where+ doesNotTouch' :: (VersionInterval, VersionInterval) -> Bool+ doesNotTouch' ((_,u), (l',_)) = doesNotTouch u l'++ adjacentIntervals :: [(VersionInterval, VersionInterval)]+ adjacentIntervals+ | null intervals = []+ | otherwise = zip intervals (tail intervals)++checkInvariant :: VersionIntervals -> VersionIntervals+checkInvariant is = assert (invariant is) is++-- | Directly construct a 'VersionIntervals' from a list of intervals.+--+-- In @Cabal-2.2@ the 'Maybe' is dropped from the result type.+--+mkVersionIntervals :: [VersionInterval] -> VersionIntervals+mkVersionIntervals intervals+ | invariant (VersionIntervals intervals) = VersionIntervals intervals+ | otherwise+ = checkInvariant+ . foldl' (flip insertInterval) (VersionIntervals [])+ . filter validInterval+ $ intervals++insertInterval :: VersionInterval -> VersionIntervals -> VersionIntervals+insertInterval i is = unionVersionIntervals (VersionIntervals [i]) is++validInterval :: (LowerBound, UpperBound) -> Bool+validInterval i@(l, u) = validLower l && validUpper u && nonEmpty i+ where+ validLower (LowerBound v _) = validVersion v+ validUpper NoUpperBound = True+ validUpper (UpperBound v _) = validVersion v++-- Check an interval is non-empty+--+nonEmpty :: VersionInterval -> Bool+nonEmpty (_, NoUpperBound ) = True+nonEmpty (LowerBound l lb, UpperBound u ub) =+ (l < u) || (l == u && lb == InclusiveBound && ub == InclusiveBound)++-- Check an upper bound does not intersect, or even touch a lower bound:+--+-- ---| or ---) but not ---] or ---) or ---]+-- |--- (--- (--- [--- [---+--+doesNotTouch :: UpperBound -> LowerBound -> Bool+doesNotTouch NoUpperBound _ = False+doesNotTouch (UpperBound u ub) (LowerBound l lb) =+ u < l+ || (u == l && ub == ExclusiveBound && lb == ExclusiveBound)++-- | Check an upper bound does not intersect a lower bound:+--+-- ---| or ---) or ---] or ---) but not ---]+-- |--- (--- (--- [--- [---+--+doesNotIntersect :: UpperBound -> LowerBound -> Bool+doesNotIntersect NoUpperBound _ = False+doesNotIntersect (UpperBound u ub) (LowerBound l lb) =+ u < l+ || (u == l && not (ub == InclusiveBound && lb == InclusiveBound))++-- | Test if a version falls within the version intervals.+--+-- It exists mostly for completeness and testing. It satisfies the following+-- properties:+--+-- > withinIntervals v (toVersionIntervals vr) = withinRange v vr+-- > withinIntervals v ivs = withinRange v (fromVersionIntervals ivs)+--+withinIntervals :: Version -> VersionIntervals -> Bool+withinIntervals v (VersionIntervals intervals) = any withinInterval intervals+ where+ withinInterval (lowerBound, upperBound) = withinLower lowerBound+ && withinUpper upperBound+ withinLower (LowerBound v' ExclusiveBound) = v' < v+ withinLower (LowerBound v' InclusiveBound) = v' <= v++ withinUpper NoUpperBound = True+ withinUpper (UpperBound v' ExclusiveBound) = v' > v+ withinUpper (UpperBound v' InclusiveBound) = v' >= v++-- | Convert a 'VersionRange' to a sequence of version intervals.+--+toVersionIntervals :: VersionRange -> VersionIntervals+toVersionIntervals = foldVersionRange+ ( chkIvl (minLowerBound, NoUpperBound))+ (\v -> chkIvl (LowerBound v InclusiveBound, UpperBound v InclusiveBound))+ (\v -> chkIvl (LowerBound v ExclusiveBound, NoUpperBound))+ (\v -> if isVersion0 v then VersionIntervals [] else+ chkIvl (minLowerBound, UpperBound v ExclusiveBound))+ unionVersionIntervals+ intersectVersionIntervals+ where+ chkIvl interval = checkInvariant (VersionIntervals [interval])++-- | Convert a 'VersionIntervals' value back into a 'VersionRange' expression+-- representing the version intervals.+--+fromVersionIntervals :: VersionIntervals -> VersionRange+fromVersionIntervals (VersionIntervals []) = noVersion+fromVersionIntervals (VersionIntervals intervals) =+ foldr1 unionVersionRanges [ interval l u | (l, u) <- intervals ]++ where+ interval (LowerBound v InclusiveBound)+ (UpperBound v' InclusiveBound) | v == v'+ = thisVersion v+ interval (LowerBound v InclusiveBound)+ (UpperBound v' ExclusiveBound) | isWildcardRange v v'+ = withinVersion v+ interval l u = lowerBound l `intersectVersionRanges'` upperBound u++ lowerBound (LowerBound v InclusiveBound)+ | isVersion0 v = Nothing+ | otherwise = Just (orLaterVersion v)+ lowerBound (LowerBound v ExclusiveBound) = Just (laterVersion v)++ upperBound NoUpperBound = Nothing+ upperBound (UpperBound v InclusiveBound) = Just (orEarlierVersion v)+ upperBound (UpperBound v ExclusiveBound) = Just (earlierVersion v)++ intersectVersionRanges' Nothing Nothing = anyVersion+ intersectVersionRanges' (Just vr) Nothing = vr+ intersectVersionRanges' Nothing (Just vr) = vr+ intersectVersionRanges' (Just vr) (Just vr') = intersectVersionRanges vr vr'++unionVersionIntervals :: VersionIntervals -> VersionIntervals+ -> VersionIntervals+unionVersionIntervals (VersionIntervals is0) (VersionIntervals is'0) =+ checkInvariant (VersionIntervals (union is0 is'0))+ where+ union is [] = is+ union [] is' = is'+ union (i:is) (i':is') = case unionInterval i i' of+ Left Nothing -> i : union is (i' :is')+ Left (Just i'') -> union is (i'':is')+ Right Nothing -> i' : union (i :is) is'+ Right (Just i'') -> union (i'':is) is'++unionInterval :: VersionInterval -> VersionInterval+ -> Either (Maybe VersionInterval) (Maybe VersionInterval)+unionInterval (lower , upper ) (lower', upper')++ -- Non-intersecting intervals with the left interval ending first+ | upper `doesNotTouch` lower' = Left Nothing++ -- Non-intersecting intervals with the right interval first+ | upper' `doesNotTouch` lower = Right Nothing++ -- Complete or partial overlap, with the left interval ending first+ | upper <= upper' = lowerBound `seq`+ Left (Just (lowerBound, upper'))++ -- Complete or partial overlap, with the left interval ending first+ | otherwise = lowerBound `seq`+ Right (Just (lowerBound, upper))+ where+ lowerBound = min lower lower'++intersectVersionIntervals :: VersionIntervals -> VersionIntervals+ -> VersionIntervals+intersectVersionIntervals (VersionIntervals is0) (VersionIntervals is'0) =+ checkInvariant (VersionIntervals (intersect is0 is'0))+ where+ intersect _ [] = []+ intersect [] _ = []+ intersect (i:is) (i':is') = case intersectInterval i i' of+ Left Nothing -> intersect is (i':is')+ Left (Just i'') -> i'' : intersect is (i':is')+ Right Nothing -> intersect (i:is) is'+ Right (Just i'') -> i'' : intersect (i:is) is'++intersectInterval :: VersionInterval -> VersionInterval+ -> Either (Maybe VersionInterval) (Maybe VersionInterval)+intersectInterval (lower , upper ) (lower', upper')++ -- Non-intersecting intervals with the left interval ending first+ | upper `doesNotIntersect` lower' = Left Nothing++ -- Non-intersecting intervals with the right interval first+ | upper' `doesNotIntersect` lower = Right Nothing++ -- Complete or partial overlap, with the left interval ending first+ | upper <= upper' = lowerBound `seq`+ Left (Just (lowerBound, upper))++ -- Complete or partial overlap, with the right interval ending first+ | otherwise = lowerBound `seq`+ Right (Just (lowerBound, upper'))+ where+ lowerBound = max lower lower'++invertVersionIntervals :: VersionIntervals+ -> VersionIntervals+invertVersionIntervals (VersionIntervals xs) =+ case xs of+ -- Empty interval set+ [] -> VersionIntervals [(noLowerBound, NoUpperBound)]+ -- Interval with no lower bound+ ((lb, ub) : more) | lb == noLowerBound ->+ VersionIntervals $ invertVersionIntervals' ub more+ -- Interval with a lower bound+ ((lb, ub) : more) ->+ VersionIntervals $ (noLowerBound, invertLowerBound lb)+ : invertVersionIntervals' ub more+ where+ -- Invert subsequent version intervals given the upper bound of+ -- the intervals already inverted.+ invertVersionIntervals' :: UpperBound+ -> [(LowerBound, UpperBound)]+ -> [(LowerBound, UpperBound)]+ invertVersionIntervals' NoUpperBound [] = []+ invertVersionIntervals' ub0 [] = [(invertUpperBound ub0, NoUpperBound)]+ invertVersionIntervals' ub0 [(lb, NoUpperBound)] =+ [(invertUpperBound ub0, invertLowerBound lb)]+ invertVersionIntervals' ub0 ((lb, ub1) : more) =+ (invertUpperBound ub0, invertLowerBound lb)+ : invertVersionIntervals' ub1 more++ invertLowerBound :: LowerBound -> UpperBound+ invertLowerBound (LowerBound v b) = UpperBound v (invertBound b)++ invertUpperBound :: UpperBound -> LowerBound+ invertUpperBound (UpperBound v b) = LowerBound v (invertBound b)+ invertUpperBound NoUpperBound = error "NoUpperBound: unexpected"++ invertBound :: Bound -> Bound+ invertBound ExclusiveBound = InclusiveBound+ invertBound InclusiveBound = ExclusiveBound++ noLowerBound :: LowerBound+ noLowerBound = LowerBound (mkVersion [0]) InclusiveBound+++relaxLastInterval :: VersionIntervals -> VersionIntervals+relaxLastInterval (VersionIntervals xs) = VersionIntervals (relaxLastInterval' xs)+ where+ relaxLastInterval' [] = []+ relaxLastInterval' [(l,_)] = [(l, NoUpperBound)]+ relaxLastInterval' (i:is) = i : relaxLastInterval' is++relaxHeadInterval :: VersionIntervals -> VersionIntervals+relaxHeadInterval (VersionIntervals xs) = VersionIntervals (relaxHeadInterval' xs)+ where+ relaxHeadInterval' [] = []+ relaxHeadInterval' ((_,u):is) = (minLowerBound,u) : is
@@ -0,0 +1,586 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveFoldable #-}+{-# LANGUAGE DeriveFunctor #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveTraversable #-}+{-# LANGUAGE FlexibleContexts #-}+module Distribution.Types.VersionRange (+ -- * Version ranges+ VersionRange(..),++ -- ** Constructing+ anyVersion, noVersion,+ thisVersion, notThisVersion,+ laterVersion, earlierVersion,+ orLaterVersion, orEarlierVersion,+ unionVersionRanges, intersectVersionRanges,+ withinVersion,+ majorBoundVersion,++ -- ** Inspection+ --+ -- See "Distribution.Version" for more utilities.+ withinRange,+ foldVersionRange,+ normaliseVersionRange,+ stripParensVersionRange,+ hasUpperBound,+ hasLowerBound,++ -- ** Cata & ana+ VersionRangeF (..),+ cataVersionRange,+ anaVersionRange,+ hyloVersionRange,+ projectVersionRange,+ embedVersionRange,++ -- ** Utilities+ wildcardUpperBound,+ majorUpperBound,+ isWildcardRange,+ ) where++import Distribution.Compat.Prelude+import Distribution.Types.Version+import Prelude ()++import Distribution.CabalSpecVersion+import Distribution.Parsec.Class+import Distribution.Pretty+import Distribution.Text+import Text.PrettyPrint ((<+>))++import qualified Distribution.Compat.CharParsing as P+import qualified Distribution.Compat.DList as DList+import qualified Distribution.Compat.ReadP as Parse+import qualified Text.PrettyPrint as Disp++data VersionRange+ = AnyVersion+ | ThisVersion Version -- = version+ | LaterVersion Version -- > version (NB. not >=)+ | OrLaterVersion Version -- >= version+ | EarlierVersion Version -- < version+ | OrEarlierVersion Version -- <= version+ | WildcardVersion Version -- == ver.* (same as >= ver && < ver+1)+ | MajorBoundVersion Version -- @^>= ver@ (same as >= ver && < MAJ(ver)+1)+ | UnionVersionRanges VersionRange VersionRange+ | IntersectVersionRanges VersionRange VersionRange+ | VersionRangeParens VersionRange -- just '(exp)' parentheses syntax+ deriving (Data, Eq, Generic, Read, Show, Typeable)++instance Binary VersionRange++instance NFData VersionRange where rnf = genericRnf++{-# DeprecateD AnyVersion+ "Use 'anyVersion', 'foldVersionRange' or 'asVersionIntervals'" #-}+{-# DEPRECATED ThisVersion+ "Use 'thisVersion', 'foldVersionRange' or 'asVersionIntervals'" #-}+{-# DEPRECATED LaterVersion+ "Use 'laterVersion', 'foldVersionRange' or 'asVersionIntervals'" #-}+{-# DEPRECATED EarlierVersion+ "Use 'earlierVersion', 'foldVersionRange' or 'asVersionIntervals'" #-}+{-# DEPRECATED WildcardVersion+ "Use 'anyVersion', 'foldVersionRange' or 'asVersionIntervals'" #-}+{-# DEPRECATED UnionVersionRanges+ "Use 'unionVersionRanges', 'foldVersionRange' or 'asVersionIntervals'" #-}+{-# DEPRECATED IntersectVersionRanges+ "Use 'intersectVersionRanges', 'foldVersionRange' or 'asVersionIntervals'"#-}++-- | The version range @-any@. That is, a version range containing all+-- versions.+--+-- > withinRange v anyVersion = True+--+anyVersion :: VersionRange+anyVersion = AnyVersion++-- | The empty version range, that is a version range containing no versions.+--+-- This can be constructed using any unsatisfiable version range expression,+-- for example @> 1 && < 1@.+--+-- > withinRange v noVersion = False+--+noVersion :: VersionRange+noVersion = IntersectVersionRanges (LaterVersion v) (EarlierVersion v)+ where v = mkVersion [1]++-- | The version range @== v@+--+-- > withinRange v' (thisVersion v) = v' == v+--+thisVersion :: Version -> VersionRange+thisVersion = ThisVersion++-- | The version range @< v || > v@+--+-- > withinRange v' (notThisVersion v) = v' /= v+--+notThisVersion :: Version -> VersionRange+notThisVersion v = UnionVersionRanges (EarlierVersion v) (LaterVersion v)++-- | The version range @> v@+--+-- > withinRange v' (laterVersion v) = v' > v+--+laterVersion :: Version -> VersionRange+laterVersion = LaterVersion++-- | The version range @>= v@+--+-- > withinRange v' (orLaterVersion v) = v' >= v+--+orLaterVersion :: Version -> VersionRange+orLaterVersion = OrLaterVersion++-- | The version range @< v@+--+-- > withinRange v' (earlierVersion v) = v' < v+--+earlierVersion :: Version -> VersionRange+earlierVersion = EarlierVersion++-- | The version range @<= v@+--+-- > withinRange v' (orEarlierVersion v) = v' <= v+--+orEarlierVersion :: Version -> VersionRange+orEarlierVersion = OrEarlierVersion++-- | The version range @vr1 || vr2@+--+-- > withinRange v' (unionVersionRanges vr1 vr2)+-- > = withinRange v' vr1 || withinRange v' vr2+--+unionVersionRanges :: VersionRange -> VersionRange -> VersionRange+unionVersionRanges = UnionVersionRanges++-- | The version range @vr1 && vr2@+--+-- > withinRange v' (intersectVersionRanges vr1 vr2)+-- > = withinRange v' vr1 && withinRange v' vr2+--+intersectVersionRanges :: VersionRange -> VersionRange -> VersionRange+intersectVersionRanges = IntersectVersionRanges++-- | The version range @== v.*@.+--+-- For example, for version @1.2@, the version range @== 1.2.*@ is the same as+-- @>= 1.2 && < 1.3@+--+-- > withinRange v' (laterVersion v) = v' >= v && v' < upper v+-- > where+-- > upper (Version lower t) = Version (init lower ++ [last lower + 1]) t+--+withinVersion :: Version -> VersionRange+withinVersion = WildcardVersion++-- | The version range @^>= v@.+--+-- For example, for version @1.2.3.4@, the version range @^>= 1.2.3.4@ is the same as+-- @>= 1.2.3.4 && < 1.3@.+--+-- Note that @^>= 1@ is equivalent to @>= 1 && < 1.1@.+--+-- @since 2.0.0.2+majorBoundVersion :: Version -> VersionRange+majorBoundVersion = MajorBoundVersion++-- | F-Algebra of 'VersionRange'. See 'cataVersionRange'.+--+-- @since 2.2+data VersionRangeF a+ = AnyVersionF+ | ThisVersionF Version -- = version+ | LaterVersionF Version -- > version (NB. not >=)+ | OrLaterVersionF Version -- >= version+ | EarlierVersionF Version -- < version+ | OrEarlierVersionF Version -- <= version+ | WildcardVersionF Version -- == ver.* (same as >= ver && < ver+1)+ | MajorBoundVersionF Version -- @^>= ver@ (same as >= ver && < MAJ(ver)+1)+ | UnionVersionRangesF a a+ | IntersectVersionRangesF a a+ | VersionRangeParensF a+ deriving (Data, Eq, Generic, Read, Show, Typeable, Functor, Foldable, Traversable)++-- | @since 2.2+projectVersionRange :: VersionRange -> VersionRangeF VersionRange+projectVersionRange AnyVersion = AnyVersionF+projectVersionRange (ThisVersion v) = ThisVersionF v+projectVersionRange (LaterVersion v) = LaterVersionF v+projectVersionRange (OrLaterVersion v) = OrLaterVersionF v+projectVersionRange (EarlierVersion v) = EarlierVersionF v+projectVersionRange (OrEarlierVersion v) = OrEarlierVersionF v+projectVersionRange (WildcardVersion v) = WildcardVersionF v+projectVersionRange (MajorBoundVersion v) = MajorBoundVersionF v+projectVersionRange (UnionVersionRanges a b) = UnionVersionRangesF a b+projectVersionRange (IntersectVersionRanges a b) = IntersectVersionRangesF a b+projectVersionRange (VersionRangeParens a) = VersionRangeParensF a++-- | Fold 'VersionRange'.+--+-- @since 2.2+cataVersionRange :: (VersionRangeF a -> a) -> VersionRange -> a+cataVersionRange f = c where c = f . fmap c . projectVersionRange++-- | @since 2.2+embedVersionRange :: VersionRangeF VersionRange -> VersionRange+embedVersionRange AnyVersionF = AnyVersion+embedVersionRange (ThisVersionF v) = ThisVersion v+embedVersionRange (LaterVersionF v) = LaterVersion v+embedVersionRange (OrLaterVersionF v) = OrLaterVersion v+embedVersionRange (EarlierVersionF v) = EarlierVersion v+embedVersionRange (OrEarlierVersionF v) = OrEarlierVersion v+embedVersionRange (WildcardVersionF v) = WildcardVersion v+embedVersionRange (MajorBoundVersionF v) = MajorBoundVersion v+embedVersionRange (UnionVersionRangesF a b) = UnionVersionRanges a b+embedVersionRange (IntersectVersionRangesF a b) = IntersectVersionRanges a b+embedVersionRange (VersionRangeParensF a) = VersionRangeParens a++-- | Unfold 'VersionRange'.+--+-- @since 2.2+anaVersionRange :: (a -> VersionRangeF a) -> a -> VersionRange+anaVersionRange g = a where a = embedVersionRange . fmap a . g+++-- | Fold over the basic syntactic structure of a 'VersionRange'.+--+-- This provides a syntactic view of the expression defining the version range.+-- The syntactic sugar @\">= v\"@, @\"<= v\"@ and @\"== v.*\"@ is presented+-- in terms of the other basic syntax.+--+-- For a semantic view use 'asVersionIntervals'.+--+foldVersionRange :: a -- ^ @\"-any\"@ version+ -> (Version -> a) -- ^ @\"== v\"@+ -> (Version -> a) -- ^ @\"> v\"@+ -> (Version -> a) -- ^ @\"< v\"@+ -> (a -> a -> a) -- ^ @\"_ || _\"@ union+ -> (a -> a -> a) -- ^ @\"_ && _\"@ intersection+ -> VersionRange -> a+foldVersionRange anyv this later earlier union intersect = fold+ where+ fold = cataVersionRange alg++ alg AnyVersionF = anyv+ alg (ThisVersionF v) = this v+ alg (LaterVersionF v) = later v+ alg (OrLaterVersionF v) = union (this v) (later v)+ alg (EarlierVersionF v) = earlier v+ alg (OrEarlierVersionF v) = union (this v) (earlier v)+ alg (WildcardVersionF v) = fold (wildcard v)+ alg (MajorBoundVersionF v) = fold (majorBound v)+ alg (UnionVersionRangesF v1 v2) = union v1 v2+ alg (IntersectVersionRangesF v1 v2) = intersect v1 v2+ alg (VersionRangeParensF v) = v++ wildcard v = intersectVersionRanges+ (orLaterVersion v)+ (earlierVersion (wildcardUpperBound v))++ majorBound v = intersectVersionRanges+ (orLaterVersion v)+ (earlierVersion (majorUpperBound v))++-- | Refold 'VersionRange'+--+-- @since 2.2+hyloVersionRange :: (VersionRangeF VersionRange -> VersionRange)+ -> (VersionRange -> VersionRangeF VersionRange)+ -> VersionRange -> VersionRange+hyloVersionRange f g = h where h = f . fmap h . g++-- | Normalise 'VersionRange'.+--+-- In particular collapse @(== v || > v)@ into @>= v@, and so on.+normaliseVersionRange :: VersionRange -> VersionRange+normaliseVersionRange = hyloVersionRange embed projectVersionRange+ where+ -- == v || > v, > v || == v ==> >= v+ embed (UnionVersionRangesF (ThisVersion v) (LaterVersion v')) | v == v' =+ orLaterVersion v+ embed (UnionVersionRangesF (LaterVersion v) (ThisVersion v')) | v == v' =+ orLaterVersion v++ -- == v || < v, < v || == v ==> <= v+ embed (UnionVersionRangesF (ThisVersion v) (EarlierVersion v')) | v == v' =+ orEarlierVersion v+ embed (UnionVersionRangesF (EarlierVersion v) (ThisVersion v')) | v == v' =+ orEarlierVersion v++ -- otherwise embed normally+ embed vr = embedVersionRange vr++-- | Remove 'VersionRangeParens' constructors.+--+-- @since 2.2+stripParensVersionRange :: VersionRange -> VersionRange+stripParensVersionRange = hyloVersionRange embed projectVersionRange+ where+ embed (VersionRangeParensF vr) = vr+ embed vr = embedVersionRange vr++-- | Does this version fall within the given range?+--+-- This is the evaluation function for the 'VersionRange' type.+--+withinRange :: Version -> VersionRange -> Bool+withinRange v = foldVersionRange+ True+ (\v' -> v == v')+ (\v' -> v > v')+ (\v' -> v < v')+ (||)+ (&&)++----------------------------+-- Wildcard range utilities+--++-- | @since 2.2+wildcardUpperBound :: Version -> Version+wildcardUpperBound = alterVersion $+ \lowerBound -> init lowerBound ++ [last lowerBound + 1]++isWildcardRange :: Version -> Version -> Bool+isWildcardRange ver1 ver2 = check (versionNumbers ver1) (versionNumbers ver2)+ where check (n:[]) (m:[]) | n+1 == m = True+ check (n:ns) (m:ms) | n == m = check ns ms+ check _ _ = False++-- | Compute next greater major version to be used as upper bound+--+-- Example: @0.4.1@ produces the version @0.5@ which then can be used+-- to construct a range @>= 0.4.1 && < 0.5@+--+-- @since 2.2+majorUpperBound :: Version -> Version+majorUpperBound = alterVersion $ \numbers -> case numbers of+ [] -> [0,1] -- should not happen+ [m1] -> [m1,1] -- e.g. version '1'+ (m1:m2:_) -> [m1,m2+1]++-------------------------------------------------------------------------------+-- Parsec & Pretty+-------------------------------------------------------------------------------++instance Pretty VersionRange where+ pretty = fst . cataVersionRange alg+ where+ alg AnyVersionF = (Disp.text "-any", 0 :: Int)+ alg (ThisVersionF v) = (Disp.text "==" <<>> pretty v, 0)+ alg (LaterVersionF v) = (Disp.char '>' <<>> pretty v, 0)+ alg (OrLaterVersionF v) = (Disp.text ">=" <<>> pretty v, 0)+ alg (EarlierVersionF v) = (Disp.char '<' <<>> pretty v, 0)+ alg (OrEarlierVersionF v) = (Disp.text "<=" <<>> pretty v, 0)+ alg (WildcardVersionF v) = (Disp.text "==" <<>> dispWild v, 0)+ alg (MajorBoundVersionF v) = (Disp.text "^>=" <<>> pretty v, 0)+ alg (UnionVersionRangesF (r1, p1) (r2, p2)) =+ (punct 1 p1 r1 <+> Disp.text "||" <+> punct 2 p2 r2 , 2)+ alg (IntersectVersionRangesF (r1, p1) (r2, p2)) =+ (punct 0 p1 r1 <+> Disp.text "&&" <+> punct 1 p2 r2 , 1)+ alg (VersionRangeParensF (r, _)) =+ (Disp.parens r, 0)++ dispWild ver =+ Disp.hcat (Disp.punctuate (Disp.char '.') (map Disp.int $ versionNumbers ver))+ <<>> Disp.text ".*"++ punct p p' | p < p' = Disp.parens+ | otherwise = id++instance Parsec VersionRange where+ parsec = expr+ where+ expr = do P.spaces+ t <- term+ P.spaces+ (do _ <- P.string "||"+ P.spaces+ e <- expr+ return (unionVersionRanges t e)+ <|>+ return t)+ term = do f <- factor+ P.spaces+ (do _ <- P.string "&&"+ P.spaces+ t <- term+ return (intersectVersionRanges f t)+ <|>+ return f)+ factor = parens expr <|> prim++ prim = do+ op <- P.munch1 (`elem` "<>=^-") P.<?> "operator"+ case op of+ "-" -> anyVersion <$ P.string "any" <|> P.string "none" *> noVersion'++ "==" -> do+ P.spaces+ (wild, v) <- verOrWild+ pure $ (if wild then withinVersion else thisVersion) v++ _ -> do+ P.spaces+ (wild, v) <- verOrWild+ when wild $ P.unexpected $+ "wild-card version after non-== operator: " ++ show op+ case op of+ ">=" -> pure $ orLaterVersion v+ "<" -> pure $ earlierVersion v+ "^>=" -> majorBoundVersion' v+ "<=" -> pure $ orEarlierVersion v+ ">" -> pure $ laterVersion v+ _ -> fail $ "Unknown version operator " ++ show op++ -- Note: There are other features:+ -- && and || since 1.8+ -- x.y.* (wildcard) since 1.6++ -- -none version range is available since 1.22+ noVersion' = do+ csv <- askCabalSpecVersion+ if csv >= CabalSpecV1_22+ then pure noVersion+ else fail $ unwords+ [ "-none version range used."+ , "To use this syntax the package needs to specify at least 'cabal-version: 1.22'."+ , "Alternatively, if broader compatibility is important then use"+ , "<0 or other empty range."+ ]++ -- ^>= is available since 2.0+ majorBoundVersion' v = do+ csv <- askCabalSpecVersion+ if csv >= CabalSpecV2_0+ then pure $ majorBoundVersion v+ else fail $ unwords+ [ "major bounded version syntax (caret, ^>=) used."+ , "To use this syntax the package need to specify at least 'cabal-version: 2.0'."+ , "Alternatively, if broader compatibility is important then use:"+ , prettyShow $ eliminateMajorBoundSyntax $ majorBoundVersion v+ ]+ where+ eliminateMajorBoundSyntax = hyloVersionRange embed projectVersionRange+ embed (MajorBoundVersionF u) = intersectVersionRanges+ (orLaterVersion u) (earlierVersion (majorUpperBound u))+ embed vr = embedVersionRange vr++ -- either wildcard or normal version+ verOrWild :: CabalParsing m => m (Bool, Version)+ verOrWild = do+ x <- P.integral+ verLoop (DList.singleton x)++ -- trailing: wildcard (.y.*) or normal version (optional tags) (.y.z-tag)+ verLoop :: CabalParsing m => DList.DList Int -> m (Bool, Version)+ verLoop acc = verLoop' acc <|> (tags *> pure (False, mkVersion (DList.toList acc)))++ verLoop' :: CabalParsing m => DList.DList Int -> m (Bool, Version)+ verLoop' acc = do+ _ <- P.char '.'+ let digit = P.integral >>= verLoop . DList.snoc acc+ let wild = (True, mkVersion (DList.toList acc)) <$ P.char '*'+ digit <|> wild++ parens p = P.between+ ((P.char '(' P.<?> "opening paren") >> P.spaces)+ (P.char ')' >> P.spaces)+ (do a <- p+ P.spaces+ return (VersionRangeParens a))++ tags :: CabalParsing m => m ()+ tags = do+ ts <- many $ P.char '-' *> some (P.satisfy isAlphaNum)+ case ts of+ [] -> pure ()+ (_ : _) -> parsecWarning PWTVersionTag "version with tags"+++instance Text VersionRange where+ parse = expr+ where+ expr = do Parse.skipSpaces+ t <- term+ Parse.skipSpaces+ (do _ <- Parse.string "||"+ Parse.skipSpaces+ e <- expr+ return (UnionVersionRanges t e)+ Parse.++++ return t)+ term = do f <- factor+ Parse.skipSpaces+ (do _ <- Parse.string "&&"+ Parse.skipSpaces+ t <- term+ return (IntersectVersionRanges f t)+ Parse.++++ return f)+ factor = Parse.choice $ parens expr+ : parseAnyVersion+ : parseNoVersion+ : parseWildcardRange+ : map parseRangeOp rangeOps+ parseAnyVersion = Parse.string "-any" >> return AnyVersion+ parseNoVersion = Parse.string "-none" >> return noVersion++ parseWildcardRange = do+ _ <- Parse.string "=="+ Parse.skipSpaces+ branch <- Parse.sepBy1 digits (Parse.char '.')+ _ <- Parse.char '.'+ _ <- Parse.char '*'+ return (WildcardVersion (mkVersion branch))++ parens p = Parse.between (Parse.char '(' >> Parse.skipSpaces)+ (Parse.char ')' >> Parse.skipSpaces)+ (do a <- p+ Parse.skipSpaces+ return (VersionRangeParens a))++ digits = do+ firstDigit <- Parse.satisfy isDigit+ if firstDigit == '0'+ then return 0+ else do rest <- Parse.munch isDigit+ return (read (firstDigit : rest)) -- TODO: eradicateNoParse++ parseRangeOp (s,f) = Parse.string s >> Parse.skipSpaces >> fmap f parse+ rangeOps = [ ("<", EarlierVersion),+ ("<=", orEarlierVersion),+ (">", LaterVersion),+ (">=", orLaterVersion),+ ("^>=", MajorBoundVersion),+ ("==", ThisVersion) ]++-- | Does the version range have an upper bound?+--+-- @since 1.24.0.0+hasUpperBound :: VersionRange -> Bool+hasUpperBound = foldVersionRange+ False+ (const True)+ (const False)+ (const True)+ (&&) (||)++-- | Does the version range have an explicit lower bound?+--+-- Note: this function only considers the user-specified lower bounds, but not+-- the implicit >=0 lower bound.+--+-- @since 1.24.0.0+hasLowerBound :: VersionRange -> Bool+hasLowerBound = foldVersionRange+ False+ (const True)+ (const True)+ (const False)+ (&&) (||)
@@ -27,20 +27,27 @@ writeFileAtomic, -- * Unicode- fromUTF8,++ -- ** Conversions fromUTF8BS, fromUTF8LBS,- toUTF8,++ toUTF8BS,+ toUTF8LBS,++ validateUTF8,++ -- ** File I/O readUTF8File, withUTF8FileContents, writeUTF8File,- normaliseLineEndings, - -- * BOM- startsWithBOM,- fileHasBOM,+ -- ** BOM ignoreBOM, + -- ** Misc+ normaliseLineEndings,+ -- * generic utils dropWhileEndLE, takeWhileEndLE,@@ -61,6 +68,9 @@ unintersperse, wrapText, wrapLine,+ unfoldrM,+ spanMaybe,+ breakMaybe, -- * FilePath stuff isAbsoluteOnAnyPlatform,@@ -72,8 +82,7 @@ import Distribution.Utils.String -import Data.Bits- ( Bits((.|.), (.&.), shiftL, shiftR) )+import Data.Bits ((.&.), (.|.), shiftL) import Data.List ( isInfixOf ) import Data.Ord@@ -84,13 +93,12 @@ import qualified Data.ByteString as SBS import System.Directory- ( removeFile )+ ( removeFile, renameFile ) import System.FilePath ( (<.>), splitFileName )-import System.Directory- ( renameFile ) import System.IO- ( openFile, openBinaryFile, openBinaryTempFileWithDefaultPermissions+ ( withFile, withBinaryFile+ , openBinaryTempFileWithDefaultPermissions , IOMode(ReadMode), hGetContents, hClose ) import qualified Control.Exception as Exception @@ -132,8 +140,8 @@ -- withFileContents :: FilePath -> (String -> NoCallStackIO a) -> NoCallStackIO a withFileContents name action =- Exception.bracket (openFile name ReadMode) hClose- (\hnd -> hGetContents hnd >>= action)+ withFile name ReadMode+ (\hnd -> hGetContents hnd >>= action) -- | Writes a file atomically. --@@ -158,85 +166,72 @@ -- * Unicode stuff -- ------------------------------------------------------------ --- This is a modification of the UTF8 code from gtk2hs and the--- utf8-string package.--fromUTF8 :: String -> String-fromUTF8 [] = []-fromUTF8 (c:cs)- | c <= '\x7F' = c : fromUTF8 cs- | c <= '\xBF' = replacementChar : fromUTF8 cs- | c <= '\xDF' = twoBytes c cs- | c <= '\xEF' = moreBytes 3 0x800 cs (ord c .&. 0xF)- | c <= '\xF7' = moreBytes 4 0x10000 cs (ord c .&. 0x7)- | c <= '\xFB' = moreBytes 5 0x200000 cs (ord c .&. 0x3)- | c <= '\xFD' = moreBytes 6 0x4000000 cs (ord c .&. 0x1)- | otherwise = replacementChar : fromUTF8 cs- where- twoBytes c0 (c1:cs')- | ord c1 .&. 0xC0 == 0x80- = let d = ((ord c0 .&. 0x1F) `shiftL` 6)- .|. (ord c1 .&. 0x3F)- in if d >= 0x80- then chr d : fromUTF8 cs'- else replacementChar : fromUTF8 cs'- twoBytes _ cs' = replacementChar : fromUTF8 cs'-- moreBytes :: Int -> Int -> [Char] -> Int -> [Char]- moreBytes 1 overlong cs' acc- | overlong <= acc && acc <= 0x10FFFF- && (acc < 0xD800 || 0xDFFF < acc)- && (acc < 0xFFFE || 0xFFFF < acc)- = chr acc : fromUTF8 cs'-- | otherwise- = replacementChar : fromUTF8 cs'-- moreBytes byteCount overlong (cn:cs') acc- | ord cn .&. 0xC0 == 0x80- = moreBytes (byteCount-1) overlong cs'- ((acc `shiftL` 6) .|. ord cn .&. 0x3F)-- moreBytes _ _ cs' _- = replacementChar : fromUTF8 cs'-- replacementChar = '\xfffd'-+-- | Decode 'String' from UTF8-encoded 'BS.ByteString'+--+-- Invalid data in the UTF8 stream (this includes code-points @U+D800@+-- through @U+DFFF@) will be decoded as the replacement character (@U+FFFD@).+-- fromUTF8BS :: SBS.ByteString -> String fromUTF8BS = decodeStringUtf8 . SBS.unpack +-- | Variant of 'fromUTF8BS' for lazy 'BS.ByteString's+-- fromUTF8LBS :: BS.ByteString -> String fromUTF8LBS = decodeStringUtf8 . BS.unpack -toUTF8 :: String -> String-toUTF8 [] = []-toUTF8 (c:cs)- | c <= '\x07F' = c- : toUTF8 cs- | c <= '\x7FF' = chr (0xC0 .|. (w `shiftR` 6))- : chr (0x80 .|. (w .&. 0x3F))- : toUTF8 cs- | c <= '\xFFFF'= chr (0xE0 .|. (w `shiftR` 12))- : chr (0x80 .|. ((w `shiftR` 6) .&. 0x3F))- : chr (0x80 .|. (w .&. 0x3F))- : toUTF8 cs- | otherwise = chr (0xf0 .|. (w `shiftR` 18))- : chr (0x80 .|. ((w `shiftR` 12) .&. 0x3F))- : chr (0x80 .|. ((w `shiftR` 6) .&. 0x3F))- : chr (0x80 .|. (w .&. 0x3F))- : toUTF8 cs- where w = ord c+-- | Encode 'String' to to UTF8-encoded 'SBS.ByteString'+--+-- Code-points in the @U+D800@-@U+DFFF@ range will be encoded+-- as the replacement character (i.e. @U+FFFD@).+--+toUTF8BS :: String -> SBS.ByteString+toUTF8BS = SBS.pack . encodeStringUtf8 --- | Whether BOM is at the beginning of the input-startsWithBOM :: String -> Bool-startsWithBOM ('\xFEFF':_) = True-startsWithBOM _ = False+-- | Variant of 'toUTF8BS' for lazy 'BS.ByteString's+--+toUTF8LBS :: String -> BS.ByteString+toUTF8LBS = BS.pack . encodeStringUtf8 --- | Check whether a file has Unicode byte order mark (BOM).-fileHasBOM :: FilePath -> NoCallStackIO Bool-fileHasBOM f = fmap (startsWithBOM . fromUTF8)- . hGetContents =<< openBinaryFile f ReadMode+-- | Check that strict 'ByteString' is valid UTF8. Returns 'Just offset' if it's not.+validateUTF8 :: SBS.ByteString -> Maybe Int+validateUTF8 = go 0 where+ go off bs = case SBS.uncons bs of+ Nothing -> Nothing+ Just (c, bs')+ | c <= 0x7F -> go (off + 1) bs'+ | c <= 0xBF -> Just off+ | c <= 0xDF -> twoBytes off c bs'+ | c <= 0xEF -> moreBytes off 3 0x800 bs' (fromIntegral $ c .&. 0xF)+ | c <= 0xF7 -> moreBytes off 4 0x10000 bs' (fromIntegral $ c .&. 0x7)+ | c <= 0xFB -> moreBytes off 5 0x200000 bs' (fromIntegral $ c .&. 0x3)+ | c <= 0xFD -> moreBytes off 6 0x4000000 bs' (fromIntegral $ c .&. 0x1)+ | otherwise -> Just off + twoBytes off c0 bs = case SBS.uncons bs of+ Nothing -> Just off+ Just (c1, bs')+ | c1 .&. 0xC0 == 0x80 ->+ if d >= (0x80 :: Int)+ then go (off + 2) bs'+ else Just off+ | otherwise -> Just off+ where+ d = (fromIntegral (c0 .&. 0x1F) `shiftL` 6) .|. fromIntegral (c1 .&. 0x3F)++ moreBytes :: Int -> Int -> Int -> SBS.ByteString -> Int -> Maybe Int+ moreBytes off 1 overlong cs' acc+ | overlong <= acc, acc <= 0x10FFFF, acc < 0xD800 || 0xDFFF < acc+ = go (off + 1) cs'++ | otherwise+ = Just off++ moreBytes off byteCount overlong bs acc = case SBS.uncons bs of+ Just (cn, bs') | cn .&. 0xC0 == 0x80 ->+ moreBytes (off + 1) (byteCount-1) overlong bs' ((acc `shiftL` 6) .|. fromIntegral cn .&. 0x3F)+ _ -> Just off+ + -- | Ignore a Unicode byte order mark (BOM) at the beginning of the input -- ignoreBOM :: String -> String@@ -248,8 +243,7 @@ -- Reads lazily using ordinary 'readFile'. -- readUTF8File :: FilePath -> NoCallStackIO String-readUTF8File f = fmap (ignoreBOM . fromUTF8)- . hGetContents =<< openBinaryFile f ReadMode+readUTF8File f = (ignoreBOM . fromUTF8LBS) <$> BS.readFile f -- | Reads a UTF8 encoded text file as a Unicode String --@@ -257,10 +251,8 @@ -- withUTF8FileContents :: FilePath -> (String -> IO a) -> IO a withUTF8FileContents name action =- Exception.bracket- (openBinaryFile name ReadMode)- hClose- (\hnd -> hGetContents hnd >>= action . ignoreBOM . fromUTF8)+ withBinaryFile name ReadMode+ (\hnd -> BS.hGetContents hnd >>= action . ignoreBOM . fromUTF8LBS) -- | Writes a Unicode String as a UTF8 encoded text file. --@@ -288,16 +280,20 @@ -- -- Example: ----- @--- > tail $ Data.List.dropWhileEnd (<3) [undefined, 5, 4, 3, 2, 1]+-- >>> tail $ Data.List.dropWhileEnd (<3) [undefined, 5, 4, 3, 2, 1] -- *** Exception: Prelude.undefined--- > tail $ dropWhileEndLE (<3) [undefined, 5, 4, 3, 2, 1]+-- ...+--+-- >>> tail $ dropWhileEndLE (<3) [undefined, 5, 4, 3, 2, 1] -- [5,4,3]--- > take 3 $ Data.List.dropWhileEnd (<3) [5, 4, 3, 2, 1, undefined]+--+-- >>> take 3 $ Data.List.dropWhileEnd (<3) [5, 4, 3, 2, 1, undefined] -- [5,4,3]--- > take 3 $ dropWhileEndLE (<3) [5, 4, 3, 2, 1, undefined]+--+-- >>> take 3 $ dropWhileEndLE (<3) [5, 4, 3, 2, 1, undefined] -- *** Exception: Prelude.undefined--- @+-- ...+-- dropWhileEndLE :: (a -> Bool) -> [a] -> [a] dropWhileEndLE p = foldr (\x r -> if null r && p x then [] else x:r) [] @@ -340,12 +336,12 @@ -- -- Example: ----- @--- > ordNub [1,2,1]+-- >>> ordNub [1,2,1] :: [Int] -- [1,2]--- > ordNubRight [1,2,1]+--+-- >>> ordNubRight [1,2,1] :: [Int] -- [2,1]--- @+-- ordNubRight :: (Ord a) => [a] -> [a] ordNubRight = fst . foldr go ([], Set.empty) where@@ -356,12 +352,12 @@ -- -- Example: ----- @--- > listUnion [1,2,3,4,3] [2,1,1]+-- >>> listUnion [1,2,3,4,3] [2,1,1] -- [1,2,3,4,3]--- > listUnionRight [1,2,3,4,3] [2,1,1]+--+-- >>> listUnionRight [1,2,3,4,3] [2,1,1] -- [4,3,2,1,1]--- @+-- listUnionRight :: (Ord a) => [a] -> [a] -> [a] listUnionRight a b = ordNubRight (filter (`Set.notMember` bSet) a) ++ b where@@ -375,9 +371,14 @@ equating :: Eq a => (b -> a) -> b -> b -> Bool equating p x y = p x == p y +-- | Lower case string+--+-- >>> lowercase "Foobar"+-- "foobar" lowercase :: String -> String lowercase = map toLower +-- | Ascii characters isAscii :: Char -> Bool isAscii c = fromEnum c < 0x80 @@ -387,8 +388,15 @@ || ('A' <= c && c <= 'Z') -- | Ascii letters and digits.+--+-- >>> isAsciiAlphaNum 'a'+-- True+--+-- >>> isAsciiAlphaNum 'ä'+-- False+-- isAsciiAlphaNum :: Char -> Bool-isAsciiAlphaNum c = isAscii c || isDigit c+isAsciiAlphaNum c = isAscii c && isAlphaNum c unintersperse :: Char -> String -> [String] unintersperse mark = unfoldr unintersperse1 where@@ -398,6 +406,54 @@ let (this, rest) = break (== mark) str in Just (this, safeTail rest) +-- | Like 'break', but with 'Maybe' predicate+--+-- >>> breakMaybe (readMaybe :: String -> Maybe Int) ["foo", "bar", "1", "2", "quu"]+-- (["foo","bar"],Just (1,["2","quu"]))+--+-- >>> breakMaybe (readMaybe :: String -> Maybe Int) ["foo", "bar"]+-- (["foo","bar"],Nothing)+--+-- @since 2.2+--+breakMaybe :: (a -> Maybe b) -> [a] -> ([a], Maybe (b, [a]))+breakMaybe f = go id where+ go !acc [] = (acc [], Nothing)+ go !acc (x:xs) = case f x of+ Nothing -> go (acc . (x:)) xs+ Just b -> (acc [], Just (b, xs))++-- | Like 'span' but with 'Maybe' predicate+--+-- >>> spanMaybe listToMaybe [[1,2],[3],[],[4,5],[6,7]]+-- ([1,3],[[],[4,5],[6,7]])+--+-- >>> spanMaybe (readMaybe :: String -> Maybe Int) ["1", "2", "foo"]+-- ([1,2],["foo"])+--+-- @since 2.2+--+spanMaybe :: (a -> Maybe b) -> [a] -> ([b],[a])+spanMaybe _ xs@[] = ([], xs)+spanMaybe p xs@(x:xs') = case p x of+ Just y -> let (ys, zs) = spanMaybe p xs' in (y : ys, zs)+ Nothing -> ([], xs)++-- | 'unfoldr' with monadic action.+--+-- >>> take 5 $ unfoldrM (\b r -> Just (r + b, b + 1)) (1 :: Int) 2+-- [3,4,5,6,7]+--+-- @since 2.2+--+unfoldrM :: Monad m => (b -> m (Maybe (a, b))) -> b -> m [a]+unfoldrM f = go where+ go b = do+ m <- f b+ case m of+ Nothing -> return []+ Just (a, b') -> liftM (a :) (go b')+ -- ------------------------------------------------------------ -- * FilePath stuff -- ------------------------------------------------------------@@ -433,3 +489,7 @@ -- | @isRelativeOnAnyPlatform = not . 'isAbsoluteOnAnyPlatform'@ isRelativeOnAnyPlatform :: FilePath -> Bool isRelativeOnAnyPlatform = not . isAbsoluteOnAnyPlatform++-- $setup+-- >>> import Data.Maybe+-- >>> import Text.Read
@@ -0,0 +1,73 @@+{-# LANGUAGE CPP #-}++-- | @since 2.2.0+module Distribution.Utils.IOData+ ( -- * 'IOData' & 'IODataMode' type+ IOData(..)+ , IODataMode(..)+ , null+ , hGetContents+ , hPutContents+ ) where++import qualified Data.ByteString.Lazy as BS+import Distribution.Compat.Prelude hiding (null)+import qualified Prelude+import qualified System.IO++-- | Represents either textual or binary data passed via I/O functions+-- which support binary/text mode+--+-- @since 2.2.0+data IOData = IODataText String+ -- ^ How Text gets encoded is usually locale-dependent.+ | IODataBinary BS.ByteString+ -- ^ Raw binary which gets read/written in binary mode.++-- | Test whether 'IOData' is empty+--+-- @since 2.2.0+null :: IOData -> Bool+null (IODataText s) = Prelude.null s+null (IODataBinary b) = BS.null b++instance NFData IOData where+ rnf (IODataText s) = rnf s+#if MIN_VERSION_bytestring(0,10,0)+ rnf (IODataBinary bs) = rnf bs+#else+ rnf (IODataBinary bs) = rnf (BS.length bs)+#endif++data IODataMode = IODataModeText | IODataModeBinary++-- | 'IOData' Wrapper for 'System.IO.hGetContents'+--+-- __Note__: This operation uses lazy I/O. Use 'NFData' to force all+-- data to be read and consequently the internal file handle to be+-- closed.+--+-- @since 2.2.0+hGetContents :: System.IO.Handle -> IODataMode -> Prelude.IO IOData+hGetContents h IODataModeText = do+ System.IO.hSetBinaryMode h False+ IODataText <$> System.IO.hGetContents h+hGetContents h IODataModeBinary = do+ System.IO.hSetBinaryMode h True+ IODataBinary <$> BS.hGetContents h++-- | 'IOData' Wrapper for 'System.IO.hPutStr' and 'System.IO.hClose'+--+-- This is the dual operation ot 'ioDataHGetContents',+-- and consequently the handle is closed with `hClose`.+--+-- @since 2.2.0+hPutContents :: System.IO.Handle -> IOData -> Prelude.IO ()+hPutContents h (IODataText c) = do+ System.IO.hSetBinaryMode h False+ System.IO.hPutStr h c+ System.IO.hClose h+hPutContents h (IODataBinary c) = do+ System.IO.hSetBinaryMode h True+ BS.hPutStr h c+ System.IO.hClose h
@@ -10,7 +10,8 @@ -- | Decode 'String' from UTF8-encoded octets. ----- Invalid data will be decoded as the replacement character (@U+FFFD@)+-- Invalid data in the UTF8 stream (this includes code-points @U+D800@+-- through @U+DFFF@) will be decoded as the replacement character (@U+FFFD@). -- -- See also 'encodeStringUtf8' decodeStringUtf8 :: [Word8] -> String@@ -40,9 +41,7 @@ moreBytes :: Int -> Int -> [Word8] -> Int -> [Char] moreBytes 1 overlong cs' acc- | overlong <= acc && acc <= 0x10FFFF- && (acc < 0xD800 || 0xDFFF < acc)- && (acc < 0xFFFE || 0xFFFF < acc)+ | overlong <= acc, acc <= 0x10FFFF, acc < 0xD800 || 0xDFFF < acc = chr acc : go cs' | otherwise@@ -61,6 +60,9 @@ -- | Encode 'String' to a list of UTF8-encoded octets --+-- Code-points in the @U+D800@-@U+DFFF@ range will be encoded+-- as the replacement character (i.e. @U+FFFD@).+-- -- See also 'decodeUtf8' encodeStringUtf8 :: String -> [Word8] encodeStringUtf8 [] = []@@ -69,6 +71,12 @@ : encodeStringUtf8 cs | c <= '\x7FF' = (0xC0 .|. w8ShiftR 6 ) : (0x80 .|. (w8 .&. 0x3F))+ : encodeStringUtf8 cs+ | c <= '\xD7FF'= (0xE0 .|. w8ShiftR 12 )+ : (0x80 .|. (w8ShiftR 6 .&. 0x3F))+ : (0x80 .|. (w8 .&. 0x3F))+ : encodeStringUtf8 cs+ | c <= '\xDFFF'= 0xEF : 0xBF : 0xBD -- U+FFFD : encodeStringUtf8 cs | c <= '\xFFFF'= (0xE0 .|. w8ShiftR 12 ) : (0x80 .|. (w8ShiftR 6 .&. 0x3F))
@@ -43,8 +43,12 @@ -- * line-wrapping verboseNoWrap, isVerboseNoWrap,- ) where + -- * timestamps+ verboseTimestamp, isVerboseTimestamp,+ verboseNoTimestamp,+ ) where+ import Prelude () import Distribution.Compat.Prelude @@ -125,15 +129,17 @@ Normal -> v { vLevel = Silent } Silent -> v --- | Combinator for transforming verbosity level while retaining the original hidden state.+-- | Combinator for transforming verbosity level while retaining the+-- original hidden state. -- -- For instance, the following property holds -- -- prop> isVerboseNoWrap (modifyVerbosity (max verbose) v) == isVerboseNoWrap v ----- __Note__: you can use @modifyVerbosity (const v1) v0@ to overwrite @v1@'s flags with @v0@'s flags.+-- __Note__: you can use @modifyVerbosity (const v1) v0@ to overwrite+-- @v1@'s flags with @v0@'s flags. ----- @since 2.0.1+-- @since 2.0.1.0 modifyVerbosity :: (Verbosity -> Verbosity) -> Verbosity -> Verbosity modifyVerbosity f v = v { vLevel = vLevel (f v) } @@ -165,6 +171,7 @@ , string "callstack" >> return verboseCallStack , string "nowrap" >> return verboseNoWrap , string "markoutput" >> return verboseMarkOutput+ , string "timestamp" >> return verboseTimestamp ] flagToVerbosity :: ReadE Verbosity@@ -196,6 +203,7 @@ showFlag VCallStack = ["+callstack"] showFlag VNoWrap = ["+nowrap"] showFlag VMarkOutput = ["+markoutput"]+ showFlag VTimestamp = ["+timestamp"] showForGHC v = maybe (error "unknown verbosity") show $ elemIndex v [silent,normal,__,verbose,deafening] where __ = silent -- this will be always ignored by elemIndex@@ -205,6 +213,7 @@ | VCallSite | VNoWrap | VMarkOutput+ | VTimestamp deriving (Generic, Show, Read, Eq, Ord, Enum, Bounded) instance Binary VerbosityFlag@@ -224,7 +233,7 @@ -- | Turn off marking; useful for suppressing nondeterministic output. verboseUnmarkOutput :: Verbosity -> Verbosity-verboseUnmarkOutput v = v { vFlags = Set.delete VMarkOutput (vFlags v) }+verboseUnmarkOutput = verboseNoFlag VMarkOutput -- | Disable line-wrapping for log messages. verboseNoWrap :: Verbosity -> Verbosity@@ -234,10 +243,23 @@ verboseQuiet :: Verbosity -> Verbosity verboseQuiet v = v { vQuiet = True } --- | Helper function for flag toggling functions+-- | Turn on timestamps for log messages.+verboseTimestamp :: Verbosity -> Verbosity+verboseTimestamp = verboseFlag VTimestamp++-- | Turn off timestamps for log messages.+verboseNoTimestamp :: Verbosity -> Verbosity+verboseNoTimestamp = verboseNoFlag VTimestamp++-- | Helper function for flag enabling functions verboseFlag :: VerbosityFlag -> (Verbosity -> Verbosity) verboseFlag flag v = v { vFlags = Set.insert flag (vFlags v) } +-- | Helper function for flag disabling functions+verboseNoFlag :: VerbosityFlag -> (Verbosity -> Verbosity)+verboseNoFlag flag v = v { vFlags = Set.delete flag (vFlags v) }++-- | Turn off all flags verboseNoFlags :: Verbosity -> Verbosity verboseNoFlags v = v { vFlags = Set.empty } @@ -264,6 +286,15 @@ isVerboseQuiet :: Verbosity -> Bool isVerboseQuiet = vQuiet +-- | Test if if we should output timestamps when we log.+isVerboseTimestamp :: Verbosity -> Bool+isVerboseTimestamp = isVerboseFlag VTimestamp+ -- | Helper function for flag testing functions. isVerboseFlag :: VerbosityFlag -> Verbosity -> Bool isVerboseFlag flag = (Set.member flag) . vFlags++-- $setup+-- >>> import Test.QuickCheck (Arbitrary (..), arbitraryBoundedEnum)+-- >>> instance Arbitrary VerbosityLevel where arbitrary = arbitraryBoundedEnum+-- >>> instance Arbitrary Verbosity where arbitrary = fmap mkVerbosity arbitrary
@@ -1,1086 +1,262 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}---------------------------------------------------------------------------------- |--- Module : Distribution.Version--- Copyright : Isaac Jones, Simon Marlow 2003-2004--- Duncan Coutts 2008--- License : BSD3------ Maintainer : cabal-devel@haskell.org--- Portability : portable------ Exports the 'Version' type along with a parser and pretty printer. A version--- is something like @\"1.3.3\"@. It also defines the 'VersionRange' data--- types. Version ranges are like @\">= 1.2 && < 2\"@.--module Distribution.Version (- -- * Package versions- Version,- mkVersion,- mkVersion',- versionNumbers,- nullVersion,- alterVersion,-- -- ** Backwards compatibility- showVersion,-- -- * Version ranges- VersionRange(..),-- -- ** Constructing- anyVersion, noVersion,- thisVersion, notThisVersion,- laterVersion, earlierVersion,- orLaterVersion, orEarlierVersion,- unionVersionRanges, intersectVersionRanges,- differenceVersionRanges,- invertVersionRange,- withinVersion,- majorBoundVersion,- betweenVersionsInclusive,-- -- ** Inspection- withinRange,- isAnyVersion,- isNoVersion,- isSpecificVersion,- simplifyVersionRange,- foldVersionRange,- foldVersionRange',- hasUpperBound,- hasLowerBound,-- -- ** Modification- removeUpperBound,- removeLowerBound,-- -- * Version intervals view- asVersionIntervals,- VersionInterval,- LowerBound(..),- UpperBound(..),- Bound(..),-- -- ** 'VersionIntervals' abstract type- -- | The 'VersionIntervals' type and the accompanying functions are exposed- -- primarily for completeness and testing purposes. In practice- -- 'asVersionIntervals' is the main function to use to- -- view a 'VersionRange' as a bunch of 'VersionInterval's.- --- VersionIntervals,- toVersionIntervals,- fromVersionIntervals,- withinIntervals,- versionIntervals,- mkVersionIntervals,- unionVersionIntervals,- intersectVersionIntervals,- invertVersionIntervals-- ) where--import Prelude ()-import Distribution.Compat.Prelude-import qualified Data.Version as Base-import Data.Bits (shiftL, shiftR, (.|.), (.&.))--import Distribution.Text-import qualified Distribution.Compat.ReadP as Parse-import Distribution.Compat.ReadP hiding (get)--import qualified Text.PrettyPrint as Disp-import Text.PrettyPrint ((<+>))-import Control.Exception (assert)--import qualified Text.Read as Read---- -------------------------------------------------------------------------------- Versions---- | A 'Version' represents the version of a software entity.------ Instances of 'Eq' and 'Ord' are provided, which gives exact--- equality and lexicographic ordering of the version number--- components (i.e. 2.1 > 2.0, 1.2.3 > 1.2.2, etc.).------ This type is opaque and distinct from the 'Base.Version' type in--- "Data.Version" since @Cabal-2.0@. The difference extends to the--- 'Binary' instance using a different (and more compact) encoding.------ @since 2.0.0.2-data Version = PV0 {-# UNPACK #-} !Word64- | PV1 !Int [Int]- -- NOTE: If a version fits into the packed Word64- -- representation (i.e. at most four version components- -- which all fall into the [0..0xfffe] range), then PV0- -- MUST be used. This is essential for the 'Eq' instance- -- to work.- deriving (Data,Eq,Generic,Typeable)--instance Ord Version where- compare (PV0 x) (PV0 y) = compare x y- compare (PV1 x xs) (PV1 y ys) = case compare x y of- EQ -> compare xs ys- c -> c- compare (PV0 w) (PV1 y ys) = case compare x y of- EQ -> compare [x2,x3,x4] ys- c -> c- where- x = fromIntegral ((w `shiftR` 48) .&. 0xffff) - 1- x2 = fromIntegral ((w `shiftR` 32) .&. 0xffff) - 1- x3 = fromIntegral ((w `shiftR` 16) .&. 0xffff) - 1- x4 = fromIntegral (w .&. 0xffff) - 1- compare (PV1 x xs) (PV0 w) = case compare x y of- EQ -> compare xs [y2,y3,y4]- c -> c- where- y = fromIntegral ((w `shiftR` 48) .&. 0xffff) - 1- y2 = fromIntegral ((w `shiftR` 32) .&. 0xffff) - 1- y3 = fromIntegral ((w `shiftR` 16) .&. 0xffff) - 1- y4 = fromIntegral (w .&. 0xffff) - 1--instance Show Version where- showsPrec d v = showParen (d > 10)- $ showString "mkVersion "- . showsPrec 11 (versionNumbers v)--instance Read Version where- readPrec = Read.parens $ do- Read.Ident "mkVersion" <- Read.lexP- v <- Read.step Read.readPrec- return (mkVersion v)--instance Binary Version--instance NFData Version where- rnf (PV0 _) = ()- rnf (PV1 _ ns) = rnf ns--instance Text Version where- disp ver- = Disp.hcat (Disp.punctuate (Disp.char '.')- (map Disp.int $ versionNumbers ver))-- parse = do- branch <- Parse.sepBy1 parseNat (Parse.char '.')- -- allow but ignore tags:- _tags <- Parse.many (Parse.char '-' >> Parse.munch1 isAlphaNum)- return (mkVersion branch)- where- parseNat = read `fmap` Parse.munch1 isDigit---- | Construct 'Version' from list of version number components.------ For instance, @mkVersion [3,2,1]@ constructs a 'Version'--- representing the version @3.2.1@.------ All version components must be non-negative. @mkVersion []@--- currently represents the special /null/ version; see also 'nullVersion'.------ @since 2.0.0.2-mkVersion :: [Int] -> Version--- TODO: add validity check; disallow 'mkVersion []' (we have--- 'nullVersion' for that)-mkVersion [] = nullVersion-mkVersion (v1:[])- | inWord16VerRep1 v1 = PV0 (mkWord64VerRep1 v1)- | otherwise = PV1 v1 []- where- inWord16VerRep1 x1 = inWord16 (x1 .|. (x1+1))- mkWord64VerRep1 y1 = mkWord64VerRep (y1+1) 0 0 0--mkVersion (v1:vs@(v2:[]))- | inWord16VerRep2 v1 v2 = PV0 (mkWord64VerRep2 v1 v2)- | otherwise = PV1 v1 vs- where- inWord16VerRep2 x1 x2 = inWord16 (x1 .|. (x1+1)- .|. x2 .|. (x2+1))- mkWord64VerRep2 y1 y2 = mkWord64VerRep (y1+1) (y2+1) 0 0--mkVersion (v1:vs@(v2:v3:[]))- | inWord16VerRep3 v1 v2 v3 = PV0 (mkWord64VerRep3 v1 v2 v3)- | otherwise = PV1 v1 vs- where- inWord16VerRep3 x1 x2 x3 = inWord16 (x1 .|. (x1+1)- .|. x2 .|. (x2+1)- .|. x3 .|. (x3+1))- mkWord64VerRep3 y1 y2 y3 = mkWord64VerRep (y1+1) (y2+1) (y3+1) 0--mkVersion (v1:vs@(v2:v3:v4:[]))- | inWord16VerRep4 v1 v2 v3 v4 = PV0 (mkWord64VerRep4 v1 v2 v3 v4)- | otherwise = PV1 v1 vs- where- inWord16VerRep4 x1 x2 x3 x4 = inWord16 (x1 .|. (x1+1)- .|. x2 .|. (x2+1)- .|. x3 .|. (x3+1)- .|. x4 .|. (x4+1))- mkWord64VerRep4 y1 y2 y3 y4 = mkWord64VerRep (y1+1) (y2+1) (y3+1) (y4+1)--mkVersion (v1:vs) = PV1 v1 vs---{-# INLINE mkWord64VerRep #-}-mkWord64VerRep :: Int -> Int -> Int -> Int -> Word64-mkWord64VerRep v1 v2 v3 v4 =- (fromIntegral v1 `shiftL` 48)- .|. (fromIntegral v2 `shiftL` 32)- .|. (fromIntegral v3 `shiftL` 16)- .|. fromIntegral v4--{-# INLINE inWord16 #-}-inWord16 :: Int -> Bool-inWord16 x = (fromIntegral x :: Word) <= 0xffff---- | Variant of 'Version' which converts a "Data.Version" 'Version'--- into Cabal's 'Version' type.------ @since 2.0.0.2-mkVersion' :: Base.Version -> Version-mkVersion' = mkVersion . Base.versionBranch---- | Unpack 'Version' into list of version number components.------ This is the inverse to 'mkVersion', so the following holds:------ > (versionNumbers . mkVersion) vs == vs------ @since 2.0.0.2-versionNumbers :: Version -> [Int]-versionNumbers (PV1 n ns) = n:ns-versionNumbers (PV0 w)- | v1 < 0 = []- | v2 < 0 = [v1]- | v3 < 0 = [v1,v2]- | v4 < 0 = [v1,v2,v3]- | otherwise = [v1,v2,v3,v4]- where- v1 = fromIntegral ((w `shiftR` 48) .&. 0xffff) - 1- v2 = fromIntegral ((w `shiftR` 32) .&. 0xffff) - 1- v3 = fromIntegral ((w `shiftR` 16) .&. 0xffff) - 1- v4 = fromIntegral (w .&. 0xffff) - 1----- | Constant representing the special /null/ 'Version'------ The 'nullVersion' compares (via 'Ord') as less than every proper--- 'Version' value.------ @since 2.0.0.2-nullVersion :: Version--- TODO: at some point, 'mkVersion' may disallow creating /null/--- 'Version's-nullVersion = PV0 0---- | Apply function to list of version number components------ > alterVersion f == mkVersion . f . versionNumbers------ @since 2.0.0.2-alterVersion :: ([Int] -> [Int]) -> Version -> Version-alterVersion f = mkVersion . f . versionNumbers---- internal helper-validVersion :: Version -> Bool-validVersion v = v /= nullVersion && all (>=0) (versionNumbers v)---- BC--showVersion :: Version -> String-showVersion = display---- -------------------------------------------------------------------------------- Version ranges---- Todo: maybe move this to Distribution.Package.Version?--- (package-specific versioning scheme).--data VersionRange- = AnyVersion- | ThisVersion Version -- = version- | LaterVersion Version -- > version (NB. not >=)- | EarlierVersion Version -- < version- | WildcardVersion Version -- == ver.* (same as >= ver && < ver+1)- | MajorBoundVersion Version -- @^>= ver@ (same as >= ver && < MAJ(ver)+1)- | UnionVersionRanges VersionRange VersionRange- | IntersectVersionRanges VersionRange VersionRange- | VersionRangeParens VersionRange -- just '(exp)' parentheses syntax- deriving (Data, Eq, Generic, Read, Show, Typeable)--instance Binary VersionRange--instance NFData VersionRange where rnf = genericRnf--{-# DeprecateD AnyVersion- "Use 'anyVersion', 'foldVersionRange' or 'asVersionIntervals'" #-}-{-# DEPRECATED ThisVersion- "Use 'thisVersion', 'foldVersionRange' or 'asVersionIntervals'" #-}-{-# DEPRECATED LaterVersion- "Use 'laterVersion', 'foldVersionRange' or 'asVersionIntervals'" #-}-{-# DEPRECATED EarlierVersion- "Use 'earlierVersion', 'foldVersionRange' or 'asVersionIntervals'" #-}-{-# DEPRECATED WildcardVersion- "Use 'anyVersion', 'foldVersionRange' or 'asVersionIntervals'" #-}-{-# DEPRECATED UnionVersionRanges- "Use 'unionVersionRanges', 'foldVersionRange' or 'asVersionIntervals'" #-}-{-# DEPRECATED IntersectVersionRanges- "Use 'intersectVersionRanges', 'foldVersionRange' or 'asVersionIntervals'"#-}---- | The version range @-any@. That is, a version range containing all--- versions.------ > withinRange v anyVersion = True----anyVersion :: VersionRange-anyVersion = AnyVersion---- | The empty version range, that is a version range containing no versions.------ This can be constructed using any unsatisfiable version range expression,--- for example @> 1 && < 1@.------ > withinRange v noVersion = False----noVersion :: VersionRange-noVersion = IntersectVersionRanges (LaterVersion v) (EarlierVersion v)- where v = mkVersion [1]---- | The version range @== v@------ > withinRange v' (thisVersion v) = v' == v----thisVersion :: Version -> VersionRange-thisVersion = ThisVersion---- | The version range @< v || > v@------ > withinRange v' (notThisVersion v) = v' /= v----notThisVersion :: Version -> VersionRange-notThisVersion v = UnionVersionRanges (EarlierVersion v) (LaterVersion v)---- | The version range @> v@------ > withinRange v' (laterVersion v) = v' > v----laterVersion :: Version -> VersionRange-laterVersion = LaterVersion---- | The version range @>= v@------ > withinRange v' (orLaterVersion v) = v' >= v----orLaterVersion :: Version -> VersionRange-orLaterVersion v = UnionVersionRanges (ThisVersion v) (LaterVersion v)---- | The version range @< v@------ > withinRange v' (earlierVersion v) = v' < v----earlierVersion :: Version -> VersionRange-earlierVersion = EarlierVersion---- | The version range @<= v@------ > withinRange v' (orEarlierVersion v) = v' <= v----orEarlierVersion :: Version -> VersionRange-orEarlierVersion v = UnionVersionRanges (ThisVersion v) (EarlierVersion v)---- | The version range @vr1 || vr2@------ > withinRange v' (unionVersionRanges vr1 vr2)--- > = withinRange v' vr1 || withinRange v' vr2----unionVersionRanges :: VersionRange -> VersionRange -> VersionRange-unionVersionRanges = UnionVersionRanges---- | The version range @vr1 && vr2@------ > withinRange v' (intersectVersionRanges vr1 vr2)--- > = withinRange v' vr1 && withinRange v' vr2----intersectVersionRanges :: VersionRange -> VersionRange -> VersionRange-intersectVersionRanges = IntersectVersionRanges---- | The difference of two version ranges------ > withinRange v' (differenceVersionRanges vr1 vr2)--- > = withinRange v' vr1 && not (withinRange v' vr2)------ @since 1.24.1.0-differenceVersionRanges :: VersionRange -> VersionRange -> VersionRange-differenceVersionRanges vr1 vr2 =- intersectVersionRanges vr1 (invertVersionRange vr2)---- | The inverse of a version range------ > withinRange v' (invertVersionRange vr)--- > = not (withinRange v' vr)----invertVersionRange :: VersionRange -> VersionRange-invertVersionRange =- fromVersionIntervals . invertVersionIntervals- . VersionIntervals . asVersionIntervals---- | The version range @== v.*@.------ For example, for version @1.2@, the version range @== 1.2.*@ is the same as--- @>= 1.2 && < 1.3@------ > withinRange v' (laterVersion v) = v' >= v && v' < upper v--- > where--- > upper (Version lower t) = Version (init lower ++ [last lower + 1]) t----withinVersion :: Version -> VersionRange-withinVersion = WildcardVersion---- | The version range @^>= v@.------ For example, for version @1.2.3.4@, the version range @^>= 1.2.3.4@ is the same as--- @>= 1.2.3.4 && < 1.3@.------ Note that @^>= 1@ is equivalent to @>= 1 && < 1.1@.------ @since 2.0.0.2-majorBoundVersion :: Version -> VersionRange-majorBoundVersion = MajorBoundVersion---- In practice this is not very useful because we normally use inclusive lower--- bounds and exclusive upper bounds.------ > withinRange v' (laterVersion v) = v' > v----betweenVersionsInclusive :: Version -> Version -> VersionRange-betweenVersionsInclusive v1 v2 =- IntersectVersionRanges (orLaterVersion v1) (orEarlierVersion v2)--{-# DEPRECATED betweenVersionsInclusive- "In practice this is not very useful because we normally use inclusive lower bounds and exclusive upper bounds" #-}---- | Given a version range, remove the highest upper bound. Example: @(>= 1 && <--- 3) || (>= 4 && < 5)@ is converted to @(>= 1 && < 3) || (>= 4)@.-removeUpperBound :: VersionRange -> VersionRange-removeUpperBound = fromVersionIntervals . relaxLastInterval . toVersionIntervals- where- relaxLastInterval (VersionIntervals intervals) =- VersionIntervals (relaxLastInterval' intervals)-- relaxLastInterval' [] = []- relaxLastInterval' [(l,_)] = [(l, NoUpperBound)]- relaxLastInterval' (i:is) = i : relaxLastInterval' is---- | Given a version range, remove the lowest lower bound.--- Example: @(>= 1 && < 3) || (>= 4 && < 5)@ is converted to--- @(>= 0 && < 3) || (>= 4 && < 5)@.-removeLowerBound :: VersionRange -> VersionRange-removeLowerBound = fromVersionIntervals . relaxHeadInterval . toVersionIntervals- where- relaxHeadInterval (VersionIntervals intervals) =- VersionIntervals (relaxHeadInterval' intervals)-- relaxHeadInterval' [] = []- relaxHeadInterval' ((_,u):is) = (minLowerBound,u) : is---- | Fold over the basic syntactic structure of a 'VersionRange'.------ This provides a syntactic view of the expression defining the version range.--- The syntactic sugar @\">= v\"@, @\"<= v\"@ and @\"== v.*\"@ is presented--- in terms of the other basic syntax.------ For a semantic view use 'asVersionIntervals'.----foldVersionRange :: a -- ^ @\"-any\"@ version- -> (Version -> a) -- ^ @\"== v\"@- -> (Version -> a) -- ^ @\"> v\"@- -> (Version -> a) -- ^ @\"< v\"@- -> (a -> a -> a) -- ^ @\"_ || _\"@ union- -> (a -> a -> a) -- ^ @\"_ && _\"@ intersection- -> VersionRange -> a-foldVersionRange anyv this later earlier union intersect = fold- where- fold AnyVersion = anyv- fold (ThisVersion v) = this v- fold (LaterVersion v) = later v- fold (EarlierVersion v) = earlier v- fold (WildcardVersion v) = fold (wildcard v)- fold (MajorBoundVersion v) = fold (majorBound v)- fold (UnionVersionRanges v1 v2) = union (fold v1) (fold v2)- fold (IntersectVersionRanges v1 v2) = intersect (fold v1) (fold v2)- fold (VersionRangeParens v) = fold v-- wildcard v = intersectVersionRanges- (orLaterVersion v)- (earlierVersion (wildcardUpperBound v))-- majorBound v = intersectVersionRanges- (orLaterVersion v)- (earlierVersion (majorUpperBound v))---- | An extended variant of 'foldVersionRange' that also provides a view of the--- expression in which the syntactic sugar @\">= v\"@, @\"<= v\"@ and @\"==--- v.*\"@ is presented explicitly rather than in terms of the other basic--- syntax.----foldVersionRange' :: a -- ^ @\"-any\"@ version- -> (Version -> a) -- ^ @\"== v\"@- -> (Version -> a) -- ^ @\"> v\"@- -> (Version -> a) -- ^ @\"< v\"@- -> (Version -> a) -- ^ @\">= v\"@- -> (Version -> a) -- ^ @\"<= v\"@- -> (Version -> Version -> a) -- ^ @\"== v.*\"@ wildcard. The- -- function is passed the- -- inclusive lower bound and the- -- exclusive upper bounds of the- -- range defined by the wildcard.- -> (Version -> Version -> a) -- ^ @\"^>= v\"@ major upper bound- -- The function is passed the- -- inclusive lower bound and the- -- exclusive major upper bounds- -- of the range defined by this- -- operator.- -> (a -> a -> a) -- ^ @\"_ || _\"@ union- -> (a -> a -> a) -- ^ @\"_ && _\"@ intersection- -> (a -> a) -- ^ @\"(_)\"@ parentheses- -> VersionRange -> a-foldVersionRange' anyv this later earlier orLater orEarlier- wildcard major union intersect parens = fold- where- fold AnyVersion = anyv- fold (ThisVersion v) = this v- fold (LaterVersion v) = later v- fold (EarlierVersion v) = earlier v-- fold (UnionVersionRanges (ThisVersion v)- (LaterVersion v')) | v==v' = orLater v- fold (UnionVersionRanges (LaterVersion v)- (ThisVersion v')) | v==v' = orLater v- fold (UnionVersionRanges (ThisVersion v)- (EarlierVersion v')) | v==v' = orEarlier v- fold (UnionVersionRanges (EarlierVersion v)- (ThisVersion v')) | v==v' = orEarlier v-- fold (WildcardVersion v) = wildcard v (wildcardUpperBound v)- fold (MajorBoundVersion v) = major v (majorUpperBound v)- fold (UnionVersionRanges v1 v2) = union (fold v1) (fold v2)- fold (IntersectVersionRanges v1 v2) = intersect (fold v1) (fold v2)- fold (VersionRangeParens v) = parens (fold v)----- | Does this version fall within the given range?------ This is the evaluation function for the 'VersionRange' type.----withinRange :: Version -> VersionRange -> Bool-withinRange v = foldVersionRange- True- (\v' -> v == v')- (\v' -> v > v')- (\v' -> v < v')- (||)- (&&)---- | View a 'VersionRange' as a union of intervals.------ This provides a canonical view of the semantics of a 'VersionRange' as--- opposed to the syntax of the expression used to define it. For the syntactic--- view use 'foldVersionRange'.------ Each interval is non-empty. The sequence is in increasing order and no--- intervals overlap or touch. Therefore only the first and last can be--- unbounded. The sequence can be empty if the range is empty--- (e.g. a range expression like @< 1 && > 2@).------ Other checks are trivial to implement using this view. For example:------ > isNoVersion vr | [] <- asVersionIntervals vr = True--- > | otherwise = False------ > isSpecificVersion vr--- > | [(LowerBound v InclusiveBound--- > ,UpperBound v' InclusiveBound)] <- asVersionIntervals vr--- > , v == v' = Just v--- > | otherwise = Nothing----asVersionIntervals :: VersionRange -> [VersionInterval]-asVersionIntervals = versionIntervals . toVersionIntervals---- | Does this 'VersionRange' place any restriction on the 'Version' or is it--- in fact equivalent to 'AnyVersion'.------ Note this is a semantic check, not simply a syntactic check. So for example--- the following is @True@ (for all @v@).------ > isAnyVersion (EarlierVersion v `UnionVersionRanges` orLaterVersion v)----isAnyVersion :: VersionRange -> Bool-isAnyVersion vr = case asVersionIntervals vr of- [(LowerBound v InclusiveBound, NoUpperBound)] | isVersion0 v -> True- _ -> False---- | This is the converse of 'isAnyVersion'. It check if the version range is--- empty, if there is no possible version that satisfies the version range.------ For example this is @True@ (for all @v@):------ > isNoVersion (EarlierVersion v `IntersectVersionRanges` LaterVersion v)----isNoVersion :: VersionRange -> Bool-isNoVersion vr = case asVersionIntervals vr of- [] -> True- _ -> False---- | Is this version range in fact just a specific version?------ For example the version range @\">= 3 && <= 3\"@ contains only the version--- @3@.----isSpecificVersion :: VersionRange -> Maybe Version-isSpecificVersion vr = case asVersionIntervals vr of- [(LowerBound v InclusiveBound- ,UpperBound v' InclusiveBound)]- | v == v' -> Just v- _ -> Nothing---- | Simplify a 'VersionRange' expression. For non-empty version ranges--- this produces a canonical form. Empty or inconsistent version ranges--- are left as-is because that provides more information.------ If you need a canonical form use--- @fromVersionIntervals . toVersionIntervals@------ It satisfies the following properties:------ > withinRange v (simplifyVersionRange r) = withinRange v r------ > withinRange v r = withinRange v r'--- > ==> simplifyVersionRange r = simplifyVersionRange r'--- > || isNoVersion r--- > || isNoVersion r'----simplifyVersionRange :: VersionRange -> VersionRange-simplifyVersionRange vr- -- If the version range is inconsistent then we just return the- -- original since that has more information than ">1 && < 1", which- -- is the canonical inconsistent version range.- | null (versionIntervals vi) = vr- | otherwise = fromVersionIntervals vi- where- vi = toVersionIntervals vr--------------------------------- Wildcard range utilities-----wildcardUpperBound :: Version -> Version-wildcardUpperBound = alterVersion $- \lowerBound -> init lowerBound ++ [last lowerBound + 1]--isWildcardRange :: Version -> Version -> Bool-isWildcardRange ver1 ver2 = check (versionNumbers ver1) (versionNumbers ver2)- where check (n:[]) (m:[]) | n+1 == m = True- check (n:ns) (m:ms) | n == m = check ns ms- check _ _ = False---- | Compute next greater major version to be used as upper bound------ Example: @0.4.1@ produces the version @0.5@ which then can be used--- to construct a range @>= 0.4.1 && < 0.5@-majorUpperBound :: Version -> Version-majorUpperBound = alterVersion $ \numbers -> case numbers of- [] -> [0,1] -- should not happen- [m1] -> [m1,1] -- e.g. version '1'- (m1:m2:_) -> [m1,m2+1]----------------------- Intervals view------- | A complementary representation of a 'VersionRange'. Instead of a boolean--- version predicate it uses an increasing sequence of non-overlapping,--- non-empty intervals.------ The key point is that this representation gives a canonical representation--- for the semantics of 'VersionRange's. This makes it easier to check things--- like whether a version range is empty, covers all versions, or requires a--- certain minimum or maximum version. It also makes it easy to check equality--- or containment. It also makes it easier to identify \'simple\' version--- predicates for translation into foreign packaging systems that do not--- support complex version range expressions.----newtype VersionIntervals = VersionIntervals [VersionInterval]- deriving (Eq, Show)---- | Inspect the list of version intervals.----versionIntervals :: VersionIntervals -> [VersionInterval]-versionIntervals (VersionIntervals is) = is--type VersionInterval = (LowerBound, UpperBound)-data LowerBound = LowerBound Version !Bound deriving (Eq, Show)-data UpperBound = NoUpperBound | UpperBound Version !Bound deriving (Eq, Show)-data Bound = ExclusiveBound | InclusiveBound deriving (Eq, Show)--minLowerBound :: LowerBound-minLowerBound = LowerBound (mkVersion [0]) InclusiveBound--isVersion0 :: Version -> Bool-isVersion0 = (== mkVersion [0])--instance Ord LowerBound where- LowerBound ver bound <= LowerBound ver' bound' = case compare ver ver' of- LT -> True- EQ -> not (bound == ExclusiveBound && bound' == InclusiveBound)- GT -> False--instance Ord UpperBound where- _ <= NoUpperBound = True- NoUpperBound <= UpperBound _ _ = False- UpperBound ver bound <= UpperBound ver' bound' = case compare ver ver' of- LT -> True- EQ -> not (bound == InclusiveBound && bound' == ExclusiveBound)- GT -> False--invariant :: VersionIntervals -> Bool-invariant (VersionIntervals intervals) = all validInterval intervals- && all doesNotTouch' adjacentIntervals- where- doesNotTouch' :: (VersionInterval, VersionInterval) -> Bool- doesNotTouch' ((_,u), (l',_)) = doesNotTouch u l'-- adjacentIntervals :: [(VersionInterval, VersionInterval)]- adjacentIntervals- | null intervals = []- | otherwise = zip intervals (tail intervals)--checkInvariant :: VersionIntervals -> VersionIntervals-checkInvariant is = assert (invariant is) is---- | Directly construct a 'VersionIntervals' from a list of intervals.------ Each interval must be non-empty. The sequence must be in increasing order--- and no intervals may overlap or touch. If any of these conditions are not--- satisfied the function returns @Nothing@.----mkVersionIntervals :: [VersionInterval] -> Maybe VersionIntervals-mkVersionIntervals intervals- | invariant (VersionIntervals intervals) = Just (VersionIntervals intervals)- | otherwise = Nothing--validInterval :: (LowerBound, UpperBound) -> Bool-validInterval i@(l, u) = validLower l && validUpper u && nonEmpty i- where- validLower (LowerBound v _) = validVersion v- validUpper NoUpperBound = True- validUpper (UpperBound v _) = validVersion v---- Check an interval is non-empty----nonEmpty :: VersionInterval -> Bool-nonEmpty (_, NoUpperBound ) = True-nonEmpty (LowerBound l lb, UpperBound u ub) =- (l < u) || (l == u && lb == InclusiveBound && ub == InclusiveBound)---- Check an upper bound does not intersect, or even touch a lower bound:------ ---| or ---) but not ---] or ---) or ---]--- |--- (--- (--- [--- [-------doesNotTouch :: UpperBound -> LowerBound -> Bool-doesNotTouch NoUpperBound _ = False-doesNotTouch (UpperBound u ub) (LowerBound l lb) =- u < l- || (u == l && ub == ExclusiveBound && lb == ExclusiveBound)---- | Check an upper bound does not intersect a lower bound:------ ---| or ---) or ---] or ---) but not ---]--- |--- (--- (--- [--- [-------doesNotIntersect :: UpperBound -> LowerBound -> Bool-doesNotIntersect NoUpperBound _ = False-doesNotIntersect (UpperBound u ub) (LowerBound l lb) =- u < l- || (u == l && not (ub == InclusiveBound && lb == InclusiveBound))---- | Test if a version falls within the version intervals.------ It exists mostly for completeness and testing. It satisfies the following--- properties:------ > withinIntervals v (toVersionIntervals vr) = withinRange v vr--- > withinIntervals v ivs = withinRange v (fromVersionIntervals ivs)----withinIntervals :: Version -> VersionIntervals -> Bool-withinIntervals v (VersionIntervals intervals) = any withinInterval intervals- where- withinInterval (lowerBound, upperBound) = withinLower lowerBound- && withinUpper upperBound- withinLower (LowerBound v' ExclusiveBound) = v' < v- withinLower (LowerBound v' InclusiveBound) = v' <= v-- withinUpper NoUpperBound = True- withinUpper (UpperBound v' ExclusiveBound) = v' > v- withinUpper (UpperBound v' InclusiveBound) = v' >= v---- | Convert a 'VersionRange' to a sequence of version intervals.----toVersionIntervals :: VersionRange -> VersionIntervals-toVersionIntervals = foldVersionRange- ( chkIvl (minLowerBound, NoUpperBound))- (\v -> chkIvl (LowerBound v InclusiveBound, UpperBound v InclusiveBound))- (\v -> chkIvl (LowerBound v ExclusiveBound, NoUpperBound))- (\v -> if isVersion0 v then VersionIntervals [] else- chkIvl (minLowerBound, UpperBound v ExclusiveBound))- unionVersionIntervals- intersectVersionIntervals- where- chkIvl interval = checkInvariant (VersionIntervals [interval])---- | Convert a 'VersionIntervals' value back into a 'VersionRange' expression--- representing the version intervals.----fromVersionIntervals :: VersionIntervals -> VersionRange-fromVersionIntervals (VersionIntervals []) = noVersion-fromVersionIntervals (VersionIntervals intervals) =- foldr1 UnionVersionRanges [ interval l u | (l, u) <- intervals ]-- where- interval (LowerBound v InclusiveBound)- (UpperBound v' InclusiveBound) | v == v'- = ThisVersion v- interval (LowerBound v InclusiveBound)- (UpperBound v' ExclusiveBound) | isWildcardRange v v'- = WildcardVersion v- interval l u = lowerBound l `intersectVersionRanges'` upperBound u-- lowerBound (LowerBound v InclusiveBound)- | isVersion0 v = AnyVersion- | otherwise = orLaterVersion v- lowerBound (LowerBound v ExclusiveBound) = LaterVersion v-- upperBound NoUpperBound = AnyVersion- upperBound (UpperBound v InclusiveBound) = orEarlierVersion v- upperBound (UpperBound v ExclusiveBound) = EarlierVersion v-- intersectVersionRanges' vr AnyVersion = vr- intersectVersionRanges' AnyVersion vr = vr- intersectVersionRanges' vr vr' = IntersectVersionRanges vr vr'--unionVersionIntervals :: VersionIntervals -> VersionIntervals- -> VersionIntervals-unionVersionIntervals (VersionIntervals is0) (VersionIntervals is'0) =- checkInvariant (VersionIntervals (union is0 is'0))- where- union is [] = is- union [] is' = is'- union (i:is) (i':is') = case unionInterval i i' of- Left Nothing -> i : union is (i' :is')- Left (Just i'') -> union is (i'':is')- Right Nothing -> i' : union (i :is) is'- Right (Just i'') -> union (i'':is) is'--unionInterval :: VersionInterval -> VersionInterval- -> Either (Maybe VersionInterval) (Maybe VersionInterval)-unionInterval (lower , upper ) (lower', upper')-- -- Non-intersecting intervals with the left interval ending first- | upper `doesNotTouch` lower' = Left Nothing-- -- Non-intersecting intervals with the right interval first- | upper' `doesNotTouch` lower = Right Nothing-- -- Complete or partial overlap, with the left interval ending first- | upper <= upper' = lowerBound `seq`- Left (Just (lowerBound, upper'))-- -- Complete or partial overlap, with the left interval ending first- | otherwise = lowerBound `seq`- Right (Just (lowerBound, upper))- where- lowerBound = min lower lower'--intersectVersionIntervals :: VersionIntervals -> VersionIntervals- -> VersionIntervals-intersectVersionIntervals (VersionIntervals is0) (VersionIntervals is'0) =- checkInvariant (VersionIntervals (intersect is0 is'0))- where- intersect _ [] = []- intersect [] _ = []- intersect (i:is) (i':is') = case intersectInterval i i' of- Left Nothing -> intersect is (i':is')- Left (Just i'') -> i'' : intersect is (i':is')- Right Nothing -> intersect (i:is) is'- Right (Just i'') -> i'' : intersect (i:is) is'--intersectInterval :: VersionInterval -> VersionInterval- -> Either (Maybe VersionInterval) (Maybe VersionInterval)-intersectInterval (lower , upper ) (lower', upper')-- -- Non-intersecting intervals with the left interval ending first- | upper `doesNotIntersect` lower' = Left Nothing-- -- Non-intersecting intervals with the right interval first- | upper' `doesNotIntersect` lower = Right Nothing-- -- Complete or partial overlap, with the left interval ending first- | upper <= upper' = lowerBound `seq`- Left (Just (lowerBound, upper))-- -- Complete or partial overlap, with the right interval ending first- | otherwise = lowerBound `seq`- Right (Just (lowerBound, upper'))- where- lowerBound = max lower lower'--invertVersionIntervals :: VersionIntervals- -> VersionIntervals-invertVersionIntervals (VersionIntervals xs) =- case xs of- -- Empty interval set- [] -> VersionIntervals [(noLowerBound, NoUpperBound)]- -- Interval with no lower bound- ((lb, ub) : more) | lb == noLowerBound ->- VersionIntervals $ invertVersionIntervals' ub more- -- Interval with a lower bound- ((lb, ub) : more) ->- VersionIntervals $ (noLowerBound, invertLowerBound lb)- : invertVersionIntervals' ub more- where- -- Invert subsequent version intervals given the upper bound of- -- the intervals already inverted.- invertVersionIntervals' :: UpperBound- -> [(LowerBound, UpperBound)]- -> [(LowerBound, UpperBound)]- invertVersionIntervals' NoUpperBound [] = []- invertVersionIntervals' ub0 [] = [(invertUpperBound ub0, NoUpperBound)]- invertVersionIntervals' ub0 [(lb, NoUpperBound)] =- [(invertUpperBound ub0, invertLowerBound lb)]- invertVersionIntervals' ub0 ((lb, ub1) : more) =- (invertUpperBound ub0, invertLowerBound lb)- : invertVersionIntervals' ub1 more-- invertLowerBound :: LowerBound -> UpperBound- invertLowerBound (LowerBound v b) = UpperBound v (invertBound b)-- invertUpperBound :: UpperBound -> LowerBound- invertUpperBound (UpperBound v b) = LowerBound v (invertBound b)- invertUpperBound NoUpperBound = error "NoUpperBound: unexpected"-- invertBound :: Bound -> Bound- invertBound ExclusiveBound = InclusiveBound- invertBound InclusiveBound = ExclusiveBound-- noLowerBound :: LowerBound- noLowerBound = LowerBound (mkVersion [0]) InclusiveBound------------------------------------ Parsing and pretty printing-----instance Text VersionRange where- disp = fst- . foldVersionRange' -- precedence:- ( Disp.text "-any" , 0 :: Int)- (\v -> (Disp.text "==" <<>> disp v , 0))- (\v -> (Disp.char '>' <<>> disp v , 0))- (\v -> (Disp.char '<' <<>> disp v , 0))- (\v -> (Disp.text ">=" <<>> disp v , 0))- (\v -> (Disp.text "<=" <<>> disp v , 0))- (\v _ -> (Disp.text "==" <<>> dispWild v , 0))- (\v _ -> (Disp.text "^>=" <<>> disp v , 0))- (\(r1, p1) (r2, p2) ->- (punct 2 p1 r1 <+> Disp.text "||" <+> punct 2 p2 r2 , 2))- (\(r1, p1) (r2, p2) ->- (punct 1 p1 r1 <+> Disp.text "&&" <+> punct 1 p2 r2 , 1))- (\(r, _) -> (Disp.parens r, 0))-- where dispWild ver =- Disp.hcat (Disp.punctuate (Disp.char '.')- (map Disp.int $ versionNumbers ver))- <<>> Disp.text ".*"- punct p p' | p < p' = Disp.parens- | otherwise = id-- parse = expr- where- expr = do Parse.skipSpaces- t <- term- Parse.skipSpaces- (do _ <- Parse.string "||"- Parse.skipSpaces- e <- expr- return (UnionVersionRanges t e)- +++- return t)- term = do f <- factor- Parse.skipSpaces- (do _ <- Parse.string "&&"- Parse.skipSpaces- t <- term- return (IntersectVersionRanges f t)- +++- return f)- factor = Parse.choice $ parens expr- : parseAnyVersion- : parseNoVersion- : parseWildcardRange- : map parseRangeOp rangeOps- parseAnyVersion = Parse.string "-any" >> return AnyVersion- parseNoVersion = Parse.string "-none" >> return noVersion-- parseWildcardRange = do- _ <- Parse.string "=="- Parse.skipSpaces- branch <- Parse.sepBy1 digits (Parse.char '.')- _ <- Parse.char '.'- _ <- Parse.char '*'- return (WildcardVersion (mkVersion branch))-- parens p = Parse.between (Parse.char '(' >> Parse.skipSpaces)- (Parse.char ')' >> Parse.skipSpaces)- (do a <- p- Parse.skipSpaces- return (VersionRangeParens a))-- digits = do- firstDigit <- Parse.satisfy isDigit- if firstDigit == '0'- then return 0- else do rest <- Parse.munch isDigit- return (read (firstDigit : rest)) -- TODO: eradicateNoParse-- parseRangeOp (s,f) = Parse.string s >> Parse.skipSpaces >> fmap f parse- rangeOps = [ ("<", EarlierVersion),- ("<=", orEarlierVersion),- (">", LaterVersion),- (">=", orLaterVersion),- ("^>=", MajorBoundVersion),- ("==", ThisVersion) ]---- | Does the version range have an upper bound?------ @since 1.24.0.0-hasUpperBound :: VersionRange -> Bool-hasUpperBound = foldVersionRange- False- (const True)- (const False)- (const True)- (&&) (||)---- | Does the version range have an explicit lower bound?------ Note: this function only considers the user-specified lower bounds, but not--- the implicit >=0 lower bound.------ @since 1.24.0.0-hasLowerBound :: VersionRange -> Bool-hasLowerBound = foldVersionRange- False- (const True)- (const True)- (const False)- (&&) (||)+-----------------------------------------------------------------------------+-- |+-- Module : Distribution.Version+-- Copyright : Isaac Jones, Simon Marlow 2003-2004+-- Duncan Coutts 2008+-- License : BSD3+--+-- Maintainer : cabal-devel@haskell.org+-- Portability : portable+--+-- Exports the 'Version' type along with a parser and pretty printer. A version+-- is something like @\"1.3.3\"@. It also defines the 'VersionRange' data+-- types. Version ranges are like @\">= 1.2 && < 2\"@.++module Distribution.Version (+ -- * Package versions+ Version,+ version0,+ mkVersion,+ mkVersion',+ versionNumbers,+ nullVersion,+ alterVersion,++ -- ** Backwards compatibility+ showVersion,++ -- * Version ranges+ VersionRange(..),++ -- ** Constructing+ anyVersion, noVersion,+ thisVersion, notThisVersion,+ laterVersion, earlierVersion,+ orLaterVersion, orEarlierVersion,+ unionVersionRanges, intersectVersionRanges,+ differenceVersionRanges,+ invertVersionRange,+ withinVersion,+ majorBoundVersion,+ betweenVersionsInclusive,++ -- ** Inspection+ withinRange,+ isAnyVersion,+ isNoVersion,+ isSpecificVersion,+ simplifyVersionRange,+ foldVersionRange,+ foldVersionRange',+ normaliseVersionRange,+ stripParensVersionRange,+ hasUpperBound,+ hasLowerBound,++ -- ** Cata & ana+ VersionRangeF (..),+ cataVersionRange,+ anaVersionRange,+ hyloVersionRange,+ projectVersionRange,+ embedVersionRange,++ -- ** Utilities+ wildcardUpperBound,+ majorUpperBound,++ -- ** Modification+ removeUpperBound,+ removeLowerBound,++ -- * Version intervals view+ asVersionIntervals,+ VersionInterval,+ LowerBound(..),+ UpperBound(..),+ Bound(..),++ -- ** 'VersionIntervals' abstract type+ -- | The 'VersionIntervals' type and the accompanying functions are exposed+ -- primarily for completeness and testing purposes. In practice+ -- 'asVersionIntervals' is the main function to use to+ -- view a 'VersionRange' as a bunch of 'VersionInterval's.+ --+ VersionIntervals,+ toVersionIntervals,+ fromVersionIntervals,+ withinIntervals,+ versionIntervals,+ mkVersionIntervals,+ unionVersionIntervals,+ intersectVersionIntervals,+ invertVersionIntervals++ ) where++import Distribution.Types.Version+import Distribution.Types.VersionRange+import Distribution.Types.VersionInterval++-------------------------------------------------------------------------------+-- Utilities on VersionRange requiring VersionInterval+-------------------------------------------------------------------------------++-- | Does this 'VersionRange' place any restriction on the 'Version' or is it+-- in fact equivalent to 'AnyVersion'.+--+-- Note this is a semantic check, not simply a syntactic check. So for example+-- the following is @True@ (for all @v@).+--+-- > isAnyVersion (EarlierVersion v `UnionVersionRanges` orLaterVersion v)+--+isAnyVersion :: VersionRange -> Bool+isAnyVersion vr = case asVersionIntervals vr of+ [(LowerBound v InclusiveBound, NoUpperBound)] | isVersion0 v -> True+ _ -> False+ where+ isVersion0 :: Version -> Bool+ isVersion0 = (== mkVersion [0])+ ++-- | This is the converse of 'isAnyVersion'. It check if the version range is+-- empty, if there is no possible version that satisfies the version range.+--+-- For example this is @True@ (for all @v@):+--+-- > isNoVersion (EarlierVersion v `IntersectVersionRanges` LaterVersion v)+--+isNoVersion :: VersionRange -> Bool+isNoVersion vr = case asVersionIntervals vr of+ [] -> True+ _ -> False++-- | Is this version range in fact just a specific version?+--+-- For example the version range @\">= 3 && <= 3\"@ contains only the version+-- @3@.+--+isSpecificVersion :: VersionRange -> Maybe Version+isSpecificVersion vr = case asVersionIntervals vr of+ [(LowerBound v InclusiveBound+ ,UpperBound v' InclusiveBound)]+ | v == v' -> Just v+ _ -> Nothing++-- | Simplify a 'VersionRange' expression. For non-empty version ranges+-- this produces a canonical form. Empty or inconsistent version ranges+-- are left as-is because that provides more information.+--+-- If you need a canonical form use+-- @fromVersionIntervals . toVersionIntervals@+--+-- It satisfies the following properties:+--+-- > withinRange v (simplifyVersionRange r) = withinRange v r+--+-- > withinRange v r = withinRange v r'+-- > ==> simplifyVersionRange r = simplifyVersionRange r'+-- > || isNoVersion r+-- > || isNoVersion r'+--+simplifyVersionRange :: VersionRange -> VersionRange+simplifyVersionRange vr+ -- If the version range is inconsistent then we just return the+ -- original since that has more information than ">1 && < 1", which+ -- is the canonical inconsistent version range.+ | null (versionIntervals vi) = vr+ | otherwise = fromVersionIntervals vi+ where+ vi = toVersionIntervals vr++-- | The difference of two version ranges+--+-- > withinRange v' (differenceVersionRanges vr1 vr2)+-- > = withinRange v' vr1 && not (withinRange v' vr2)+--+-- @since 1.24.1.0+differenceVersionRanges :: VersionRange -> VersionRange -> VersionRange+differenceVersionRanges vr1 vr2 =+ intersectVersionRanges vr1 (invertVersionRange vr2)++-- | The inverse of a version range+--+-- > withinRange v' (invertVersionRange vr)+-- > = not (withinRange v' vr)+--+invertVersionRange :: VersionRange -> VersionRange+invertVersionRange =+ fromVersionIntervals . invertVersionIntervals . toVersionIntervals++-- | Given a version range, remove the highest upper bound. Example: @(>= 1 && <+-- 3) || (>= 4 && < 5)@ is converted to @(>= 1 && < 3) || (>= 4)@.+removeUpperBound :: VersionRange -> VersionRange+removeUpperBound = fromVersionIntervals . relaxLastInterval . toVersionIntervals++-- | Given a version range, remove the lowest lower bound.+-- Example: @(>= 1 && < 3) || (>= 4 && < 5)@ is converted to+-- @(>= 0 && < 3) || (>= 4 && < 5)@.+removeLowerBound :: VersionRange -> VersionRange+removeLowerBound = fromVersionIntervals . relaxHeadInterval . toVersionIntervals++-------------------------------------------------------------------------------+-- Deprecated+-------------------------------------------------------------------------------++-- In practice this is not very useful because we normally use inclusive lower+-- bounds and exclusive upper bounds.+--+-- > withinRange v' (laterVersion v) = v' > v+--+betweenVersionsInclusive :: Version -> Version -> VersionRange+betweenVersionsInclusive v1 v2 =+ intersectVersionRanges (orLaterVersion v1) (orEarlierVersion v2)++{-# DEPRECATED betweenVersionsInclusive+ "In practice this is not very useful because we normally use inclusive lower bounds and exclusive upper bounds" #-}+++++-- | An extended variant of 'foldVersionRange' that also provides a view of the+-- expression in which the syntactic sugar @\">= v\"@, @\"<= v\"@ and @\"==+-- v.*\"@ is presented explicitly rather than in terms of the other basic+-- syntax.+--+foldVersionRange' :: a -- ^ @\"-any\"@ version+ -> (Version -> a) -- ^ @\"== v\"@+ -> (Version -> a) -- ^ @\"> v\"@+ -> (Version -> a) -- ^ @\"< v\"@+ -> (Version -> a) -- ^ @\">= v\"@+ -> (Version -> a) -- ^ @\"<= v\"@+ -> (Version -> Version -> a) -- ^ @\"== v.*\"@ wildcard. The+ -- function is passed the+ -- inclusive lower bound and the+ -- exclusive upper bounds of the+ -- range defined by the wildcard.+ -> (Version -> Version -> a) -- ^ @\"^>= v\"@ major upper bound+ -- The function is passed the+ -- inclusive lower bound and the+ -- exclusive major upper bounds+ -- of the range defined by this+ -- operator.+ -> (a -> a -> a) -- ^ @\"_ || _\"@ union+ -> (a -> a -> a) -- ^ @\"_ && _\"@ intersection+ -> (a -> a) -- ^ @\"(_)\"@ parentheses+ -> VersionRange -> a+foldVersionRange' anyv this later earlier orLater orEarlier+ wildcard major union intersect parens =+ cataVersionRange alg . normaliseVersionRange+ where+ alg AnyVersionF = anyv+ alg (ThisVersionF v) = this v+ alg (LaterVersionF v) = later v+ alg (EarlierVersionF v) = earlier v+ alg (OrLaterVersionF v) = orLater v+ alg (OrEarlierVersionF v) = orEarlier v+ alg (WildcardVersionF v) = wildcard v (wildcardUpperBound v)+ alg (MajorBoundVersionF v) = major v (majorUpperBound v)+ alg (UnionVersionRangesF v1 v2) = union v1 v2+ alg (IntersectVersionRangesF v1 v2) = intersect v1 v2+ alg (VersionRangeParensF v) = parens v+{-# DEPRECATED foldVersionRange' "Use cataVersionRange & normaliseVersionRange for more principled folding" #-}
@@ -27,11 +27,15 @@ import Prelude () import Distribution.Compat.Prelude +import Data.Array (Array, accumArray, bounds, Ix(inRange), (!))++import Distribution.Parsec.Class+import Distribution.Pretty import Distribution.Text-import qualified Distribution.Compat.ReadP as Parse +import qualified Distribution.Compat.CharParsing as P+import qualified Distribution.Compat.ReadP as Parse import qualified Text.PrettyPrint as Disp-import Data.Array (Array, accumArray, bounds, Ix(inRange), (!)) -- ------------------------------------------------------------ -- * Language@@ -58,13 +62,19 @@ instance Binary Language +instance NFData Language where rnf = genericRnf+ knownLanguages :: [Language] knownLanguages = [Haskell98, Haskell2010] -instance Text Language where- disp (UnknownLanguage other) = Disp.text other- disp other = Disp.text (show other)+instance Pretty Language where+ pretty (UnknownLanguage other) = Disp.text other+ pretty other = Disp.text (show other) +instance Parsec Language where+ parsec = classifyLanguage <$> P.munch1 isAlphaNum++instance Text Language where parse = do lang <- Parse.munch1 isAlphaNum return (classifyLanguage lang)@@ -108,12 +118,14 @@ instance Binary Extension +instance NFData Extension where rnf = genericRnf+ data KnownExtension = -- | Allow overlapping class instances, provided there is a unique -- most specific instance for each use. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#instance-overlap>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XOverlappingInstances> OverlappingInstances -- | Ignore structural rules guaranteeing the termination of class@@ -121,7 +133,7 @@ -- recursion stack, and compilation may fail if this depth is -- exceeded. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#undecidable-instances>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XUndecidableInstances> | UndecidableInstances -- | Implies 'OverlappingInstances'. Allow the implementation to@@ -129,34 +141,36 @@ -- instantiation of types will lead to a more specific instance -- being applicable. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#instance-overlap>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XIncoherentInstances> | IncoherentInstances - -- | /(deprecated)/ Allow recursive bindings in @do@ blocks, using the @rec@- -- keyword. See also 'RecursiveDo'.+ -- | /(deprecated)/ Deprecated in favour of 'RecursiveDo'.+ --+ -- Old description: Allow recursive bindings in @do@ blocks, using+ -- the @rec@ keyword. See also 'RecursiveDo'. | DoRec - -- | Allow recursive bindings using @mdo@, a variant of @do@.- -- @DoRec@ provides a different, preferred syntax.+ -- | Allow recursive bindings in @do@ blocks, using the @rec@+ -- keyword, or @mdo@, a variant of @do@. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#recursive-do-notation>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRecursiveDo> | RecursiveDo -- | Provide syntax for writing list comprehensions which iterate -- over several lists together, like the 'zipWith' family of -- functions. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#parallel-list-comprehensions>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XParallelListComp> | ParallelListComp -- | Allow multiple parameters in a type class. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#multi-param-type-classes>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XMultiParamTypeClasses> | MultiParamTypeClasses -- | Enable the dreaded monomorphism restriction. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/monomorphism.html>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNoMonomorphismRestriction> | MonomorphismRestriction -- | Allow a specification attached to a multi-parameter type class@@ -165,37 +179,43 @@ -- for the declared instances, and will use this property to reduce -- ambiguity in instance resolution. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#functional-dependencies>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XFunctionalDependencies> | FunctionalDependencies - -- | Like 'RankNTypes' but does not allow a higher-rank type to- -- itself appear on the left of a function arrow.+ -- | /(deprecated)/ A synonym for 'RankNTypes'. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#universal-quantification>+ -- Old description: Like 'RankNTypes' but does not allow a+ -- higher-rank type to itself appear on the left of a function+ -- arrow.+ --+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRank2Types> | Rank2Types -- | Allow a universally-quantified type to occur on the left of a -- function arrow. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#universal-quantification>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRankNTypes> | RankNTypes - -- | Allow data constructors to have polymorphic arguments. Unlike- -- 'RankNTypes', does not allow this for ordinary functions.+ -- | /(deprecated)/ A synonym for 'RankNTypes'. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#universal-quantification>+ -- Old description: Allow data constructors to have polymorphic+ -- arguments. Unlike 'RankNTypes', does not allow this for ordinary+ -- functions.+ --+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#arbitrary-rank-polymorphism> | PolymorphicComponents -- | Allow existentially-quantified data constructors. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/data-type-extensions.html#existential-quantification>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XExistentialQuantification> | ExistentialQuantification -- | Cause a type variable in a signature, which has an explicit -- @forall@ quantifier, to scope over the definition of the -- accompanying value declaration. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#scoped-type-variables>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XScopedTypeVariables> | ScopedTypeVariables -- | Deprecated, use 'ScopedTypeVariables' instead.@@ -203,70 +223,70 @@ -- | Enable implicit function parameters with dynamic scope. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#implicit-parameters>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XImplicitParams> | ImplicitParams -- | Relax some restrictions on the form of the context of a type -- signature. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#flexible-contexts>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XFlexibleContexts> | FlexibleContexts -- | Relax some restrictions on the form of the context of an -- instance declaration. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#instance-rules>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XFlexibleInstances> | FlexibleInstances -- | Allow data type declarations with no constructors. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/data-type-extensions.html#nullary-types>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XEmptyDataDecls> | EmptyDataDecls -- | Run the C preprocessor on Haskell source code. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/options-phases.html#c-pre-processor>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#language-pragma> | CPP -- | Allow an explicit kind signature giving the kind of types over -- which a type variable ranges. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#kinding>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XKindSignatures> | KindSignatures -- | Enable a form of pattern which forces evaluation before an -- attempted match, and a form of strict @let@/@where@ binding. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/bang-patterns.html>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XBangPatterns> | BangPatterns -- | Allow type synonyms in instance heads. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#flexible-instance-head>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTypeSynonymInstances> | TypeSynonymInstances -- | Enable Template Haskell, a system for compile-time -- metaprogramming. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/template-haskell.html>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTemplateHaskell> | TemplateHaskell -- | Enable the Foreign Function Interface. In GHC, implements the -- standard Haskell 98 Foreign Function Interface Addendum, plus -- some GHC-specific extensions. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/ffi.html>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#language-pragma> | ForeignFunctionInterface -- | Enable arrow notation. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/arrow-notation.html>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XArrows> | Arrows -- | /(deprecated)/ Enable generic type classes, with default instances defined in -- terms of the algebraic structure of a type. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/generic-classes.html>+ -- * <https://haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#generic-classes> | Generics -- | Enable the implicit importing of the module "Prelude". When@@ -274,101 +294,102 @@ -- identifiers, use whatever is in scope rather than the "Prelude" -- -- version. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#rebindable-syntax>+ -- * <https://haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#rebindable-syntax-and-the-implicit-prelude-import> | ImplicitPrelude -- | Enable syntax for implicitly binding local names corresponding -- to the field names of a record. Puns bind specific names, unlike -- 'RecordWildCards'. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#record-puns>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNamedFieldPuns> | NamedFieldPuns -- | Enable a form of guard which matches a pattern and binds -- variables. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#pattern-guards>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPatternGuards> | PatternGuards -- | Allow a type declared with @newtype@ to use @deriving@ for any -- class with an instance for the underlying type. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#newtype-deriving>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XGeneralizedNewtypeDeriving> | GeneralizedNewtypeDeriving -- | Enable the \"Trex\" extensible records system. --- -- * <http://cvs.haskell.org/Hugs/pages/users_guide/hugs-only.html#TREX>+ -- * <http://haskell.org/hugs/pages/users_guide/hugs-only.html#TREX> | ExtensibleRecords -- | Enable type synonyms which are transparent in some definitions -- and opaque elsewhere, as a way of implementing abstract -- datatypes. --- -- * <http://cvs.haskell.org/Hugs/pages/users_guide/restricted-synonyms.html>+ -- * <http://haskell.org/hugs/pages/users_guide/restricted-synonyms.html> | RestrictedTypeSynonyms -- | Enable an alternate syntax for string literals, -- with string templating. --- -- * <http://cvs.haskell.org/Hugs/pages/users_guide/here-documents.html>+ -- * <http://haskell.org/hugs/pages/users_guide/here-documents.html> | HereDocuments -- | Allow the character @#@ as a postfix modifier on identifiers. -- Also enables literal syntax for unboxed values. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#magic-hash>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XMagicHash> | MagicHash -- | Allow data types and type synonyms which are indexed by types, -- i.e. ad-hoc polymorphism for types. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/type-families.html>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTypeFamilies> | TypeFamilies -- | Allow a standalone declaration which invokes the type class -- @deriving@ mechanism. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#stand-alone-deriving>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XStandaloneDeriving> | StandaloneDeriving -- | Allow certain Unicode characters to stand for certain ASCII -- character sequences, e.g. keywords and punctuation. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#unicode-syntax>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XUnicodeSyntax> | UnicodeSyntax -- | Allow the use of unboxed types as foreign types, e.g. in -- @foreign import@ and @foreign export@. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/ffi.html#id681687>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#language-options> | UnliftedFFITypes -- | Enable interruptible FFI. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/ffi.html#ffi-interruptible>+ -- * <https://haskell.org/ghc/docs/latest/html/users_guide/ffi-chap.html#interruptible-foreign-calls> | InterruptibleFFI -- | Allow use of CAPI FFI calling convention (@foreign import capi@). --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/ffi.html#ffi-capi>+ -- * <https://haskell.org/ghc/docs/latest/html/users_guide/ffi-chap.html#the-capi-calling-convention> | CApiFFI -- | Defer validity checking of types until after expanding type -- synonyms, relaxing the constraints on how synonyms may be used. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/data-type-extensions.html#type-synonyms>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XLiberalTypeSynonyms> | LiberalTypeSynonyms -- | Allow the name of a type constructor, type class, or type -- variable to be an infix operator.+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTypeOperators> | TypeOperators -- | Enable syntax for implicitly binding local names corresponding -- to the field names of a record. A wildcard binds all unmentioned -- names, unlike 'NamedFieldPuns'. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#record-wildcards>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRecordWildCards> | RecordWildCards -- | Deprecated, use 'NamedFieldPuns' instead.@@ -377,41 +398,43 @@ -- | Allow a record field name to be disambiguated by the type of -- the record it's in. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#disambiguate-fields>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDisambiguateRecordFields> | DisambiguateRecordFields -- | Enable traditional record syntax (as supported by Haskell 98) --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#traditional-record-syntax>+ -- * <https://haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#traditional-record-syntax> | TraditionalRecordSyntax -- | Enable overloading of string literals using a type class, much -- like integer literals. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#overloaded-strings>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XOverloadedStrings> | OverloadedStrings -- | Enable generalized algebraic data types, in which type -- variables may be instantiated on a per-constructor basis. Implies -- 'GADTSyntax'. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/data-type-extensions.html#gadt>+ -- * <https://haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#generalised-algebraic-data-types-gadts> | GADTs -- | Enable GADT syntax for declaring ordinary algebraic datatypes. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/data-type-extensions.html#gadt-style>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XGADTSyntax> | GADTSyntax - -- | Make pattern bindings monomorphic.+ -- | /(deprecated)/ Has no effect. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/monomorphism.html#id630981>+ -- Old description: Make pattern bindings monomorphic.+ --+ -- * <https://downloads.haskell.org/~ghc/7.6.3/docs/html/users_guide/monomorphism.html> | MonoPatBinds -- | Relax the requirements on mutually-recursive polymorphic -- functions. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#typing-binds>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRelaxedPolyRec> | RelaxedPolyRec -- | Allow default instantiation of polymorphic types in more@@ -422,34 +445,34 @@ -- | Enable unboxed tuples. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/primitives.html#unboxed-tuples>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XUnboxedTuples> | UnboxedTuples -- | Enable @deriving@ for classes 'Data.Typeable.Typeable' and -- 'Data.Generics.Data'. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#deriving-typeable>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveDataTypeable> | DeriveDataTypeable -- | Enable @deriving@ for 'GHC.Generics.Generic' and 'GHC.Generics.Generic1'. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#deriving-typeable>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveGeneric> | DeriveGeneric -- | Enable support for default signatures. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#class-default-signatures>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDefaultSignatures> | DefaultSignatures -- | Allow type signatures to be specified in instance declarations. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#instance-sigs>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XInstanceSigs> | InstanceSigs -- | Allow a class method's type to place additional constraints on -- a class type variable. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#class-method-types>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XConstrainedClassMethods> | ConstrainedClassMethods -- | Allow imports to be qualified by the package name the module is@@ -457,13 +480,13 @@ -- -- > import "network" Network.Socket --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#package-imports>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPackageImports> | PackageImports -- | /(deprecated)/ Allow a type variable to be instantiated at a -- polymorphic type. --- -- * <http://www.haskell.org/ghc/docs/6.12.3/html/users_guide/other-type-extensions.html#impredicative-polymorphism>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XImpredicativeTypes> | ImpredicativeTypes -- | /(deprecated)/ Change the syntax for qualified infix operators.@@ -474,31 +497,31 @@ -- | Relax the interpretation of left operator sections to allow -- unary postfix operators. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#postfix-operators>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPostfixOperators> | PostfixOperators -- | Enable quasi-quotation, a mechanism for defining new concrete -- syntax for expressions and patterns. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/template-haskell.html#th-quasiquotation>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XQuasiQuotes> | QuasiQuotes -- | Enable generalized list comprehensions, supporting operations -- such as sorting and grouping. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#generalised-list-comprehensions>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTransformListComp> | TransformListComp -- | Enable monad comprehensions, which generalise the list -- comprehension syntax to work for any monad. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#monad-comprehensions>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XMonadComprehensions> | MonadComprehensions -- | Enable view patterns, which match a value by applying a -- function and matching on the result. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#view-patterns>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XViewPatterns> | ViewPatterns -- | Allow concrete XML syntax to be used in expressions and patterns,@@ -516,7 +539,7 @@ -- | Enable the use of tuple sections, e.g. @(, True)@ desugars into -- @\x -> (x, True)@. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#tuple-sections>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTupleSections> | TupleSections -- | Allow GHC primops, written in C--, to be imported into a Haskell@@ -526,7 +549,7 @@ -- | Support for patterns of the form @n + k@, where @k@ is an -- integer literal. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#n-k-patterns>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNPlusKPatterns> | NPlusKPatterns -- | Improve the layout rule when @if@ expressions are used in a @do@@@ -535,55 +558,55 @@ -- | Enable support for multi-way @if@-expressions. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#multi-way-if>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XMultiWayIf> | MultiWayIf -- | Enable support lambda-@case@ expressions. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#lambda-case>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XLambdaCase> | LambdaCase -- | Makes much of the Haskell sugar be desugared into calls to the -- function with a particular name that is in scope. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#rebindable-syntax>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRebindableSyntax> | RebindableSyntax -- | Make @forall@ a keyword in types, which can be used to give the -- generalisation explicitly. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#explicit-foralls>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XExplicitForAll> | ExplicitForAll -- | Allow contexts to be put on datatypes, e.g. the @Eq a@ in -- @data Eq a => Set a = NilSet | ConsSet a (Set a)@. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/data-type-extensions.html#datatype-contexts>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDatatypeContexts> | DatatypeContexts -- | Local (@let@ and @where@) bindings are monomorphic. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#mono-local-binds>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XMonoLocalBinds> | MonoLocalBinds -- | Enable @deriving@ for the 'Data.Functor.Functor' class. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#deriving-typeable>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveFunctor> | DeriveFunctor -- | Enable @deriving@ for the 'Data.Traversable.Traversable' class. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#deriving-typeable>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveTraversable> | DeriveTraversable -- | Enable @deriving@ for the 'Data.Foldable.Foldable' class. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#deriving-typeable>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveFoldable> | DeriveFoldable -- | Enable non-decreasing indentation for @do@ blocks. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/bugs-and-infelicities.html#infelicities-syntax>+ -- * <https://haskell.org/ghc/docs/latest/html/users_guide/bugs.html#context-free-syntax> | NondecreasingIndentation -- | Allow imports to be qualified with a safe keyword that requires@@ -592,26 +615,26 @@ -- -- > import safe Network.Socket --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/safe-haskell.html#safe-imports>+ -- * <https://haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#safe-imports> | SafeImports -- | Compile a module in the Safe, Safe Haskell mode -- a restricted -- form of the Haskell language to ensure type safety. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/safe-haskell.html#safe-trust>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/safe_haskell.html#ghc-flag--XSafe> | Safe -- | Compile a module in the Trustworthy, Safe Haskell mode -- no -- restrictions apply but the module is marked as trusted as long as -- the package the module resides in is trusted. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/safe-haskell.html#safe-trust>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/safe_haskell.html#ghc-flag--XTrustworthy> | Trustworthy -- | Compile a module in the Unsafe, Safe Haskell mode so that -- modules compiled using Safe, Safe Haskell mode can't import it. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/safe-haskell.html#safe-trust>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/safe_haskell.html#ghc-flag--XUnsafe> | Unsafe -- | Allow type class/implicit parameter/equality constraints to be@@ -619,17 +642,17 @@ -- the @(ctxt => ty)@ syntax so that any type of kind constraint can -- occur before the arrow. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/constraint-kind.html>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XConstraintKinds> | ConstraintKinds -- | Enable kind polymorphism. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/kind-polymorphism.html>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPolyKinds> | PolyKinds -- | Enable datatype promotion. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/promotion.html>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDataKinds> | DataKinds -- | Enable parallel arrays syntax (@[:@, @:]@) for /Data Parallel Haskell/.@@ -639,54 +662,56 @@ -- | Enable explicit role annotations, like in (@type role Foo representational representational@). --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/roles.html>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRoleAnnotations> | RoleAnnotations -- | Enable overloading of list literals, arithmetic sequences and -- list patterns using the 'IsList' type class. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#overloaded-lists>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XOverloadedLists> | OverloadedLists -- | Enable case expressions that have no alternatives. Also applies to lambda-case expressions if they are enabled. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#empty-case>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XEmptyCase> | EmptyCase - -- | Triggers the generation of derived 'Typeable' instances for every- -- datatype and type class declaration.+ -- | /(deprecated)/ Deprecated in favour of 'DeriveDataTypeable'. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#auto-derive-typeable>+ -- Old description: Triggers the generation of derived 'Typeable'+ -- instances for every datatype and type class declaration.+ --+ -- * <https://haskell.org/ghc/docs/7.8.4/html/users_guide/deriving.html#auto-derive-typeable> | AutoDeriveTypeable -- | Desugars negative literals directly (without using negate). --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#negative-literals>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNegativeLiterals> | NegativeLiterals -- | Allow the use of binary integer literal syntax (e.g. @0b11001001@ to denote @201@). --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#binary-literals>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XBinaryLiterals> | BinaryLiterals -- | Allow the use of floating literal syntax for all instances of 'Num', including 'Int' and 'Integer'. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#num-decimals>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNumDecimals> | NumDecimals -- | Enable support for type classes with no type parameter. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#nullary-type-classes>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNullaryTypeClasses> | NullaryTypeClasses -- | Enable explicit namespaces in module import/export lists. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#explicit-namespaces>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XExplicitNamespaces> | ExplicitNamespaces -- | Allow the user to write ambiguous types, and the type inference engine to infer them. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#ambiguity>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XAllowAmbiguousTypes> | AllowAmbiguousTypes -- | Enable @foreign import javascript@.@@ -694,47 +719,51 @@ -- | Allow giving names to and abstracting over patterns. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#pattern-synonyms>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPatternSynonyms> | PatternSynonyms -- | Allow anonymous placeholders (underscore) inside type signatures. The -- type inference engine will generate a message describing the type inferred -- at the hole's location. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#partial-type-signatures>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPartialTypeSignatures> | PartialTypeSignatures -- | Allow named placeholders written with a leading underscore inside type -- signatures. Wildcards with the same name unify to the same type. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#named-wildcards>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNamedWildCards> | NamedWildCards -- | Enable @deriving@ for any class. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#derive-any-class>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveAnyClass> | DeriveAnyClass -- | Enable @deriving@ for the 'Language.Haskell.TH.Syntax.Lift' class. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#deriving-lift>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveLift> | DeriveLift -- | Enable support for 'static pointers' (and the @static@ -- keyword) to refer to globally stable names, even across -- different programs. --- -- * <http://www.haskell.org/ghc/docs/latest/html/users_guide/static-pointers.html>+ -- * <https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XStaticPointers> | StaticPointers -- | Switches data type declarations to be strict by default (as if -- they had a bang using @BangPatterns@), and allow opt-in field -- laziness using @~@.+ --+ -- * <https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#ghc-flag--XStrictData> | StrictData -- | Switches all pattern bindings to be strict by default (as if -- they had a bang using @BangPatterns@), ordinary patterns are -- recovered using @~@. Implies @StrictData@.+ --+ -- * <https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#ghc-flag--XStrict> | Strict -- | Allows @do@-notation for types that are @'Applicative'@ as well@@ -760,7 +789,7 @@ -- code will compile with the new planned desugaring of fail. | MonadFailDesugaring - -- | A subset of @TemplateHaskell@ including only quasi-quoting.+ -- | A subset of @TemplateHaskell@ including only quoting. | TemplateHaskellQuotes -- | Allows use of the @#label@ syntax.@@ -770,12 +799,24 @@ -- as injective. | TypeFamilyDependencies + -- | Allow multiple @deriving@ clauses, each optionally qualified with a+ -- /strategy/.+ | DerivingStrategies++ -- | Enable the use of unboxed sum syntax.+ | UnboxedSums++ -- | Allow use of hexadecimal literal notation for floating-point values.+ | HexFloatLiterals+ deriving (Generic, Show, Read, Eq, Ord, Enum, Bounded, Typeable, Data) instance Binary KnownExtension +instance NFData KnownExtension where rnf = genericRnf+ {-# DEPRECATED knownExtensions- "KnownExtension is an instance of Enum and Bounded, use those instead." #-}+ "KnownExtension is an instance of Enum and Bounded, use those instead. This symbol will be removed in Cabal-3.0 (est. Oct 2018)." #-} knownExtensions :: [KnownExtension] knownExtensions = [minBound..maxBound] @@ -794,18 +835,23 @@ -- name to the old one for older compilers. Otherwise we are in danger -- of the scenario in ticket #689. -instance Text Extension where- disp (UnknownExtension other) = Disp.text other- disp (EnableExtension ke) = Disp.text (show ke)- disp (DisableExtension ke) = Disp.text ("No" ++ show ke)+instance Pretty Extension where+ pretty (UnknownExtension other) = Disp.text other+ pretty (EnableExtension ke) = Disp.text (show ke)+ pretty (DisableExtension ke) = Disp.text ("No" ++ show ke) +instance Parsec Extension where+ parsec = classifyExtension <$> P.munch1 isAlphaNum++instance Text Extension where parse = do extension <- Parse.munch1 isAlphaNum return (classifyExtension extension) -instance Text KnownExtension where- disp ke = Disp.text (show ke)+instance Pretty KnownExtension where+ pretty ke = Disp.text (show ke) +instance Text KnownExtension where parse = do extension <- Parse.munch1 isAlphaNum case classifyKnownExtension extension of
@@ -1,671 +0,0 @@--*-change-log-*---2.0.1.1 Mikhail Glushenkov <mikhail.glushenkov@gmail.com> December 2017- * Don't pass `other-modules` to stub executable for detailed-0.9- (#4918).- * Hpc: Use relative .mix search paths (#4917).--2.0.1.0 Mikhail Glushenkov <mikhail.glushenkov@gmail.com> November 2017- * Support for GHC's numeric -g debug levels (#4673).- * Added a new 'Distribution.Verbosity.modifyVerbosity' combinator- (#4724).- * Added a new 'cabal check' warning about unused, undeclared or- non-Unicode flags. Also, it warns about leading dash, which is- unusable but accepted if it's unused in conditionals. (#4687)- * Modify `allBuildInfo` to include foreign library info (#4763).- * Documentation fixes.--2.0.0.2 Mikhail Glushenkov <mikhail.glushenkov@gmail.com> July 2017- * See http://coldwa.st/e/blog/2017-09-09-Cabal-2-0.html- for more detailed release notes.- * The 2.0 migration guide gives advice on adapting Custom setup- scripts to backwards-incompatible changes in this release:- https://github.com/haskell/cabal/wiki/2.0-migration-guide- * Add CURRENT_PACKAGE_VERSION to cabal_macros.h (#4319)- * Dropped support for versions of GHC earlier than 6.12 (#3111).- * GHC compatibility window for the Cabal library has been extended- to five years (#3838).- * Convenience/internal libraries are now supported (#269).- An internal library is declared using the stanza "library- 'libname'". Packages which use internal libraries can- result in multiple registrations; thus '--gen-pkg-config'- can now output a directory of registration scripts rather than- a single file.- * Backwards incompatible change to preprocessor interface:- the function in 'PPSuffixHandler' now takes an additional- 'ComponentLocalBuildInfo' specifying the build information- of the component being preprocessed.- * Backwards incompatible change to 'cabal_macros.h' (#1893): we now- generate a macro file for each component which contains only- information about the direct dependencies of that component.- Consequently, 'dist/build/autogen/cabal_macros.h' contains- only the macros for the library, and is not generated if a- package has no library; to find the macros for an executable- named 'foobar', look in 'dist/build/foobar/autogen/cabal_macros.h'.- Similarly, if you used 'autogenModulesDir' you should now- use 'autogenComponentModulesDir', which now requires a- 'ComponentLocalBuildInfo' argument as well in order to- disambiguate which component the autogenerated files are for.- * Backwards incompatible change to 'Component': 'TestSuite' and- 'Benchmark' no longer have 'testEnabled' and- 'benchmarkEnabled'. If you used- 'enabledTests' or 'enabledBenchmarks', please instead use- 'enabledTestLBIs' and 'enabledBenchLBIs'- (you will need a 'LocalBuildInfo' for these functions.)- Additionally, the semantics of 'withTest' and 'withBench'- have changed: they now iterate over all buildable- such components, regardless of whether or not they have- been enabled; if you only want enabled components,- use 'withTestLBI' and 'withBenchLBI'.- 'finalizePackageDescription' is deprecated:- its replacement 'finalizePD' now takes an extra argument- 'ComponentRequestedSpec' which specifies what components- are to be enabled: use this instead of modifying the- 'Component' in a 'GenericPackageDescription'. (As- it's not possible now, 'finalizePackageDescription'- will assume tests/benchmarks are disabled.)- If you only need to test if a component is buildable- (i.e., it is marked buildable in the Cabal file)- use the new function 'componentBuildable'.- * Backwards incompatible change to 'PackageName' (#3896):- 'PackageName' is now opaque; conversion to/from 'String' now works- via (old) 'unPackageName' and (new) 'mkPackageName' functions.- * Backwards incompatible change to 'ComponentId' (#3917):- 'ComponentId' is now opaque; conversion to/from 'String' now works- via 'unComponentId' and 'mkComponentId' functions.- * Backwards incompatible change to 'AbiHash' (#3921):- 'AbiHash' is now opaque; conversion to/from 'String' now works- via 'unAbiHash' and 'mkAbiHash' functions.- * Backwards incompatible change to 'FlagName' (#4062):- 'FlagName' is now opaque; conversion to/from 'String' now works- via 'unFlagName' and 'mkFlagName' functions.- * Backwards incompatible change to 'Version' (#3905):- Version is now opaque; conversion to/from '[Int]' now works- via 'versionNumbers' and 'mkVersion' functions.- * Add support for `--allow-older` (dual to `--allow-newer`) (#3466)- * Improved an error message for process output decoding errors- (#3408).- * 'getComponentLocalBuildInfo', 'withComponentsInBuildOrder'- and 'componentsInBuildOrder' are deprecated in favor of a- new interface in "Distribution.Types.LocalBuildInfo".- * New 'autogen-modules' field. Modules that are built automatically at- setup, like Paths_PACKAGENAME or others created with a build-type- custom, appear on 'other-modules' for the Library, Executable,- Test-Suite or Benchmark stanzas or also on 'exposed-modules' for- libraries but are not really on the package when distributed. This- makes commands like sdist fail because the file is not found, so with- this new field modules that appear there are treated the same way as- Paths_PACKAGENAME was and there is no need to create complex build- hooks. Just add the module names on 'other-modules' and- 'exposed-modules' as always and on the new 'autogen-modules' besides.- (#3656).- * New './Setup configure' flag '--cabal-file', allowing multiple- .cabal files in a single directory (#3553). Primarily intended for- internal use.- * Macros in 'cabal_macros.h' are now ifndef'd, so that they- don't cause an error if the macro is already defined. (#3041)- * './Setup configure' now accepts a single argument specifying- the component to be configured. The semantics of this mode- of operation are described in- <https://github.com/ghc-proposals/ghc-proposals/pull/4>- * Internal 'build-tools' dependencies are now added to PATH- upon invocation of GHC, so that they can be conveniently- used via `-pgmF`. (#1541)- * Add support for new caret-style version range operator `^>=` (#3705)- * Verbosity `-v` now takes an extended format which allows- specifying exactly what you want to be logged. The format is- "[silent|normal|verbose|debug] flags", where flags is a space- separated list of flags. At the moment, only the flags- +callsite and +callstack are supported; these report the- call site/stack of a logging output respectively (these- are only supported if Cabal is built with GHC 8.0/7.10.2- or greater, respectively).- * New `Distribution.Utils.ShortText.ShortText` type for representing- short text strings compactly (#3898)- * Cabal no longer supports using a version bound to disambiguate- between an internal and external package (#4020). This should- not affect many people, as this mode of use already did not- work with the dependency solver.- * Support for "foreign libraries" (#2540), which are Haskell- libraries intended to be used by foreign languages like C.- Foreign libraries only work with GHC 7.8 and later.- * Added a technical preview version of integrated doctest support (#4480).- * Added a new 'scope' field to the executable stanza. Executables- with 'scope: private' get installed into- $libexecdir/$libexecsubdir. Additionally $libexecdir now has a- subdir structure similar to $lib(sub)dir to allow installing- private executables of different packages and package versions- alongside one another. Private executables are those that are- expected to be run by other programs rather than users. (#3461)--1.24.2.0 Mikhail Glushenkov <mikhail.glushenkov@gmail.com> December 2016- * Fixed a bug in the handling of non-buildable components (#4094).- * Reverted a PVP-noncompliant API change in 1.24.1.0 (#4123).- * Bumped the directory upper bound to < 1.4 (#4158).--1.24.1.0 Ryan Thomas <ryan@ryant.org> October 2016- * API addition: 'differenceVersionRanges' (#3519).- * Fixed reexported-modules display mangling (#3928).- * Check that the correct cabal-version is specified when the- extra-doc-files field is present (#3825).- * Fixed an incorrect invocation of GetShortPathName that was- causing build failures on Windows (#3649).- * Linker flags are now set correctly on GHC >= 7.8 (#3443).--1.24.0.0 Ryan Thomas <ryan@ryant.org> March 2016- * Support GHC 8.- * Deal with extra C sources from preprocessors (#238).- * Include cabal_macros.h when running c2hs (#2600).- * Don't recompile C sources unless needed (#2601).- * Read 'builddir' option from 'CABAL_BUILDDIR' environment variable.- * Add '--profiling-detail=$level' flag with a default for libraries- and executables of 'exported-functions' and 'toplevel-functions'- respectively (GHC's '-fprof-auto-{exported,top}' flags) (#193).- * New 'custom-setup' stanza to specify setup deps. Setup is also built- with the cabal_macros.h style macros, for conditional compilation.- * Support Haddock response files (#2746).- * Fixed a bug in the Text instance for Platform (#2862).- * New 'setup haddock' option: '--for-hackage' (#2852).- * New --show-detail=direct; like streaming, but allows the test- program to detect that is connected to a terminal, and works- reliable with a non-threaded runtime (#2911, and serves as a- work-around for #2398)- * Library support for multi-instance package DBs (#2948).- * Improved the './Setup configure' solver (#3082, #3076).- * The '--allow-newer' option can be now used with './Setup- configure' (#3163).- * Added a way to specify extra locations to find OS X frameworks- in ('extra-framework-dirs'). Can be used both in .cabal files and- as an argument to './Setup configure' (#3158).- * Macros 'VERSION_$pkgname' and 'MIN_VERSION_$pkgname' are now- also generated for the current package. (#3235).- * Backpack is supported! Two new fields supported in Cabal- files: signatures and mixins; and a new flag- to setup scripts, '--instantiate-with'. See- https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst- for more details.--1.22.8.0 Ryan Thomas <ryan@ryant.org> March 2016- * Distribution.Simple.Setup: remove job cap. Fixes #3191.- * Check all object file suffixes for recompilation. Fixes #3128.- * Move source files under 'src/'. Fixes #3003.--1.22.7.0 Ryan Thomas <ryan@ryant.org> January 2016- * Backport #3012 to the 1.22 branch- * Cabal.cabal: change build-type to Simple- * Add foldl' import- * The Cabal part for fully gcc-like response files--1.22.6.0 Ryan Thomas <ryan@ryant.org> December 2015- * Relax upper bound to allow upcoming binary-0.8--1.22.5.0 Ryan Thomas <ryan@ryant.org> November 2015- * Don't recompile C sources unless needed (#2601). (Luke Iannini)- * Support Haddock response files.- * Add frameworks when linking a dynamic library.--1.22.4.0 Ryan Thomas <ryan@ryant.org> June 2015- * Add libname install-dirs variable, use it by default. Fixes #2437. (Edward Z. Yang)- * Reduce temporary directory name length, fixes #2502. (Edward Z. Yang)- * Workaround for #2527. (Mikhail Glushenkov)--1.22.3.0 Ryan Thomas <ryan@ryant.org> April 2015- * Fix for the ghcjs-pkg version number handling (Luite Stegeman)- * filterConfigureFlags: filter more flags (Mikhail Glushenkov)- * Cabal check will fail on -fprof-auto passed as a ghc-option - Fixes #2479 (John Chee)--1.22.2.0 Ryan Thomas <ryan@ryant.org> March 2015- * Don't pass '--{en,dis}able-profiling' to old setup.- * Add -Wall police- * Fix dependencies on 'old-time'- * Fix test interface detailed-0.9 with GHC 7.10- * Fix HPC tests with GHC 7.10- * Make sure to pass the package key to ghc- * Use --package-{name|version} when available for Haddock when available- * Put full package name and version in library names- * Fully specify package key format, so external tools can generate it.--1.22.0.0 Johan Tibell <johan.tibell@gmail.com> January 2015- * Support GHC 7.10.- * Experimental support for emitting DWARF debug info.- * Preliminary support for relocatable packages.- * Allow cabal to be used inside cabal exec enviroments.- * hpc: support mutliple "ways" (e.g. profiling and vanilla).- * Support GHCJS.- * Improved command line documentation.- * Add '-none' constraint syntax for version ranges (#2093).- * Make the default doc index file path compiler/arch/os-dependent- (#2136).- * Warn instead of dying when generating documentation and hscolour- isn't installed (455f51622fa38347db62197a04bb0fa5b928ff17).- * Support the new BinaryLiterals extension- (1f25ab3c5eff311ada73c6c987061b80e9bbebd9).- * Warn about 'ghc-prof-options: -auto-all' in 'cabal check' (#2162).- * Add preliminary support for multiple instances of the same package- version installed side-by-side (#2002).- * New binary build config format - faster build times (#2076).- * Support module thinning and renaming (#2038).- * Add a new license type: UnspecifiedLicense (#2141).- * Remove support for Hugs and nhc98 (#2168).- * Invoke 'tar' with '--formar ustar' if possible in 'sdist' (#1903).- * Replace --enable-library-coverage with --enable-coverage, which- enables program coverage for all components (#1945).- * Suggest that `ExitFailure 9` is probably due to memory- exhaustion (#1522).- * Drop support for Haddock < 2.0 (#1808, #1718).- * Make 'cabal test'/'cabal bench' build only what's needed for- running tests/benchmarks (#1821).- * Build shared libraries by default when linking executables dynamically.- * Build profiled libraries by default when profiling executables.--1.20.0.4 Ryan Thomas <ryan@ryant.org> January 2016- * Cabal.cabal: change build-type to Simple.--1.20.0.1 Johan Tibell <johan.tibell@gmail.com> May 2014- * Fix streaming test output.--1.20.0.0 Johan Tibell <johan.tibell@gmail.com> April 2014- * Rewrite user guide- * Fix repl Ctrl+C handling- * Add haskell-suite compiler support- * Add __HADDOCK_VERSION__ define- * Allow specifying exact dependency version using hash- * Rename extra-html-files to extra-doc-files- * Add parallel build support for GHC 7.8 and later- * Don't call ranlib on OS X- * Avoid re-linking executables, test suites, and benchmarks- unnecessarily, shortening build times- * Add --allow-newer which allows upper version bounds to be- ignored- * Add --enable-library-stripping- * Add command for freezing dependencies- * Allow repl to be used outside Cabal packages- * Add --require-sandbox- * Don't use --strip-unneeded on OS X or iOS- * Add new license-files field got additional licenses- * Fix if(solaris) on some Solaris versions- * Don't use -dylib-install-name on OS X with GHC > 7.8- * Add DragonFly as a known OS- * Improve pretty-printing of Cabal files- * Add test flag --show-details=streaming for real-time test output- * Add exec command--1.10.2.0 Duncan Coutts <duncan@community.haskell.org> June 2011- * Include test suites in cabal sdist- * Fix for conditionals in test suite stanzas in .cabal files- * Fix permissions of directories created during install- * Fix for global builds when $HOME env var is not set--1.10.1.0 Duncan Coutts <duncan@community.haskell.org> February 2011- * Improved error messages when test suites are not enabled- * Template parameters allowed in test --test-option(s) flag- * Improved documentation of the test feature- * Relaxed QA check on cabal-version when using test-suite sections- * haddock command now allows both --hoogle and --html at the same time- * Find ghc-version-specific instances of the hsc2hs program- * Preserve file executable permissions in sdist tarballs- * Pass gcc location and flags to ./configure scripts- * Get default gcc flags from ghc--1.10.0.0 Duncan Coutts <duncan@haskell.org> November 2010- * New cabal test feature- * Initial support for UHC- * New default-language and other-languages fields (e.g. Haskell98/2010)- * New default-extensions and other-extensions fields- * Deprecated extensions field (for packages using cabal-version >=1.10)- * Cabal-version field must now only be of the form ">= x.y"- * Removed deprecated --copy-prefix= feature- * Auto-reconfigure when .cabal file changes- * Workaround for haddock overwriting .hi and .o files when using TH- * Extra cpp flags used with hsc2hs and c2hs (-D${os}_BUILD_OS etc)- * New cpp define VERSION_<package> gives string version of dependencies- * User guide source now in markdown format for easier editing- * Improved checks and error messages for C libraries and headers- * Removed BSD4 from the list of suggested licenses- * Updated list of known language extensions- * Fix for include paths to allow C code to import FFI stub.h files- * Fix for intra-package dependencies on OSX- * Stricter checks on various bits of .cabal file syntax- * Minor fixes for c2hs--1.8.0.6 Duncan Coutts <duncan@haskell.org> June 2010- * Fix 'register --global/--user'--1.8.0.4 Duncan Coutts <duncan@haskell.org> March 2010- * Set dylib-install-name for dynalic libs on OSX- * Stricter configure check that compiler supports a package's extensions- * More configure-time warnings- * Hugs can compile Cabal lib again- * Default datadir now follows prefix on Windows- * Support for finding installed packages for hugs- * Cabal version macros now have proper parenthesis- * Reverted change to filter out deps of non-buildable components- * Fix for registering implace when using a specific package db- * Fix mismatch between $os and $arch path template variables- * Fix for finding ar.exe on Windows, always pick ghc's version- * Fix for intra-package dependencies with ghc-6.12--1.8.0.2 Duncan Coutts <duncan@haskell.org> December 2009- * Support for GHC-6.12- * New unique installed package IDs which use a package hash- * Allow executables to depend on the lib within the same package- * Dependencies for each component apply only to that component- (previously applied to all the other components too)- * Added new known license MIT and versioned GPL and LGPL- * More liberal package version range syntax- * Package registration files are now UTF8- * Support for LHC and JHC-0.7.2- * Deprecated RecordPuns extension in favour of NamedFieldPuns- * Deprecated PatternSignatures extension in favor of ScopedTypeVariables- * New VersionRange semantic view as a sequence of intervals- * Improved package quality checks- * Minor simplification in a couple Setup.hs hooks- * Beginnings of a unit level testsuite using QuickCheck- * Various bug fixes- * Various internal cleanups--1.6.0.2 Duncan Coutts <duncan@haskell.org> February 2009- * New configure-time check for C headers and libraries- * Added language extensions present in ghc-6.10- * Added support for NamedFieldPuns extension in ghc-6.8- * Fix in configure step for ghc-6.6 on Windows- * Fix warnings in Path_pkgname.hs module on Windows- * Fix for exotic flags in ld-options field- * Fix for using pkg-config in a package with a lib and an executable- * Fix for building haddock docs for exes that use the Paths module- * Fix for installing header files in subdirectories- * Fix for the case of building profiling libs but not ordinary libs- * Fix read-only attribute of installed files on Windows- * Ignore ghc -threaded flag when profiling in ghc-6.8 and older--1.6.0.1 Duncan Coutts <duncan@haskell.org> October 2008- * Export a compat function to help alex and happy--1.6.0.0 Duncan Coutts <duncan@haskell.org> October 2008- * Support for ghc-6.10- * Source control repositories can now be specified in .cabal files- * Bug report URLs can be now specified in .cabal files- * Wildcards now allowed in data-files and extra-source-files fields- * New syntactic sugar for dependencies "build-depends: foo ==1.2.*"- * New cabal_macros.h provides macros to test versions of dependencies- * Relocatable bindists now possible on unix via env vars- * New 'exposed' field allows packages to be not exposed by default- * Install dir flags can now use $os and $arch variables- * New --builddir flag allows multiple builds from a single sources dir- * cc-options now only apply to .c files, not for -fvia-C- * cc-options are not longer propagated to dependent packages- * The cpp/cc/ld-options fields no longer use ',' as a separator- * hsc2hs is now called using gcc instead of using ghc as gcc- * New api for manipulating sets and graphs of packages- * Internal api improvements and code cleanups- * Minor improvements to the user guide- * Miscellaneous minor bug fixes--1.4.0.2 Duncan Coutts <duncan@haskell.org> August 2008- * Fix executable stripping default- * Fix striping exes on OSX that export dynamic symbols (like ghc)- * Correct the order of arguments given by --prog-options=- * Fix corner case with overlapping user and global packages- * Fix for modules that use pre-processing and .hs-boot files- * Clarify some points in the user guide and readme text- * Fix verbosity flags passed to sub-command like haddock- * Fix sdist --snapshot- * Allow meta-packages that contain no modules or C code- * Make the generated Paths module -Wall clean on Windows--1.4.0.1 Duncan Coutts <duncan@haskell.org> June 2008- * Fix a bug which caused '.' to always be in the sources search path- * Haddock-2.2 and later do now support the --hoogle flag--1.4.0.0 Duncan Coutts <duncan@haskell.org> June 2008- * Rewritten command line handling support- * Command line completion with bash- * Better support for Haddock 2- * Improved support for nhc98- * Removed support for ghc-6.2- * Haddock markup in .lhs files now supported- * Default colour scheme for highlighted source code- * Default prefix for --user installs is now $HOME/.cabal- * All .cabal files are treaded as UTF-8 and must be valid- * Many checks added for common mistakes- * New --package-db= option for specific package databases- * Many internal changes to support cabal-install- * Stricter parsing for version strings, eg dissalows "1.05"- * Improved user guide introduction- * Programatica support removed- * New options --program-prefix/suffix allows eg versioned programs- * Support packages that use .hs-boot files- * Fix sdist for Main modules that require preprocessing- * New configure -O flag with optimisation level 0--2- * Provide access to "x-" extension fields through the Cabal api- * Added check for broken installed packages- * Added warning about using inconsistent versions of dependencies- * Strip binary executable files by default with an option to disable- * New options to add site-specific include and library search paths- * Lift the restriction that libraries must have exposed-modules- * Many bugs fixed.- * Many internal structural improvements and code cleanups--1.2.4.0 Duncan Coutts <duncan@haskell.org> June 2008- * Released with GHC 6.8.3- * Backported several fixes and minor improvements from Cabal-1.4- * Use a default colour scheme for sources with hscolour >=1.9- * Support --hyperlink-source for Haddock >= 2.0- * Fix for running in a non-writable directory- * Add OSX -framework arguments when linking executables- * Updates to the user guide- * Allow build-tools names to include + and _- * Export autoconfUserHooks and simpleUserHooks- * Export ccLdOptionsBuildInfo for Setup.hs scripts- * Export unionBuildInfo and make BuildInfo an instance of Monoid- * Fix to allow the 'main-is' module to use a pre-processor--1.2.3.0 Duncan Coutts <duncan@haskell.org> Nov 2007- * Released with GHC 6.8.2- * Includes full list of GHC language extensions- * Fix infamous "dist/conftest.c" bug- * Fix configure --interfacedir=- * Find ld.exe on Windows correctly- * Export PreProcessor constructor and mkSimplePreProcessor- * Fix minor bug in unlit code- * Fix some markup in the haddock docs--1.2.2.0 Duncan Coutts <duncan@haskell.org> Nov 2007- * Released with GHC 6.8.1- * Support haddock-2.0- * Support building DSOs with GHC- * Require reconfiguring if the .cabal file has changed- * Fix os(windows) configuration test- * Fix building documentation- * Fix building packages on Solaris- * Other minor bug fixes--1.2.1 Duncan Coutts <duncan@haskell.org> Oct 2007- * To be included in GHC 6.8.1- * New field "cpp-options" used when preprocessing Haskell modules- * Fixes for hsc2hs when using ghc- * C source code gets compiled with -O2 by default- * OS aliases, to allow os(windows) rather than requiring os(mingw32)- * Fix cleaning of 'stub' files- * Fix cabal-setup, command line ui that replaces "runhaskell Setup.hs"- * Build docs even when dependent packages docs are missing- * Allow the --html-dir to be specified at configure time- * Fix building with ghc-6.2- * Other minor bug fixes and build fixes--1.2.0 Duncan Coutts <duncan.coutts@worc.ox.ac.uk> Sept 2007- * To be included in GHC 6.8.x- * New configurations feature- * Can make haddock docs link to hilighted sources (with hscolour)- * New flag to allow linking to haddock docs on the web- * Supports pkg-config- * New field "build-tools" for tool dependencies- * Improved c2hs support- * Preprocessor output no longer clutters source dirs- * Separate "includes" and "install-includes" fields- * Makefile command to generate makefiles for building libs with GHC- * New --docdir configure flag- * Generic --with-prog --prog-args configure flags- * Better default installation paths on Windows- * Install paths can be specified relative to each other- * License files now installed- * Initial support for NHC (incomplete)- * Consistent treatment of verbosity- * Reduced verbosity of configure step by default- * Improved helpfulness of output messages- * Help output now clearer and fits in 80 columns- * New setup register --gen-pkg-config flag for distros- * Major internal refactoring, hooks api has changed- * Dozens of bug fixes--1.1.6.2 Duncan Coutts <duncan.coutts@worc.ox.ac.uk> May 2007- * Released with GHC 6.6.1- * Handle windows text file encoding for .cabal files- * Fix compiling a executable for profiling that uses Template Haskell- * Other minor bug fixes and user guide clarifications--1.1.6.1 Duncan Coutts <duncan.coutts@worc.ox.ac.uk> Oct 2006- * fix unlit code- * fix escaping in register.sh--1.1.6 Duncan Coutts <duncan.coutts@worc.ox.ac.uk> Oct 2006- * Released with GHC 6.6- * Added support for hoogle- * Allow profiling and normal builds of libs to be chosen indepentantly- * Default installation directories on Win32 changed- * Register haddock docs with ghc-pkg- * Get haddock to make hyperlinks to dependent package docs- * Added BangPatterns language extension- * Various bug fixes--1.1.4 Duncan Coutts <duncan.coutts@worc.ox.ac.uk> May 2006- * Released with GHC 6.4.2- * Better support for packages that need to install header files- * cabal-setup added, but not installed by default yet- * Implemented "setup register --inplace"- * Have packages exposed by default with ghc-6.2- * It is no longer necessary to run 'configure' before 'clean' or 'sdist'- * Added support for ghc's -split-objs- * Initial support for JHC- * Ignore extension fields in .cabal files (fields begining with "x-")- * Some changes to command hooks API to improve consistency- * Hugs support improvements- * Added GeneralisedNewtypeDeriving language extension- * Added cabal-version field- * Support hidden modules with haddock- * Internal code refactoring- * More bug fixes--1.1.3 Isaac Jones <ijones@syntaxpolice.org> Sept 2005- * WARNING: Interfaces not documented in the user's guide may- change in future releases.- * Move building of GHCi .o libs to the build phase rather than- register phase. (from Duncan Coutts)- * Use .tar.gz for source package extension- * Uses GHC instead of cpphs if the latter is not available- * Added experimental "command hooks" which completely override the- default behavior of a command.- * Some bugfixes--1.1.1 Isaac Jones <ijones@syntaxpolice.org> July 2005- * WARNING: Interfaces not documented in the user's guide may- change in future releases.- * Handles recursive modules for GHC 6.2 and GHC 6.4.- * Added "setup test" command (Used with UserHook)- * implemented handling of _stub.{c,h,o} files- * Added support for profiling- * Changed install prefix of libraries (pref/pkgname-version- to prefix/pkgname-version/compname-version)- * Added pattern guards as a language extension- * Moved some functionality to Language.Haskell.Extension- * Register / unregister .bat files for windows- * Exposed more of the API- * Added support for the hide-all-packages flag in GHC > 6.4- * Several bug fixes--1.0 Isaac Jones <ijones@syntaxpolice.org> March 11 2005- * Released with GHC 6.4, Hugs March 2005, and nhc98 1.18- * Some sanity checking--0.5 Isaac Jones <ijones@syntaxpolice.org> Wed Feb 19 2005- * WARNING: this is a pre-release and the interfaces are still- likely to change until we reach a 1.0 release.- * Hooks interfaces changed- * Added preprocessors to user hooks- * No more executable-modules or hidden-modules. Use- "other-modules" instead.- * Certain fields moved into BuildInfo, much refactoring- * extra-libs -> extra-libraries- * Added --gen-script to configure and unconfigure.- * modules-ghc (etc) now ghc-modules (etc)- * added new fields including "synopsis"- * Lots of bug fixes- * spaces can sometimes be used instead of commas- * A user manual has appeared (Thanks, ross!)- * for ghc 6.4, configures versionsed depends properly- * more features to ./setup haddock--0.4 Isaac Jones <ijones@syntaxpolice.org> Sun Jan 16 2005-- * Much thanks to all the awesome fptools hackers who have been- working hard to build the Haskell Cabal!-- * Interface Changes:-- ** WARNING: this is a pre-release and the interfaces are still- likely to change until we reach a 1.0 release.-- ** Instead of Package.description, you should name your- description files <something>.cabal. In particular, we suggest- that you name it <packagename>.cabal, but this is not enforced- (yet). Multiple .cabal files in the same directory is an error,- at least for now.-- ** ./setup install --install-prefix is gone. Use ./setup copy- --copy-prefix instead.-- ** The "Modules" field is gone. Use "hidden-modules",- "exposed-modules", and "executable-modules".-- ** Build-depends is now a package-only field, and can't go into- executable stanzas. Build-depends is a package-to-package- relationship.-- ** Some new fields. Use the Source.-- * New Features-- ** Cabal is now included as a package in the CVS version of- fptools. That means it'll be released as "-package Cabal" in- future versions of the compilers, and if you are a bleeding-edge- user, you can grab it from the CVS repository with the compilers.-- ** Hugs compatibility and NHC98 compatibility should both be- improved.-- ** Hooks Interface / Autoconf compatibility: Most of the hooks- interface is hidden for now, because it's not finalized. I have- exposed only "defaultMainWithHooks" and "defaultUserHooks". This- allows you to use a ./configure script to preprocess- "foo.buildinfo", which gets merged with "foo.cabal". In future- releases, we'll expose UserHooks, but we're definitely going to- change the interface to those. The interface to the two functions- I've exposed should stay the same, though.-- ** ./setup haddock is a baby feature which pre-processes the- source code with hscpp and runs haddock on it. This is brand new- and hardly tested, so you get to knock it around and see what you- think.-- ** Some commands now actually implement verbosity.-- ** The preprocessors have been tested a bit more, and seem to work- OK. Please give feedback if you use these.--0.3 Isaac Jones <ijones@syntaxpolice.org> Sun Jan 16 2005- * Unstable snapshot release- * From now on, stable releases are even.--0.2 Isaac Jones <ijones@syntaxpolice.org>-- * Adds more HUGS support and preprocessor support.
@@ -1,491 +0,0 @@-{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-missing-signatures #-}-{-# LANGUAGE CPP,MagicHash #-}-{-# LINE 1 "Distribution/Parsec/Lexer.x" #-}---------------------------------------------------------------------------------- |--- Module : Distribution.Parsec.Lexer--- License : BSD3------ Maintainer : cabal-devel@haskell.org--- Portability : portable------ Lexer for the cabal files.-{-# LANGUAGE CPP #-}-{-# LANGUAGE BangPatterns #-}-#ifdef CABAL_PARSEC_DEBUG-{-# LANGUAGE PatternGuards #-}-#endif-module Distribution.Parsec.Lexer- (ltest, lexToken, Token(..), LToken(..)- ,bol_section, in_section, in_field_layout, in_field_braces- ,mkLexState) where--import Prelude ()-import qualified Prelude as Prelude-import Distribution.Compat.Prelude--import Distribution.Parsec.LexerMonad-import Distribution.Parsec.Types.Common (Position (..), incPos, retPos)-import Data.ByteString (ByteString)-import qualified Data.ByteString as B-import qualified Data.ByteString.Char8 as B.Char8-import qualified Data.Word as Word--#ifdef CABAL_PARSEC_DEBUG-import Debug.Trace-import qualified Data.Vector as V-import qualified Data.Text as T-import qualified Data.Text.Encoding as T-import qualified Data.Text.Encoding.Error as T-#endif---#if __GLASGOW_HASKELL__ >= 603-#include "ghcconfig.h"-#elif defined(__GLASGOW_HASKELL__)-#include "config.h"-#endif-#if __GLASGOW_HASKELL__ >= 503-import Data.Array-import Data.Array.Base (unsafeAt)-#else-import Array-#endif-#if __GLASGOW_HASKELL__ >= 503-import GHC.Exts-#else-import GlaExts-#endif-alex_tab_size :: Int-alex_tab_size = 8-alex_base :: AlexAddr-alex_base = AlexA# "\x12\xff\xff\xff\xf9\xff\xff\xff\xfb\xff\xff\xff\x01\x00\x00\x00\xa4\x00\x00\x00\x90\x01\x00\x00\x7c\x02\x00\x00\x48\xff\xff\xff\xdc\xff\xff\xff\x1e\x00\x00\x00\x51\xff\xff\xff\x7b\x02\x00\x00\xfb\x02\x00\x00\x7b\x03\x00\x00\xfb\x03\x00\x00\x7b\x04\x00\x00\xfb\x04\x00\x00\x7b\x05\x00\x00\xfb\x05\x00\x00\x7b\x06\x00\x00\xfb\x06\x00\x00\x00\x00\x00\x00\x6c\x07\x00\x00\x00\x00\x00\x00\xdd\x07\x00\x00\x00\x00\x00\x00\x4e\x08\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\xbf\x08\x00\x00\x00\x00\x00\x00\x30\x09\x00\x00\x00\x00\x00\x00\x50\x01\x00\x00\x00\x00\x00\x00\x71\x09\x00\x00\x71\x0a\x00\x00\x31\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x0a\x00\x00\x00\x00\x00\x00\xb3\x0a\x00\x00\x6d\xff\xff\xff\xb3\x0b\x00\x00\x73\x0b\x00\x00\x00\x00\x00\x00\x73\x0c\x00\x00\x33\x0c\x00\x00\x00\x00\x00\x00\x13\x0d\x00\x00\xe8\x0d\x00\x00\xdd\x0e\x00\x00\xd2\x0c\x00\x00\x00\x00\x00\x00\x6f\xff\xff\xff\x5d\x0f\x00\x00\xa7\x0d\x00\x00\x00\x00\x00\x00\xd4\x0f\x00\x00\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\xe2\x0f\x00\x00\xd6\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\xce\x10\x00\x00\x9c\x11\x00\x00\x00\x00\x00\x00\xf7\x11\x00\x00\xc5\x12\x00\x00\x1f\x13\x00\x00\x7b\x13\x00\x00\xd7\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x0a\x00\x00\x00\x36\x14\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x0d\x00\x00\x00\x22\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x00\x00"#--alex_table :: AlexAddr-alex_table = AlexA# "\x00\x00\x0a\x00\x3c\x00\x3f\x00\x02\x00\x3f\x00\x40\x00\x3e\x00\x40\x00\x41\x00\x03\x00\x3f\x00\x07\x00\x3d\x00\x40\x00\x42\x00\x3f\x00\x52\x00\x45\x00\x54\x00\x00\x00\x56\x00\x58\x00\x00\x00\x5c\x00\x3c\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x08\x00\x45\x00\x54\x00\x00\x00\x00\x00\x58\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x09\x00\x00\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x00\x00\x00\x00\x00\x00\x43\x00\x09\x00\x44\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x3f\x00\x58\x00\x5c\x00\x40\x00\x00\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x38\x00\x58\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x5a\x00\x59\x00\x5b\x00\x59\x00\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x00\x00\x2d\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2e\x00\x0e\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x22\x00\x13\x00\x17\x00\x17\x00\x17\x00\x18\x00\x54\x00\x56\x00\x00\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x30\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x31\x00\x0d\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x24\x00\x12\x00\x19\x00\x19\x00\x19\x00\x1a\x00\x45\x00\x52\x00\x00\x00\x00\x00\x53\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x00\x4d\x00\x34\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x09\x00\x4e\x00\x4e\x00\x4d\x00\x4d\x00\x4d\x00\x4b\x00\x4c\x00\x4d\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4f\x00\x00\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x4e\x00\x4d\x00\x4e\x00\x4d\x00\x09\x00\x00\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x50\x00\x4d\x00\x51\x00\x4d\x00\x39\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x35\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x30\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x2d\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x0b\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x0c\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x25\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x0d\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x0e\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x11\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x34\x00\x34\x00\x49\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x33\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x25\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x26\x00\x11\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1c\x00\x14\x00\x15\x00\x15\x00\x15\x00\x16\x00\x34\x00\x34\x00\x48\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x33\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x25\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x26\x00\x11\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1c\x00\x14\x00\x15\x00\x15\x00\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3c\x00\x3f\x00\x42\x00\x3f\x00\x40\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3a\x00\x0b\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2b\x00\x0f\x00\x1f\x00\x1f\x00\x1f\x00\x20\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x37\x00\x36\x00\x0c\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x29\x00\x10\x00\x1d\x00\x1d\x00\x1d\x00\x1e\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x47\x00\x00\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x34\x00\x34\x00\x48\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x33\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x26\x00\x11\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1b\x00\x1c\x00\x14\x00\x15\x00\x15\x00\x15\x00\x16\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x4a\x00\x00\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x4d\x00\x00\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x09\x00\x00\x00\x00\x00\x4d\x00\x4d\x00\x4d\x00\x46\x00\x4c\x00\x4d\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x00\x00\x00\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x00\x00\x4d\x00\x00\x00\x4d\x00\x09\x00\x00\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x00\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x09\x00\x00\x00\x00\x00\x4d\x00\x4d\x00\x4d\x00\x4c\x00\x4c\x00\x4d\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x00\x00\x00\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x00\x00\x4d\x00\x00\x00\x4d\x00\x09\x00\x00\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x47\x00\x00\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x4d\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x31\x00\x0d\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x24\x00\x12\x00\x19\x00\x19\x00\x19\x00\x1a\x00\x59\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x00\x00\x59\x00\x00\x00\x59\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2e\x00\x0e\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x21\x00\x22\x00\x13\x00\x17\x00\x17\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--alex_check :: AlexAddr-alex_check = AlexA# "\xff\xff\xef\x00\x09\x00\x0a\x00\x09\x00\x0a\x00\x0d\x00\xbf\x00\x0d\x00\x2d\x00\x09\x00\x0a\x00\xbb\x00\xa0\x00\x0d\x00\xa0\x00\x0a\x00\x0a\x00\x09\x00\x09\x00\xff\xff\x0a\x00\x09\x00\xff\xff\x0a\x00\x20\x00\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2d\x00\x20\x00\x20\x00\xff\xff\xff\xff\x20\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\x7b\x00\x5f\x00\x7d\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x09\x00\x0a\x00\x09\x00\x0a\x00\x0d\x00\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc2\x00\xff\xff\xc2\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xc2\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xc2\x00\xff\xff\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xff\xff\xff\xff\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xff\xff\xff\xff\xff\xff\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xff\xff\xff\xff\xff\xff\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x09\x00\x0a\x00\x09\x00\x0a\x00\x0d\x00\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc2\x00\xff\xff\xc2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x21\x00\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\x5e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\xff\xff\x7e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--alex_deflt :: AlexAddr-alex_deflt = AlexA# "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1b\x00\x1b\x00\x21\x00\x21\x00\x23\x00\x23\x00\x27\x00\x27\x00\x28\x00\x28\x00\x2a\x00\x2a\x00\x2f\x00\x2f\x00\x32\x00\x32\x00\x34\x00\x34\x00\x34\x00\x37\x00\x37\x00\x3b\x00\x3b\x00\xff\xff\x59\x00\x59\x00\x59\x00\x55\x00\x55\x00\x55\x00\xff\xff\xff\xff\x46\x00\x46\x00\x46\x00\xff\xff\x41\x00\x41\x00\x41\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--alex_accept = listArray (0::Int,93) [AlexAccSkip,AlexAcc (alex_action_22),AlexAcc (alex_action_18),AlexAcc (alex_action_4),AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAcc (alex_action_0),AlexAcc (alex_action_2),AlexAcc (alex_action_2),AlexAccSkip,AlexAcc (alex_action_4),AlexAcc (alex_action_5),AlexAcc (alex_action_6),AlexAccSkip,AlexAccSkip,AlexAcc (alex_action_9),AlexAcc (alex_action_10),AlexAcc (alex_action_10),AlexAcc (alex_action_11),AlexAcc (alex_action_12),AlexAcc (alex_action_12),AlexAcc (alex_action_12),AlexAcc (alex_action_13),AlexAcc (alex_action_14),AlexAcc (alex_action_15),AlexAcc (alex_action_16),AlexAcc (alex_action_17),AlexAcc (alex_action_17),AlexAccSkip,AlexAcc (alex_action_20),AlexAcc (alex_action_21),AlexAcc (alex_action_21),AlexAccSkip,AlexAcc (alex_action_24),AlexAcc (alex_action_25),AlexAcc (alex_action_26),AlexAcc (alex_action_27),AlexAcc (alex_action_27)]-{-# LINE 140 "Distribution/Parsec/Lexer.x" #-}----- | Tokens of outer cabal file structure. Field values are treated opaquely.-data Token = TokSym !ByteString -- ^ Haskell-like identifier- | TokStr !String -- ^ String in quotes- | TokNum !ByteString -- ^ Integral- | TokOther !ByteString -- ^ Operator like token- | Indent !Int -- ^ Indentation token- | TokFieldLine !ByteString -- ^ Lines after @:@- | Colon- | OpenBrace- | CloseBrace- | EOF- | LexicalError InputStream --TODO: add separate string lexical error- deriving Show--data LToken = L !Position !Token- deriving Show--toki :: Monad m => (ByteString -> Token) -> Position -> Int -> ByteString -> m LToken-toki t pos len input = return $! L pos (t (B.take len input))--tok :: Monad m => Token -> Position -> t -> t1 -> m LToken-tok t pos _len _input = return $! L pos t--checkWhitespace :: Int -> ByteString -> Lex ()-checkWhitespace len bs- | B.any (== 194) (B.take len bs) =- addWarning LexWarningNBSP "Non-breaking space found"- | otherwise = return ()---- -------------------------------------------------------------------------------- The input type--type AlexInput = InputStream--alexInputPrevChar :: AlexInput -> Char-alexInputPrevChar _ = error "alexInputPrevChar not used"--alexGetByte :: AlexInput -> Maybe (Word.Word8,AlexInput)-alexGetByte = B.uncons--lexicalError :: Position -> InputStream -> Lex LToken-lexicalError pos inp = do- setInput B.empty- return $! L pos (LexicalError inp)--lexToken :: Lex LToken-lexToken = do- pos <- getPos- inp <- getInput- st <- getStartCode- case alexScan inp st of- AlexEOF -> return (L pos EOF)- AlexError inp' ->- let !len_bytes = B.length inp - B.length inp' in- --FIXME: we want len_chars here really- -- need to decode utf8 up to this point- lexicalError (incPos len_bytes pos) inp'- AlexSkip inp' len_chars -> do- checkPosition pos inp inp' len_chars- adjustPos (incPos len_chars)- setInput inp'- lexToken- AlexToken inp' len_chars action -> do- checkPosition pos inp inp' len_chars- adjustPos (incPos len_chars)- setInput inp'- let !len_bytes = B.length inp - B.length inp'- t <- action pos len_bytes inp- --traceShow t $ return tok- return t---checkPosition :: Position -> ByteString -> ByteString -> Int -> Lex ()-#ifdef CABAL_PARSEC_DEBUG-checkPosition pos@(Position lineno colno) inp inp' len_chars = do- text_lines <- getDbgText- let len_bytes = B.length inp - B.length inp'- pos_txt | lineno-1 < V.length text_lines = T.take len_chars (T.drop (colno-1) (text_lines V.! (lineno-1)))- | otherwise = T.empty- real_txt = B.take len_bytes inp- when (pos_txt /= T.decodeUtf8 real_txt) $- traceShow (pos, pos_txt, T.decodeUtf8 real_txt) $- traceShow (take 3 (V.toList text_lines)) $ return ()- where- getDbgText = Lex $ \s@LexState{ dbgText = txt } -> LexResult s txt-#else-checkPosition _ _ _ _ = return ()-#endif--lexAll :: Lex [LToken]-lexAll = do- t <- lexToken- case t of- L _ EOF -> return [t]- _ -> do ts <- lexAll- return (t : ts)--ltest :: Int -> String -> Prelude.IO ()-ltest code s =- let (ws, xs) = execLexer (setStartCode code >> lexAll) (B.Char8.pack s)- in traverse_ print ws >> traverse_ print xs---mkLexState :: ByteString -> LexState-mkLexState input = LexState- { curPos = Position 1 1- , curInput = input- , curCode = bol_section- , warnings = []-#ifdef CABAL_PARSEC_DEBUG- , dbgText = V.fromList . lines' . T.decodeUtf8With T.lenientDecode $ input-#endif- }--#ifdef CABAL_PARSEC_DEBUG-lines' :: T.Text -> [T.Text]-lines' s1- | T.null s1 = []- | otherwise = case T.break (\c -> c == '\r' || c == '\n') s1 of- (l, s2) | Just (c,s3) <- T.uncons s2- -> case T.uncons s3 of- Just ('\n', s4) | c == '\r' -> l `T.snoc` '\r' `T.snoc` '\n' : lines' s4- _ -> l `T.snoc` c : lines' s3-- | otherwise- -> [l]-#endif---bol_field_braces,bol_field_layout,bol_section,in_field_braces,in_field_layout,in_section :: Int-bol_field_braces = 1-bol_field_layout = 2-bol_section = 3-in_field_braces = 4-in_field_layout = 5-in_section = 6-alex_action_0 = \_ _ _ -> addWarning LexWarningBOM "Byte-order mark found at the beginning of the file" >> lexToken -alex_action_2 = \_pos len inp -> checkWhitespace len inp >> adjustPos retPos >> lexToken -alex_action_4 = \pos len inp -> checkWhitespace len inp >>- if B.length inp == len- then return (L pos EOF)- else setStartCode in_section- >> return (L pos (Indent len)) -alex_action_5 = tok OpenBrace -alex_action_6 = tok CloseBrace -alex_action_9 = toki TokSym -alex_action_10 = \p l i -> case reads (B.Char8.unpack (B.take l i)) of- [(str,[])] -> return (L p (TokStr str))- _ -> lexicalError p i -alex_action_11 = toki TokNum -alex_action_12 = toki TokOther -alex_action_13 = toki TokOther -alex_action_14 = tok Colon -alex_action_15 = tok OpenBrace -alex_action_16 = tok CloseBrace -alex_action_17 = \_ _ _ -> adjustPos retPos >> setStartCode bol_section >> lexToken -alex_action_18 = \pos len inp -> if B.length inp == len- then return (L pos EOF)- else setStartCode in_field_layout- >> return (L pos (Indent len)) -alex_action_20 = toki TokFieldLine -alex_action_21 = \_ _ _ -> adjustPos retPos >> setStartCode bol_field_layout >> lexToken -alex_action_22 = \_ _ _ -> setStartCode in_field_braces >> lexToken -alex_action_24 = toki TokFieldLine -alex_action_25 = tok OpenBrace -alex_action_26 = tok CloseBrace -alex_action_27 = \_ _ _ -> adjustPos retPos >> setStartCode bol_field_braces >> lexToken -{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "<built-in>" #-}-{-# LINE 1 "<command-line>" #-}-{-# LINE 10 "<command-line>" #-}-# 1 "/usr/include/stdc-predef.h" 1 3 4--# 17 "/usr/include/stdc-predef.h" 3 4--------------------------------------------{-# LINE 10 "<command-line>" #-}-{-# LINE 1 "/opt/ghc/7.10.3/lib/ghc-7.10.3/include/ghcversion.h" #-}------------------{-# LINE 10 "<command-line>" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}--- -------------------------------------------------------------------------------- ALEX TEMPLATE------ This code is in the PUBLIC DOMAIN; you may copy it freely and use--- it for any purpose whatsoever.---- -------------------------------------------------------------------------------- INTERNALS and main scanner engine--{-# LINE 21 "templates/GenericTemplate.hs" #-}-------- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.-#if __GLASGOW_HASKELL__ > 706-#define GTE(n,m) (tagToEnum# (n >=# m))-#define EQ(n,m) (tagToEnum# (n ==# m))-#else-#define GTE(n,m) (n >=# m)-#define EQ(n,m) (n ==# m)-#endif-{-# LINE 51 "templates/GenericTemplate.hs" #-}---data AlexAddr = AlexA# Addr#--- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.-#if __GLASGOW_HASKELL__ < 503-uncheckedShiftL# = shiftL#-#endif--{-# INLINE alexIndexInt16OffAddr #-}-alexIndexInt16OffAddr (AlexA# arr) off =-#ifdef WORDS_BIGENDIAN- narrow16Int# i- where- i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)- high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))- low = int2Word# (ord# (indexCharOffAddr# arr off'))- off' = off *# 2#-#else- indexInt16OffAddr# arr off-#endif------{-# INLINE alexIndexInt32OffAddr #-}-alexIndexInt32OffAddr (AlexA# arr) off = -#ifdef WORDS_BIGENDIAN- narrow32Int# i- where- i = word2Int# ((b3 `uncheckedShiftL#` 24#) `or#`- (b2 `uncheckedShiftL#` 16#) `or#`- (b1 `uncheckedShiftL#` 8#) `or#` b0)- b3 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 3#)))- b2 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 2#)))- b1 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))- b0 = int2Word# (ord# (indexCharOffAddr# arr off'))- off' = off *# 4#-#else- indexInt32OffAddr# arr off-#endif-------#if __GLASGOW_HASKELL__ < 503-quickIndex arr i = arr ! i-#else--- GHC >= 503, unsafeAt is available from Data.Array.Base.-quickIndex = unsafeAt-#endif------- -------------------------------------------------------------------------------- Main lexing routines--data AlexReturn a- = AlexEOF- | AlexError !AlexInput- | AlexSkip !AlexInput !Int- | AlexToken !AlexInput !Int a---- alexScan :: AlexInput -> StartCode -> AlexReturn a-alexScan input (I# (sc))- = alexScanUser undefined input (I# (sc))--alexScanUser user input (I# (sc))- = case alex_scan_tkn user input 0# input sc AlexNone of- (AlexNone, input') ->- case alexGetByte input of- Nothing -> ---- AlexEOF- Just _ ->---- AlexError input'-- (AlexLastSkip input'' len, _) ->---- AlexSkip input'' len-- (AlexLastAcc k input''' len, _) ->---- AlexToken input''' len k----- Push the input through the DFA, remembering the most recent accepting--- state it encountered.--alex_scan_tkn user orig_input len input s last_acc =- input `seq` -- strict in the input- let - new_acc = (check_accs (alex_accept `quickIndex` (I# (s))))- in- new_acc `seq`- case alexGetByte input of- Nothing -> (new_acc, input)- Just (c, new_input) -> ---- case fromIntegral c of { (I# (ord_c)) ->- let- base = alexIndexInt32OffAddr alex_base s- offset = (base +# ord_c)- check = alexIndexInt16OffAddr alex_check offset- - new_s = if GTE(offset,0#) && EQ(check,ord_c)- then alexIndexInt16OffAddr alex_table offset- else alexIndexInt16OffAddr alex_deflt s- in- case new_s of- -1# -> (new_acc, input)- -- on an error, we want to keep the input *before* the- -- character that failed, not after.- _ -> alex_scan_tkn user orig_input (if c < 0x80 || c >= 0xC0 then (len +# 1#) else len)- -- note that the length is increased ONLY if this is the 1st byte in a char encoding)- new_input new_s new_acc- }- where- check_accs (AlexAccNone) = last_acc- check_accs (AlexAcc a ) = AlexLastAcc a input (I# (len))- check_accs (AlexAccSkip) = AlexLastSkip input (I# (len))-{-# LINE 198 "templates/GenericTemplate.hs" #-}--data AlexLastAcc a- = AlexNone- | AlexLastAcc a !AlexInput !Int- | AlexLastSkip !AlexInput !Int--instance Functor AlexLastAcc where- fmap _ AlexNone = AlexNone- fmap f (AlexLastAcc x y z) = AlexLastAcc (f x) y z- fmap _ (AlexLastSkip x y) = AlexLastSkip x y--data AlexAcc a user- = AlexAccNone- | AlexAcc a- | AlexAccSkip
binary file changed (1116163 → absent bytes)
@@ -1,11 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Backpack.ComponentsGraph</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Backpack.ComponentsGraph</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>See <a href="https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst">https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst</a></p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">type</span> <a href="#t:ComponentsGraph">ComponentsGraph</a> = <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> (<a href="Distribution-Compat-Graph.html#t:Node">Node</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> <a href="Distribution-Types-Component.html#t:Component">Component</a>)</li><li class="src short"><span class="keyword">type</span> <a href="#t:ComponentsWithDeps">ComponentsWithDeps</a> = [(<a href="Distribution-Types-Component.html#t:Component">Component</a>, [<a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>])]</li><li class="src short"><a href="#v:mkComponentsGraph">mkComponentsGraph</a> :: <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> [<a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>] <a href="Distribution-Backpack-ComponentsGraph.html#t:ComponentsGraph">ComponentsGraph</a></li><li class="src short"><a href="#v:componentsGraphToList">componentsGraphToList</a> :: <a href="Distribution-Backpack-ComponentsGraph.html#t:ComponentsGraph">ComponentsGraph</a> -> <a href="Distribution-Backpack-ComponentsGraph.html#t:ComponentsWithDeps">ComponentsWithDeps</a></li><li class="src short"><a href="#v:dispComponentsWithDeps">dispComponentsWithDeps</a> :: <a href="Distribution-Backpack-ComponentsGraph.html#t:ComponentsWithDeps">ComponentsWithDeps</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:componentCycleMsg">componentCycleMsg</a> :: [<a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:ComponentsGraph" class="def">ComponentsGraph</a> = <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> (<a href="Distribution-Compat-Graph.html#t:Node">Node</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> <a href="Distribution-Types-Component.html#t:Component">Component</a>) <a href="#t:ComponentsGraph" class="selflink">#</a></p><div class="doc"><p>A graph of source-level components by their source-level- dependencies</p></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:ComponentsWithDeps" class="def">ComponentsWithDeps</a> = [(<a href="Distribution-Types-Component.html#t:Component">Component</a>, [<a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>])] <a href="#t:ComponentsWithDeps" class="selflink">#</a></p><div class="doc"><p>A list of components associated with the source level- dependencies between them.</p></div></div><div class="top"><p class="src"><a id="v:mkComponentsGraph" class="def">mkComponentsGraph</a> :: <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> [<a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>] <a href="Distribution-Backpack-ComponentsGraph.html#t:ComponentsGraph">ComponentsGraph</a> <a href="#v:mkComponentsGraph" class="selflink">#</a></p><div class="doc"><p>Create a <code><a href="Distribution-Compat-Graph.html#t:Graph">Graph</a></code> of <code><a href="Distribution-Types-Component.html#t:Component">Component</a></code>, or report a cycle if there is a- problem.</p></div></div><div class="top"><p class="src"><a id="v:componentsGraphToList" class="def">componentsGraphToList</a> :: <a href="Distribution-Backpack-ComponentsGraph.html#t:ComponentsGraph">ComponentsGraph</a> -> <a href="Distribution-Backpack-ComponentsGraph.html#t:ComponentsWithDeps">ComponentsWithDeps</a> <a href="#v:componentsGraphToList" class="selflink">#</a></p><div class="doc"><p>Given the package description and a <code><a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></code> (used- to determine if a package name is internal or not), sort the- components in dependency order (fewest dependencies first). This is- NOT necessarily the build order (although it is in the absence of- Backpack.)</p></div></div><div class="top"><p class="src"><a id="v:dispComponentsWithDeps" class="def">dispComponentsWithDeps</a> :: <a href="Distribution-Backpack-ComponentsGraph.html#t:ComponentsWithDeps">ComponentsWithDeps</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:dispComponentsWithDeps" class="selflink">#</a></p><div class="doc"><p>Pretty-print <code><a href="Distribution-Backpack-ComponentsGraph.html#t:ComponentsWithDeps">ComponentsWithDeps</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:componentCycleMsg" class="def">componentCycleMsg</a> :: [<a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:componentCycleMsg" class="selflink">#</a></p><div class="doc"><p>Error message when there is a cycle; takes the SCC of components.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,5 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Backpack.Configure</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Backpack.Configure</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>See <a href="https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst">https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst</a></p><p>WARNING: The contents of this module are HIGHLY experimental.- We may refactor it under you.</p></div></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:configureComponentLocalBuildInfos" class="def">configureComponentLocalBuildInfos</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [PreExistingComponent] -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a> -> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Types-Module.html#t:Module">Module</a>)] -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> ([<a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>], <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a>) <a href="#v:configureComponentLocalBuildInfos" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,16 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Backpack.ConfiguredComponent</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Backpack.ConfiguredComponent</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>See <a href="https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst">https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst</a></p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:ConfiguredComponent">ConfiguredComponent</a> = <a href="#v:ConfiguredComponent">ConfiguredComponent</a> {<ul class="subs"><li><a href="#v:cc_ann_id">cc_ann_id</a> :: <a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></li><li><a href="#v:cc_component">cc_component</a> :: <a href="Distribution-Types-Component.html#t:Component">Component</a></li><li><a href="#v:cc_public">cc_public</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:cc_exe_deps">cc_exe_deps</a> :: [<a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>]</li><li><a href="#v:cc_includes">cc_includes</a> :: [<a href="Distribution-Types-ComponentInclude.html#t:ComponentInclude">ComponentInclude</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a>]</li></ul>}</li><li class="src short"><a href="#v:cc_name">cc_name</a> :: <a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">ConfiguredComponent</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></li><li class="src short"><a href="#v:cc_cid">cc_cid</a> :: <a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">ConfiguredComponent</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></li><li class="src short"><a href="#v:cc_pkgid">cc_pkgid</a> :: <a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">ConfiguredComponent</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a></li><li class="src short"><a href="#v:toConfiguredComponent">toConfiguredComponent</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponentMap">ConfiguredComponentMap</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> <a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">ConfiguredComponent</a></li><li class="src short"><a href="#v:toConfiguredComponents">toConfiguredComponents</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponentMap">ConfiguredComponentMap</a> -> [<a href="Distribution-Types-Component.html#t:Component">Component</a>] -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> [<a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">ConfiguredComponent</a>]</li><li class="src short"><a href="#v:dispConfiguredComponent">dispConfiguredComponent</a> :: <a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">ConfiguredComponent</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:ConfiguredComponentMap">ConfiguredComponentMap</a> = <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> (<a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>))</li><li class="src short"><a href="#v:extendConfiguredComponentMap">extendConfiguredComponentMap</a> :: <a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">ConfiguredComponent</a> -> <a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponentMap">ConfiguredComponentMap</a> -> <a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponentMap">ConfiguredComponentMap</a></li><li class="src short"><a href="#v:newPackageDepsBehaviour">newPackageDepsBehaviour</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ConfiguredComponent" class="def">ConfiguredComponent</a> <a href="#t:ConfiguredComponent" class="selflink">#</a></p><div class="doc"><p>A configured component, we know exactly what its <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code> is,- and the <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code>s of the things it depends on.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ConfiguredComponent" class="def">ConfiguredComponent</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:cc_ann_id" class="def">cc_ann_id</a> :: <a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></dfn><div class="doc"><p>Unique identifier of component, plus extra useful info.</p></div></li><li><dfn class="src"><a id="v:cc_component" class="def">cc_component</a> :: <a href="Distribution-Types-Component.html#t:Component">Component</a></dfn><div class="doc"><p>The fragment of syntax from the Cabal file describing this- component.</p></div></li><li><dfn class="src"><a id="v:cc_public" class="def">cc_public</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Is this the public library component of the package?- (If we invoke Setup with an instantiation, this is the- component the instantiation applies to.)- Note that in one-component configure mode, this is- always True, because any component is the "public" one.)</p></div></li><li><dfn class="src"><a id="v:cc_exe_deps" class="def">cc_exe_deps</a> :: [<a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>]</dfn><div class="doc"><p>Dependencies on executables from <code>build-tools</code> and- <code>build-tool-depends</code>.</p></div></li><li><dfn class="src"><a id="v:cc_includes" class="def">cc_includes</a> :: [<a href="Distribution-Types-ComponentInclude.html#t:ComponentInclude">ComponentInclude</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a>]</dfn><div class="doc"><p>The mixins of this package, including both explicit (from- the <code>mixins</code> field) and implicit (from <code>build-depends</code>). Not- mix-in linked yet; component configuration only looks at- <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code>s.</p></div></li></ul></div></td></tr></table></div></div><div class="top"><p class="src"><a id="v:cc_name" class="def">cc_name</a> :: <a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">ConfiguredComponent</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> <a href="#v:cc_name" class="selflink">#</a></p><div class="doc"><p>The <code><a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></code> of a component; this uniquely identifies- a fragment of syntax within a specified Cabal file describing the- component.</p></div></div><div class="top"><p class="src"><a id="v:cc_cid" class="def">cc_cid</a> :: <a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">ConfiguredComponent</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="#v:cc_cid" class="selflink">#</a></p><div class="doc"><p>Uniquely identifies a configured component.</p></div></div><div class="top"><p class="src"><a id="v:cc_pkgid" class="def">cc_pkgid</a> :: <a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">ConfiguredComponent</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> <a href="#v:cc_pkgid" class="selflink">#</a></p><div class="doc"><p>The package this component came from.</p></div></div><div class="top"><p class="src"><a id="v:toConfiguredComponent" class="def">toConfiguredComponent</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponentMap">ConfiguredComponentMap</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> <a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">ConfiguredComponent</a> <a href="#v:toConfiguredComponent" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:toConfiguredComponents" class="def">toConfiguredComponents</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponentMap">ConfiguredComponentMap</a> -> [<a href="Distribution-Types-Component.html#t:Component">Component</a>] -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> [<a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">ConfiguredComponent</a>] <a href="#v:toConfiguredComponents" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:dispConfiguredComponent" class="def">dispConfiguredComponent</a> :: <a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">ConfiguredComponent</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:dispConfiguredComponent" class="selflink">#</a></p><div class="doc"><p>Pretty-print a <code><a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">ConfiguredComponent</a></code>.</p></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:ConfiguredComponentMap" class="def">ConfiguredComponentMap</a> = <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> (<a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>)) <a href="#t:ConfiguredComponentMap" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:extendConfiguredComponentMap" class="def">extendConfiguredComponentMap</a> :: <a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">ConfiguredComponent</a> -> <a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponentMap">ConfiguredComponentMap</a> -> <a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponentMap">ConfiguredComponentMap</a> <a href="#v:extendConfiguredComponentMap" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:newPackageDepsBehaviour" class="def">newPackageDepsBehaviour</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:newPackageDepsBehaviour" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,8 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Backpack.DescribeUnitId</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Backpack.DescribeUnitId</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:setupMessage-39-">setupMessage'</a> :: <a href="Distribution-Text.html#t:Text">Text</a> a => <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, a)] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:setupMessage-39-" class="def">setupMessage'</a> <a href="#v:setupMessage-39-" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Text.html#t:Text">Text</a> a</td><td class="doc empty"> </td></tr><tr><td class="src">=> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>Operation being done (capitalized), on:</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></td><td class="doc"><p>Package</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></td><td class="doc"><p>Component name</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, a)]</td><td class="doc"><p>Instantiation, if available.- Polymorphic to take- <code>OpenModule</code> or <code>Module</code></p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Print a Setup message stating (1) what operation we are doing,- for (2) which component (with enough details to uniquely identify- the build in question.)</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Backpack.FullUnitId</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Backpack.FullUnitId</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:FullUnitId" class="def">FullUnitId</a> <a href="#t:FullUnitId" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:FullUnitId" class="def">FullUnitId</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:FullUnitId" class="caption collapser" onclick="toggleSection('i:FullUnitId')">Instances</p><div id="section.i:FullUnitId" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FullUnitId:Show:1" class="instance expander" onclick="toggleSection('i:id:FullUnitId:Show:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Backpack-FullUnitId.html#t:FullUnitId">FullUnitId</a></span> <a href="#t:FullUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FullUnitId:Show:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Backpack-FullUnitId.html#t:FullUnitId">FullUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Backpack-FullUnitId.html#t:FullUnitId">FullUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Backpack-FullUnitId.html#t:FullUnitId">FullUnitId</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FullUnitId:Generic:2" class="instance expander" onclick="toggleSection('i:id:FullUnitId:Generic:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Backpack-FullUnitId.html#t:FullUnitId">FullUnitId</a></span> <a href="#t:FullUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FullUnitId:Generic:2" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack-FullUnitId.html#t:FullUnitId">FullUnitId</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Backpack-FullUnitId.html#t:FullUnitId">FullUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack-FullUnitId.html#t:FullUnitId">FullUnitId</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack-FullUnitId.html#t:FullUnitId">FullUnitId</a> x -> <a href="Distribution-Backpack-FullUnitId.html#t:FullUnitId">FullUnitId</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FullUnitId:Rep:3" class="instance expander" onclick="toggleSection('i:id:FullUnitId:Rep:3')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack-FullUnitId.html#t:FullUnitId">FullUnitId</a></span> <a href="#t:FullUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FullUnitId:Rep:3" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack-FullUnitId.html#t:FullUnitId">FullUnitId</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "FullUnitId" "Distribution.Backpack.FullUnitId" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "FullUnitId" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a>))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:FullDb" class="def">FullDb</a> = <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Backpack-FullUnitId.html#t:FullUnitId">FullUnitId</a> <a href="#t:FullDb" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:expandOpenUnitId" class="def">expandOpenUnitId</a> :: <a href="Distribution-Backpack-FullUnitId.html#t:FullDb">FullDb</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="Distribution-Backpack-FullUnitId.html#t:FullUnitId">FullUnitId</a> <a href="#v:expandOpenUnitId" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:expandUnitId" class="def">expandUnitId</a> :: <a href="Distribution-Backpack-FullUnitId.html#t:FullDb">FullDb</a> -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Backpack-FullUnitId.html#t:FullUnitId">FullUnitId</a> <a href="#v:expandUnitId" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,20 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Backpack.LinkedComponent</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Backpack.LinkedComponent</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>See <a href="https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst">https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst</a></p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:LinkedComponent">LinkedComponent</a> = <a href="#v:LinkedComponent">LinkedComponent</a> {<ul class="subs"><li><a href="#v:lc_ann_id">lc_ann_id</a> :: <a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></li><li><a href="#v:lc_component">lc_component</a> :: <a href="Distribution-Types-Component.html#t:Component">Component</a></li><li><a href="#v:lc_exe_deps">lc_exe_deps</a> :: [<a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>]</li><li><a href="#v:lc_public">lc_public</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:lc_includes">lc_includes</a> :: [<a href="Distribution-Types-ComponentInclude.html#t:ComponentInclude">ComponentInclude</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>]</li><li><a href="#v:lc_sig_includes">lc_sig_includes</a> :: [<a href="Distribution-Types-ComponentInclude.html#t:ComponentInclude">ComponentInclude</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>]</li><li><a href="#v:lc_shape">lc_shape</a> :: <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a></li></ul>}</li><li class="src short"><a href="#v:lc_insts">lc_insts</a> :: <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a> -> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>)]</li><li class="src short"><a href="#v:lc_uid">lc_uid</a> :: <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></li><li class="src short"><a href="#v:lc_cid">lc_cid</a> :: <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></li><li class="src short"><a href="#v:lc_pkgid">lc_pkgid</a> :: <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a></li><li class="src short"><a href="#v:toLinkedComponent">toLinkedComponent</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Backpack-FullUnitId.html#t:FullDb">FullDb</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponentMap">LinkedComponentMap</a> -> <a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">ConfiguredComponent</a> -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a></li><li class="src short"><a href="#v:toLinkedComponents">toLinkedComponents</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Backpack-FullUnitId.html#t:FullDb">FullDb</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponentMap">LinkedComponentMap</a> -> [<a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">ConfiguredComponent</a>] -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> [<a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a>]</li><li class="src short"><a href="#v:dispLinkedComponent">dispLinkedComponent</a> :: <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:LinkedComponentMap">LinkedComponentMap</a> = <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> (<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a>)</li><li class="src short"><a href="#v:extendLinkedComponentMap">extendLinkedComponentMap</a> :: <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a> -> <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponentMap">LinkedComponentMap</a> -> <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponentMap">LinkedComponentMap</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:LinkedComponent" class="def">LinkedComponent</a> <a href="#t:LinkedComponent" class="selflink">#</a></p><div class="doc"><p>A linked component is a component that has been mix-in linked, at- which point we have determined how all the dependencies of the- component are explicitly instantiated (in the form of an OpenUnitId).- <code><a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">ConfiguredComponent</a></code> is mix-in linked into <code><a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a></code>, which- is then instantiated into <code>ReadyComponent</code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:LinkedComponent" class="def">LinkedComponent</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:lc_ann_id" class="def">lc_ann_id</a> :: <a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></dfn><div class="doc"><p>Uniquely identifies linked component</p></div></li><li><dfn class="src"><a id="v:lc_component" class="def">lc_component</a> :: <a href="Distribution-Types-Component.html#t:Component">Component</a></dfn><div class="doc"><p>Corresponds to <code><a href="Distribution-Backpack-ConfiguredComponent.html#v:cc_component">cc_component</a></code>.</p></div></li><li><dfn class="src"><a id="v:lc_exe_deps" class="def">lc_exe_deps</a> :: [<a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>]</dfn><div class="doc"><p><code>build-tools</code> and <code>build-tool-depends</code> dependencies.- Corresponds to <code><a href="Distribution-Backpack-ConfiguredComponent.html#v:cc_exe_deps">cc_exe_deps</a></code>.</p></div></li><li><dfn class="src"><a id="v:lc_public" class="def">lc_public</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Is this the public library of a package? Corresponds to- <code><a href="Distribution-Backpack-ConfiguredComponent.html#v:cc_public">cc_public</a></code>.</p></div></li><li><dfn class="src"><a id="v:lc_includes" class="def">lc_includes</a> :: [<a href="Distribution-Types-ComponentInclude.html#t:ComponentInclude">ComponentInclude</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>]</dfn><div class="doc"><p>Corresponds to <code><a href="Distribution-Backpack-ConfiguredComponent.html#v:cc_includes">cc_includes</a></code>, but (1) this does not contain- includes of signature packages (packages with no exports),- and (2) the <code><a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></code> for requirements (stored in- <code><a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a></code>) has been removed, as it is reflected in- <code><a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></code>.)</p></div></li><li><dfn class="src"><a id="v:lc_sig_includes" class="def">lc_sig_includes</a> :: [<a href="Distribution-Types-ComponentInclude.html#t:ComponentInclude">ComponentInclude</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>]</dfn><div class="doc"><p>Like <code><a href="Distribution-Backpack-LinkedComponent.html#v:lc_includes">lc_includes</a></code>, but this specifies includes on- signature packages which have no exports.</p></div></li><li><dfn class="src"><a id="v:lc_shape" class="def">lc_shape</a> :: <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a></dfn><div class="doc"><p>The module shape computed by mix-in linking. This is- newly computed from <code><a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">ConfiguredComponent</a></code></p></div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:LinkedComponent" class="caption collapser" onclick="toggleSection('i:LinkedComponent')">Instances</p><div id="section.i:LinkedComponent" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LinkedComponent:Package:1" class="instance expander" onclick="toggleSection('i:id:LinkedComponent:Package:1')"></span> <a href="Distribution-Package.html#t:Package">Package</a> <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a></span> <a href="#t:LinkedComponent" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LinkedComponent:Package:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:packageId">packageId</a> :: <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:packageId" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:lc_insts" class="def">lc_insts</a> :: <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a> -> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>)] <a href="#v:lc_insts" class="selflink">#</a></p><div class="doc"><p>The instantiation of <code><a href="Distribution-Backpack-LinkedComponent.html#v:lc_uid">lc_uid</a></code>; this always has the invariant- that it is a mapping from a module name <code>A</code> to <code><a href="A">A</a></code> (the hole A).</p></div></div><div class="top"><p class="src"><a id="v:lc_uid" class="def">lc_uid</a> :: <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="#v:lc_uid" class="selflink">#</a></p><div class="doc"><p>The <code><a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></code> of this component in the "default" instantiation.- See also <code><a href="Distribution-Backpack-LinkedComponent.html#v:lc_insts">lc_insts</a></code>. <code><a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a></code>s cannot be instantiated- (e.g., there is no <code>ModSubst</code> instance for them).</p></div></div><div class="top"><p class="src"><a id="v:lc_cid" class="def">lc_cid</a> :: <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="#v:lc_cid" class="selflink">#</a></p><div class="doc"><p>Uniquely identifies a <code><a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a></code>. Corresponds to- <code><a href="Distribution-Backpack-ConfiguredComponent.html#v:cc_cid">cc_cid</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:lc_pkgid" class="def">lc_pkgid</a> :: <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> <a href="#v:lc_pkgid" class="selflink">#</a></p><div class="doc"><p>Corresponds to <code><a href="Distribution-Backpack-ConfiguredComponent.html#v:cc_pkgid">cc_pkgid</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:toLinkedComponent" class="def">toLinkedComponent</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Backpack-FullUnitId.html#t:FullDb">FullDb</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponentMap">LinkedComponentMap</a> -> <a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">ConfiguredComponent</a> -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a> <a href="#v:toLinkedComponent" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:toLinkedComponents" class="def">toLinkedComponents</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Backpack-FullUnitId.html#t:FullDb">FullDb</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponentMap">LinkedComponentMap</a> -> [<a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">ConfiguredComponent</a>] -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> [<a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a>] <a href="#v:toLinkedComponents" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:dispLinkedComponent" class="def">dispLinkedComponent</a> :: <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:dispLinkedComponent" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:LinkedComponentMap" class="def">LinkedComponentMap</a> = <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> (<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a>) <a href="#t:LinkedComponentMap" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:extendLinkedComponentMap" class="def">extendLinkedComponentMap</a> :: <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a> -> <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponentMap">LinkedComponentMap</a> -> <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponentMap">LinkedComponentMap</a> <a href="#v:extendLinkedComponentMap" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,5 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Backpack.ModSubst</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Backpack.ModSubst</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>A type class <code><a href="Distribution-Backpack-ModSubst.html#t:ModSubst">ModSubst</a></code> for objects which can have <code>ModuleSubst</code>- applied to them.</p><p>See also <a href="https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst">https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst</a></p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">class</span> <a href="#t:ModSubst">ModSubst</a> a <span class="keyword">where</span><ul class="subs"></ul></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:ModSubst" class="def">ModSubst</a> a <span class="keyword">where</span> <a href="#t:ModSubst" class="selflink">#</a></p><div class="doc"><p>Applying module substitutions to semantic objects.</p></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Distribution-Backpack-ModSubst.html#v:modSubst">modSubst</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:modSubst" class="def">modSubst</a> :: <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a> -> a -> a <a href="#v:modSubst" class="selflink">#</a></p></div><div class="subs instances"><p id="control.i:ModSubst" class="caption collapser" onclick="toggleSection('i:ModSubst')">Instances</p><div id="section.i:ModSubst" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:ModSubst:ModSubst:1" class="instance expander" onclick="toggleSection('i:ic:ModSubst:ModSubst:1')"></span> <a href="Distribution-Backpack-ModSubst.html#t:ModSubst">ModSubst</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a></span> <a href="#t:ModSubst" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:ModSubst:ModSubst:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:modSubst">modSubst</a> :: <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a> -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> <a href="#v:modSubst" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:ModSubst:ModSubst:2" class="instance expander" onclick="toggleSection('i:ic:ModSubst:ModSubst:2')"></span> <a href="Distribution-Backpack-ModSubst.html#t:ModSubst">ModSubst</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></span> <a href="#t:ModSubst" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:ModSubst:ModSubst:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:modSubst">modSubst</a> :: <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="#v:modSubst" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:ModSubst:ModSubst:3" class="instance expander" onclick="toggleSection('i:ic:ModSubst:ModSubst:3')"></span> <a href="Distribution-Backpack-ModSubst.html#t:ModSubst">ModSubst</a> <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a></span> <a href="#t:ModSubst" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:ModSubst:ModSubst:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:modSubst">modSubst</a> :: <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a> -> <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a> -> <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a> <a href="#v:modSubst" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:ModSubst:ModSubst:4" class="instance expander" onclick="toggleSection('i:ic:ModSubst:ModSubst:4')"></span> <a href="Distribution-Backpack-ModSubst.html#t:ModSubst">ModSubst</a> a => <a href="Distribution-Backpack-ModSubst.html#t:ModSubst">ModSubst</a> [a]</span> <a href="#t:ModSubst" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:ModSubst:ModSubst:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:modSubst">modSubst</a> :: <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a> -> [a] -> [a] <a href="#v:modSubst" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:ModSubst:ModSubst:5" class="instance expander" onclick="toggleSection('i:ic:ModSubst:ModSubst:5')"></span> <a href="Distribution-Backpack-ModSubst.html#t:ModSubst">ModSubst</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>)</span> <a href="#t:ModSubst" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:ModSubst:ModSubst:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:modSubst">modSubst</a> :: <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:modSubst" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:ModSubst:ModSubst:6" class="instance expander" onclick="toggleSection('i:ic:ModSubst:ModSubst:6')"></span> <a href="Distribution-Backpack-ModSubst.html#t:ModSubst">ModSubst</a> a => <a href="Distribution-Backpack-ModSubst.html#t:ModSubst">ModSubst</a> (k, a)</span> <a href="#t:ModSubst" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:ModSubst:ModSubst:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:modSubst">modSubst</a> :: <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a> -> (k, a) -> (k, a) <a href="#v:modSubst" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:ModSubst:ModSubst:7" class="instance expander" onclick="toggleSection('i:ic:ModSubst:ModSubst:7')"></span> <a href="Distribution-Backpack-ModSubst.html#t:ModSubst">ModSubst</a> a => <a href="Distribution-Backpack-ModSubst.html#t:ModSubst">ModSubst</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> k a)</span> <a href="#t:ModSubst" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:ModSubst:ModSubst:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:modSubst">modSubst</a> :: <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> k a -> <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> k a <a href="#v:modSubst" class="selflink">#</a></p></div></div></td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,6 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Backpack.ModuleShape</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Backpack.ModuleShape</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Module shapes</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>See <a href="https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst">https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst</a></p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:ModuleShape">ModuleShape</a> = <a href="#v:ModuleShape">ModuleShape</a> {<ul class="subs"><li><a href="#v:modShapeProvides">modShapeProvides</a> :: <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a></li><li><a href="#v:modShapeRequires">modShapeRequires</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li></ul>}</li><li class="src short"><a href="#v:emptyModuleShape">emptyModuleShape</a> :: <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a></li><li class="src short"><a href="#v:shapeInstalledPackage">shapeInstalledPackage</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a></li></ul></div><div id="interface"><h1 id="g:1">Module shapes</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ModuleShape" class="def">ModuleShape</a> <a href="#t:ModuleShape" class="selflink">#</a></p><div class="doc"><p>A <code><a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a></code> describes the provisions and requirements of- a library. We can extract a <code><a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a></code> from an- <code><a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ModuleShape" class="def">ModuleShape</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:modShapeProvides" class="def">modShapeProvides</a> :: <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:modShapeRequires" class="def">modShapeRequires</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:ModuleShape" class="caption collapser" onclick="toggleSection('i:ModuleShape')">Instances</p><div id="section.i:ModuleShape" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleShape:Eq:1" class="instance expander" onclick="toggleSection('i:id:ModuleShape:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a></span> <a href="#t:ModuleShape" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleShape:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a> -> <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a> -> <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleShape:Show:2" class="instance expander" onclick="toggleSection('i:id:ModuleShape:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a></span> <a href="#t:ModuleShape" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleShape:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleShape:Generic:3" class="instance expander" onclick="toggleSection('i:id:ModuleShape:Generic:3')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a></span> <a href="#t:ModuleShape" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleShape:Generic:3" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a> x -> <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleShape:Binary:4" class="instance expander" onclick="toggleSection('i:id:ModuleShape:Binary:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a></span> <a href="#t:ModuleShape" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleShape:Binary:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleShape:ModSubst:5" class="instance expander" onclick="toggleSection('i:id:ModuleShape:ModSubst:5')"></span> <a href="Distribution-Backpack-ModSubst.html#t:ModSubst">ModSubst</a> <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a></span> <a href="#t:ModuleShape" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleShape:ModSubst:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:modSubst">modSubst</a> :: <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a> -> <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a> -> <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a> <a href="#v:modSubst" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleShape:Rep:6" class="instance expander" onclick="toggleSection('i:id:ModuleShape:Rep:6')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a></span> <a href="#t:ModuleShape" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleShape:Rep:6" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ModuleShape" "Distribution.Backpack.ModuleShape" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ModuleShape" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "modShapeProvides") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "modShapeRequires") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyModuleShape" class="def">emptyModuleShape</a> :: <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a> <a href="#v:emptyModuleShape" class="selflink">#</a></p><div class="doc"><p>The default module shape, with no provisions and no requirements.</p></div></div><div class="top"><p class="src"><a id="v:shapeInstalledPackage" class="def">shapeInstalledPackage</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">ModuleShape</a> <a href="#v:shapeInstalledPackage" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,39 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Backpack</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Backpack</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">OpenUnitId</a></li><li><a href="#g:2">DefUnitId</a></li><li><a href="#g:3">OpenModule</a></li><li><a href="#g:4">OpenModuleSubst</a></li><li><a href="#g:5">Conversions to <code>UnitId</code></a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module defines the core data types for Backpack. For more- details, see:</p><p><a href="https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst">https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst</a></p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:OpenUnitId">OpenUnitId</a><ul class="subs"><li>= <a href="#v:IndefFullUnitId">IndefFullUnitId</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a></li><li>| <a href="#v:DefiniteUnitId">DefiniteUnitId</a> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a></li></ul></li><li class="src short"><a href="#v:openUnitIdFreeHoles">openUnitIdFreeHoles</a> :: <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li><li class="src short"><a href="#v:mkOpenUnitId">mkOpenUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:DefUnitId">DefUnitId</a></li><li class="src short"><a href="#v:unDefUnitId">unDefUnitId</a> :: <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li class="src short"><a href="#v:mkDefUnitId">mkDefUnitId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:OpenModule">OpenModule</a><ul class="subs"><li>= <a href="#v:OpenModule">OpenModule</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li><li>| <a href="#v:OpenModuleVar">OpenModuleVar</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li></ul></li><li class="src short"><a href="#v:openModuleFreeHoles">openModuleFreeHoles</a> :: <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:OpenModuleSubst">OpenModuleSubst</a> = <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a></li><li class="src short"><a href="#v:dispOpenModuleSubst">dispOpenModuleSubst</a> :: <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:dispOpenModuleSubstEntry">dispOpenModuleSubstEntry</a> :: (<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:parseOpenModuleSubst">parseOpenModuleSubst</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a></li><li class="src short"><a href="#v:parseOpenModuleSubstEntry">parseOpenModuleSubstEntry</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r (<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>)</li><li class="src short"><a href="#v:openModuleSubstFreeHoles">openModuleSubstFreeHoles</a> :: <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li><li class="src short"><a href="#v:abstractUnitId">abstractUnitId</a> :: <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li class="src short"><a href="#v:hashModuleSubst">hashModuleSubst</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></div><div id="interface"><h1 id="g:1">OpenUnitId</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:OpenUnitId" class="def">OpenUnitId</a> <a href="#t:OpenUnitId" class="selflink">#</a></p><div class="doc"><p>An <code><a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></code> describes a (possibly partially) instantiated- Backpack component, with a description of how the holes are filled- in. Unlike <code><a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></code>, the <code>ModuleSubst</code> is kept in a structured- form that allows for substitution (which fills in holes.) This form- of unit cannot be installed. It must first be converted to a- <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code>.</p><p>In the absence of Backpack, there are no holes to fill, so any such- component always has an empty module substitution; thus we can lossly- represent it as an 'OpenUnitId uid'.</p><p>For a source component using Backpack, however, there is more- structure as components may be parametrized over some signatures, and- these "holes" may be partially or wholly filled.</p><p>OpenUnitId plays an important role when we are mix-in linking,- and is recorded to the installed packaged database for indefinite- packages; however, for compiled packages that are fully instantiated,- we instantiate <code><a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></code> into <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code>.</p><p>For more details see the Backpack spec- <a href="https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst">https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst</a></p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:IndefFullUnitId" class="def">IndefFullUnitId</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a></td><td class="doc"><p>Identifies a component which may have some unfilled holes;- specifying its <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code> and its <code><a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a></code>.- TODO: Invariant that <code><a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a></code> is non-empty?- See also the Text instance.</p></td></tr><tr><td class="src"><a id="v:DefiniteUnitId" class="def">DefiniteUnitId</a> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a></td><td class="doc"><p>Identifies a fully instantiated component, which has- been compiled and abbreviated as a hash. The embedded <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code>- MUST NOT be for an indefinite component; an <code><a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></code>- is guaranteed not to have any holes.</p></td></tr></table></div><div class="subs instances"><p id="control.i:OpenUnitId" class="caption collapser" onclick="toggleSection('i:OpenUnitId')">Instances</p><div id="section.i:OpenUnitId" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OpenUnitId:Eq:1" class="instance expander" onclick="toggleSection('i:id:OpenUnitId:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></span> <a href="#t:OpenUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OpenUnitId:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OpenUnitId:Data:2" class="instance expander" onclick="toggleSection('i:id:OpenUnitId:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></span> <a href="#t:OpenUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OpenUnitId:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> c <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> m <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> m <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> m <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OpenUnitId:Ord:3" class="instance expander" onclick="toggleSection('i:id:OpenUnitId:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></span> <a href="#t:OpenUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OpenUnitId:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OpenUnitId:Read:4" class="instance expander" onclick="toggleSection('i:id:OpenUnitId:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></span> <a href="#t:OpenUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OpenUnitId:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OpenUnitId:Show:5" class="instance expander" onclick="toggleSection('i:id:OpenUnitId:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></span> <a href="#t:OpenUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OpenUnitId:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OpenUnitId:Generic:6" class="instance expander" onclick="toggleSection('i:id:OpenUnitId:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></span> <a href="#t:OpenUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OpenUnitId:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> x -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OpenUnitId:Binary:7" class="instance expander" onclick="toggleSection('i:id:OpenUnitId:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></span> <a href="#t:OpenUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OpenUnitId:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OpenUnitId:NFData:8" class="instance expander" onclick="toggleSection('i:id:OpenUnitId:NFData:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></span> <a href="#t:OpenUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OpenUnitId:NFData:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OpenUnitId:Text:9" class="instance expander" onclick="toggleSection('i:id:OpenUnitId:Text:9')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></span> <a href="#t:OpenUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OpenUnitId:Text:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OpenUnitId:ModSubst:10" class="instance expander" onclick="toggleSection('i:id:OpenUnitId:ModSubst:10')"></span> <a href="Distribution-Backpack-ModSubst.html#t:ModSubst">ModSubst</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></span> <a href="#t:ModSubst" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OpenUnitId:ModSubst:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:modSubst">modSubst</a> :: <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="#v:modSubst" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OpenUnitId:Rep:11" class="instance expander" onclick="toggleSection('i:id:OpenUnitId:Rep:11')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></span> <a href="#t:OpenUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OpenUnitId:Rep:11" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "OpenUnitId" "Distribution.Backpack" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "IndefFullUnitId" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DefiniteUnitId" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a>))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:openUnitIdFreeHoles" class="def">openUnitIdFreeHoles</a> :: <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:openUnitIdFreeHoles" class="selflink">#</a></p><div class="doc"><p>Get the set of holes (<code>ModuleVar</code>) embedded in a <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:mkOpenUnitId" class="def">mkOpenUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="#v:mkOpenUnitId" class="selflink">#</a></p><div class="doc"><p>Safe constructor from a UnitId. The only way to do this safely- is if the instantiation is provided.</p></div></div><h1 id="g:2">DefUnitId</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:DefUnitId" class="def">DefUnitId</a> <a href="#t:DefUnitId" class="selflink">#</a></p><div class="doc"><p>A <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> for a definite package. The <code><a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a></code> invariant says- that a <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> identified this way is definite; i.e., it has no- unfilled holes.</p></div><div class="subs instances"><p id="control.i:DefUnitId" class="caption collapser" onclick="toggleSection('i:DefUnitId')">Instances</p><div id="section.i:DefUnitId" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DefUnitId:Eq:1" class="instance expander" onclick="toggleSection('i:id:DefUnitId:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a></span> <a href="#t:DefUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DefUnitId:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DefUnitId:Data:2" class="instance expander" onclick="toggleSection('i:id:DefUnitId:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a></span> <a href="#t:DefUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DefUnitId:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> c <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> m <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> m <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> m <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DefUnitId:Ord:3" class="instance expander" onclick="toggleSection('i:id:DefUnitId:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a></span> <a href="#t:DefUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DefUnitId:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DefUnitId:Read:4" class="instance expander" onclick="toggleSection('i:id:DefUnitId:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a></span> <a href="#t:DefUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DefUnitId:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DefUnitId:Show:5" class="instance expander" onclick="toggleSection('i:id:DefUnitId:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a></span> <a href="#t:DefUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DefUnitId:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DefUnitId:Generic:6" class="instance expander" onclick="toggleSection('i:id:DefUnitId:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a></span> <a href="#t:DefUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DefUnitId:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> x -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DefUnitId:Binary:7" class="instance expander" onclick="toggleSection('i:id:DefUnitId:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a></span> <a href="#t:DefUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DefUnitId:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DefUnitId:NFData:8" class="instance expander" onclick="toggleSection('i:id:DefUnitId:NFData:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a></span> <a href="#t:DefUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DefUnitId:NFData:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DefUnitId:Text:9" class="instance expander" onclick="toggleSection('i:id:DefUnitId:Text:9')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a></span> <a href="#t:DefUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DefUnitId:Text:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DefUnitId:Rep:10" class="instance expander" onclick="toggleSection('i:id:DefUnitId:Rep:10')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a></span> <a href="#t:DefUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DefUnitId:Rep:10" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "DefUnitId" "Distribution.Types.UnitId" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DefUnitId" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "unDefUnitId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>)))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:unDefUnitId" class="def">unDefUnitId</a> :: <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:unDefUnitId" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:mkDefUnitId" class="def">mkDefUnitId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a> <a href="#v:mkDefUnitId" class="selflink">#</a></p><div class="doc"><p>Create a <code><a href="Distribution-Backpack.html#t:DefUnitId">DefUnitId</a></code> from a <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code> and an instantiation- with no holes.</p></div></div><h1 id="g:3">OpenModule</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:OpenModule" class="def">OpenModule</a> <a href="#t:OpenModule" class="selflink">#</a></p><div class="doc"><p>Unlike a <code><a href="Distribution-Types-Module.html#t:Module">Module</a></code>, an <code><a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a></code> is either an ordinary- module from some unit, OR an <code><a href="Distribution-Backpack.html#v:OpenModuleVar">OpenModuleVar</a></code>, representing a- hole that needs to be filled in. Substitutions are over- module variables.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:OpenModule" class="def">OpenModule</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:OpenModuleVar" class="def">OpenModuleVar</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:OpenModule" class="caption collapser" onclick="toggleSection('i:OpenModule')">Instances</p><div id="section.i:OpenModule" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OpenModule:Eq:1" class="instance expander" onclick="toggleSection('i:id:OpenModule:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a></span> <a href="#t:OpenModule" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OpenModule:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OpenModule:Data:2" class="instance expander" onclick="toggleSection('i:id:OpenModule:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a></span> <a href="#t:OpenModule" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OpenModule:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> c <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> m <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> m <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> m <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OpenModule:Ord:3" class="instance expander" onclick="toggleSection('i:id:OpenModule:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a></span> <a href="#t:OpenModule" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OpenModule:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OpenModule:Read:4" class="instance expander" onclick="toggleSection('i:id:OpenModule:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a></span> <a href="#t:OpenModule" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OpenModule:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OpenModule:Show:5" class="instance expander" onclick="toggleSection('i:id:OpenModule:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a></span> <a href="#t:OpenModule" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OpenModule:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OpenModule:Generic:6" class="instance expander" onclick="toggleSection('i:id:OpenModule:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a></span> <a href="#t:OpenModule" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OpenModule:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> x -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OpenModule:Binary:7" class="instance expander" onclick="toggleSection('i:id:OpenModule:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a></span> <a href="#t:OpenModule" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OpenModule:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OpenModule:NFData:8" class="instance expander" onclick="toggleSection('i:id:OpenModule:NFData:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a></span> <a href="#t:OpenModule" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OpenModule:NFData:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OpenModule:Text:9" class="instance expander" onclick="toggleSection('i:id:OpenModule:Text:9')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a></span> <a href="#t:OpenModule" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OpenModule:Text:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OpenModule:ModSubst:10" class="instance expander" onclick="toggleSection('i:id:OpenModule:ModSubst:10')"></span> <a href="Distribution-Backpack-ModSubst.html#t:ModSubst">ModSubst</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a></span> <a href="#t:ModSubst" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OpenModule:ModSubst:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:modSubst">modSubst</a> :: <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a> -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> <a href="#v:modSubst" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OpenModule:Rep:11" class="instance expander" onclick="toggleSection('i:id:OpenModule:Rep:11')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a></span> <a href="#t:OpenModule" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OpenModule:Rep:11" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "OpenModule" "Distribution.Backpack" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "OpenModule" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "OpenModuleVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:openModuleFreeHoles" class="def">openModuleFreeHoles</a> :: <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:openModuleFreeHoles" class="selflink">#</a></p><div class="doc"><p>Get the set of holes (<code>ModuleVar</code>) embedded in a <code><a href="Distribution-Types-Module.html#t:Module">Module</a></code>.</p></div></div><h1 id="g:4">OpenModuleSubst</h1><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:OpenModuleSubst" class="def">OpenModuleSubst</a> = <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> <a href="#t:OpenModuleSubst" class="selflink">#</a></p><div class="doc"><p>An explicit substitution on modules.</p><p>NB: These substitutions are NOT idempotent, for example, a- valid substitution is (A -> B, B -> A).</p></div></div><div class="top"><p class="src"><a id="v:dispOpenModuleSubst" class="def">dispOpenModuleSubst</a> :: <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:dispOpenModuleSubst" class="selflink">#</a></p><div class="doc"><p>Pretty-print the entries of a module substitution, suitable- for embedding into a <code><a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></code> or passing to GHC via <code>--instantiate-with</code>.</p></div></div><div class="top"><p class="src"><a id="v:dispOpenModuleSubstEntry" class="def">dispOpenModuleSubstEntry</a> :: (<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:dispOpenModuleSubstEntry" class="selflink">#</a></p><div class="doc"><p>Pretty-print a single entry of a module substitution.</p></div></div><div class="top"><p class="src"><a id="v:parseOpenModuleSubst" class="def">parseOpenModuleSubst</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a> <a href="#v:parseOpenModuleSubst" class="selflink">#</a></p><div class="doc"><p>Inverse to <code>dispModSubst</code>.</p></div></div><div class="top"><p class="src"><a id="v:parseOpenModuleSubstEntry" class="def">parseOpenModuleSubstEntry</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r (<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>) <a href="#v:parseOpenModuleSubstEntry" class="selflink">#</a></p><div class="doc"><p>Inverse to <code>dispModSubstEntry</code>.</p></div></div><div class="top"><p class="src"><a id="v:openModuleSubstFreeHoles" class="def">openModuleSubstFreeHoles</a> :: <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:openModuleSubstFreeHoles" class="selflink">#</a></p><div class="doc"><p>Get the set of holes (<code>ModuleVar</code>) embedded in a <code><a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a></code>.- This is NOT the domain of the substitution.</p></div></div><h1 id="g:5">Conversions to <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code></h1><div class="top"><p class="src"><a id="v:abstractUnitId" class="def">abstractUnitId</a> :: <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:abstractUnitId" class="selflink">#</a></p><div class="doc"><p>When typechecking, we don't demand that a freshly instantiated- <code><a href="Distribution-Backpack.html#v:IndefFullUnitId">IndefFullUnitId</a></code> be compiled; instead, we just depend on the- installed indefinite unit installed at the <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:hashModuleSubst" class="def">hashModuleSubst</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:hashModuleSubst" class="selflink">#</a></p><div class="doc"><p>Take a module substitution and hash it into a string suitable for- <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code>. Note that since this takes <code><a href="Distribution-Types-Module.html#t:Module">Module</a></code>, not <code><a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a></code>,- you are responsible for recursively converting <code><a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a></code>- into <code><a href="Distribution-Types-Module.html#t:Module">Module</a></code>. See also <a href="Distribution-Backpack-ReadyComponent.html">Distribution.Backpack.ReadyComponent</a>.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Compat.Binary</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Compat.Binary</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:decodeOrFailIO">decodeOrFailIO</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> a)</li><li class="src short"><a href="#v:decodeFileOrFail-39-">decodeFileOrFail'</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> a)</li><li class="src short">module <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary.html">Data.Binary</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:decodeOrFailIO" class="def">decodeOrFailIO</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> a) <a href="#v:decodeOrFailIO" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:decodeFileOrFail-39-" class="def">decodeFileOrFail'</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> a) <a href="#v:decodeFileOrFail-39-" class="selflink">#</a></p><div class="doc"><p>Lazily reconstruct a value previously written to a file.</p></div></div><div class="top"><p class="src">module <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary.html">Data.Binary</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Compat.CreatePipe</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Compat.CreatePipe</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:createPipe" class="def">createPipe</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-IO-Handle.html#t:Handle">Handle</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-IO-Handle.html#t:Handle">Handle</a>) <a href="#v:createPipe" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Compat.DList</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(c) Ben Gamari 2015-2019</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-dev@haskell.org</td></tr><tr><th>Stability</th><td>experimental</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Compat.DList</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>A very simple difference list.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:DList">DList</a> a</li><li class="src short"><a href="#v:runDList">runDList</a> :: <a href="Distribution-Compat-DList.html#t:DList">DList</a> a -> [a]</li><li class="src short"><a href="#v:singleton">singleton</a> :: a -> <a href="Distribution-Compat-DList.html#t:DList">DList</a> a</li><li class="src short"><a href="#v:snoc">snoc</a> :: <a href="Distribution-Compat-DList.html#t:DList">DList</a> a -> a -> <a href="Distribution-Compat-DList.html#t:DList">DList</a> a</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:DList" class="def">DList</a> a <a href="#t:DList" class="selflink">#</a></p><div class="doc"><p>Difference list.</p></div><div class="subs instances"><p id="control.i:DList" class="caption collapser" onclick="toggleSection('i:DList')">Instances</p><div id="section.i:DList" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DList:Semigroup:1" class="instance expander" onclick="toggleSection('i:id:DList:Semigroup:1')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Distribution-Compat-DList.html#t:DList">DList</a> a)</span> <a href="#t:DList" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DList:Semigroup:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Compat-DList.html#t:DList">DList</a> a -> <a href="Distribution-Compat-DList.html#t:DList">DList</a> a -> <a href="Distribution-Compat-DList.html#t:DList">DList</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Distribution-Compat-DList.html#t:DList">DList</a> a) -> <a href="Distribution-Compat-DList.html#t:DList">DList</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Compat-DList.html#t:DList">DList</a> a -> <a href="Distribution-Compat-DList.html#t:DList">DList</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DList:Monoid:2" class="instance expander" onclick="toggleSection('i:id:DList:Monoid:2')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="Distribution-Compat-DList.html#t:DList">DList</a> a)</span> <a href="#t:DList" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DList:Monoid:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Compat-DList.html#t:DList">DList</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Compat-DList.html#t:DList">DList</a> a -> <a href="Distribution-Compat-DList.html#t:DList">DList</a> a -> <a href="Distribution-Compat-DList.html#t:DList">DList</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Compat-DList.html#t:DList">DList</a> a] -> <a href="Distribution-Compat-DList.html#t:DList">DList</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:runDList" class="def">runDList</a> :: <a href="Distribution-Compat-DList.html#t:DList">DList</a> a -> [a] <a href="#v:runDList" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:singleton" class="def">singleton</a> :: a -> <a href="Distribution-Compat-DList.html#t:DList">DList</a> a <a href="#v:singleton" class="selflink">#</a></p><div class="doc"><p>Make <code><a href="Distribution-Compat-DList.html#t:DList">DList</a></code> with containing single element.</p></div></div><div class="top"><p class="src"><a id="v:snoc" class="def">snoc</a> :: <a href="Distribution-Compat-DList.html#t:DList">DList</a> a -> a -> <a href="Distribution-Compat-DList.html#t:DList">DList</a> a <a href="#v:snoc" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Compat.Exception</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Compat.Exception</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:catchIO">catchIO</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Exception-Base.html#t:IOException">IOException</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:catchExit">catchExit</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-Exit.html#t:ExitCode">ExitCode</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:tryIO">tryIO</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Exception-Base.html#t:IOException">IOException</a> a)</li><li class="src short"><a href="#v:displayException">displayException</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Exception-Base.html#t:Exception">Exception</a> e => e -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:catchIO" class="def">catchIO</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Exception-Base.html#t:IOException">IOException</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a <a href="#v:catchIO" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:catchExit" class="def">catchExit</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-Exit.html#t:ExitCode">ExitCode</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a <a href="#v:catchExit" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:tryIO" class="def">tryIO</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Exception-Base.html#t:IOException">IOException</a> a) <a href="#v:tryIO" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:displayException" class="def">displayException</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Exception-Base.html#t:Exception">Exception</a> e => e -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:displayException" class="selflink">#</a></p><div class="doc"><p>Render this exception value in a human-friendly manner.</p><p>Default implementation: <code><code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#v:show">show</a></code></code>.</p><p><em>Since: 4.8.0.0</em></p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,46 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Compat.Graph</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(c) Edward Z. Yang 2016</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-dev@haskell.org</td></tr><tr><th>Stability</th><td>experimental</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Compat.Graph</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Graph type</a></li><li><a href="#g:2">Query</a></li><li><a href="#g:3">Construction</a></li><li><a href="#g:4">Combine</a></li><li><a href="#g:5">Graph algorithms</a></li><li><a href="#g:6">Conversions</a><ul><li><a href="#g:7">Maps</a></li><li><a href="#g:8">Lists</a></li><li><a href="#g:9">Sets</a></li><li><a href="#g:10">Graphs</a></li></ul></li><li><a href="#g:11">Node type</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>A data type representing directed graphs, backed by <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Graph.html">Data.Graph</a>.- It is strict in the node type.</p><p>This is an alternative interface to <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Graph.html">Data.Graph</a>. In this interface,- nodes (identified by the <code><a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a></code> type class) are associated with a- key and record the keys of their neighbors. This interface is more- convenient than <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Graph.html#v:Graph">Graph</a></code>, which requires vertices to be- explicitly handled by integer indexes.</p><p>The current implementation has somewhat peculiar performance- characteristics. The asymptotics of all map-like operations mirror- their counterparts in <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Map.html">Data.Map</a>. However, to perform a graph- operation, we first must build the <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Graph.html">Data.Graph</a> representation, an- operation that takes <em>O(V + E log V)</em>. However, this operation can- be amortized across all queries on that particular graph.</p><p>Some nodes may be broken, i.e., refer to neighbors which are not- stored in the graph. In our graph algorithms, we transparently- ignore such edges; however, you can easily query for the broken- vertices of a graph using <code><a href="Distribution-Compat-Graph.html#v:broken">broken</a></code> (and should, e.g., to ensure that- a closure of a graph is well-formed.) It's possible to take a closed- subset of a broken graph and get a well-formed graph.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:Graph">Graph</a> a</li><li class="src short"><span class="keyword">class</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> (<a href="Distribution-Compat-Graph.html#t:Key">Key</a> a) => <a href="#t:IsNode">IsNode</a> a <span class="keyword">where</span><ul class="subs"><li><span class="keyword">type</span> <a href="#t:Key">Key</a> a :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a></li></ul></li><li class="src short"><a href="#v:null">null</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:size">size</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:member">member</a> :: <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> a => <a href="Distribution-Compat-Graph.html#t:Key">Key</a> a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:lookup">lookup</a> :: <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> a => <a href="Distribution-Compat-Graph.html#t:Key">Key</a> a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:empty">empty</a> :: <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> a => <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a</li><li class="src short"><a href="#v:insert">insert</a> :: <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> a => a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a</li><li class="src short"><a href="#v:deleteKey">deleteKey</a> :: <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> a => <a href="Distribution-Compat-Graph.html#t:Key">Key</a> a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a</li><li class="src short"><a href="#v:deleteLookup">deleteLookup</a> :: <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> a => <a href="Distribution-Compat-Graph.html#t:Key">Key</a> a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a, <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a)</li><li class="src short"><a href="#v:unionLeft">unionLeft</a> :: <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> a => <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a</li><li class="src short"><a href="#v:unionRight">unionRight</a> :: <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> a => <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a</li><li class="src short"><a href="#v:stronglyConnComp">stronglyConnComp</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> [<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a]</li><li class="src short"><span class="keyword">data</span> <a href="#t:SCC">SCC</a> vertex :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a><ul class="subs"><li>= <a href="#v:AcyclicSCC">AcyclicSCC</a> vertex</li><li>| <a href="#v:CyclicSCC">CyclicSCC</a> [vertex]</li></ul></li><li class="src short"><a href="#v:cycles">cycles</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> [[a]]</li><li class="src short"><a href="#v:broken">broken</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> [(a, [<a href="Distribution-Compat-Graph.html#t:Key">Key</a> a])]</li><li class="src short"><a href="#v:neighbors">neighbors</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [a]</li><li class="src short"><a href="#v:revNeighbors">revNeighbors</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [a]</li><li class="src short"><a href="#v:closure">closure</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> [<a href="Distribution-Compat-Graph.html#t:Key">Key</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [a]</li><li class="src short"><a href="#v:revClosure">revClosure</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> [<a href="Distribution-Compat-Graph.html#t:Key">Key</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [a]</li><li class="src short"><a href="#v:topSort">topSort</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> [a]</li><li class="src short"><a href="#v:revTopSort">revTopSort</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> [a]</li><li class="src short"><a href="#v:toMap">toMap</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> (<a href="Distribution-Compat-Graph.html#t:Key">Key</a> a) a</li><li class="src short"><a href="#v:fromDistinctList">fromDistinctList</a> :: (<a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> a, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-Compat-Graph.html#t:Key">Key</a> a)) => [a] -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a</li><li class="src short"><a href="#v:toList">toList</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> [a]</li><li class="src short"><a href="#v:keys">keys</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> [<a href="Distribution-Compat-Graph.html#t:Key">Key</a> a]</li><li class="src short"><a href="#v:keysSet">keysSet</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> (<a href="Distribution-Compat-Graph.html#t:Key">Key</a> a)</li><li class="src short"><a href="#v:toGraph">toGraph</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Graph.html#t:Graph">Graph</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Graph.html#t:Vertex">Vertex</a> -> a, <a href="Distribution-Compat-Graph.html#t:Key">Key</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Graph.html#t:Vertex">Vertex</a>)</li><li class="src short"><span class="keyword">data</span> <a href="#t:Node">Node</a> k a = <a href="#v:N">N</a> a k [k]</li><li class="src short"><a href="#v:nodeValue">nodeValue</a> :: <a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a -> a</li></ul></div><div id="interface"><h1 id="g:1">Graph type</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Graph" class="def">Graph</a> a <a href="#t:Graph" class="selflink">#</a></p><div class="doc"><p>A graph of nodes <code>a</code>. The nodes are expected to have instance- of class <code><a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a></code>.</p></div><div class="subs instances"><p id="control.i:Graph" class="caption collapser" onclick="toggleSection('i:Graph')">Instances</p><div id="section.i:Graph" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Graph:Foldable:1" class="instance expander" onclick="toggleSection('i:id:Graph:Foldable:1')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Foldable">Foldable</a> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a></span> <a href="#t:Graph" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Graph:Foldable:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fold">fold</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> m => <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> m -> m <a href="#v:fold" class="selflink">#</a></p><p class="src"><a href="#v:foldMap">foldMap</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> m => (a -> m) -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> m <a href="#v:foldMap" class="selflink">#</a></p><p class="src"><a href="#v:foldr">foldr</a> :: (a -> b -> b) -> b -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> b <a href="#v:foldr" class="selflink">#</a></p><p class="src"><a href="#v:foldr-39-">foldr'</a> :: (a -> b -> b) -> b -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> b <a href="#v:foldr-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldl">foldl</a> :: (b -> a -> b) -> b -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> b <a href="#v:foldl" class="selflink">#</a></p><p class="src"><a href="#v:foldl-39-">foldl'</a> :: (b -> a -> b) -> b -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> b <a href="#v:foldl-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldr1">foldr1</a> :: (a -> a -> a) -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> a <a href="#v:foldr1" class="selflink">#</a></p><p class="src"><a href="#v:foldl1">foldl1</a> :: (a -> a -> a) -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> a <a href="#v:foldl1" class="selflink">#</a></p><p class="src"><a href="#v:toList">toList</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> [a] <a href="#v:toList" class="selflink">#</a></p><p class="src"><a href="#v:null">null</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:null" class="selflink">#</a></p><p class="src"><a href="#v:length">length</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:length" class="selflink">#</a></p><p class="src"><a href="#v:elem">elem</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a => a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:elem" class="selflink">#</a></p><p class="src"><a href="#v:maximum">maximum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> a <a href="#v:maximum" class="selflink">#</a></p><p class="src"><a href="#v:minimum">minimum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> a <a href="#v:minimum" class="selflink">#</a></p><p class="src"><a href="#v:sum">sum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Num">Num</a> a => <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> a <a href="#v:sum" class="selflink">#</a></p><p class="src"><a href="#v:product">product</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Num">Num</a> a => <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> a <a href="#v:product" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Graph:Eq:2" class="instance expander" onclick="toggleSection('i:id:Graph:Eq:2')"></span> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Distribution-Compat-Graph.html#t:Key">Key</a> a), <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a) => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a)</span> <a href="#t:Graph" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Graph:Eq:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Graph:Read:3" class="instance expander" onclick="toggleSection('i:id:Graph:Read:3')"></span> (<a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> a, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> a, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-Compat-Graph.html#t:Key">Key</a> a)) => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> (<a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a)</span> <a href="#t:Graph" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Graph:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> (<a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a) <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> (<a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a) <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Graph:Show:4" class="instance expander" onclick="toggleSection('i:id:Graph:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a)</span> <a href="#t:Graph" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Graph:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Graph:Binary:5" class="instance expander" onclick="toggleSection('i:id:Graph:Binary:5')"></span> (<a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> a, <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> a, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-Compat-Graph.html#t:Key">Key</a> a)) => <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> (<a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a)</span> <a href="#t:Graph" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Graph:Binary:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> (<a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a) <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Graph:NFData:6" class="instance expander" onclick="toggleSection('i:id:Graph:NFData:6')"></span> (<a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> a, <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> (<a href="Distribution-Compat-Graph.html#t:Key">Key</a> a)) => <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> (<a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a)</span> <a href="#t:Graph" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Graph:NFData:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> (<a href="Distribution-Compat-Graph.html#t:Key">Key</a> a) => <a id="t:IsNode" class="def">IsNode</a> a <span class="keyword">where</span> <a href="#t:IsNode" class="selflink">#</a></p><div class="doc"><p>The <code><a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a></code> class is used for datatypes which represent directed- graph nodes. A node of type <code>a</code> is associated with some unique key of- type <code><code><a href="Distribution-Compat-Graph.html#t:Key">Key</a></code> a</code>; given a node we can determine its key (<code><a href="Distribution-Compat-Graph.html#v:nodeKey">nodeKey</a></code>)- and the keys of its neighbors (<code><a href="Distribution-Compat-Graph.html#v:nodeNeighbors">nodeNeighbors</a></code>).</p></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Distribution-Compat-Graph.html#v:nodeKey">nodeKey</a>, <a href="Distribution-Compat-Graph.html#v:nodeNeighbors">nodeNeighbors</a></p></div><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a id="t:Key" class="def">Key</a> a :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Key" class="selflink">#</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:nodeKey" class="def">nodeKey</a> :: a -> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> a <a href="#v:nodeKey" class="selflink">#</a></p><p class="src"><a id="v:nodeNeighbors" class="def">nodeNeighbors</a> :: a -> [<a href="Distribution-Compat-Graph.html#t:Key">Key</a> a] <a href="#v:nodeNeighbors" class="selflink">#</a></p></div><div class="subs instances"><p id="control.i:IsNode" class="caption collapser" onclick="toggleSection('i:IsNode')">Instances</p><div id="section.i:IsNode" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:IsNode:IsNode:1" class="instance expander" onclick="toggleSection('i:ic:IsNode:IsNode:1')"></span> <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></span> <a href="#t:IsNode" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:IsNode:IsNode:1" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Key" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:nodeKey">nodeKey</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:nodeKey" class="selflink">#</a></p><p class="src"><a href="#v:nodeNeighbors">nodeNeighbors</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> [<a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>] <a href="#v:nodeNeighbors" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:IsNode:IsNode:2" class="instance expander" onclick="toggleSection('i:ic:IsNode:IsNode:2')"></span> <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></span> <a href="#t:IsNode" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:IsNode:IsNode:2" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Key" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:nodeKey">nodeKey</a> :: <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> <a href="#v:nodeKey" class="selflink">#</a></p><p class="src"><a href="#v:nodeNeighbors">nodeNeighbors</a> :: <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> [<a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>] <a href="#v:nodeNeighbors" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:IsNode:IsNode:3" class="instance expander" onclick="toggleSection('i:ic:IsNode:IsNode:3')"></span> <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> <a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a></span> <a href="#t:IsNode" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:IsNode:IsNode:3" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Key" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:nodeKey">nodeKey</a> :: <a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a> -> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a> <a href="#v:nodeKey" class="selflink">#</a></p><p class="src"><a href="#v:nodeNeighbors">nodeNeighbors</a> :: <a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a> -> [<a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a>] <a href="#v:nodeNeighbors" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:IsNode:IsNode:4" class="instance expander" onclick="toggleSection('i:ic:IsNode:IsNode:4')"></span> (<a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> a, <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> b, (~) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Compat-Graph.html#t:Key">Key</a> a) (<a href="Distribution-Compat-Graph.html#t:Key">Key</a> b)) => <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> a b)</span> <a href="#t:IsNode" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:IsNode:IsNode:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> a b) :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Key" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:nodeKey">nodeKey</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> a b -> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> a b) <a href="#v:nodeKey" class="selflink">#</a></p><p class="src"><a href="#v:nodeNeighbors">nodeNeighbors</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> a b -> [<a href="Distribution-Compat-Graph.html#t:Key">Key</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> a b)] <a href="#v:nodeNeighbors" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:IsNode:IsNode:5" class="instance expander" onclick="toggleSection('i:ic:IsNode:IsNode:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> k => <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> (<a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a)</span> <a href="#t:IsNode" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:IsNode:IsNode:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> (<a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a) :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Key" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:nodeKey">nodeKey</a> :: <a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a -> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> (<a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a) <a href="#v:nodeKey" class="selflink">#</a></p><p class="src"><a href="#v:nodeNeighbors">nodeNeighbors</a> :: <a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a -> [<a href="Distribution-Compat-Graph.html#t:Key">Key</a> (<a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a)] <a href="#v:nodeNeighbors" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><h1 id="g:2">Query</h1><div class="top"><p class="src"><a id="v:null" class="def">null</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:null" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em>. Is the graph empty?</p></div></div><div class="top"><p class="src"><a id="v:size" class="def">size</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:size" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em>. The number of nodes in the graph.</p></div></div><div class="top"><p class="src"><a id="v:member" class="def">member</a> :: <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> a => <a href="Distribution-Compat-Graph.html#t:Key">Key</a> a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:member" class="selflink">#</a></p><div class="doc"><p><em>O(log V)</em>. Check if the key is in the graph.</p></div></div><div class="top"><p class="src"><a id="v:lookup" class="def">lookup</a> :: <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> a => <a href="Distribution-Compat-Graph.html#t:Key">Key</a> a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="#v:lookup" class="selflink">#</a></p><div class="doc"><p><em>O(log V)</em>. Lookup the node at a key in the graph.</p></div></div><h1 id="g:3">Construction</h1><div class="top"><p class="src"><a id="v:empty" class="def">empty</a> :: <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> a => <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a <a href="#v:empty" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em>. The empty graph.</p></div></div><div class="top"><p class="src"><a id="v:insert" class="def">insert</a> :: <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> a => a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a <a href="#v:insert" class="selflink">#</a></p><div class="doc"><p><em>O(log V)</em>. Insert a node into a graph.</p></div></div><div class="top"><p class="src"><a id="v:deleteKey" class="def">deleteKey</a> :: <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> a => <a href="Distribution-Compat-Graph.html#t:Key">Key</a> a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a <a href="#v:deleteKey" class="selflink">#</a></p><div class="doc"><p><em>O(log V)</em>. Delete the node at a key from the graph.</p></div></div><div class="top"><p class="src"><a id="v:deleteLookup" class="def">deleteLookup</a> :: <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> a => <a href="Distribution-Compat-Graph.html#t:Key">Key</a> a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a, <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a) <a href="#v:deleteLookup" class="selflink">#</a></p><div class="doc"><p><em>O(log V)</em>. Lookup and delete. This function returns the deleted- value if it existed.</p></div></div><h1 id="g:4">Combine</h1><div class="top"><p class="src"><a id="v:unionLeft" class="def">unionLeft</a> :: <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> a => <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a <a href="#v:unionLeft" class="selflink">#</a></p><div class="doc"><p><em>O(V + V')</em>. Left-biased union, preferring entries from- the first map when conflicts occur.</p></div></div><div class="top"><p class="src"><a id="v:unionRight" class="def">unionRight</a> :: <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> a => <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a <a href="#v:unionRight" class="selflink">#</a></p><div class="doc"><p><em>O(V + V')</em>. Right-biased union, preferring entries- from the second map when conflicts occur.- <code><code><a href="Distribution-Compat-Graph.html#v:nodeKey">nodeKey</a></code> x = <code><a href="Distribution-Compat-Graph.html#v:nodeKey">nodeKey</a></code> (f x)</code>.</p></div></div><h1 id="g:5">Graph algorithms</h1><div class="top"><p class="src"><a id="v:stronglyConnComp" class="def">stronglyConnComp</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> [<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a] <a href="#v:stronglyConnComp" class="selflink">#</a></p><div class="doc"><p><em>Ω(V + E)</em>. Compute the strongly connected components of a graph.- Requires amortized construction of graph.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:SCC" class="def">SCC</a> vertex :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:SCC" class="selflink">#</a></p><div class="doc"><p>Strongly connected component.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:AcyclicSCC" class="def">AcyclicSCC</a> vertex</td><td class="doc"><p>A single vertex that is not- in any cycle.</p></td></tr><tr><td class="src"><a id="v:CyclicSCC" class="def">CyclicSCC</a> [vertex]</td><td class="doc"><p>A maximal set of mutually- reachable vertices.</p></td></tr></table></div><div class="subs instances"><p id="control.i:SCC" class="caption collapser" onclick="toggleSection('i:SCC')">Instances</p><div id="section.i:SCC" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SCC:Functor:1" class="instance expander" onclick="toggleSection('i:id:SCC:Functor:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor.html#t:Functor">Functor</a> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SCC:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -> b) -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(<$)</a> :: a -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> b -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SCC:Foldable:2" class="instance expander" onclick="toggleSection('i:id:SCC:Foldable:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Foldable">Foldable</a> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SCC:Foldable:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fold">fold</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> m => <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> m -> m <a href="#v:fold" class="selflink">#</a></p><p class="src"><a href="#v:foldMap">foldMap</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> m => (a -> m) -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a -> m <a href="#v:foldMap" class="selflink">#</a></p><p class="src"><a href="#v:foldr">foldr</a> :: (a -> b -> b) -> b -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a -> b <a href="#v:foldr" class="selflink">#</a></p><p class="src"><a href="#v:foldr-39-">foldr'</a> :: (a -> b -> b) -> b -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a -> b <a href="#v:foldr-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldl">foldl</a> :: (b -> a -> b) -> b -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a -> b <a href="#v:foldl" class="selflink">#</a></p><p class="src"><a href="#v:foldl-39-">foldl'</a> :: (b -> a -> b) -> b -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a -> b <a href="#v:foldl-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldr1">foldr1</a> :: (a -> a -> a) -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a -> a <a href="#v:foldr1" class="selflink">#</a></p><p class="src"><a href="#v:foldl1">foldl1</a> :: (a -> a -> a) -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a -> a <a href="#v:foldl1" class="selflink">#</a></p><p class="src"><a href="#v:toList">toList</a> :: <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a -> [a] <a href="#v:toList" class="selflink">#</a></p><p class="src"><a href="#v:null">null</a> :: <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:null" class="selflink">#</a></p><p class="src"><a href="#v:length">length</a> :: <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:length" class="selflink">#</a></p><p class="src"><a href="#v:elem">elem</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a => a -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:elem" class="selflink">#</a></p><p class="src"><a href="#v:maximum">maximum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a -> a <a href="#v:maximum" class="selflink">#</a></p><p class="src"><a href="#v:minimum">minimum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a -> a <a href="#v:minimum" class="selflink">#</a></p><p class="src"><a href="#v:sum">sum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Num">Num</a> a => <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a -> a <a href="#v:sum" class="selflink">#</a></p><p class="src"><a href="#v:product">product</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Num">Num</a> a => <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a -> a <a href="#v:product" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SCC:Traversable:3" class="instance expander" onclick="toggleSection('i:id:SCC:Traversable:3')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Traversable">Traversable</a> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SCC:Traversable:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a -> f (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f => <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> (f a) -> f (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a -> m (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> b) <a href="#v:mapM" class="selflink">#</a></p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> (m a) -> m (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a) <a href="#v:sequence" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SCC:Eq1:4" class="instance expander" onclick="toggleSection('i:id:SCC:Eq1:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Classes.html#t:Eq1">Eq1</a> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SCC:Eq1:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:liftEq">liftEq</a> :: (a -> b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:liftEq" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SCC:Read1:5" class="instance expander" onclick="toggleSection('i:id:SCC:Read1:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Classes.html#t:Read1">Read1</a> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SCC:Read1:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:liftReadsPrec">liftReadsPrec</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> a) -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a) <a href="#v:liftReadsPrec" class="selflink">#</a></p><p class="src"><a href="#v:liftReadList">liftReadList</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> a) -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [a] -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a] <a href="#v:liftReadList" class="selflink">#</a></p><p class="src"><a href="#v:liftReadPrec">liftReadPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a) <a href="#v:liftReadPrec" class="selflink">#</a></p><p class="src"><a href="#v:liftReadListPrec">liftReadListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a] <a href="#v:liftReadListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SCC:Show1:6" class="instance expander" onclick="toggleSection('i:id:SCC:Show1:6')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Classes.html#t:Show1">Show1</a> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SCC:Show1:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:liftShowsPrec">liftShowsPrec</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a>) -> ([a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a>) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:liftShowsPrec" class="selflink">#</a></p><p class="src"><a href="#v:liftShowList">liftShowList</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a>) -> ([a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a>) -> [<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:liftShowList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SCC:Eq:7" class="instance expander" onclick="toggleSection('i:id:SCC:Eq:7')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> vertex => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SCC:Eq:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SCC:Data:8" class="instance expander" onclick="toggleSection('i:id:SCC:Data:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> vertex => <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SCC:Data:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex -> c (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex) <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex) <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex)) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex)) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex -> m (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex) <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex -> m (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex) <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex -> m (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex) <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SCC:Read:9" class="instance expander" onclick="toggleSection('i:id:SCC:Read:9')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> vertex => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SCC:Read:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex) <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex) <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SCC:Show:10" class="instance expander" onclick="toggleSection('i:id:SCC:Show:10')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> vertex => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SCC:Show:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SCC:Generic:11" class="instance expander" onclick="toggleSection('i:id:SCC:Generic:11')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SCC:Generic:11" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex) :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex) x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex) x -> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SCC:NFData:12" class="instance expander" onclick="toggleSection('i:id:SCC:NFData:12')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> a => <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SCC:NFData:12" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> a -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SCC:Generic1:13" class="instance expander" onclick="toggleSection('i:id:SCC:Generic1:13')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Generic1">Generic1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SCC:Generic1:13" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep1">Rep1</a> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> (f :: <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) :: k -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep1" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from1">from1</a> :: f a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep1">Rep1</a> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> f a <a href="#v:from1" class="selflink">#</a></p><p class="src"><a href="#v:to1">to1</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep1">Rep1</a> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> f a -> f a <a href="#v:to1" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SCC:Rep:14" class="instance expander" onclick="toggleSection('i:id:SCC:Rep:14')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SCC:Rep:14" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> vertex) = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "SCC" "Data.Graph" "containers-0.5.10.2" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "AcyclicSCC" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> vertex))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CyclicSCC" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [vertex]))))</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SCC:Rep1:15" class="instance expander" onclick="toggleSection('i:id:SCC:Rep1:15')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep1">Rep1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SCC:Rep1:15" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep1">Rep1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Compat-Graph.html#t:SCC">SCC</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "SCC" "Data.Graph" "containers-0.5.10.2" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "AcyclicSCC" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Par1">Par1</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CyclicSCC" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec1">Rec1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> []))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:cycles" class="def">cycles</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> [[a]] <a href="#v:cycles" class="selflink">#</a></p><div class="doc"><p><em>Ω(V + E)</em>. Compute the cycles of a graph.- Requires amortized construction of graph.</p></div></div><div class="top"><p class="src"><a id="v:broken" class="def">broken</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> [(a, [<a href="Distribution-Compat-Graph.html#t:Key">Key</a> a])] <a href="#v:broken" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em>. Return a list of nodes paired with their broken- neighbors (i.e., neighbor keys which are not in the graph).- Requires amortized construction of graph.</p></div></div><div class="top"><p class="src"><a id="v:neighbors" class="def">neighbors</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [a] <a href="#v:neighbors" class="selflink">#</a></p><div class="doc"><p>Lookup the immediate neighbors from a key in the graph.- Requires amortized construction of graph.</p></div></div><div class="top"><p class="src"><a id="v:revNeighbors" class="def">revNeighbors</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [a] <a href="#v:revNeighbors" class="selflink">#</a></p><div class="doc"><p>Lookup the immediate reverse neighbors from a key in the graph.- Requires amortized construction of graph.</p></div></div><div class="top"><p class="src"><a id="v:closure" class="def">closure</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> [<a href="Distribution-Compat-Graph.html#t:Key">Key</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [a] <a href="#v:closure" class="selflink">#</a></p><div class="doc"><p>Compute the subgraph which is the closure of some set of keys.- Returns <code>Nothing</code> if one (or more) keys are not present in- the graph.- Requires amortized construction of graph.</p></div></div><div class="top"><p class="src"><a id="v:revClosure" class="def">revClosure</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> [<a href="Distribution-Compat-Graph.html#t:Key">Key</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [a] <a href="#v:revClosure" class="selflink">#</a></p><div class="doc"><p>Compute the reverse closure of a graph from some set- of keys. Returns <code>Nothing</code> if one (or more) keys are not present in- the graph.- Requires amortized construction of graph.</p></div></div><div class="top"><p class="src"><a id="v:topSort" class="def">topSort</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> [a] <a href="#v:topSort" class="selflink">#</a></p><div class="doc"><p>Topologically sort the nodes of a graph.- Requires amortized construction of graph.</p></div></div><div class="top"><p class="src"><a id="v:revTopSort" class="def">revTopSort</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> [a] <a href="#v:revTopSort" class="selflink">#</a></p><div class="doc"><p>Reverse topologically sort the nodes of a graph.- Requires amortized construction of graph.</p></div></div><h1 id="g:6">Conversions</h1><h2 id="g:7">Maps</h2><div class="top"><p class="src"><a id="v:toMap" class="def">toMap</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> (<a href="Distribution-Compat-Graph.html#t:Key">Key</a> a) a <a href="#v:toMap" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em>. Convert a graph into a map from keys to nodes.- The resulting map <code>m</code> is guaranteed to have the property that- <code><code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Foldable.html#v:all">all</a></code> ((k,n) -> k == <code><a href="Distribution-Compat-Graph.html#v:nodeKey">nodeKey</a></code> n) (<code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Map.html#v:toList">toList</a></code> m)</code>.</p></div></div><h2 id="g:8">Lists</h2><div class="top"><p class="src"><a id="v:fromDistinctList" class="def">fromDistinctList</a> :: (<a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> a, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-Compat-Graph.html#t:Key">Key</a> a)) => [a] -> <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a <a href="#v:fromDistinctList" class="selflink">#</a></p><div class="doc"><p><em>O(V log V)</em>. Convert a list of nodes (with distinct keys) into a graph.</p></div></div><div class="top"><p class="src"><a id="v:toList" class="def">toList</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> [a] <a href="#v:toList" class="selflink">#</a></p><div class="doc"><p><em>O(V)</em>. Convert a graph into a list of nodes.</p></div></div><div class="top"><p class="src"><a id="v:keys" class="def">keys</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> [<a href="Distribution-Compat-Graph.html#t:Key">Key</a> a] <a href="#v:keys" class="selflink">#</a></p><div class="doc"><p><em>O(V)</em>. Convert a graph into a list of keys.</p></div></div><h2 id="g:9">Sets</h2><div class="top"><p class="src"><a id="v:keysSet" class="def">keysSet</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> (<a href="Distribution-Compat-Graph.html#t:Key">Key</a> a) <a href="#v:keysSet" class="selflink">#</a></p><div class="doc"><p><em>O(V)</em>. Convert a graph into a set of keys.</p></div></div><h2 id="g:10">Graphs</h2><div class="top"><p class="src"><a id="v:toGraph" class="def">toGraph</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> a -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Graph.html#t:Graph">Graph</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Graph.html#t:Vertex">Vertex</a> -> a, <a href="Distribution-Compat-Graph.html#t:Key">Key</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Graph.html#t:Vertex">Vertex</a>) <a href="#v:toGraph" class="selflink">#</a></p><div class="doc"><p><em>O(1)</em>. Convert a graph into a <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Graph.html#v:Graph">Graph</a></code>.- Requires amortized construction of graph.</p></div></div><h1 id="g:11">Node type</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Node" class="def">Node</a> k a <a href="#t:Node" class="selflink">#</a></p><div class="doc"><p>A simple, trivial data type which admits an <code><a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a></code> instance.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:N" class="def">N</a> a k [k]</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Node" class="caption collapser" onclick="toggleSection('i:Node')">Instances</p><div id="section.i:Node" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Node:Functor:1" class="instance expander" onclick="toggleSection('i:id:Node:Functor:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Distribution-Compat-Graph.html#t:Node">Node</a> k)</span> <a href="#t:Node" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Node:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -> b) -> <a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a -> <a href="Distribution-Compat-Graph.html#t:Node">Node</a> k b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(<$)</a> :: a -> <a href="Distribution-Compat-Graph.html#t:Node">Node</a> k b -> <a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Node:Eq:2" class="instance expander" onclick="toggleSection('i:id:Node:Eq:2')"></span> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> k, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a) => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a)</span> <a href="#t:Node" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Node:Eq:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a -> <a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a -> <a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Node:Show:3" class="instance expander" onclick="toggleSection('i:id:Node:Show:3')"></span> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> k, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> a) => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a)</span> <a href="#t:Node" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Node:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Node:IsNode:4" class="instance expander" onclick="toggleSection('i:id:Node:IsNode:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> k => <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> (<a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a)</span> <a href="#t:Node" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Node:IsNode:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> (<a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a) :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Key" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:nodeKey">nodeKey</a> :: <a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a -> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> (<a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a) <a href="#v:nodeKey" class="selflink">#</a></p><p class="src"><a href="#v:nodeNeighbors">nodeNeighbors</a> :: <a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a -> [<a href="Distribution-Compat-Graph.html#t:Key">Key</a> (<a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a)] <a href="#v:nodeNeighbors" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Node:Key:5" class="instance expander" onclick="toggleSection('i:id:Node:Key:5')"></span> <span class="keyword">type</span> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> (<a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a)</span> <a href="#t:Node" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Node:Key:5" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> (<a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a) = k</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:nodeValue" class="def">nodeValue</a> :: <a href="Distribution-Compat-Graph.html#t:Node">Node</a> k a -> a <a href="#v:nodeValue" class="selflink">#</a></p><div class="doc"><p>Get the value from a <code><a href="Distribution-Compat-Graph.html#t:Node">Node</a></code>.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Compat.Map.Strict</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Compat.Map.Strict</p></div><div id="interface"></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
file too large to diff
@@ -1,41 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Compat.ReadP</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(c) The University of Glasgow 2002</td></tr><tr><th>License</th><td>BSD-style (see the file libraries/base/LICENSE)</td></tr><tr><th>Maintainer</th><td>libraries@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Compat.ReadP</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">The <code>ReadP</code> type</a></li><li><a href="#g:2">Primitive operations</a></li><li><a href="#g:3">Other operations</a></li><li><a href="#g:4">Running a parser</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This is a library of parser combinators, originally written by Koen Claessen.- It parses all alternatives in parallel, so it never keeps hold of- the beginning of the input string, a common source of space leaks with- other parsers. The '(+++)' choice combinator is genuinely commutative;- it makes no difference which branch is "shorter".</p><p>See also Koen's paper <em>Parallel Parsing Processes</em>- (<a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.9217">http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.9217</a>).</p><p>This version of ReadP has been locally hacked to make it H98, by- Martin Sjögren <a href="mailto:msjogren@gmail.com">mailto:msjogren@gmail.com</a></p><p>The unit tests have been moved to UnitTest.Distribution.Compat.ReadP, by- Mark Lentczner <a href="mailto:mark@glyphic.com">mailto:mark@glyphic.com</a></p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">type</span> <a href="#t:ReadP">ReadP</a> r a = Parser r <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> a</li><li class="src short"><a href="#v:get">get</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a></li><li class="src short"><a href="#v:look">look</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:-43--43--43-">(+++)</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a</li><li class="src short"><a href="#v:-60--43--43-">(<++)</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> a a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a</li><li class="src short"><a href="#v:gather">gather</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> P <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> r) a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, a)</li><li class="src short"><a href="#v:pfail">pfail</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a</li><li class="src short"><a href="#v:eof">eof</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r ()</li><li class="src short"><a href="#v:satisfy">satisfy</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a></li><li class="src short"><a href="#v:char">char</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a></li><li class="src short"><a href="#v:string">string</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:munch">munch</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:munch1">munch1</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:skipSpaces">skipSpaces</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r ()</li><li class="src short"><a href="#v:skipSpaces1">skipSpaces1</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r ()</li><li class="src short"><a href="#v:choice">choice</a> :: [<a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a] -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a</li><li class="src short"><a href="#v:count">count</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r [a]</li><li class="src short"><a href="#v:between">between</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r open -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r close -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a</li><li class="src short"><a href="#v:option">option</a> :: a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a</li><li class="src short"><a href="#v:optional">optional</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r ()</li><li class="src short"><a href="#v:many">many</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r [a]</li><li class="src short"><a href="#v:many1">many1</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r [a]</li><li class="src short"><a href="#v:skipMany">skipMany</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r ()</li><li class="src short"><a href="#v:skipMany1">skipMany1</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r ()</li><li class="src short"><a href="#v:sepBy">sepBy</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r sep -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r [a]</li><li class="src short"><a href="#v:sepBy1">sepBy1</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r sep -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r [a]</li><li class="src short"><a href="#v:endBy">endBy</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r sep -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r [a]</li><li class="src short"><a href="#v:endBy1">endBy1</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r sep -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r [a]</li><li class="src short"><a href="#v:chainr">chainr</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r (a -> a -> a) -> a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a</li><li class="src short"><a href="#v:chainl">chainl</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r (a -> a -> a) -> a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a</li><li class="src short"><a href="#v:chainl1">chainl1</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r (a -> a -> a) -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a</li><li class="src short"><a href="#v:chainr1">chainr1</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r (a -> a -> a) -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a</li><li class="src short"><a href="#v:manyTill">manyTill</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> [a] end -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r [a]</li><li class="src short"><span class="keyword">type</span> <a href="#t:ReadS">ReadS</a> a = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> [(a, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</li><li class="src short"><a href="#v:readP_to_S">readP_to_S</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> a a -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> a</li><li class="src short"><a href="#v:readS_to_P">readS_to_P</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a</li></ul></div><div id="interface"><h1 id="g:1">The <code><a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a></code> type</h1><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:ReadP" class="def">ReadP</a> r a = Parser r <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> a <a href="#t:ReadP" class="selflink">#</a></p></div><h1 id="g:2">Primitive operations</h1><div class="top"><p class="src"><a id="v:get" class="def">get</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> <a href="#v:get" class="selflink">#</a></p><div class="doc"><p>Consumes and returns the next character.- Fails if there is no input left.</p></div></div><div class="top"><p class="src"><a id="v:look" class="def">look</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:look" class="selflink">#</a></p><div class="doc"><p>Look-ahead: returns the part of the input that is left, without- consuming it.</p></div></div><div class="top"><p class="src"><a id="v:-43--43--43-" class="def">(+++)</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a <span class="fixity">infixr 5</span><span class="rightedge"></span> <a href="#v:-43--43--43-" class="selflink">#</a></p><div class="doc"><p>Symmetric choice.</p></div></div><div class="top"><p class="src"><a id="v:-60--43--43-" class="def">(<++)</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> a a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a <span class="fixity">infixr 5</span><span class="rightedge"></span> <a href="#v:-60--43--43-" class="selflink">#</a></p><div class="doc"><p>Local, exclusive, left-biased choice: If left parser- locally produces any result at all, then right parser is- not used.</p></div></div><div class="top"><p class="src"><a id="v:gather" class="def">gather</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> P <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> r) a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, a) <a href="#v:gather" class="selflink">#</a></p><div class="doc"><p>Transforms a parser into one that does the same, but- in addition returns the exact characters read.- IMPORTANT NOTE: <code><a href="Distribution-Compat-ReadP.html#v:gather">gather</a></code> gives a runtime error if its first argument- is built using any occurrences of readS_to_P.</p></div></div><h1 id="g:3">Other operations</h1><div class="top"><p class="src"><a id="v:pfail" class="def">pfail</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a <a href="#v:pfail" class="selflink">#</a></p><div class="doc"><p>Always fails.</p></div></div><div class="top"><p class="src"><a id="v:eof" class="def">eof</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r () <a href="#v:eof" class="selflink">#</a></p><div class="doc"><p>Succeeds iff we are at the end of input</p></div></div><div class="top"><p class="src"><a id="v:satisfy" class="def">satisfy</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> <a href="#v:satisfy" class="selflink">#</a></p><div class="doc"><p>Consumes and returns the next character, if it satisfies the- specified predicate.</p></div></div><div class="top"><p class="src"><a id="v:char" class="def">char</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> <a href="#v:char" class="selflink">#</a></p><div class="doc"><p>Parses and returns the specified character.</p></div></div><div class="top"><p class="src"><a id="v:string" class="def">string</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:string" class="selflink">#</a></p><div class="doc"><p>Parses and returns the specified string.</p></div></div><div class="top"><p class="src"><a id="v:munch" class="def">munch</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:munch" class="selflink">#</a></p><div class="doc"><p>Parses the first zero or more characters satisfying the predicate.</p></div></div><div class="top"><p class="src"><a id="v:munch1" class="def">munch1</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:munch1" class="selflink">#</a></p><div class="doc"><p>Parses the first one or more characters satisfying the predicate.</p></div></div><div class="top"><p class="src"><a id="v:skipSpaces" class="def">skipSpaces</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r () <a href="#v:skipSpaces" class="selflink">#</a></p><div class="doc"><p>Skips all whitespace.</p></div></div><div class="top"><p class="src"><a id="v:skipSpaces1" class="def">skipSpaces1</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r () <a href="#v:skipSpaces1" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Distribution-Compat-ReadP.html#v:skipSpaces">skipSpaces</a></code> but succeeds only if there is at least one- whitespace character to skip.</p></div></div><div class="top"><p class="src"><a id="v:choice" class="def">choice</a> :: [<a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a] -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a <a href="#v:choice" class="selflink">#</a></p><div class="doc"><p>Combines all parsers in the specified list.</p></div></div><div class="top"><p class="src"><a id="v:count" class="def">count</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r [a] <a href="#v:count" class="selflink">#</a></p><div class="doc"><p><code> count n p </code> parses <code>n</code> occurrences of <code>p</code> in sequence. A list of- results is returned.</p></div></div><div class="top"><p class="src"><a id="v:between" class="def">between</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r open -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r close -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a <a href="#v:between" class="selflink">#</a></p><div class="doc"><p><code> between open close p </code> parses <code>open</code>, followed by <code>p</code> and finally- <code>close</code>. Only the value of <code>p</code> is returned.</p></div></div><div class="top"><p class="src"><a id="v:option" class="def">option</a> :: a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a <a href="#v:option" class="selflink">#</a></p><div class="doc"><p><code>option x p</code> will either parse <code>p</code> or return <code>x</code> without consuming- any input.</p></div></div><div class="top"><p class="src"><a id="v:optional" class="def">optional</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r () <a href="#v:optional" class="selflink">#</a></p><div class="doc"><p><code>optional p</code> optionally parses <code>p</code> and always returns <code>()</code>.</p></div></div><div class="top"><p class="src"><a id="v:many" class="def">many</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r [a] <a href="#v:many" class="selflink">#</a></p><div class="doc"><p>Parses zero or more occurrences of the given parser.</p></div></div><div class="top"><p class="src"><a id="v:many1" class="def">many1</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r [a] <a href="#v:many1" class="selflink">#</a></p><div class="doc"><p>Parses one or more occurrences of the given parser.</p></div></div><div class="top"><p class="src"><a id="v:skipMany" class="def">skipMany</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r () <a href="#v:skipMany" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Distribution-Compat-ReadP.html#v:many">many</a></code>, but discards the result.</p></div></div><div class="top"><p class="src"><a id="v:skipMany1" class="def">skipMany1</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r () <a href="#v:skipMany1" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Distribution-Compat-ReadP.html#v:many1">many1</a></code>, but discards the result.</p></div></div><div class="top"><p class="src"><a id="v:sepBy" class="def">sepBy</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r sep -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r [a] <a href="#v:sepBy" class="selflink">#</a></p><div class="doc"><p><code>sepBy p sep</code> parses zero or more occurrences of <code>p</code>, separated by <code>sep</code>.- Returns a list of values returned by <code>p</code>.</p></div></div><div class="top"><p class="src"><a id="v:sepBy1" class="def">sepBy1</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r sep -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r [a] <a href="#v:sepBy1" class="selflink">#</a></p><div class="doc"><p><code>sepBy1 p sep</code> parses one or more occurrences of <code>p</code>, separated by <code>sep</code>.- Returns a list of values returned by <code>p</code>.</p></div></div><div class="top"><p class="src"><a id="v:endBy" class="def">endBy</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r sep -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r [a] <a href="#v:endBy" class="selflink">#</a></p><div class="doc"><p><code>endBy p sep</code> parses zero or more occurrences of <code>p</code>, separated and ended- by <code>sep</code>.</p></div></div><div class="top"><p class="src"><a id="v:endBy1" class="def">endBy1</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r sep -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r [a] <a href="#v:endBy1" class="selflink">#</a></p><div class="doc"><p><code>endBy p sep</code> parses one or more occurrences of <code>p</code>, separated and ended- by <code>sep</code>.</p></div></div><div class="top"><p class="src"><a id="v:chainr" class="def">chainr</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r (a -> a -> a) -> a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a <a href="#v:chainr" class="selflink">#</a></p><div class="doc"><p><code>chainr p op x</code> parses zero or more occurrences of <code>p</code>, separated by <code>op</code>.- Returns a value produced by a <em>right</em> associative application of all- functions returned by <code>op</code>. If there are no occurrences of <code>p</code>, <code>x</code> is- returned.</p></div></div><div class="top"><p class="src"><a id="v:chainl" class="def">chainl</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r (a -> a -> a) -> a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a <a href="#v:chainl" class="selflink">#</a></p><div class="doc"><p><code>chainl p op x</code> parses zero or more occurrences of <code>p</code>, separated by <code>op</code>.- Returns a value produced by a <em>left</em> associative application of all- functions returned by <code>op</code>. If there are no occurrences of <code>p</code>, <code>x</code> is- returned.</p></div></div><div class="top"><p class="src"><a id="v:chainl1" class="def">chainl1</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r (a -> a -> a) -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a <a href="#v:chainl1" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Distribution-Compat-ReadP.html#v:chainl">chainl</a></code>, but parses one or more occurrences of <code>p</code>.</p></div></div><div class="top"><p class="src"><a id="v:chainr1" class="def">chainr1</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r (a -> a -> a) -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a <a href="#v:chainr1" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Distribution-Compat-ReadP.html#v:chainr">chainr</a></code>, but parses one or more occurrences of <code>p</code>.</p></div></div><div class="top"><p class="src"><a id="v:manyTill" class="def">manyTill</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> [a] end -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r [a] <a href="#v:manyTill" class="selflink">#</a></p><div class="doc"><p><code>manyTill p end</code> parses zero or more occurrences of <code>p</code>, until <code>end</code>- succeeds. Returns a list of values returned by <code>p</code>.</p></div></div><h1 id="g:4">Running a parser</h1><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:ReadS" class="def">ReadS</a> a = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> [(a, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)] <a href="#t:ReadS" class="selflink">#</a></p><div class="doc"><p>A parser for a type <code>a</code>, represented as a function that takes a- <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code> and returns a list of possible parses as <code>(a,<code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code>)</code> pairs.</p><p>Note that this kind of backtracking parser is very inefficient;- reading a large structure may be quite slow (cf <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadP.html#t:ReadP">ReadP</a></code>).</p></div></div><div class="top"><p class="src"><a id="v:readP_to_S" class="def">readP_to_S</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> a a -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> a <a href="#v:readP_to_S" class="selflink">#</a></p><div class="doc"><p>Converts a parser into a Haskell ReadS-style function.- This is the main way in which you can "run" a <code><a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a></code> parser:- the expanded type is- <code> readP_to_S :: ReadP a -> String -> [(a,String)] </code></p></div></div><div class="top"><p class="src"><a id="v:readS_to_P" class="def">readS_to_P</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a <a href="#v:readS_to_P" class="selflink">#</a></p><div class="doc"><p>Converts a Haskell ReadS-style function into a parser.- Warning: This introduces local backtracking in the resulting- parser, and therefore a possible inefficiency.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,33 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Compat.Semigroup</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Compat.Semigroup</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Compatibility layer for <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html">Data.Semigroup</a></p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">class</span> <a href="#t:Semigroup">Semigroup</a> a <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><span class="keyword">class</span> <a href="#t:Monoid">Monoid</a> a <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><span class="keyword">newtype</span> <a href="#t:All">All</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> = <a href="#v:All">All</a> {<ul class="subs"><li><a href="#v:getAll">getAll</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Any">Any</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> = <a href="#v:Any">Any</a> {<ul class="subs"><li><a href="#v:getAny">getAny</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Last-39-">Last'</a> a = <a href="#v:Last-39-">Last'</a> {<ul class="subs"><li><a href="#v:getLast-39-">getLast'</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li></ul>}</li><li class="src short"><a href="#v:gmappend">gmappend</a> :: (<a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> a, GSemigroup (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> a)) => a -> a -> a</li><li class="src short"><a href="#v:gmempty">gmempty</a> :: (<a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> a, GMonoid (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> a)) => a</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:Semigroup" class="def">Semigroup</a> a <span class="keyword">where</span> <a href="#t:Semigroup" class="selflink">#</a></p><div class="doc"><p>The class of semigroups (types with an associative binary operation).</p><p><em>Since: 4.9.0.0</em></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:-60--62-" class="def">(<>)</a> :: a -> a -> a <span class="fixity">infixr 6</span><span class="rightedge"></span> <a href="#v:-60--62-" class="selflink">#</a></p><div class="doc"><p>An associative operation.</p><pre>(a <code><a href="Distribution-Compat-Semigroup.html#v:-60--62-"><></a></code> b) <code><a href="Distribution-Compat-Semigroup.html#v:-60--62-"><></a></code> c = a <code><a href="Distribution-Compat-Semigroup.html#v:-60--62-"><></a></code> (b <code><a href="Distribution-Compat-Semigroup.html#v:-60--62-"><></a></code> c)-</pre><p>If <code>a</code> is also a <code><a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a></code> we further require</p><pre>(<code><a href="Distribution-Compat-Semigroup.html#v:-60--62-"><></a></code>) = <code><a href="Distribution-Compat-Semigroup.html#v:mappend">mappend</a></code>-</pre></div></div><div class="subs instances"><p id="control.i:Semigroup" class="caption collapser" onclick="toggleSection('i:Semigroup')">Instances</p><div id="section.i:Semigroup" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:1" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:1')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a></span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:2" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:2')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> ()</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: () -> () -> () <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> () -> () <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> () -> () <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:3" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:3')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Void.html#t:Void">Void</a></span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Void.html#t:Void">Void</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Void.html#t:Void">Void</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Void.html#t:Void">Void</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Void.html#t:Void">Void</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Void.html#t:Void">Void</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Void.html#t:Void">Void</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Void.html#t:Void">Void</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:4" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:4')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Event">Event</a></span></td><td class="doc"><p><em>Since: 4.10.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Event">Event</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Event">Event</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Event">Event</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Event">Event</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Event">Event</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Event">Event</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Event">Event</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:5" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:5')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Lifetime">Lifetime</a></span></td><td class="doc"><p><em>Since: 4.10.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Lifetime">Lifetime</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Lifetime">Lifetime</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Lifetime">Lifetime</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Lifetime">Lifetime</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Lifetime">Lifetime</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Lifetime">Lifetime</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Lifetime">Lifetime</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:6" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a></span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:7" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:7')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a></span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:8" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:8')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Short.html#t:ShortByteString">ShortByteString</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Short.html#t:ShortByteString">ShortByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Short.html#t:ShortByteString">ShortByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Short.html#t:ShortByteString">ShortByteString</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Short.html#t:ShortByteString">ShortByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Short.html#t:ShortByteString">ShortByteString</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Short.html#t:ShortByteString">ShortByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Short.html#t:ShortByteString">ShortByteString</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:9" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:9')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:10" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:10')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString.html#t:ByteString">ByteString</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString.html#t:ByteString">ByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString.html#t:ByteString">ByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString.html#t:ByteString">ByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString.html#t:ByteString">ByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:11" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:11')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Builder.html#t:Builder">Builder</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:11" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Builder.html#t:Builder">Builder</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Builder.html#t:Builder">Builder</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Builder.html#t:Builder">Builder</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Builder.html#t:Builder">Builder</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Builder.html#t:Builder">Builder</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Builder.html#t:Builder">Builder</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Builder.html#t:Builder">Builder</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:12" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:12')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntSet-Internal.html#t:IntSet">IntSet</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:12" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntSet-Internal.html#t:IntSet">IntSet</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntSet-Internal.html#t:IntSet">IntSet</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntSet-Internal.html#t:IntSet">IntSet</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntSet-Internal.html#t:IntSet">IntSet</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntSet-Internal.html#t:IntSet">IntSet</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntSet-Internal.html#t:IntSet">IntSet</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntSet-Internal.html#t:IntSet">IntSet</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:13" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:13')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:13" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:14" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:14')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:14" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> -> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> -> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> -> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> -> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:15" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:15')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:15" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:16" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:16')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:16" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:17" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:17')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:17" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:18" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:18')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:18" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:19" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:19')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:19" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:20" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:20')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:20" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:21" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:21')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:21" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:22" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:22')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:22" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> -> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> -> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> -> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> -> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:23" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:23')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:23" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:24" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:24')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:24" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:25" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:25')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-Library.html#t:Library">Library</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:25" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:26" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:26')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:26" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:27" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:27')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:27" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:28" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:28')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:28" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:29" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:29')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-Component.html#t:Component">Component</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:29" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:30" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:30')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:30" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:31" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:31')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:31" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:32" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:32')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:32" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:33" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:33')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:33" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:34" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:34')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:34" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:35" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:35')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:35" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:36" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:36')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:36" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:37" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:37')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:37" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:38" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:38')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:38" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:39" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:39')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:39" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:40" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:40')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:40" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:41" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:41')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:41" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:42" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:42')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:42" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:43" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:43')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:43" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:44" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:44')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:44" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> -> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> -> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> -> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> -> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:45" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:45')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:45" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> -> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> -> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> -> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> -> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:46" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:46')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:46" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:47" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:47')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:47" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> -> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> -> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> -> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> -> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:48" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:48')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a></span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:48" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:49" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:49')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> [a]</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:49" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: [a] -> [a] -> [a] <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> [a] -> [a] <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> [a] -> [a] <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:50" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:50')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> a => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:50" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:51" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:51')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> a => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a)</span></td><td class="doc"><p><em>Since: 4.10.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:51" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:52" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:52')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Min">Min</a> a)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:52" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Min">Min</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Min">Min</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Min">Min</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Min">Min</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Min">Min</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Min">Min</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Min">Min</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:53" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:53')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Max">Max</a> a)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:53" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Max">Max</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Max">Max</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Max">Max</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Max">Max</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Max">Max</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Max">Max</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Max">Max</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:54" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:54')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:First">First</a> a)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:54" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:First">First</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:First">First</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:First">First</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:First">First</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:First">First</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:First">First</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:First">First</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:55" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:55')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Last">Last</a> a)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:55" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Last">Last</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Last">Last</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Last">Last</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Last">Last</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Last">Last</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Last">Last</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Last">Last</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:56" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:56')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> m => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:WrappedMonoid">WrappedMonoid</a> m)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:56" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:WrappedMonoid">WrappedMonoid</a> m -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:WrappedMonoid">WrappedMonoid</a> m -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:WrappedMonoid">WrappedMonoid</a> m <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:WrappedMonoid">WrappedMonoid</a> m) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:WrappedMonoid">WrappedMonoid</a> m <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:WrappedMonoid">WrappedMonoid</a> m -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:WrappedMonoid">WrappedMonoid</a> m <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:57" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:57')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> a => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Option">Option</a> a)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:57" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Option">Option</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Option">Option</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Option">Option</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Option">Option</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Option">Option</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Option">Option</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Option">Option</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:58" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:58')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> a)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:58" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:59" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:59')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> a => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Identity.html#t:Identity">Identity</a> a)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:59" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Identity.html#t:Identity">Identity</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Identity.html#t:Identity">Identity</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Identity.html#t:Identity">Identity</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Identity.html#t:Identity">Identity</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Identity.html#t:Identity">Identity</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Identity.html#t:Identity">Identity</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Identity.html#t:Identity">Identity</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:60" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:60')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> a => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Dual">Dual</a> a)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:60" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Dual">Dual</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Dual">Dual</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Dual">Dual</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Dual">Dual</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Dual">Dual</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Dual">Dual</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Dual">Dual</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:61" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:61')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Endo">Endo</a> a)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:61" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Endo">Endo</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Endo">Endo</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Endo">Endo</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Endo">Endo</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Endo">Endo</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Endo">Endo</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Endo">Endo</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:62" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:62')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Num">Num</a> a => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Sum">Sum</a> a)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:62" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Sum">Sum</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Sum">Sum</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Sum">Sum</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Sum">Sum</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Sum">Sum</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Sum">Sum</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Sum">Sum</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:63" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:63')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Num">Num</a> a => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Product">Product</a> a)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:63" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Product">Product</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Product">Product</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Product">Product</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Product">Product</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Product">Product</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Product">Product</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Product">Product</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:64" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:64')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:First">First</a> a)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:64" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:First">First</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:First">First</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:First">First</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:First">First</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:First">First</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:First">First</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:First">First</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:65" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:65')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Last">Last</a> a)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:65" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Last">Last</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Last">Last</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Last">Last</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Last">Last</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Last">Last</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Last">Last</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Last">Last</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:66" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:66')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:PutM">PutM</a> ())</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:66" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:PutM">PutM</a> () -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:PutM">PutM</a> () -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:PutM">PutM</a> () <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:PutM">PutM</a> ()) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:PutM">PutM</a> () <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:PutM">PutM</a> () -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:PutM">PutM</a> () <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:67" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:67')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntMap-Internal.html#t:IntMap">IntMap</a> a)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:67" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntMap-Internal.html#t:IntMap">IntMap</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntMap-Internal.html#t:IntMap">IntMap</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntMap-Internal.html#t:IntMap">IntMap</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntMap-Internal.html#t:IntMap">IntMap</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntMap-Internal.html#t:IntMap">IntMap</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntMap-Internal.html#t:IntMap">IntMap</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntMap-Internal.html#t:IntMap">IntMap</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:68" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:68')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Sequence-Internal.html#t:Seq">Seq</a> a)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:68" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Sequence-Internal.html#t:Seq">Seq</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Sequence-Internal.html#t:Seq">Seq</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Sequence-Internal.html#t:Seq">Seq</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Sequence-Internal.html#t:Seq">Seq</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Sequence-Internal.html#t:Seq">Seq</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Sequence-Internal.html#t:Seq">Seq</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Sequence-Internal.html#t:Seq">Seq</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:69" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:69')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> a)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:69" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:70" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:70')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint-Annotated.html#t:Doc">Doc</a> a)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:70" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint-Annotated.html#t:Doc">Doc</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint-Annotated.html#t:Doc">Doc</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint-Annotated.html#t:Doc">Doc</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint-Annotated.html#t:Doc">Doc</a> a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint-Annotated.html#t:Doc">Doc</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint-Annotated.html#t:Doc">Doc</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint-Annotated.html#t:Doc">Doc</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:71" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:71')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a)</span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:71" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a) -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:72" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:72')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Distribution-Compat-DList.html#t:DList">DList</a> a)</span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:72" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Compat-DList.html#t:DList">DList</a> a -> <a href="Distribution-Compat-DList.html#t:DList">DList</a> a -> <a href="Distribution-Compat-DList.html#t:DList">DList</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Distribution-Compat-DList.html#t:DList">DList</a> a) -> <a href="Distribution-Compat-DList.html#t:DList">DList</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Compat-DList.html#t:DList">DList</a> a -> <a href="Distribution-Compat-DList.html#t:DList">DList</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:73" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:73')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a)</span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:73" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a) -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:74" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:74')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> dir => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir)</span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:74" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir) -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:75" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:75')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a)</span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:75" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a) -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:76" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:76')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a)</span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:76" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a) -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:77" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:77')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>)</span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:77" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>) -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:78" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:78')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a)</span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:78" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a) -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:79" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:79')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> b => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (a -> b)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:79" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: (a -> b) -> (a -> b) -> a -> b <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (a -> b) -> a -> b <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> (a -> b) -> a -> b <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:80" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:80')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> a b)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:80" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> a b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> a b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> a b <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> a b) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> a b <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> a b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> a b <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:81" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:81')"></span> (<a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> a, <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> b) => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (a, b)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:81" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: (a, b) -> (a, b) -> (a, b) <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (a, b) -> (a, b) <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> (a, b) -> (a, b) <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:82" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:82')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Proxy.html#t:Proxy">Proxy</a> k s)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:82" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Proxy.html#t:Proxy">Proxy</a> k s -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Proxy.html#t:Proxy">Proxy</a> k s -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Proxy.html#t:Proxy">Proxy</a> k s <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Proxy.html#t:Proxy">Proxy</a> k s) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Proxy.html#t:Proxy">Proxy</a> k s <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Proxy.html#t:Proxy">Proxy</a> k s -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Proxy.html#t:Proxy">Proxy</a> k s <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:83" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:83')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> k => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> k v)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:83" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> k v -> <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> k v -> <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> k v <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> k v) -> <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> k v <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> k v -> <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> k v <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:84" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:84')"></span> (<a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> a, <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> b, <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> c) => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (a, b, c)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:84" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: (a, b, c) -> (a, b, c) -> (a, b, c) <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (a, b, c) -> (a, b, c) <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> (a, b, c) -> (a, b, c) <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:85" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:85')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> a => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Const.html#t:Const">Const</a> k a b)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:85" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Const.html#t:Const">Const</a> k a b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Const.html#t:Const">Const</a> k a b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Const.html#t:Const">Const</a> k a b <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Const.html#t:Const">Const</a> k a b) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Const.html#t:Const">Const</a> k a b <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Const.html#t:Const">Const</a> k a b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Const.html#t:Const">Const</a> k a b <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:86" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:86')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Alternative">Alternative</a> f => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Alt">Alt</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> f a)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:86" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Alt">Alt</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> f a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Alt">Alt</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> f a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Alt">Alt</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> f a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Alt">Alt</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> f a) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Alt">Alt</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> f a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Alt">Alt</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> f a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Alt">Alt</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> f a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:87" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:87')"></span> (<a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> a, <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> b, <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> c, <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> d) => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (a, b, c, d)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:87" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (a, b, c, d) -> (a, b, c, d) <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> (a, b, c, d) -> (a, b, c, d) <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Semigroup:Semigroup:88" class="instance expander" onclick="toggleSection('i:ic:Semigroup:Semigroup:88')"></span> (<a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> a, <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> b, <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> c, <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> d, <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> e) => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (a, b, c, d, e)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Semigroup:Semigroup:88" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (a, b, c, d, e) -> (a, b, c, d, e) <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> (a, b, c, d, e) -> (a, b, c, d, e) <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:Monoid" class="def">Monoid</a> a <span class="keyword">where</span> <a href="#t:Monoid" class="selflink">#</a></p><div class="doc"><p>The class of monoids (types with an associative binary operation that- has an identity). Instances should satisfy the following laws:</p><ul><li><pre>mappend mempty x = x</pre></li><li><pre>mappend x mempty = x</pre></li><li><pre>mappend x (mappend y z) = mappend (mappend x y) z</pre></li><li><pre>mconcat = <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-OldList.html#v:foldr">foldr</a></code> mappend mempty</pre></li></ul><p>The method names refer to the monoid of lists under concatenation,- but there are many other instances.</p><p>Some types can be viewed as a monoid in more than one way,- e.g. both addition and multiplication on numbers.- In such cases we often define <code>newtype</code>s and make those instances- of <code><a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a></code>, e.g. <code>Sum</code> and <code>Product</code>.</p></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Distribution-Compat-Semigroup.html#v:mempty">mempty</a>, <a href="Distribution-Compat-Semigroup.html#v:mappend">mappend</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:mempty" class="def">mempty</a> :: a <a href="#v:mempty" class="selflink">#</a></p><div class="doc"><p>Identity of <code><a href="Distribution-Compat-Semigroup.html#v:mappend">mappend</a></code></p></div><p class="src"><a id="v:mappend" class="def">mappend</a> :: a -> a -> a <a href="#v:mappend" class="selflink">#</a></p><div class="doc"><p>An associative operation</p></div><p class="src"><a id="v:mconcat" class="def">mconcat</a> :: [a] -> a <a href="#v:mconcat" class="selflink">#</a></p><div class="doc"><p>Fold a list using the monoid.- For most types, the default definition for <code><a href="Distribution-Compat-Semigroup.html#v:mconcat">mconcat</a></code> will be- used, but the function is included in the class definition so- that an optimized version can be provided for specific types.</p></div></div><div class="subs instances"><p id="control.i:Monoid" class="caption collapser" onclick="toggleSection('i:Monoid')">Instances</p><div id="section.i:Monoid" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:1" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:1')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a></span></td><td class="doc"><p><em>Since: 2.1</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:2" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:2')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> ()</span></td><td class="doc"><p><em>Since: 2.1</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: () <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: () -> () -> () <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [()] -> () <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:3" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:3')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> EventLifetime</span></td><td class="doc"><p><em>Since: 4.8.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: EventLifetime <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: EventLifetime -> EventLifetime -> EventLifetime <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [EventLifetime] -> EventLifetime <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:4" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:4')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Event">Event</a></span></td><td class="doc"><p><em>Since: 4.3.1.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Event">Event</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Event">Event</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Event">Event</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Event">Event</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Event">Event</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Event">Event</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:5" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:5')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Lifetime">Lifetime</a></span></td><td class="doc"><p><code>mappend</code> takes the longer of two lifetimes.</p><p><em>Since: 4.8.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Lifetime">Lifetime</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Lifetime">Lifetime</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Lifetime">Lifetime</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Lifetime">Lifetime</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Lifetime">Lifetime</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Event.html#t:Lifetime">Lifetime</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:6" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a></span></td><td class="doc"><p><em>Since: 2.1</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Compat-Semigroup.html#t:All">All</a>] -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:7" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:7')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a></span></td><td class="doc"><p><em>Since: 2.1</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Compat-Semigroup.html#t:Any">Any</a>] -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:8" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:8')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Short.html#t:ShortByteString">ShortByteString</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Short.html#t:ShortByteString">ShortByteString</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Short.html#t:ShortByteString">ShortByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Short.html#t:ShortByteString">ShortByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Short.html#t:ShortByteString">ShortByteString</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Short.html#t:ShortByteString">ShortByteString</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Short.html#t:ShortByteString">ShortByteString</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:9" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:9')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:10" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:10')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString.html#t:ByteString">ByteString</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString.html#t:ByteString">ByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString.html#t:ByteString">ByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString.html#t:ByteString">ByteString</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString.html#t:ByteString">ByteString</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:11" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:11')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Builder.html#t:Builder">Builder</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:11" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Builder.html#t:Builder">Builder</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Builder.html#t:Builder">Builder</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Builder.html#t:Builder">Builder</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Builder.html#t:Builder">Builder</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Builder.html#t:Builder">Builder</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Builder.html#t:Builder">Builder</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:12" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:12')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntSet-Internal.html#t:IntSet">IntSet</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:12" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntSet-Internal.html#t:IntSet">IntSet</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntSet-Internal.html#t:IntSet">IntSet</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntSet-Internal.html#t:IntSet">IntSet</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntSet-Internal.html#t:IntSet">IntSet</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntSet-Internal.html#t:IntSet">IntSet</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntSet-Internal.html#t:IntSet">IntSet</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:13" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:13')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:13" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:14" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:14')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:14" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> -> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> -> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a>] -> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:15" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:15')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:15" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a>] -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:16" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:16')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:16" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a>] -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:17" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:17')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:17" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a>] -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:18" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:18')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:18" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a>] -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:19" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:19')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:19" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a>] -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:20" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:20')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:20" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>] -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:21" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:21')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:21" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a>] -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:22" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:22')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:22" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> -> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> -> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a>] -> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:23" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:23')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:23" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>] -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:24" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:24')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:24" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a>] -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:25" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:25')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-Library.html#t:Library">Library</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:25" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-Library.html#t:Library">Library</a>] -> <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:26" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:26')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:26" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>] -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:27" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:27')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:27" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-Executable.html#t:Executable">Executable</a>] -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:28" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:28')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:28" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a>] -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:29" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:29')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:29" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:30" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:30')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:30" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:31" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:31')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:31" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a>] -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:32" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:32')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:32" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:33" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:33')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:33" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:34" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:34')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:34" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:35" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:35')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:35" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:36" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:36')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:36" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:37" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:37')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:37" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:38" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:38')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:38" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:39" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:39')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:39" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:40" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:40')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:40" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:41" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:41')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:41" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:42" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:42')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:42" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:43" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:43')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:43" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> -> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> -> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a>] -> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:44" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:44')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:44" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> -> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> -> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a>] -> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:45" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:45')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:45" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a>] -> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:46" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:46')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:46" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> -> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> -> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:47" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:47')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a></span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:47" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a>] -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:48" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:48')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> [a]</span></td><td class="doc"><p><em>Since: 2.1</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:48" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: [a] <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: [a] -> [a] -> [a] <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [[a]] -> [a] <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:49" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:49')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> a => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)</span></td><td class="doc"><p>Lift a semigroup into <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> forming a <code><a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a></code> according to- <a href="http://en.wikipedia.org/wiki/Monoid">http://en.wikipedia.org/wiki/Monoid</a>: "Any semigroup <code>S</code> may be- turned into a monoid simply by adjoining an element <code>e</code> not in <code>S</code>- and defining <code>e*e = e</code> and <code>e*s = s = s*e</code> for all <code>s ∈ S</code>." Since- there used to be no "Semigroup" typeclass providing just <code><a href="Distribution-Compat-Semigroup.html#v:mappend">mappend</a></code>,- we use <code><a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a></code> instead.</p><p><em>Since: 2.1</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:49" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:50" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:50')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> a => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:50" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:51" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:51')"></span> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Bounded">Bounded</a> a) => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Min">Min</a> a)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:51" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Min">Min</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Min">Min</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Min">Min</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Min">Min</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Min">Min</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Min">Min</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:52" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:52')"></span> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Bounded">Bounded</a> a) => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Max">Max</a> a)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:52" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Max">Max</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Max">Max</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Max">Max</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Max">Max</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Max">Max</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Max">Max</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:53" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:53')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> m => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:WrappedMonoid">WrappedMonoid</a> m)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:53" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:WrappedMonoid">WrappedMonoid</a> m <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:WrappedMonoid">WrappedMonoid</a> m -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:WrappedMonoid">WrappedMonoid</a> m -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:WrappedMonoid">WrappedMonoid</a> m <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:WrappedMonoid">WrappedMonoid</a> m] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:WrappedMonoid">WrappedMonoid</a> m <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:54" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:54')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> a => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Option">Option</a> a)</span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:54" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Option">Option</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Option">Option</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Option">Option</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Option">Option</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Option">Option</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Option">Option</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:55" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:55')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> a => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Identity.html#t:Identity">Identity</a> a)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:55" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Identity.html#t:Identity">Identity</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Identity.html#t:Identity">Identity</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Identity.html#t:Identity">Identity</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Identity.html#t:Identity">Identity</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Identity.html#t:Identity">Identity</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Identity.html#t:Identity">Identity</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:56" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:56')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> a => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Dual">Dual</a> a)</span></td><td class="doc"><p><em>Since: 2.1</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:56" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Dual">Dual</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Dual">Dual</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Dual">Dual</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Dual">Dual</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Dual">Dual</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Dual">Dual</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:57" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:57')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Endo">Endo</a> a)</span></td><td class="doc"><p><em>Since: 2.1</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:57" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Endo">Endo</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Endo">Endo</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Endo">Endo</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Endo">Endo</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Endo">Endo</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Endo">Endo</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:58" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:58')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Num">Num</a> a => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Sum">Sum</a> a)</span></td><td class="doc"><p><em>Since: 2.1</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:58" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Sum">Sum</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Sum">Sum</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Sum">Sum</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Sum">Sum</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Sum">Sum</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Sum">Sum</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:59" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:59')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Num">Num</a> a => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Product">Product</a> a)</span></td><td class="doc"><p><em>Since: 2.1</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:59" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Product">Product</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Product">Product</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Product">Product</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Product">Product</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Product">Product</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Product">Product</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:60" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:60')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:First">First</a> a)</span></td><td class="doc"><p><em>Since: 2.1</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:60" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:First">First</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:First">First</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:First">First</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:First">First</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:First">First</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:First">First</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:61" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:61')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Last">Last</a> a)</span></td><td class="doc"><p><em>Since: 2.1</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:61" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Last">Last</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Last">Last</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Last">Last</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Last">Last</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Last">Last</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Last">Last</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:62" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:62')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:PutM">PutM</a> ())</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:62" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:PutM">PutM</a> () <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:PutM">PutM</a> () -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:PutM">PutM</a> () -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:PutM">PutM</a> () <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:PutM">PutM</a> ()] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:PutM">PutM</a> () <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:63" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:63')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntMap-Internal.html#t:IntMap">IntMap</a> a)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:63" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntMap-Internal.html#t:IntMap">IntMap</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntMap-Internal.html#t:IntMap">IntMap</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntMap-Internal.html#t:IntMap">IntMap</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntMap-Internal.html#t:IntMap">IntMap</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntMap-Internal.html#t:IntMap">IntMap</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-IntMap-Internal.html#t:IntMap">IntMap</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:64" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:64')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Sequence-Internal.html#t:Seq">Seq</a> a)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:64" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Sequence-Internal.html#t:Seq">Seq</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Sequence-Internal.html#t:Seq">Seq</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Sequence-Internal.html#t:Seq">Seq</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Sequence-Internal.html#t:Seq">Seq</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Sequence-Internal.html#t:Seq">Seq</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Sequence-Internal.html#t:Seq">Seq</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:65" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:65')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> a)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:65" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:66" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:66')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint-Annotated.html#t:Doc">Doc</a> a)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:66" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint-Annotated.html#t:Doc">Doc</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint-Annotated.html#t:Doc">Doc</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint-Annotated.html#t:Doc">Doc</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint-Annotated.html#t:Doc">Doc</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint-Annotated.html#t:Doc">Doc</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint-Annotated.html#t:Doc">Doc</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:67" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:67')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a)</span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:67" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a] -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:68" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:68')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="Distribution-Compat-DList.html#t:DList">DList</a> a)</span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:68" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Compat-DList.html#t:DList">DList</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Compat-DList.html#t:DList">DList</a> a -> <a href="Distribution-Compat-DList.html#t:DList">DList</a> a -> <a href="Distribution-Compat-DList.html#t:DList">DList</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Compat-DList.html#t:DList">DList</a> a] -> <a href="Distribution-Compat-DList.html#t:DList">DList</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:69" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:69')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a)</span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:69" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a] -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:70" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:70')"></span> (<a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> dir, <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> dir) => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir)</span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:70" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir] -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:71" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:71')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a)</span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:71" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a] -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:72" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:72')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a)</span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc"><p>Monoid operations on NubLists.- For a valid Monoid instance we need to satistfy the required monoid laws;- identity, associativity and closure.</p><p>Identity : by inspection:- mempty <code><a href="Distribution-Compat-Semigroup.html#v:mappend">mappend</a></code> NubList xs == NubList xs <code><a href="Distribution-Compat-Semigroup.html#v:mappend">mappend</a></code> mempty</p><p>Associativity : by inspection:- (NubList xs <code><a href="Distribution-Compat-Semigroup.html#v:mappend">mappend</a></code> NubList ys) <code><a href="Distribution-Compat-Semigroup.html#v:mappend">mappend</a></code> NubList zs- == NubList xs <code><a href="Distribution-Compat-Semigroup.html#v:mappend">mappend</a></code> (NubList ys <code><a href="Distribution-Compat-Semigroup.html#v:mappend">mappend</a></code> NubList zs)</p><p>Closure : appending two lists of type a and removing duplicates obviously- does not change the type.</p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:72" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a] -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:73" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:73')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>)</span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:73" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>] -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:74" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:74')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a)</span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:74" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a] -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:75" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:75')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> b => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (a -> b)</span></td><td class="doc"><p><em>Since: 2.1</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:75" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: a -> b <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: (a -> b) -> (a -> b) -> a -> b <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [a -> b] -> a -> b <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:76" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:76')"></span> (<a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> a, <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> b) => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (a, b)</span></td><td class="doc"><p><em>Since: 2.1</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:76" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: (a, b) <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: (a, b) -> (a, b) -> (a, b) <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [(a, b)] -> (a, b) <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:77" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:77')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Proxy.html#t:Proxy">Proxy</a> k s)</span></td><td class="doc"><p><em>Since: 4.7.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:77" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Proxy.html#t:Proxy">Proxy</a> k s <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Proxy.html#t:Proxy">Proxy</a> k s -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Proxy.html#t:Proxy">Proxy</a> k s -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Proxy.html#t:Proxy">Proxy</a> k s <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Proxy.html#t:Proxy">Proxy</a> k s] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Proxy.html#t:Proxy">Proxy</a> k s <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:78" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:78')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> k => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> k v)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:78" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> k v <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> k v -> <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> k v -> <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> k v <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> k v] -> <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> k v <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:79" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:79')"></span> (<a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> a, <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> b, <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> c) => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (a, b, c)</span></td><td class="doc"><p><em>Since: 2.1</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:79" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: (a, b, c) <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: (a, b, c) -> (a, b, c) -> (a, b, c) <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [(a, b, c)] -> (a, b, c) <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:80" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:80')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> a => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Const.html#t:Const">Const</a> k a b)</span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:80" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Const.html#t:Const">Const</a> k a b <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Const.html#t:Const">Const</a> k a b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Const.html#t:Const">Const</a> k a b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Const.html#t:Const">Const</a> k a b <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Const.html#t:Const">Const</a> k a b] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor-Const.html#t:Const">Const</a> k a b <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:81" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:81')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Alternative">Alternative</a> f => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Alt">Alt</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> f a)</span></td><td class="doc"><p><em>Since: 4.8.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:81" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Alt">Alt</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> f a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Alt">Alt</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> f a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Alt">Alt</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> f a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Alt">Alt</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> f a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Alt">Alt</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> f a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#t:Alt">Alt</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> f a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:82" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:82')"></span> (<a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> a, <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> b, <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> c, <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> d) => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (a, b, c, d)</span></td><td class="doc"><p><em>Since: 2.1</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:82" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: (a, b, c, d) <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [(a, b, c, d)] -> (a, b, c, d) <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Monoid:Monoid:83" class="instance expander" onclick="toggleSection('i:ic:Monoid:Monoid:83')"></span> (<a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> a, <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> b, <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> c, <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> d, <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> e) => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (a, b, c, d, e)</span></td><td class="doc"><p><em>Since: 2.1</em></p></td></tr><tr><td colspan="2"><div id="section.i:ic:Monoid:Monoid:83" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: (a, b, c, d, e) <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [(a, b, c, d, e)] -> (a, b, c, d, e) <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:All" class="def">All</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:All" class="selflink">#</a></p><div class="doc"><p>Boolean monoid under conjunction (<code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:-38--38-">&&</a></code>).</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:All" class="def">All</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:getAll" class="def">getAll</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:All" class="caption collapser" onclick="toggleSection('i:All')">Instances</p><div id="section.i:All" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:All:Bounded:1" class="instance expander" onclick="toggleSection('i:id:All:Bounded:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Bounded">Bounded</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:All:Bounded:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:minBound">minBound</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:minBound" class="selflink">#</a></p><p class="src"><a href="#v:maxBound">maxBound</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:maxBound" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:All:Eq:2" class="instance expander" onclick="toggleSection('i:id:All:Eq:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:All:Eq:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:All:Data:3" class="instance expander" onclick="toggleSection('i:id:All:Data:3')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a></span></td><td class="doc"><p><em>Since: 4.8.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:id:All:Data:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> c <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Compat-Semigroup.html#t:All">All</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Compat-Semigroup.html#t:All">All</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> m <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> m <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> m <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:All:Ord:4" class="instance expander" onclick="toggleSection('i:id:All:Ord:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:All:Ord:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:All:Read:5" class="instance expander" onclick="toggleSection('i:id:All:Read:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:All:Read:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Compat-Semigroup.html#t:All">All</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Compat-Semigroup.html#t:All">All</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:All:Show:6" class="instance expander" onclick="toggleSection('i:id:All:Show:6')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:All:Show:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Compat-Semigroup.html#t:All">All</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:All:Generic:7" class="instance expander" onclick="toggleSection('i:id:All:Generic:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:All:Generic:7" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> x -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:All:Semigroup:8" class="instance expander" onclick="toggleSection('i:id:All:Semigroup:8')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a></span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:id:All:Semigroup:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:All:Monoid:9" class="instance expander" onclick="toggleSection('i:id:All:Monoid:9')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a></span></td><td class="doc"><p><em>Since: 2.1</em></p></td></tr><tr><td colspan="2"><div id="section.i:id:All:Monoid:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Compat-Semigroup.html#t:All">All</a>] -> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:All:Binary:10" class="instance expander" onclick="toggleSection('i:id:All:Binary:10')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a></span></td><td class="doc"><p><em>Since: 0.8.4.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:id:All:Binary:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Compat-Semigroup.html#t:All">All</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:All:NFData:11" class="instance expander" onclick="toggleSection('i:id:All:NFData:11')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a></span></td><td class="doc"><p><em>Since: 1.4.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:id:All:NFData:11" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Compat-Semigroup.html#t:All">All</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:All:Rep:12" class="instance expander" onclick="toggleSection('i:id:All:Rep:12')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:All:Rep:12" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compat-Semigroup.html#t:All">All</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "All" "Data.Monoid" "base" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "All" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "getAll") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:Any" class="def">Any</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Any" class="selflink">#</a></p><div class="doc"><p>Boolean monoid under disjunction (<code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:-124--124-">||</a></code>).</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Any" class="def">Any</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:getAny" class="def">getAny</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:Any" class="caption collapser" onclick="toggleSection('i:Any')">Instances</p><div id="section.i:Any" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Any:Bounded:1" class="instance expander" onclick="toggleSection('i:id:Any:Bounded:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Bounded">Bounded</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Any:Bounded:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:minBound">minBound</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:minBound" class="selflink">#</a></p><p class="src"><a href="#v:maxBound">maxBound</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:maxBound" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Any:Eq:2" class="instance expander" onclick="toggleSection('i:id:Any:Eq:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Any:Eq:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Any:Data:3" class="instance expander" onclick="toggleSection('i:id:Any:Data:3')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a></span></td><td class="doc"><p><em>Since: 4.8.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:id:Any:Data:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> c <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> m <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> m <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> m <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Any:Ord:4" class="instance expander" onclick="toggleSection('i:id:Any:Ord:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Any:Ord:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Any:Read:5" class="instance expander" onclick="toggleSection('i:id:Any:Read:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Any:Read:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Compat-Semigroup.html#t:Any">Any</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Compat-Semigroup.html#t:Any">Any</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Any:Show:6" class="instance expander" onclick="toggleSection('i:id:Any:Show:6')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Any:Show:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Compat-Semigroup.html#t:Any">Any</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Any:Generic:7" class="instance expander" onclick="toggleSection('i:id:Any:Generic:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Any:Generic:7" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> x -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Any:Semigroup:8" class="instance expander" onclick="toggleSection('i:id:Any:Semigroup:8')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a></span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:id:Any:Semigroup:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Any:Monoid:9" class="instance expander" onclick="toggleSection('i:id:Any:Monoid:9')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a></span></td><td class="doc"><p><em>Since: 2.1</em></p></td></tr><tr><td colspan="2"><div id="section.i:id:Any:Monoid:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Compat-Semigroup.html#t:Any">Any</a>] -> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Any:Binary:10" class="instance expander" onclick="toggleSection('i:id:Any:Binary:10')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a></span></td><td class="doc"><p><em>Since: 0.8.4.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:id:Any:Binary:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Compat-Semigroup.html#t:Any">Any</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Any:NFData:11" class="instance expander" onclick="toggleSection('i:id:Any:NFData:11')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a></span></td><td class="doc"><p><em>Since: 1.4.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:id:Any:NFData:11" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Any:Rep:12" class="instance expander" onclick="toggleSection('i:id:Any:Rep:12')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Any:Rep:12" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compat-Semigroup.html#t:Any">Any</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Any" "Data.Monoid" "base" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Any" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "getAny") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:Last-39-" class="def">Last'</a> a <a href="#t:Last-39-" class="selflink">#</a></p><div class="doc"><p>Cabal's own <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#v:Last">Last</a></code> copy to avoid requiring an orphan- <code><a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a></code> instance.</p><p>Once the oldest <code>binary</code> version we support provides a <code><a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a></code>- instance for <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Monoid.html#v:Last">Last</a></code> we can remove this one here.</p><p>NB: <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Semigroup.html#t:Last">Last</a></code> is defined differently and not a <code><a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a></code></p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Last-39-" class="def">Last'</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:getLast-39-" class="def">getLast'</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:Last-39-" class="caption collapser" onclick="toggleSection('i:Last-39-')">Instances</p><div id="section.i:Last-39-" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Last-39-:Functor:1" class="instance expander" onclick="toggleSection('i:id:Last-39-:Functor:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor.html#t:Functor">Functor</a> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a></span> <a href="#t:Last-39-" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Last-39-:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -> b) -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(<$)</a> :: a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> b -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Last-39-:Applicative:2" class="instance expander" onclick="toggleSection('i:id:Last-39-:Applicative:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a></span> <a href="#t:Last-39-" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Last-39-:Applicative:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(<*>)</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> (a -> b) -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:liftA2">liftA2</a> :: (a -> b -> c) -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> b -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> c <a href="#v:liftA2" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*>)</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> b -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(<*)</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> b -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a <a href="#v:-60--42-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Last-39-:Eq:3" class="instance expander" onclick="toggleSection('i:id:Last-39-:Eq:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a)</span> <a href="#t:Last-39-" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Last-39-:Eq:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Last-39-:Ord:4" class="instance expander" onclick="toggleSection('i:id:Last-39-:Ord:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> (<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a)</span> <a href="#t:Last-39-" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Last-39-:Ord:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Last-39-:Read:5" class="instance expander" onclick="toggleSection('i:id:Last-39-:Read:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> (<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a)</span> <a href="#t:Last-39-" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Last-39-:Read:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> (<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a) <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> (<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a) <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Last-39-:Show:6" class="instance expander" onclick="toggleSection('i:id:Last-39-:Show:6')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a)</span> <a href="#t:Last-39-" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Last-39-:Show:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Last-39-:Generic:7" class="instance expander" onclick="toggleSection('i:id:Last-39-:Generic:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> (<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a)</span> <a href="#t:Last-39-" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Last-39-:Generic:7" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a) :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a) x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a) x -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Last-39-:Semigroup:8" class="instance expander" onclick="toggleSection('i:id:Last-39-:Semigroup:8')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a)</span> <a href="#t:Last-39-" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Last-39-:Semigroup:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a) -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Last-39-:Monoid:9" class="instance expander" onclick="toggleSection('i:id:Last-39-:Monoid:9')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a)</span> <a href="#t:Last-39-" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Last-39-:Monoid:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a] -> <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Last-39-:Binary:10" class="instance expander" onclick="toggleSection('i:id:Last-39-:Binary:10')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> a => <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> (<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a)</span> <a href="#t:Last-39-" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Last-39-:Binary:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> (<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a) <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Last-39-:Rep:11" class="instance expander" onclick="toggleSection('i:id:Last-39-:Rep:11')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a)</span> <a href="#t:Last-39-" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Last-39-:Rep:11" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> a) = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Last'" "Distribution.Compat.Semigroup" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Last'" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "getLast'") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:gmappend" class="def">gmappend</a> :: (<a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> a, GSemigroup (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> a)) => a -> a -> a <a href="#v:gmappend" class="selflink">#</a></p><div class="doc"><p>Generically generate a <code><a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a></code> (<code><a href="Distribution-Compat-Semigroup.html#v:-60--62-"><></a></code>) operation for any type- implementing <code><a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a></code>. This operation will append two values- by point-wise appending their component fields. It is only defined- for product types.</p><pre><code><a href="Distribution-Compat-Semigroup.html#v:gmappend">gmappend</a></code> a (<code><a href="Distribution-Compat-Semigroup.html#v:gmappend">gmappend</a></code> b c) = <code><a href="Distribution-Compat-Semigroup.html#v:gmappend">gmappend</a></code> (<code><a href="Distribution-Compat-Semigroup.html#v:gmappend">gmappend</a></code> a b) c-</pre></div></div><div class="top"><p class="src"><a id="v:gmempty" class="def">gmempty</a> :: (<a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> a, GMonoid (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> a)) => a <a href="#v:gmempty" class="selflink">#</a></p><div class="doc"><p>Generically generate a <code><a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a></code> <code><a href="Distribution-Compat-Semigroup.html#v:mempty">mempty</a></code> for any product-like type- implementing <code><a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a></code>.</p><p>It is only defined for product types.</p><pre><code><a href="Distribution-Compat-Semigroup.html#v:gmappend">gmappend</a></code> <code><a href="Distribution-Compat-Semigroup.html#v:gmempty">gmempty</a></code> a = a = <code><a href="Distribution-Compat-Semigroup.html#v:gmappend">gmappend</a></code> a <code><a href="Distribution-Compat-Semigroup.html#v:gmempty">gmempty</a></code>-</pre></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,41 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Compat.Stack</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Compat.Stack</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">type</span> <a href="#t:WithCallStack">WithCallStack</a> a = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a> => a</li><li class="src short"><span class="keyword">data</span> <a href="#t:CallStack">CallStack</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a></li><li class="src short"><a href="#v:annotateCallStackIO">annotateCallStackIO</a> :: <a href="Distribution-Compat-Stack.html#t:WithCallStack">WithCallStack</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a)</li><li class="src short"><a href="#v:withFrozenCallStack">withFrozenCallStack</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a> => (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a> -> a) -> a</li><li class="src short"><a href="#v:withLexicalCallStack">withLexicalCallStack</a> :: (a -> <a href="Distribution-Compat-Stack.html#t:WithCallStack">WithCallStack</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> b)) -> <a href="Distribution-Compat-Stack.html#t:WithCallStack">WithCallStack</a> (a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> b)</li><li class="src short"><a href="#v:callStack">callStack</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a> -> <a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a></li><li class="src short"><a href="#v:prettyCallStack">prettyCallStack</a> :: <a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:parentSrcLocPrefix">parentSrcLocPrefix</a> :: <a href="Distribution-Compat-Stack.html#t:WithCallStack">WithCallStack</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:WithCallStack" class="def">WithCallStack</a> a = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a> => a <a href="#t:WithCallStack" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:CallStack" class="def">CallStack</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:CallStack" class="selflink">#</a></p><div class="doc"><p><code><a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a></code>s are a lightweight method of obtaining a- partial call-stack at any point in the program.</p><p>A function can request its call-site with the <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a></code> constraint.- For example, we can define</p><pre>errorWithCallStack :: HasCallStack => String -> a-</pre><p>as a variant of <code>error</code> that will get its call-site. We can access the- call-stack inside <code>errorWithCallStack</code> with <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Stack.html#v:callStack">callStack</a></code>.</p><pre>errorWithCallStack :: HasCallStack => String -> a-errorWithCallStack msg = error (msg ++ "n" ++ prettyCallStack callStack)-</pre><p>Thus, if we call <code>errorWithCallStack</code> we will get a formatted call-stack- alongside our error message.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>errorWithCallStack "die"-</code></strong>*** Exception: die-CallStack (from HasCallStack):- errorWithCallStack, called at <interactive>:2:1 in interactive:Ghci1-</pre><p>GHC solves <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a></code> constraints in three steps:</p><ol><li>If there is a <code><a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a></code> in scope -- i.e. the enclosing function- has a <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a></code> constraint -- GHC will append the new- call-site to the existing <code><a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a></code>.</li><li>If there is no <code><a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a></code> in scope -- e.g. in the GHCi session- above -- and the enclosing definition does not have an explicit- type signature, GHC will infer a <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a></code> constraint for the- enclosing definition (subject to the monomorphism restriction).</li><li>If there is no <code><a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a></code> in scope and the enclosing definition- has an explicit type signature, GHC will solve the <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a></code>- constraint for the singleton <code><a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a></code> containing just the- current call-site.</li></ol><p><code><a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a></code>s do not interact with the RTS and do not require compilation- with <code>-prof</code>. On the other hand, as they are built up explicitly via the- <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a></code> constraints, they will generally not contain as much- information as the simulated call-stacks maintained by the RTS.</p><p>A <code><a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a></code> is a <code>[(String, SrcLoc)]</code>. The <code>String</code> is the name of- function that was called, the <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Stack.html#t:SrcLoc">SrcLoc</a></code> is the call-site. The list is- ordered with the most recently called function at the head.</p><p>NOTE: The intrepid user may notice that <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a></code> is just an- alias for an implicit parameter <code>?callStack :: CallStack</code>. This is an- implementation detail and <strong>should not</strong> be considered part of the- <code><a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a></code> API, we may decide to change the implementation in the- future.</p><p><em>Since: 4.8.1.0</em></p></div><div class="subs instances"><p id="control.i:CallStack" class="caption collapser" onclick="toggleSection('i:CallStack')">Instances</p><div id="section.i:CallStack" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CallStack:IsList:1" class="instance expander" onclick="toggleSection('i:id:CallStack:IsList:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Exts.html#t:IsList">IsList</a> <a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a></span></td><td class="doc"><p>Be aware that 'fromList . toList = id' only for unfrozen <code><a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a></code>s,- since <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Exts.html#v:toList">toList</a></code> removes frozenness information.</p><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:id:CallStack:IsList:1" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Exts.html#t:Item">Item</a> <a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Item" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fromList">fromList</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Exts.html#t:Item">Item</a> <a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a>] -> <a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a> <a href="#v:fromList" class="selflink">#</a></p><p class="src"><a href="#v:fromListN">fromListN</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Exts.html#t:Item">Item</a> <a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a>] -> <a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a> <a href="#v:fromListN" class="selflink">#</a></p><p class="src"><a href="#v:toList">toList</a> :: <a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Exts.html#t:Item">Item</a> <a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a>] <a href="#v:toList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CallStack:Show:2" class="instance expander" onclick="toggleSection('i:id:CallStack:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a></span></td><td class="doc"><p><em>Since: 4.9.0.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:id:CallStack:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CallStack:NFData:3" class="instance expander" onclick="toggleSection('i:id:CallStack:NFData:3')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a></span></td><td class="doc"><p><em>Since: 1.4.2.0</em></p></td></tr><tr><td colspan="2"><div id="section.i:id:CallStack:NFData:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CallStack:Item:4" class="instance expander" onclick="toggleSection('i:id:CallStack:Item:4')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Exts.html#t:Item">Item</a> <a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a></span></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CallStack:Item:4" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Exts.html#t:Item">Item</a> <a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a> = (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Stack.html#t:SrcLoc">SrcLoc</a>)</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:annotateCallStackIO" class="def">annotateCallStackIO</a> :: <a href="Distribution-Compat-Stack.html#t:WithCallStack">WithCallStack</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> a) <a href="#v:annotateCallStackIO" class="selflink">#</a></p><div class="doc"><p>This function is for when you *really* want to add a call- stack to raised IO, but you don't have a- <code><a href="Distribution-Verbosity.html#v:Verbosity">Verbosity</a></code> so you can't use- <code><a href="Distribution-Simple-Utils.html#v:annotateIO">annotateIO</a></code>. If you have a <code>Verbosity</code>,- please use that function instead.</p></div></div><div class="top"><p class="src"><a id="v:withFrozenCallStack" class="def">withFrozenCallStack</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a> => (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a> -> a) -> a <a href="#v:withFrozenCallStack" class="selflink">#</a></p><div class="doc"><p>Perform some computation without adding new entries to the <code><a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a></code>.</p><p><em>Since: 4.9.0.0</em></p></div></div><div class="top"><p class="src"><a id="v:withLexicalCallStack" class="def">withLexicalCallStack</a> :: (a -> <a href="Distribution-Compat-Stack.html#t:WithCallStack">WithCallStack</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> b)) -> <a href="Distribution-Compat-Stack.html#t:WithCallStack">WithCallStack</a> (a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:IO">IO</a> b) <a href="#v:withLexicalCallStack" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:callStack" class="def">callStack</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a> -> <a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a> <a href="#v:callStack" class="selflink">#</a></p><div class="doc"><p>Return the current <code><a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a></code>.</p><p>Does *not* include the call-site of <code><a href="Distribution-Compat-Stack.html#v:callStack">callStack</a></code>.</p><p><em>Since: 4.9.0.0</em></p></div></div><div class="top"><p class="src"><a id="v:prettyCallStack" class="def">prettyCallStack</a> :: <a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:prettyCallStack" class="selflink">#</a></p><div class="doc"><p>Pretty print a <code><a href="Distribution-Compat-Stack.html#t:CallStack">CallStack</a></code>.</p><p><em>Since: 4.9.0.0</em></p></div></div><div class="top"><p class="src"><a id="v:parentSrcLocPrefix" class="def">parentSrcLocPrefix</a> :: <a href="Distribution-Compat-Stack.html#t:WithCallStack">WithCallStack</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:parentSrcLocPrefix" class="selflink">#</a></p><div class="doc"><p>Give the *parent* of the person who invoked this;- so it's most suitable for being called from a utility function.- You probably want to call this using <code><a href="Distribution-Compat-Stack.html#v:withFrozenCallStack">withFrozenCallStack</a></code>; otherwise- it's not very useful. We didn't implement this for base-4.8.1- because we cannot rely on freezing to have taken place.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,12 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Compat.Time</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Compat.Time</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">newtype</span> <a href="#t:ModTime">ModTime</a> = <a href="#v:ModTime">ModTime</a> <a href="Distribution-Compat-Prelude-Internal.html#t:Word64">Word64</a></li><li class="src short"><a href="#v:getModTime">getModTime</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a></li><li class="src short"><a href="#v:getFileAge">getFileAge</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Double">Double</a></li><li class="src short"><a href="#v:getCurTime">getCurTime</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a></li><li class="src short"><a href="#v:posixSecondsToModTime">posixSecondsToModTime</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Int64">Int64</a> -> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a></li><li class="src short"><a href="#v:calibrateMtimeChangeDelay">calibrateMtimeChangeDelay</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>)</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:ModTime" class="def">ModTime</a> <a href="#t:ModTime" class="selflink">#</a></p><div class="doc"><p>An opaque type representing a file's modification time, represented- internally as a 64-bit unsigned integer in the Windows UTC format.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ModTime" class="def">ModTime</a> <a href="Distribution-Compat-Prelude-Internal.html#t:Word64">Word64</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:ModTime" class="caption collapser" onclick="toggleSection('i:ModTime')">Instances</p><div id="section.i:ModTime" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModTime:Bounded:1" class="instance expander" onclick="toggleSection('i:id:ModTime:Bounded:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Bounded">Bounded</a> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a></span> <a href="#t:ModTime" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModTime:Bounded:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:minBound">minBound</a> :: <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> <a href="#v:minBound" class="selflink">#</a></p><p class="src"><a href="#v:maxBound">maxBound</a> :: <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> <a href="#v:maxBound" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModTime:Eq:2" class="instance expander" onclick="toggleSection('i:id:ModTime:Eq:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a></span> <a href="#t:ModTime" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModTime:Eq:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> -> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> -> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModTime:Ord:3" class="instance expander" onclick="toggleSection('i:id:ModTime:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a></span> <a href="#t:ModTime" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModTime:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> -> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> -> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> -> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> -> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> -> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> -> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> -> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> -> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> -> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModTime:Read:4" class="instance expander" onclick="toggleSection('i:id:ModTime:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a></span> <a href="#t:ModTime" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModTime:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModTime:Show:5" class="instance expander" onclick="toggleSection('i:id:ModTime:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a></span> <a href="#t:ModTime" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModTime:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModTime:Binary:6" class="instance expander" onclick="toggleSection('i:id:ModTime:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a></span> <a href="#t:ModTime" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModTime:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:getModTime" class="def">getModTime</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> <a href="#v:getModTime" class="selflink">#</a></p><div class="doc"><p>Return modification time of the given file. Works around the low clock- resolution problem that <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/directory-1.3.0.2/System-Directory.html#v:getModificationTime">getModificationTime</a></code> has on GHC < 7.8.</p><p>This is a modified version of the code originally written for Shake by Neil- Mitchell. See module Development.Shake.FileInfo.</p></div></div><div class="top"><p class="src"><a id="v:getFileAge" class="def">getFileAge</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Double">Double</a> <a href="#v:getFileAge" class="selflink">#</a></p><div class="doc"><p>Return age of given file in days.</p></div></div><div class="top"><p class="src"><a id="v:getCurTime" class="def">getCurTime</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> <a href="#v:getCurTime" class="selflink">#</a></p><div class="doc"><p>Return the current time as <code><a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:posixSecondsToModTime" class="def">posixSecondsToModTime</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Int64">Int64</a> -> <a href="Distribution-Compat-Time.html#t:ModTime">ModTime</a> <a href="#v:posixSecondsToModTime" class="selflink">#</a></p><div class="doc"><p>Convert POSIX seconds to ModTime.</p></div></div><div class="top"><p class="src"><a id="v:calibrateMtimeChangeDelay" class="def">calibrateMtimeChangeDelay</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) <a href="#v:calibrateMtimeChangeDelay" class="selflink">#</a></p><div class="doc"><p>Based on code written by Neil Mitchell for Shake. See- <code>sleepFileTimeCalibrate</code> in <code><a href="Test.html#v:Type">Type</a></code>. Returns a pair- of microsecond values: first, the maximum delay seen, and the- recommended delay to use before testing for file modification change.- The returned delay is never smaller- than 10 ms, but never larger than 1 second.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,26 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Compiler</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2004</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Compiler</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Compiler flavor</a></li><li><a href="#g:2">Compiler id</a></li><li><a href="#g:3">Compiler info</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This has an enumeration of the various compilers that Cabal knows about. It- also specifies the default compiler. Sadly you'll often see code that does- case analysis on this compiler flavour enumeration like:</p><pre>case compilerFlavor comp of- GHC -> GHC.getInstalledPackages verbosity packageDb progdb- JHC -> JHC.getInstalledPackages verbosity packageDb progdb</pre><p>Obviously it would be better to use the proper <code>Compiler</code> abstraction- because that would keep all the compiler-specific code together.- Unfortunately we cannot make this change yet without breaking the- <code>UserHooks</code> api, which would break all custom <code>Setup.hs</code> files, so for the- moment we just have to live with this deficiency. If you're interested, see- ticket #57.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:CompilerFlavor">CompilerFlavor</a><ul class="subs"><li>= <a href="#v:GHC">GHC</a></li><li>| <a href="#v:GHCJS">GHCJS</a></li><li>| <a href="#v:NHC">NHC</a></li><li>| <a href="#v:YHC">YHC</a></li><li>| <a href="#v:Hugs">Hugs</a></li><li>| <a href="#v:HBC">HBC</a></li><li>| <a href="#v:Helium">Helium</a></li><li>| <a href="#v:JHC">JHC</a></li><li>| <a href="#v:LHC">LHC</a></li><li>| <a href="#v:UHC">UHC</a></li><li>| <a href="#v:HaskellSuite">HaskellSuite</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li>| <a href="#v:OtherCompiler">OtherCompiler</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><a href="#v:buildCompilerId">buildCompilerId</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a></li><li class="src short"><a href="#v:buildCompilerFlavor">buildCompilerFlavor</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a></li><li class="src short"><a href="#v:defaultCompilerFlavor">defaultCompilerFlavor</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a></li><li class="src short"><a href="#v:parseCompilerFlavorCompat">parseCompilerFlavorCompat</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a></li><li class="src short"><a href="#v:classifyCompilerFlavor">classifyCompilerFlavor</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:CompilerId">CompilerId</a> = <a href="#v:CompilerId">CompilerId</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="Distribution-Version.html#t:Version">Version</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:CompilerInfo">CompilerInfo</a> = <a href="#v:CompilerInfo">CompilerInfo</a> {<ul class="subs"><li><a href="#v:compilerInfoId">compilerInfoId</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a></li><li><a href="#v:compilerInfoAbiTag">compilerInfoAbiTag</a> :: <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a></li><li><a href="#v:compilerInfoCompat">compilerInfoCompat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [<a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a>]</li><li><a href="#v:compilerInfoLanguages">compilerInfoLanguages</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [<a href="Language-Haskell-Extension.html#t:Language">Language</a>]</li><li><a href="#v:compilerInfoExtensions">compilerInfoExtensions</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</li></ul>}</li><li class="src short"><a href="#v:unknownCompilerInfo">unknownCompilerInfo</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> -> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:AbiTag">AbiTag</a><ul class="subs"><li>= <a href="#v:NoAbiTag">NoAbiTag</a></li><li>| <a href="#v:AbiTag">AbiTag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><a href="#v:abiTagString">abiTagString</a> :: <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></div><div id="interface"><h1 id="g:1">Compiler flavor</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:CompilerFlavor" class="def">CompilerFlavor</a> <a href="#t:CompilerFlavor" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:GHC" class="def">GHC</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:GHCJS" class="def">GHCJS</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:NHC" class="def">NHC</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:YHC" class="def">YHC</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Hugs" class="def">Hugs</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:HBC" class="def">HBC</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Helium" class="def">Helium</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:JHC" class="def">JHC</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:LHC" class="def">LHC</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:UHC" class="def">UHC</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:HaskellSuite" class="def">HaskellSuite</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:OtherCompiler" class="def">OtherCompiler</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:CompilerFlavor" class="caption collapser" onclick="toggleSection('i:CompilerFlavor')">Instances</p><div id="section.i:CompilerFlavor" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CompilerFlavor:Eq:1" class="instance expander" onclick="toggleSection('i:id:CompilerFlavor:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a></span> <a href="#t:CompilerFlavor" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CompilerFlavor:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CompilerFlavor:Data:2" class="instance expander" onclick="toggleSection('i:id:CompilerFlavor:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a></span> <a href="#t:CompilerFlavor" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CompilerFlavor:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> c <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> m <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> m <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> m <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CompilerFlavor:Ord:3" class="instance expander" onclick="toggleSection('i:id:CompilerFlavor:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a></span> <a href="#t:CompilerFlavor" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CompilerFlavor:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CompilerFlavor:Read:4" class="instance expander" onclick="toggleSection('i:id:CompilerFlavor:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a></span> <a href="#t:CompilerFlavor" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CompilerFlavor:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CompilerFlavor:Show:5" class="instance expander" onclick="toggleSection('i:id:CompilerFlavor:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a></span> <a href="#t:CompilerFlavor" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CompilerFlavor:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CompilerFlavor:Generic:6" class="instance expander" onclick="toggleSection('i:id:CompilerFlavor:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a></span> <a href="#t:CompilerFlavor" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CompilerFlavor:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> x -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CompilerFlavor:Binary:7" class="instance expander" onclick="toggleSection('i:id:CompilerFlavor:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a></span> <a href="#t:CompilerFlavor" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CompilerFlavor:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CompilerFlavor:Text:8" class="instance expander" onclick="toggleSection('i:id:CompilerFlavor:Text:8')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a></span> <a href="#t:CompilerFlavor" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CompilerFlavor:Text:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CompilerFlavor:Rep:9" class="instance expander" onclick="toggleSection('i:id:CompilerFlavor:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a></span> <a href="#t:CompilerFlavor" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CompilerFlavor:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "CompilerFlavor" "Distribution.Compiler" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "GHC" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "GHCJS" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "NHC" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "YHC" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Hugs" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "HBC" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Helium" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "JHC" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "LHC" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "UHC" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "HaskellSuite" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "OtherCompiler" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:buildCompilerId" class="def">buildCompilerId</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> <a href="#v:buildCompilerId" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:buildCompilerFlavor" class="def">buildCompilerFlavor</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="#v:buildCompilerFlavor" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:defaultCompilerFlavor" class="def">defaultCompilerFlavor</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="#v:defaultCompilerFlavor" class="selflink">#</a></p><div class="doc"><p>The default compiler flavour to pick when compiling stuff. This defaults- to the compiler used to build the Cabal lib.</p><p>However if it's not a recognised compiler then it's <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a></code> and the user- will have to specify which compiler they want.</p></div></div><div class="top"><p class="src"><a id="v:parseCompilerFlavorCompat" class="def">parseCompilerFlavorCompat</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="#v:parseCompilerFlavorCompat" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Distribution-Compiler.html#v:classifyCompilerFlavor">classifyCompilerFlavor</a></code> but compatible with the old ReadS parser.</p><p>It is compatible in the sense that it accepts only the same strings,- eg <a href="GHC.html">GHC</a> but not "ghc". However other strings get mapped to <code><a href="Distribution-Compiler.html#v:OtherCompiler">OtherCompiler</a></code>.- The point of this is that we do not allow extra valid values that would- upset older Cabal versions that had a stricter parser however we cope with- new values more gracefully so that we'll be able to introduce new value in- future without breaking things so much.</p></div></div><div class="top"><p class="src"><a id="v:classifyCompilerFlavor" class="def">classifyCompilerFlavor</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="#v:classifyCompilerFlavor" class="selflink">#</a></p></div><h1 id="g:2">Compiler id</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:CompilerId" class="def">CompilerId</a> <a href="#t:CompilerId" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:CompilerId" class="def">CompilerId</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:CompilerId" class="caption collapser" onclick="toggleSection('i:CompilerId')">Instances</p><div id="section.i:CompilerId" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CompilerId:Eq:1" class="instance expander" onclick="toggleSection('i:id:CompilerId:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a></span> <a href="#t:CompilerId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CompilerId:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CompilerId:Ord:2" class="instance expander" onclick="toggleSection('i:id:CompilerId:Ord:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a></span> <a href="#t:CompilerId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CompilerId:Ord:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CompilerId:Read:3" class="instance expander" onclick="toggleSection('i:id:CompilerId:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a></span> <a href="#t:CompilerId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CompilerId:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CompilerId:Show:4" class="instance expander" onclick="toggleSection('i:id:CompilerId:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a></span> <a href="#t:CompilerId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CompilerId:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CompilerId:Generic:5" class="instance expander" onclick="toggleSection('i:id:CompilerId:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a></span> <a href="#t:CompilerId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CompilerId:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> x -> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CompilerId:Binary:6" class="instance expander" onclick="toggleSection('i:id:CompilerId:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a></span> <a href="#t:CompilerId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CompilerId:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CompilerId:Text:7" class="instance expander" onclick="toggleSection('i:id:CompilerId:Text:7')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a></span> <a href="#t:CompilerId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CompilerId:Text:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CompilerId:Rep:8" class="instance expander" onclick="toggleSection('i:id:CompilerId:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a></span> <a href="#t:CompilerId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CompilerId:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "CompilerId" "Distribution.Compiler" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CompilerId" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>))))</div></div></td></tr></table></div></div></div><h1 id="g:3">Compiler info</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:CompilerInfo" class="def">CompilerInfo</a> <a href="#t:CompilerInfo" class="selflink">#</a></p><div class="doc"><p>Compiler information used for resolving configurations. Some- fields can be set to Nothing to indicate that the information is- unknown.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:CompilerInfo" class="def">CompilerInfo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:compilerInfoId" class="def">compilerInfoId</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a></dfn><div class="doc"><p>Compiler flavour and version.</p></div></li><li><dfn class="src"><a id="v:compilerInfoAbiTag" class="def">compilerInfoAbiTag</a> :: <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a></dfn><div class="doc"><p>Tag for distinguishing incompatible ABI's on the same- architecture/os.</p></div></li><li><dfn class="src"><a id="v:compilerInfoCompat" class="def">compilerInfoCompat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [<a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a>]</dfn><div class="doc"><p>Other implementations that this compiler claims to be- compatible with, if known.</p></div></li><li><dfn class="src"><a id="v:compilerInfoLanguages" class="def">compilerInfoLanguages</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [<a href="Language-Haskell-Extension.html#t:Language">Language</a>]</dfn><div class="doc"><p>Supported language standards, if known.</p></div></li><li><dfn class="src"><a id="v:compilerInfoExtensions" class="def">compilerInfoExtensions</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</dfn><div class="doc"><p>Supported extensions, if known.</p></div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:CompilerInfo" class="caption collapser" onclick="toggleSection('i:CompilerInfo')">Instances</p><div id="section.i:CompilerInfo" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CompilerInfo:Read:1" class="instance expander" onclick="toggleSection('i:id:CompilerInfo:Read:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a></span> <a href="#t:CompilerInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CompilerInfo:Read:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CompilerInfo:Show:2" class="instance expander" onclick="toggleSection('i:id:CompilerInfo:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a></span> <a href="#t:CompilerInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CompilerInfo:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CompilerInfo:Generic:3" class="instance expander" onclick="toggleSection('i:id:CompilerInfo:Generic:3')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a></span> <a href="#t:CompilerInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CompilerInfo:Generic:3" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> x -> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CompilerInfo:Binary:4" class="instance expander" onclick="toggleSection('i:id:CompilerInfo:Binary:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a></span> <a href="#t:CompilerInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CompilerInfo:Binary:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CompilerInfo:Rep:5" class="instance expander" onclick="toggleSection('i:id:CompilerInfo:Rep:5')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a></span> <a href="#t:CompilerInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CompilerInfo:Rep:5" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "CompilerInfo" "Distribution.Compiler" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CompilerInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "compilerInfoId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "compilerInfoAbiTag") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "compilerInfoCompat") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [<a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "compilerInfoLanguages") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [<a href="Language-Haskell-Extension.html#t:Language">Language</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "compilerInfoExtensions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>])))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:unknownCompilerInfo" class="def">unknownCompilerInfo</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> -> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> <a href="#v:unknownCompilerInfo" class="selflink">#</a></p><div class="doc"><p>Make a CompilerInfo of which only the known information is its CompilerId,- its AbiTag and that it does not claim to be compatible with other- compiler id's.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:AbiTag" class="def">AbiTag</a> <a href="#t:AbiTag" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:NoAbiTag" class="def">NoAbiTag</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:AbiTag" class="def">AbiTag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:AbiTag" class="caption collapser" onclick="toggleSection('i:AbiTag')">Instances</p><div id="section.i:AbiTag" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AbiTag:Eq:1" class="instance expander" onclick="toggleSection('i:id:AbiTag:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a></span> <a href="#t:AbiTag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AbiTag:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> -> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> -> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AbiTag:Read:2" class="instance expander" onclick="toggleSection('i:id:AbiTag:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a></span> <a href="#t:AbiTag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AbiTag:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AbiTag:Show:3" class="instance expander" onclick="toggleSection('i:id:AbiTag:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a></span> <a href="#t:AbiTag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AbiTag:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AbiTag:Generic:4" class="instance expander" onclick="toggleSection('i:id:AbiTag:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a></span> <a href="#t:AbiTag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AbiTag:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> x -> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AbiTag:Binary:5" class="instance expander" onclick="toggleSection('i:id:AbiTag:Binary:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a></span> <a href="#t:AbiTag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AbiTag:Binary:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AbiTag:Text:6" class="instance expander" onclick="toggleSection('i:id:AbiTag:Text:6')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a></span> <a href="#t:AbiTag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AbiTag:Text:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AbiTag:Rep:7" class="instance expander" onclick="toggleSection('i:id:AbiTag:Rep:7')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a></span> <a href="#t:AbiTag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AbiTag:Rep:7" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "AbiTag" "Distribution.Compiler" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "NoAbiTag" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "AbiTag" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:abiTagString" class="def">abiTagString</a> :: <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:abiTagString" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,30 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.InstalledPackageInfo</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(c) The University of Glasgow 2004</td></tr><tr><th>Maintainer</th><td>libraries@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.InstalledPackageInfo</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This is the information about an <em>installed</em> package that- is communicated to the <code>ghc-pkg</code> program in order to register- a package. <code>ghc-pkg</code> now consumes this package format (as of version- 6.4). This is specific to GHC at the moment.</p><p>The <code>.cabal</code> file format is for describing a package that is not yet- installed. It has a lot of flexibility, like conditionals and dependency- ranges. As such, that format is not at all suitable for describing a package- that has already been built and installed. By the time we get to that stage,- we have resolved all conditionals and resolved dependency version- constraints to exact versions of dependent packages. So, this module defines- the <code><a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></code> data structure that contains all the info we keep- about an installed package. There is a parser and pretty printer. The- textual format is rather simpler than the <code>.cabal</code> format: there are no- sections, for example.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:InstalledPackageInfo">InstalledPackageInfo</a> = <a href="#v:InstalledPackageInfo">InstalledPackageInfo</a> {<ul class="subs"><li><a href="#v:sourcePackageId">sourcePackageId</a> :: <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a></li><li><a href="#v:installedUnitId">installedUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li><a href="#v:installedComponentId_">installedComponentId_</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></li><li><a href="#v:instantiatedWith">instantiatedWith</a> :: [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>)]</li><li><a href="#v:sourceLibName">sourceLibName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li><a href="#v:compatPackageKey">compatPackageKey</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:license">license</a> :: <a href="Distribution-License.html#t:License">License</a></li><li><a href="#v:copyright">copyright</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:maintainer">maintainer</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:author">author</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:stability">stability</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:homepage">homepage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:pkgUrl">pkgUrl</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:synopsis">synopsis</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:description">description</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:category">category</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:abiHash">abiHash</a> :: <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a></li><li><a href="#v:indefinite">indefinite</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:exposed">exposed</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:exposedModules">exposedModules</a> :: [<a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a>]</li><li><a href="#v:hiddenModules">hiddenModules</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li><a href="#v:trusted">trusted</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:importDirs">importDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:libraryDirs">libraryDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:libraryDynDirs">libraryDynDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:dataDir">dataDir</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:hsLibraries">hsLibraries</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:extraLibraries">extraLibraries</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:extraGHCiLibraries">extraGHCiLibraries</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:includeDirs">includeDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:includes">includes</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:depends">depends</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</li><li><a href="#v:abiDepends">abiDepends</a> :: [<a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a>]</li><li><a href="#v:ccOptions">ccOptions</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:ldOptions">ldOptions</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:frameworkDirs">frameworkDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:frameworks">frameworks</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:haddockInterfaces">haddockInterfaces</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:haddockHTMLs">haddockHTMLs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:pkgRoot">pkgRoot</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li></ul>}</li><li class="src short"><a href="#v:installedPackageId">installedPackageId</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li class="src short"><a href="#v:installedComponentId">installedComponentId</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></li><li class="src short"><a href="#v:installedOpenUnitId">installedOpenUnitId</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></li><li class="src short"><a href="#v:sourceComponentName">sourceComponentName</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></li><li class="src short"><a href="#v:requiredSignatures">requiredSignatures</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:ExposedModule">ExposedModule</a> = <a href="#v:ExposedModule">ExposedModule</a> {<ul class="subs"><li><a href="#v:exposedName">exposedName</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li><li><a href="#v:exposedReexport">exposedReexport</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:AbiDependency">AbiDependency</a> = <a href="#v:AbiDependency">AbiDependency</a> {<ul class="subs"><li><a href="#v:depUnitId">depUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li><a href="#v:depAbiHash">depAbiHash</a> :: <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:ParseResult">ParseResult</a> a<ul class="subs"><li>= <a href="#v:ParseFailed">ParseFailed</a> <a href="Distribution-InstalledPackageInfo.html#t:PError">PError</a></li><li>| <a href="#v:ParseOk">ParseOk</a> [<a href="Distribution-InstalledPackageInfo.html#t:PWarning">PWarning</a>] a</li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:PError">PError</a><ul class="subs"><li>= <a href="#v:AmbiguousParse">AmbiguousParse</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="Distribution-PackageDescription-Parse.html#t:LineNo">LineNo</a></li><li>| <a href="#v:NoParse">NoParse</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="Distribution-PackageDescription-Parse.html#t:LineNo">LineNo</a></li><li>| <a href="#v:TabsError">TabsError</a> <a href="Distribution-PackageDescription-Parse.html#t:LineNo">LineNo</a></li><li>| <a href="#v:FromString">FromString</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription-Parse.html#t:LineNo">LineNo</a>)</li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:PWarning">PWarning</a></li><li class="src short"><a href="#v:emptyInstalledPackageInfo">emptyInstalledPackageInfo</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></li><li class="src short"><a href="#v:parseInstalledPackageInfo">parseInstalledPackageInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></li><li class="src short"><a href="#v:showInstalledPackageInfo">showInstalledPackageInfo</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:showInstalledPackageInfoField">showInstalledPackageInfoField</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)</li><li class="src short"><a href="#v:showSimpleInstalledPackageInfoField">showSimpleInstalledPackageInfoField</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)</li><li class="src short"><a href="#v:fieldsInstalledPackageInfo">fieldsInstalledPackageInfo</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>]</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:InstalledPackageInfo" class="def">InstalledPackageInfo</a> <a href="#t:InstalledPackageInfo" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:InstalledPackageInfo" class="def">InstalledPackageInfo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:sourcePackageId" class="def">sourcePackageId</a> :: <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:installedUnitId" class="def">installedUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:installedComponentId_" class="def">installedComponentId_</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:instantiatedWith" class="def">instantiatedWith</a> :: [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>)]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:sourceLibName" class="def">sourceLibName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:compatPackageKey" class="def">compatPackageKey</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:license" class="def">license</a> :: <a href="Distribution-License.html#t:License">License</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:copyright" class="def">copyright</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:maintainer" class="def">maintainer</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:author" class="def">author</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:stability" class="def">stability</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:homepage" class="def">homepage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:pkgUrl" class="def">pkgUrl</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:synopsis" class="def">synopsis</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:description" class="def">description</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:category" class="def">category</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:abiHash" class="def">abiHash</a> :: <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:indefinite" class="def">indefinite</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:exposed" class="def">exposed</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:exposedModules" class="def">exposedModules</a> :: [<a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:hiddenModules" class="def">hiddenModules</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:trusted" class="def">trusted</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:importDirs" class="def">importDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:libraryDirs" class="def">libraryDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:libraryDynDirs" class="def">libraryDynDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc"><p>overrides <code><a href="Distribution-InstalledPackageInfo.html#v:libraryDirs">libraryDirs</a></code></p></div></li><li><dfn class="src"><a id="v:dataDir" class="def">dataDir</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:hsLibraries" class="def">hsLibraries</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:extraLibraries" class="def">extraLibraries</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:extraGHCiLibraries" class="def">extraGHCiLibraries</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:includeDirs" class="def">includeDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:includes" class="def">includes</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:depends" class="def">depends</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:abiDepends" class="def">abiDepends</a> :: [<a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:ccOptions" class="def">ccOptions</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:ldOptions" class="def">ldOptions</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:frameworkDirs" class="def">frameworkDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:frameworks" class="def">frameworks</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:haddockInterfaces" class="def">haddockInterfaces</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:haddockHTMLs" class="def">haddockHTMLs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:pkgRoot" class="def">pkgRoot</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:InstalledPackageInfo" class="caption collapser" onclick="toggleSection('i:InstalledPackageInfo')">Instances</p><div id="section.i:InstalledPackageInfo" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstalledPackageInfo:Eq:1" class="instance expander" onclick="toggleSection('i:id:InstalledPackageInfo:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></span> <a href="#t:InstalledPackageInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstalledPackageInfo:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstalledPackageInfo:Read:2" class="instance expander" onclick="toggleSection('i:id:InstalledPackageInfo:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></span> <a href="#t:InstalledPackageInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstalledPackageInfo:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstalledPackageInfo:Show:3" class="instance expander" onclick="toggleSection('i:id:InstalledPackageInfo:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></span> <a href="#t:InstalledPackageInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstalledPackageInfo:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstalledPackageInfo:Generic:4" class="instance expander" onclick="toggleSection('i:id:InstalledPackageInfo:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></span> <a href="#t:InstalledPackageInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstalledPackageInfo:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> x -> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstalledPackageInfo:Binary:5" class="instance expander" onclick="toggleSection('i:id:InstalledPackageInfo:Binary:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></span> <a href="#t:InstalledPackageInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstalledPackageInfo:Binary:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstalledPackageInfo:IsNode:6" class="instance expander" onclick="toggleSection('i:id:InstalledPackageInfo:IsNode:6')"></span> <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></span> <a href="#t:InstalledPackageInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstalledPackageInfo:IsNode:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Key" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:nodeKey">nodeKey</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:nodeKey" class="selflink">#</a></p><p class="src"><a href="#v:nodeNeighbors">nodeNeighbors</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> [<a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>] <a href="#v:nodeNeighbors" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstalledPackageInfo:PackageInstalled:7" class="instance expander" onclick="toggleSection('i:id:InstalledPackageInfo:PackageInstalled:7')"></span> <a href="Distribution-Package.html#t:PackageInstalled">PackageInstalled</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></span> <a href="#t:InstalledPackageInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstalledPackageInfo:PackageInstalled:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:installedDepends">installedDepends</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>] <a href="#v:installedDepends" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstalledPackageInfo:HasUnitId:8" class="instance expander" onclick="toggleSection('i:id:InstalledPackageInfo:HasUnitId:8')"></span> <a href="Distribution-Package.html#t:HasUnitId">HasUnitId</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></span> <a href="#t:InstalledPackageInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstalledPackageInfo:HasUnitId:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:installedUnitId">installedUnitId</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:installedUnitId" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstalledPackageInfo:HasMungedPackageId:9" class="instance expander" onclick="toggleSection('i:id:InstalledPackageInfo:HasMungedPackageId:9')"></span> <a href="Distribution-Package.html#t:HasMungedPackageId">HasMungedPackageId</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></span> <a href="#t:InstalledPackageInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstalledPackageInfo:HasMungedPackageId:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mungedId">mungedId</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> <a href="#v:mungedId" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstalledPackageInfo:Package:10" class="instance expander" onclick="toggleSection('i:id:InstalledPackageInfo:Package:10')"></span> <a href="Distribution-Package.html#t:Package">Package</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></span> <a href="#t:InstalledPackageInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstalledPackageInfo:Package:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:packageId">packageId</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:packageId" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstalledPackageInfo:Semigroup:11" class="instance expander" onclick="toggleSection('i:id:InstalledPackageInfo:Semigroup:11')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>)</span> <a href="#t:Semigroup" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstalledPackageInfo:Semigroup:11" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>) -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstalledPackageInfo:Monoid:12" class="instance expander" onclick="toggleSection('i:id:InstalledPackageInfo:Monoid:12')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>)</span> <a href="#t:Monoid" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstalledPackageInfo:Monoid:12" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>] -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstalledPackageInfo:Rep:13" class="instance expander" onclick="toggleSection('i:id:InstalledPackageInfo:Rep:13')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></span> <a href="#t:InstalledPackageInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstalledPackageInfo:Rep:13" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "InstalledPackageInfo" "Distribution.InstalledPackageInfo" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "InstalledPackageInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "sourcePackageId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "installedUnitId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "installedComponentId_") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "instantiatedWith") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "sourceLibName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "compatPackageKey") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "license") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-License.html#t:License">License</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "copyright") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "maintainer") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "author") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "stability") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "homepage") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "pkgUrl") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "synopsis") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "description") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "category") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "abiHash") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "indefinite") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "exposed") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "exposedModules") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a>]))))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "hiddenModules") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "trusted") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "importDirs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "libraryDirs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "libraryDynDirs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "dataDir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "hsLibraries") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "extraLibraries") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "extraGHCiLibraries") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "includeDirs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "includes") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "depends") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "abiDepends") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ccOptions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ldOptions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "frameworkDirs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "frameworks") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "haddockInterfaces") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "haddockHTMLs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "pkgRoot") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))))))))))</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstalledPackageInfo:Key:14" class="instance expander" onclick="toggleSection('i:id:InstalledPackageInfo:Key:14')"></span> <span class="keyword">type</span> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></span> <a href="#t:InstalledPackageInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstalledPackageInfo:Key:14" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> = <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:installedPackageId" class="def">installedPackageId</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:installedPackageId" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: Use installedUnitId instead</p></div><p>Backwards compatibility with Cabal pre-1.24.</p><p>This type synonym is slightly awful because in cabal-install- we define an <code><a href="Distribution-Types-UnitId.html#t:InstalledPackageId">InstalledPackageId</a></code> but it's a ComponentId,- not a UnitId!</p></div></div><div class="top"><p class="src"><a id="v:installedComponentId" class="def">installedComponentId</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="#v:installedComponentId" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:installedOpenUnitId" class="def">installedOpenUnitId</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="#v:installedOpenUnitId" class="selflink">#</a></p><div class="doc"><p>Get the indefinite unit identity representing this package.- This IS NOT guaranteed to give you a substitution; for- instantiated packages you will get <code>DefiniteUnitId (installedUnitId ipi)</code>.- For indefinite libraries, however, you will correctly get- an <code>OpenUnitId</code> with the appropriate <code><a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:sourceComponentName" class="def">sourceComponentName</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> <a href="#v:sourceComponentName" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:requiredSignatures" class="def">requiredSignatures</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:requiredSignatures" class="selflink">#</a></p><div class="doc"><p>Returns the set of module names which need to be filled for- an indefinite package, or the empty set if the package is definite.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ExposedModule" class="def">ExposedModule</a> <a href="#t:ExposedModule" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ExposedModule" class="def">ExposedModule</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:exposedName" class="def">exposedName</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:exposedReexport" class="def">exposedReexport</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:ExposedModule" class="caption collapser" onclick="toggleSection('i:ExposedModule')">Instances</p><div id="section.i:ExposedModule" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExposedModule:Eq:1" class="instance expander" onclick="toggleSection('i:id:ExposedModule:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a></span> <a href="#t:ExposedModule" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExposedModule:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a> -> <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a> -> <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExposedModule:Read:2" class="instance expander" onclick="toggleSection('i:id:ExposedModule:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a></span> <a href="#t:ExposedModule" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExposedModule:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExposedModule:Show:3" class="instance expander" onclick="toggleSection('i:id:ExposedModule:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a></span> <a href="#t:ExposedModule" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExposedModule:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExposedModule:Generic:4" class="instance expander" onclick="toggleSection('i:id:ExposedModule:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a></span> <a href="#t:ExposedModule" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExposedModule:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a> x -> <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExposedModule:Binary:5" class="instance expander" onclick="toggleSection('i:id:ExposedModule:Binary:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a></span> <a href="#t:ExposedModule" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExposedModule:Binary:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExposedModule:Text:6" class="instance expander" onclick="toggleSection('i:id:ExposedModule:Text:6')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a></span> <a href="#t:ExposedModule" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExposedModule:Text:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExposedModule:Rep:7" class="instance expander" onclick="toggleSection('i:id:ExposedModule:Rep:7')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a></span> <a href="#t:ExposedModule" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExposedModule:Rep:7" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ExposedModule" "Distribution.InstalledPackageInfo" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ExposedModule" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "exposedName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "exposedReexport") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:AbiDependency" class="def">AbiDependency</a> <a href="#t:AbiDependency" class="selflink">#</a></p><div class="doc"><p>An ABI dependency is a dependency on a library which also- records the ABI hash (<code><a href="Distribution-InstalledPackageInfo.html#v:abiHash">abiHash</a></code>) of the library it depends- on.</p><p>The primary utility of this is to enable an extra sanity when- GHC loads libraries: it can check if the dependency has a matching- ABI and if not, refuse to load this library. This information- is critical if we are shadowing libraries; differences in the- ABI hash let us know what packages get shadowed by the new version- of a package.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:AbiDependency" class="def">AbiDependency</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:depUnitId" class="def">depUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:depAbiHash" class="def">depAbiHash</a> :: <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:AbiDependency" class="caption collapser" onclick="toggleSection('i:AbiDependency')">Instances</p><div id="section.i:AbiDependency" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AbiDependency:Eq:1" class="instance expander" onclick="toggleSection('i:id:AbiDependency:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a></span> <a href="#t:AbiDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AbiDependency:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a> -> <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a> -> <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AbiDependency:Read:2" class="instance expander" onclick="toggleSection('i:id:AbiDependency:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a></span> <a href="#t:AbiDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AbiDependency:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AbiDependency:Show:3" class="instance expander" onclick="toggleSection('i:id:AbiDependency:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a></span> <a href="#t:AbiDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AbiDependency:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AbiDependency:Generic:4" class="instance expander" onclick="toggleSection('i:id:AbiDependency:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a></span> <a href="#t:AbiDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AbiDependency:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a> x -> <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AbiDependency:Binary:5" class="instance expander" onclick="toggleSection('i:id:AbiDependency:Binary:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a></span> <a href="#t:AbiDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AbiDependency:Binary:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AbiDependency:Text:6" class="instance expander" onclick="toggleSection('i:id:AbiDependency:Text:6')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a></span> <a href="#t:AbiDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AbiDependency:Text:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AbiDependency:Rep:7" class="instance expander" onclick="toggleSection('i:id:AbiDependency:Rep:7')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a></span> <a href="#t:AbiDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AbiDependency:Rep:7" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "AbiDependency" "Distribution.InstalledPackageInfo" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "AbiDependency" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "depUnitId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "depAbiHash") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a>))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ParseResult" class="def">ParseResult</a> a <a href="#t:ParseResult" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ParseFailed" class="def">ParseFailed</a> <a href="Distribution-InstalledPackageInfo.html#t:PError">PError</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:ParseOk" class="def">ParseOk</a> [<a href="Distribution-InstalledPackageInfo.html#t:PWarning">PWarning</a>] a</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:ParseResult" class="caption collapser" onclick="toggleSection('i:ParseResult')">Instances</p><div id="section.i:ParseResult" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ParseResult:Monad:1" class="instance expander" onclick="toggleSection('i:id:ParseResult:Monad:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a></span> <a href="#t:ParseResult" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ParseResult:Monad:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-62--62--61-">(>>=)</a> :: <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> a -> (a -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> b) -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> b <a href="#v:-62--62--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62--62-">(>>)</a> :: <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> a -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> b -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> b <a href="#v:-62--62-" class="selflink">#</a></p><p class="src"><a href="#v:return">return</a> :: a -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> a <a href="#v:return" class="selflink">#</a></p><p class="src"><a href="#v:fail">fail</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> a <a href="#v:fail" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ParseResult:Functor:2" class="instance expander" onclick="toggleSection('i:id:ParseResult:Functor:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor.html#t:Functor">Functor</a> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a></span> <a href="#t:ParseResult" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ParseResult:Functor:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -> b) -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> a -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(<$)</a> :: a -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> b -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ParseResult:MonadFail:3" class="instance expander" onclick="toggleSection('i:id:ParseResult:MonadFail:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad-Fail.html#t:MonadFail">MonadFail</a> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a></span> <a href="#t:ParseResult" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ParseResult:MonadFail:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fail">fail</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> a <a href="#v:fail" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ParseResult:Applicative:4" class="instance expander" onclick="toggleSection('i:id:ParseResult:Applicative:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a></span> <a href="#t:ParseResult" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ParseResult:Applicative:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(<*>)</a> :: <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> (a -> b) -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> a -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:liftA2">liftA2</a> :: (a -> b -> c) -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> a -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> b -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> c <a href="#v:liftA2" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*>)</a> :: <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> a -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> b -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(<*)</a> :: <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> a -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> b -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> a <a href="#v:-60--42-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ParseResult:Show:5" class="instance expander" onclick="toggleSection('i:id:ParseResult:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> a)</span> <a href="#t:ParseResult" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ParseResult:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:PError" class="def">PError</a> <a href="#t:PError" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:AmbiguousParse" class="def">AmbiguousParse</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="Distribution-PackageDescription-Parse.html#t:LineNo">LineNo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:NoParse" class="def">NoParse</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="Distribution-PackageDescription-Parse.html#t:LineNo">LineNo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:TabsError" class="def">TabsError</a> <a href="Distribution-PackageDescription-Parse.html#t:LineNo">LineNo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:FromString" class="def">FromString</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription-Parse.html#t:LineNo">LineNo</a>)</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:PError" class="caption collapser" onclick="toggleSection('i:PError')">Instances</p><div id="section.i:PError" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PError:Eq:1" class="instance expander" onclick="toggleSection('i:id:PError:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-InstalledPackageInfo.html#t:PError">PError</a></span> <a href="#t:PError" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PError:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-InstalledPackageInfo.html#t:PError">PError</a> -> <a href="Distribution-InstalledPackageInfo.html#t:PError">PError</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-InstalledPackageInfo.html#t:PError">PError</a> -> <a href="Distribution-InstalledPackageInfo.html#t:PError">PError</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PError:Show:2" class="instance expander" onclick="toggleSection('i:id:PError:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-InstalledPackageInfo.html#t:PError">PError</a></span> <a href="#t:PError" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PError:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-InstalledPackageInfo.html#t:PError">PError</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-InstalledPackageInfo.html#t:PError">PError</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-InstalledPackageInfo.html#t:PError">PError</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:PWarning" class="def">PWarning</a> <a href="#t:PWarning" class="selflink">#</a></p><div class="subs instances"><p id="control.i:PWarning" class="caption collapser" onclick="toggleSection('i:PWarning')">Instances</p><div id="section.i:PWarning" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PWarning:Eq:1" class="instance expander" onclick="toggleSection('i:id:PWarning:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-InstalledPackageInfo.html#t:PWarning">PWarning</a></span> <a href="#t:PWarning" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PWarning:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-InstalledPackageInfo.html#t:PWarning">PWarning</a> -> <a href="Distribution-InstalledPackageInfo.html#t:PWarning">PWarning</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-InstalledPackageInfo.html#t:PWarning">PWarning</a> -> <a href="Distribution-InstalledPackageInfo.html#t:PWarning">PWarning</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PWarning:Show:2" class="instance expander" onclick="toggleSection('i:id:PWarning:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-InstalledPackageInfo.html#t:PWarning">PWarning</a></span> <a href="#t:PWarning" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PWarning:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-InstalledPackageInfo.html#t:PWarning">PWarning</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-InstalledPackageInfo.html#t:PWarning">PWarning</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-InstalledPackageInfo.html#t:PWarning">PWarning</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyInstalledPackageInfo" class="def">emptyInstalledPackageInfo</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:emptyInstalledPackageInfo" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:parseInstalledPackageInfo" class="def">parseInstalledPackageInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:parseInstalledPackageInfo" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:showInstalledPackageInfo" class="def">showInstalledPackageInfo</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:showInstalledPackageInfo" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:showInstalledPackageInfoField" class="def">showInstalledPackageInfoField</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>) <a href="#v:showInstalledPackageInfoField" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:showSimpleInstalledPackageInfoField" class="def">showSimpleInstalledPackageInfoField</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>) <a href="#v:showSimpleInstalledPackageInfoField" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fieldsInstalledPackageInfo" class="def">fieldsInstalledPackageInfo</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>] <a href="#v:fieldsInstalledPackageInfo" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,34 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.License</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2005<br />Duncan Coutts 2008</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.License</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Package descriptions contain fields for specifying the name of a software- license and the name of the file containing the text of that license. While- package authors may choose any license they like, Cabal provides an- enumeration of a small set of common free and open source software licenses.- This is done so that Hackage can recognise licenses, so that tools can detect- <a href="https://en.wikipedia.org/wiki/License_compatibility">licensing conflicts</a>,- and to deter- <a href="https://en.wikipedia.org/wiki/License_proliferation">license proliferation</a>.</p><p>It is recommended that all package authors use the <code>license-file</code> or- <code>license-files</code> fields in their package descriptions. Further information- about these fields can be found in the- <a href="http://www.haskell.org/cabal/users-guide/developing-packages.html#package-descriptions">Cabal users guide</a>.</p><h1>Additional resources</h1><p>The following websites provide information about free and open source- software licenses:</p><ul><li><a href="http://www.opensource.org">The Open Source Initiative (OSI)</a></li><li><a href="https://www.fsf.org">The Free Software Foundation (FSF)</a></li></ul><h1>Disclaimer</h1><p>The descriptions of software licenses provided by this documentation are- intended for informational purposes only and in no way constitute legal- advice. Please read the text of the licenses and consult a lawyer for any- advice regarding software licensing.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:License">License</a><ul class="subs"><li>= <a href="#v:GPL">GPL</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>)</li><li>| <a href="#v:AGPL">AGPL</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>)</li><li>| <a href="#v:LGPL">LGPL</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>)</li><li>| <a href="#v:BSD2">BSD2</a></li><li>| <a href="#v:BSD3">BSD3</a></li><li>| <a href="#v:BSD4">BSD4</a></li><li>| <a href="#v:MIT">MIT</a></li><li>| <a href="#v:ISC">ISC</a></li><li>| <a href="#v:MPL">MPL</a> <a href="Distribution-Version.html#t:Version">Version</a></li><li>| <a href="#v:Apache">Apache</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>)</li><li>| <a href="#v:PublicDomain">PublicDomain</a></li><li>| <a href="#v:AllRightsReserved">AllRightsReserved</a></li><li>| <a href="#v:UnspecifiedLicense">UnspecifiedLicense</a></li><li>| <a href="#v:OtherLicense">OtherLicense</a></li><li>| <a href="#v:UnknownLicense">UnknownLicense</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><a href="#v:knownLicenses">knownLicenses</a> :: [<a href="Distribution-License.html#t:License">License</a>]</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:License" class="def">License</a> <a href="#t:License" class="selflink">#</a></p><div class="doc"><p>Indicates the license under which a package's source code is released.- Versions of the licenses not listed here will be rejected by Hackage and- cause <code>cabal check</code> to issue a warning.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:GPL" class="def">GPL</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>)</td><td class="doc"><p>GNU General Public License,- <a href="https://www.gnu.org/licenses/old-licenses/gpl-2.0.html">version 2</a> or- <a href="https://www.gnu.org/licenses/gpl.html">version 3</a>.</p></td></tr><tr><td class="src"><a id="v:AGPL" class="def">AGPL</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>)</td><td class="doc"><p><a href="https://www.gnu.org/licenses/agpl.html">GNU Affero General Public License, version 3</a>.</p></td></tr><tr><td class="src"><a id="v:LGPL" class="def">LGPL</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>)</td><td class="doc"><p>GNU Lesser General Public License,- <a href="https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">version 2.1</a> or- <a href="https://www.gnu.org/licenses/lgpl.html">version 3</a>.</p></td></tr><tr><td class="src"><a id="v:BSD2" class="def">BSD2</a></td><td class="doc"><p><a href="http://www.opensource.org/licenses/bsd-license">2-clause BSD license</a>.</p></td></tr><tr><td class="src"><a id="v:BSD3" class="def">BSD3</a></td><td class="doc"><p><a href="http://www.opensource.org/licenses/bsd-3-clause">3-clause BSD license</a>.</p></td></tr><tr><td class="src"><a id="v:BSD4" class="def">BSD4</a></td><td class="doc"><p><a href="http://directory.fsf.org/wiki/License:BSD_4Clause">4-clause BSD license</a>.- This license has not been approved by the OSI and is incompatible with- the GNU GPL. It is provided for historical reasons and should be avoided.</p></td></tr><tr><td class="src"><a id="v:MIT" class="def">MIT</a></td><td class="doc"><p><a href="http://www.opensource.org/licenses/MIT">MIT license</a>.</p></td></tr><tr><td class="src"><a id="v:ISC" class="def">ISC</a></td><td class="doc"><p><a href="http://www.isc.org/downloads/software-support-policy/isc-license/">ISC license</a></p></td></tr><tr><td class="src"><a id="v:MPL" class="def">MPL</a> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc"><p><a href="https://www.mozilla.org/MPL/">Mozilla Public License, version 2.0</a>.</p></td></tr><tr><td class="src"><a id="v:Apache" class="def">Apache</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>)</td><td class="doc"><p><a href="https://www.apache.org/licenses/">Apache License, version 2.0</a>.</p></td></tr><tr><td class="src"><a id="v:PublicDomain" class="def">PublicDomain</a></td><td class="doc"><p>The author of a package disclaims any copyright to its source code and- dedicates it to the public domain. This is not a software license. Please- note that it is not possible to dedicate works to the public domain in- every jurisdiction, nor is a work that is in the public domain in one- jurisdiction necessarily in the public domain elsewhere.</p></td></tr><tr><td class="src"><a id="v:AllRightsReserved" class="def">AllRightsReserved</a></td><td class="doc"><p>Explicitly 'All Rights Reserved', eg for proprietary software. The- package may not be legally modified or redistributed by anyone but the- rightsholder.</p></td></tr><tr><td class="src"><a id="v:UnspecifiedLicense" class="def">UnspecifiedLicense</a></td><td class="doc"><p>No license specified which legally defaults to 'All Rights Reserved'.- The package may not be legally modified or redistributed by anyone but- the rightsholder.</p></td></tr><tr><td class="src"><a id="v:OtherLicense" class="def">OtherLicense</a></td><td class="doc"><p>Any other software license.</p></td></tr><tr><td class="src"><a id="v:UnknownLicense" class="def">UnknownLicense</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>Indicates an erroneous license name.</p></td></tr></table></div><div class="subs instances"><p id="control.i:License" class="caption collapser" onclick="toggleSection('i:License')">Instances</p><div id="section.i:License" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:License:Eq:1" class="instance expander" onclick="toggleSection('i:id:License:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-License.html#t:License">License</a></span> <a href="#t:License" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:License:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-License.html#t:License">License</a> -> <a href="Distribution-License.html#t:License">License</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-License.html#t:License">License</a> -> <a href="Distribution-License.html#t:License">License</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:License:Data:2" class="instance expander" onclick="toggleSection('i:id:License:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-License.html#t:License">License</a></span> <a href="#t:License" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:License:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-License.html#t:License">License</a> -> c <a href="Distribution-License.html#t:License">License</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-License.html#t:License">License</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-License.html#t:License">License</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-License.html#t:License">License</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-License.html#t:License">License</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-License.html#t:License">License</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-License.html#t:License">License</a> -> <a href="Distribution-License.html#t:License">License</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-License.html#t:License">License</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-License.html#t:License">License</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-License.html#t:License">License</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-License.html#t:License">License</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-License.html#t:License">License</a> -> m <a href="Distribution-License.html#t:License">License</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-License.html#t:License">License</a> -> m <a href="Distribution-License.html#t:License">License</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-License.html#t:License">License</a> -> m <a href="Distribution-License.html#t:License">License</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:License:Read:3" class="instance expander" onclick="toggleSection('i:id:License:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-License.html#t:License">License</a></span> <a href="#t:License" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:License:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-License.html#t:License">License</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-License.html#t:License">License</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-License.html#t:License">License</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-License.html#t:License">License</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:License:Show:4" class="instance expander" onclick="toggleSection('i:id:License:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-License.html#t:License">License</a></span> <a href="#t:License" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:License:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-License.html#t:License">License</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-License.html#t:License">License</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-License.html#t:License">License</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:License:Generic:5" class="instance expander" onclick="toggleSection('i:id:License:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-License.html#t:License">License</a></span> <a href="#t:License" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:License:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-License.html#t:License">License</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-License.html#t:License">License</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-License.html#t:License">License</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-License.html#t:License">License</a> x -> <a href="Distribution-License.html#t:License">License</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:License:Binary:6" class="instance expander" onclick="toggleSection('i:id:License:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-License.html#t:License">License</a></span> <a href="#t:License" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:License:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-License.html#t:License">License</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-License.html#t:License">License</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-License.html#t:License">License</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:License:Text:7" class="instance expander" onclick="toggleSection('i:id:License:Text:7')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-License.html#t:License">License</a></span> <a href="#t:License" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:License:Text:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-License.html#t:License">License</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-License.html#t:License">License</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:License:Rep:8" class="instance expander" onclick="toggleSection('i:id:License:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-License.html#t:License">License</a></span> <a href="#t:License" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:License:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-License.html#t:License">License</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "License" "Distribution.License" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "GPL" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "AGPL" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "LGPL" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BSD2" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BSD3" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BSD4" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "MIT" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ISC" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "MPL" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Apache" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PublicDomain" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "AllRightsReserved" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "UnspecifiedLicense" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "OtherLicense" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "UnknownLicense" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:knownLicenses" class="def">knownLicenses</a> :: [<a href="Distribution-License.html#t:License">License</a>] <a href="#v:knownLicenses" class="selflink">#</a></p><div class="doc"><p>The list of all currently recognised licenses.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,46 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Make</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Martin Sj&#xF6;gren 2004</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Make</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This is an alternative build system that delegates everything to the <code>make</code>- program. All the commands just end up calling <code>make</code> with appropriate- arguments. The intention was to allow preexisting packages that used- makefiles to be wrapped into Cabal packages. In practice essentially all- such packages were converted over to the "Simple" build system instead.- Consequently this module is not used much and it certainly only sees cursory- maintenance and no testing. Perhaps at some point we should stop pretending- that it works.</p><p>Uses the parsed command-line from <a href="Distribution-Simple-Setup.html">Distribution.Simple.Setup</a> in order to build- Haskell tools using a back-end build system based on make. Obviously we- assume that there is a configure script, and that after the ConfigCmd has- been run, there is a Makefile. Further assumptions:</p><dl><dt>ConfigCmd</dt><dd>We assume the configure script accepts- <code>--with-hc</code>,- <code>--with-hc-pkg</code>,- <code>--prefix</code>,- <code>--bindir</code>,- <code>--libdir</code>,- <code>--libexecdir</code>,- <code>--datadir</code>.</dd><dt>BuildCmd</dt><dd>We assume that the default Makefile target will build everything.</dd><dt>InstallCmd</dt><dd>We assume there is an <code>install</code> target. Note that we assume that- this does *not* register the package!</dd><dt>CopyCmd</dt><dd>We assume there is a <code>copy</code> target, and a variable <code>$(destdir)</code>.- The <code>copy</code> target should probably just invoke <code>make install</code>- recursively (e.g. <code>$(MAKE) install prefix=$(destdir)/$(prefix)- bindir=$(destdir)/$(bindir)</code>. The reason we can't invoke <code>make- install</code> directly here is that we don't know the value of <code>$(prefix)</code>.</dd><dt>SDistCmd</dt><dd>We assume there is a <code>dist</code> target.</dd><dt>RegisterCmd</dt><dd>We assume there is a <code>register</code> target and a variable <code>$(user)</code>.</dd><dt>UnregisterCmd</dt><dd>We assume there is an <code>unregister</code> target.</dd><dt>HaddockCmd</dt><dd>We assume there is a <code>docs</code> or <code>doc</code> target.</dd></dl></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short">module <a href="Distribution-Package.html">Distribution.Package</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:License">License</a><ul class="subs"><li>= <a href="#v:GPL">GPL</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Make.html#t:Version">Version</a>)</li><li>| <a href="#v:AGPL">AGPL</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Make.html#t:Version">Version</a>)</li><li>| <a href="#v:LGPL">LGPL</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Make.html#t:Version">Version</a>)</li><li>| <a href="#v:BSD2">BSD2</a></li><li>| <a href="#v:BSD3">BSD3</a></li><li>| <a href="#v:BSD4">BSD4</a></li><li>| <a href="#v:MIT">MIT</a></li><li>| <a href="#v:ISC">ISC</a></li><li>| <a href="#v:MPL">MPL</a> <a href="Distribution-Make.html#t:Version">Version</a></li><li>| <a href="#v:Apache">Apache</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Make.html#t:Version">Version</a>)</li><li>| <a href="#v:PublicDomain">PublicDomain</a></li><li>| <a href="#v:AllRightsReserved">AllRightsReserved</a></li><li>| <a href="#v:UnspecifiedLicense">UnspecifiedLicense</a></li><li>| <a href="#v:OtherLicense">OtherLicense</a></li><li>| <a href="#v:UnknownLicense">UnknownLicense</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:Version">Version</a></li><li class="src short"><a href="#v:defaultMain">defaultMain</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:defaultMainArgs">defaultMainArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:defaultMainNoRead">defaultMainNoRead</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src">module <a href="Distribution-Package.html">Distribution.Package</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:License" class="def">License</a> <a href="#t:License" class="selflink">#</a></p><div class="doc"><p>Indicates the license under which a package's source code is released.- Versions of the licenses not listed here will be rejected by Hackage and- cause <code>cabal check</code> to issue a warning.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:GPL" class="def">GPL</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Make.html#t:Version">Version</a>)</td><td class="doc"><p>GNU General Public License,- <a href="https://www.gnu.org/licenses/old-licenses/gpl-2.0.html">version 2</a> or- <a href="https://www.gnu.org/licenses/gpl.html">version 3</a>.</p></td></tr><tr><td class="src"><a id="v:AGPL" class="def">AGPL</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Make.html#t:Version">Version</a>)</td><td class="doc"><p><a href="https://www.gnu.org/licenses/agpl.html">GNU Affero General Public License, version 3</a>.</p></td></tr><tr><td class="src"><a id="v:LGPL" class="def">LGPL</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Make.html#t:Version">Version</a>)</td><td class="doc"><p>GNU Lesser General Public License,- <a href="https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">version 2.1</a> or- <a href="https://www.gnu.org/licenses/lgpl.html">version 3</a>.</p></td></tr><tr><td class="src"><a id="v:BSD2" class="def">BSD2</a></td><td class="doc"><p><a href="http://www.opensource.org/licenses/bsd-license">2-clause BSD license</a>.</p></td></tr><tr><td class="src"><a id="v:BSD3" class="def">BSD3</a></td><td class="doc"><p><a href="http://www.opensource.org/licenses/bsd-3-clause">3-clause BSD license</a>.</p></td></tr><tr><td class="src"><a id="v:BSD4" class="def">BSD4</a></td><td class="doc"><p><a href="http://directory.fsf.org/wiki/License:BSD_4Clause">4-clause BSD license</a>.- This license has not been approved by the OSI and is incompatible with- the GNU GPL. It is provided for historical reasons and should be avoided.</p></td></tr><tr><td class="src"><a id="v:MIT" class="def">MIT</a></td><td class="doc"><p><a href="http://www.opensource.org/licenses/MIT">MIT license</a>.</p></td></tr><tr><td class="src"><a id="v:ISC" class="def">ISC</a></td><td class="doc"><p><a href="http://www.isc.org/downloads/software-support-policy/isc-license/">ISC license</a></p></td></tr><tr><td class="src"><a id="v:MPL" class="def">MPL</a> <a href="Distribution-Make.html#t:Version">Version</a></td><td class="doc"><p><a href="https://www.mozilla.org/MPL/">Mozilla Public License, version 2.0</a>.</p></td></tr><tr><td class="src"><a id="v:Apache" class="def">Apache</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Make.html#t:Version">Version</a>)</td><td class="doc"><p><a href="https://www.apache.org/licenses/">Apache License, version 2.0</a>.</p></td></tr><tr><td class="src"><a id="v:PublicDomain" class="def">PublicDomain</a></td><td class="doc"><p>The author of a package disclaims any copyright to its source code and- dedicates it to the public domain. This is not a software license. Please- note that it is not possible to dedicate works to the public domain in- every jurisdiction, nor is a work that is in the public domain in one- jurisdiction necessarily in the public domain elsewhere.</p></td></tr><tr><td class="src"><a id="v:AllRightsReserved" class="def">AllRightsReserved</a></td><td class="doc"><p>Explicitly 'All Rights Reserved', eg for proprietary software. The- package may not be legally modified or redistributed by anyone but the- rightsholder.</p></td></tr><tr><td class="src"><a id="v:UnspecifiedLicense" class="def">UnspecifiedLicense</a></td><td class="doc"><p>No license specified which legally defaults to 'All Rights Reserved'.- The package may not be legally modified or redistributed by anyone but- the rightsholder.</p></td></tr><tr><td class="src"><a id="v:OtherLicense" class="def">OtherLicense</a></td><td class="doc"><p>Any other software license.</p></td></tr><tr><td class="src"><a id="v:UnknownLicense" class="def">UnknownLicense</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>Indicates an erroneous license name.</p></td></tr></table></div><div class="subs instances"><p id="control.i:License" class="caption collapser" onclick="toggleSection('i:License')">Instances</p><div id="section.i:License" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:License:Eq:1" class="instance expander" onclick="toggleSection('i:id:License:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Make.html#t:License">License</a></span> <a href="#t:License" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:License:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Make.html#t:License">License</a> -> <a href="Distribution-Make.html#t:License">License</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Make.html#t:License">License</a> -> <a href="Distribution-Make.html#t:License">License</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:License:Data:2" class="instance expander" onclick="toggleSection('i:id:License:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Make.html#t:License">License</a></span> <a href="#t:License" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:License:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Make.html#t:License">License</a> -> c <a href="Distribution-Make.html#t:License">License</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Make.html#t:License">License</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Make.html#t:License">License</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Make.html#t:License">License</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Make.html#t:License">License</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Make.html#t:License">License</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Make.html#t:License">License</a> -> <a href="Distribution-Make.html#t:License">License</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Make.html#t:License">License</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Make.html#t:License">License</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Make.html#t:License">License</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Make.html#t:License">License</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Make.html#t:License">License</a> -> m <a href="Distribution-Make.html#t:License">License</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Make.html#t:License">License</a> -> m <a href="Distribution-Make.html#t:License">License</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Make.html#t:License">License</a> -> m <a href="Distribution-Make.html#t:License">License</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:License:Read:3" class="instance expander" onclick="toggleSection('i:id:License:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Make.html#t:License">License</a></span> <a href="#t:License" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:License:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Make.html#t:License">License</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Make.html#t:License">License</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Make.html#t:License">License</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Make.html#t:License">License</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:License:Show:4" class="instance expander" onclick="toggleSection('i:id:License:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Make.html#t:License">License</a></span> <a href="#t:License" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:License:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Make.html#t:License">License</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Make.html#t:License">License</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Make.html#t:License">License</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:License:Generic:5" class="instance expander" onclick="toggleSection('i:id:License:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Make.html#t:License">License</a></span> <a href="#t:License" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:License:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Make.html#t:License">License</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Make.html#t:License">License</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Make.html#t:License">License</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Make.html#t:License">License</a> x -> <a href="Distribution-Make.html#t:License">License</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:License:Binary:6" class="instance expander" onclick="toggleSection('i:id:License:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Make.html#t:License">License</a></span> <a href="#t:License" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:License:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Make.html#t:License">License</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Make.html#t:License">License</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Make.html#t:License">License</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:License:Text:7" class="instance expander" onclick="toggleSection('i:id:License:Text:7')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Make.html#t:License">License</a></span> <a href="#t:License" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:License:Text:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Make.html#t:License">License</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Make.html#t:License">License</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:License:Rep:8" class="instance expander" onclick="toggleSection('i:id:License:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Make.html#t:License">License</a></span> <a href="#t:License" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:License:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Make.html#t:License">License</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "License" "Distribution.License" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "GPL" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Make.html#t:Version">Version</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "AGPL" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Make.html#t:Version">Version</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "LGPL" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Make.html#t:Version">Version</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BSD2" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BSD3" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BSD4" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "MIT" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ISC" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "MPL" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Make.html#t:Version">Version</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Apache" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Make.html#t:Version">Version</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PublicDomain" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "AllRightsReserved" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "UnspecifiedLicense" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "OtherLicense" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "UnknownLicense" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Version" class="def">Version</a> <a href="#t:Version" class="selflink">#</a></p><div class="doc"><p>A <code><a href="Distribution-Make.html#t:Version">Version</a></code> represents the version of a software entity.</p><p>Instances of <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a></code> and <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a></code> are provided, which gives exact- equality and lexicographic ordering of the version number- components (i.e. 2.1 > 2.0, 1.2.3 > 1.2.2, etc.).</p><p>This type is opaque and distinct from the <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Version.html#t:Version">Version</a></code> type in- <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Version.html">Data.Version</a> since <code>Cabal-2.0</code>. The difference extends to the- <code><a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a></code> instance using a different (and more compact) encoding.</p><p><em>Since: 2.0.0.2</em></p></div><div class="subs instances"><p id="control.i:Version" class="caption collapser" onclick="toggleSection('i:Version')">Instances</p><div id="section.i:Version" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Version:Eq:1" class="instance expander" onclick="toggleSection('i:id:Version:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Make.html#t:Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Version:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Version:Data:2" class="instance expander" onclick="toggleSection('i:id:Version:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Make.html#t:Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Version:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Make.html#t:Version">Version</a> -> c <a href="Distribution-Make.html#t:Version">Version</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Make.html#t:Version">Version</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Make.html#t:Version">Version</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Make.html#t:Version">Version</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="Distribution-Make.html#t:Version">Version</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Make.html#t:Version">Version</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Make.html#t:Version">Version</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Make.html#t:Version">Version</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Make.html#t:Version">Version</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Make.html#t:Version">Version</a> -> m <a href="Distribution-Make.html#t:Version">Version</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Make.html#t:Version">Version</a> -> m <a href="Distribution-Make.html#t:Version">Version</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Make.html#t:Version">Version</a> -> m <a href="Distribution-Make.html#t:Version">Version</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Version:Ord:3" class="instance expander" onclick="toggleSection('i:id:Version:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Make.html#t:Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Version:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="Distribution-Make.html#t:Version">Version</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="Distribution-Make.html#t:Version">Version</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Version:Read:4" class="instance expander" onclick="toggleSection('i:id:Version:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Make.html#t:Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Version:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Make.html#t:Version">Version</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Make.html#t:Version">Version</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Make.html#t:Version">Version</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Make.html#t:Version">Version</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Version:Show:5" class="instance expander" onclick="toggleSection('i:id:Version:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Make.html#t:Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Version:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Make.html#t:Version">Version</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Version:Generic:6" class="instance expander" onclick="toggleSection('i:id:Version:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Make.html#t:Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Version:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Make.html#t:Version">Version</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Make.html#t:Version">Version</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Make.html#t:Version">Version</a> x -> <a href="Distribution-Make.html#t:Version">Version</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Version:Binary:7" class="instance expander" onclick="toggleSection('i:id:Version:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Make.html#t:Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Version:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Make.html#t:Version">Version</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Make.html#t:Version">Version</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Version:NFData:8" class="instance expander" onclick="toggleSection('i:id:Version:NFData:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Make.html#t:Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Version:NFData:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Make.html#t:Version">Version</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Version:Text:9" class="instance expander" onclick="toggleSection('i:id:Version:Text:9')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Make.html#t:Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Version:Text:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Make.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Make.html#t:Version">Version</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Version:Rep:10" class="instance expander" onclick="toggleSection('i:id:Version:Rep:10')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Make.html#t:Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Version:Rep:10" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Make.html#t:Version">Version</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Version" "Distribution.Version" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PV0" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:SourceUnpack">SourceUnpack</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:SourceStrict">SourceStrict</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedStrict">DecidedStrict</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Compat-Prelude-Internal.html#t:Word64">Word64</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PV1" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:SourceStrict">SourceStrict</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedStrict">DecidedStrict</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>])))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:defaultMain" class="def">defaultMain</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:defaultMain" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:defaultMainArgs" class="def">defaultMainArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:defaultMainArgs" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:defaultMainNoRead" class="def">defaultMainNoRead</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:defaultMainNoRead" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: it ignores its PackageDescription arg</p></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,8 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.ModuleName</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Duncan Coutts 2008</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.ModuleName</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Internal</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Data type for Haskell module names.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">newtype</span> <a href="#t:ModuleName">ModuleName</a> = <a href="#v:ModuleName">ModuleName</a> ShortTextLst</li><li class="src short"><a href="#v:fromString">fromString</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IsString">IsString</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> a</li><li class="src short"><a href="#v:fromComponents">fromComponents</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li><li class="src short"><a href="#v:components">components</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li class="src short"><a href="#v:toFilePath">toFilePath</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:main">main</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li><li class="src short"><a href="#v:simple">simple</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li><li class="src short"><a href="#v:validModuleComponent">validModuleComponent</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:ModuleName" class="def">ModuleName</a> <a href="#t:ModuleName" class="selflink">#</a></p><div class="doc"><p>A valid Haskell module name.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ModuleName" class="def">ModuleName</a> ShortTextLst</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:ModuleName" class="caption collapser" onclick="toggleSection('i:ModuleName')">Instances</p><div id="section.i:ModuleName" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleName:Eq:1" class="instance expander" onclick="toggleSection('i:id:ModuleName:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></span> <a href="#t:ModuleName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleName:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleName:Data:2" class="instance expander" onclick="toggleSection('i:id:ModuleName:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></span> <a href="#t:ModuleName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleName:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> c <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> m <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> m <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> m <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleName:Ord:3" class="instance expander" onclick="toggleSection('i:id:ModuleName:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></span> <a href="#t:ModuleName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleName:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleName:Read:4" class="instance expander" onclick="toggleSection('i:id:ModuleName:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></span> <a href="#t:ModuleName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleName:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleName:Show:5" class="instance expander" onclick="toggleSection('i:id:ModuleName:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></span> <a href="#t:ModuleName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleName:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleName:IsString:6" class="instance expander" onclick="toggleSection('i:id:ModuleName:IsString:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:IsString">IsString</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></span> <a href="#t:ModuleName" class="selflink">#</a></td><td class="doc"><p>Construct a <code><a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></code> from a valid module name <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code>.</p><p>This is just a convenience function intended for valid module strings. It is- an error if it is used with a string that is not a valid module name. If you- are parsing user input then use <code><a href="Distribution-Text.html#v:simpleParse">simpleParse</a></code> instead.</p></td></tr><tr><td colspan="2"><div id="section.i:id:ModuleName:IsString:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fromString">fromString</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:fromString" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleName:Generic:7" class="instance expander" onclick="toggleSection('i:id:ModuleName:Generic:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></span> <a href="#t:ModuleName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleName:Generic:7" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> x -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleName:Binary:8" class="instance expander" onclick="toggleSection('i:id:ModuleName:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></span> <a href="#t:ModuleName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleName:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleName:NFData:9" class="instance expander" onclick="toggleSection('i:id:ModuleName:NFData:9')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></span> <a href="#t:ModuleName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleName:NFData:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleName:Text:10" class="instance expander" onclick="toggleSection('i:id:ModuleName:Text:10')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></span> <a href="#t:ModuleName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleName:Text:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleName:ModSubst:11" class="instance expander" onclick="toggleSection('i:id:ModuleName:ModSubst:11')"></span> <a href="Distribution-Backpack-ModSubst.html#t:ModSubst">ModSubst</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>)</span> <a href="#t:ModSubst" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleName:ModSubst:11" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:modSubst">modSubst</a> :: <a href="Distribution-Backpack.html#t:OpenModuleSubst">OpenModuleSubst</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Set-Internal.html#t:Set">Set</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:modSubst" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleName:Rep:12" class="instance expander" onclick="toggleSection('i:id:ModuleName:Rep:12')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></span> <a href="#t:ModuleName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleName:Rep:12" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:fromString" class="def">fromString</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IsString">IsString</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> a <a href="#v:fromString" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fromComponents" class="def">fromComponents</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:fromComponents" class="selflink">#</a></p><div class="doc"><p>Construct a <code><a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></code> from valid module components, i.e. parts- separated by dots.</p></div></div><div class="top"><p class="src"><a id="v:components" class="def">components</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#v:components" class="selflink">#</a></p><div class="doc"><p>The individual components of a hierarchical module name. For example</p><pre>components (fromString "A.B.C") = ["A", "B", "C"]</pre></div></div><div class="top"><p class="src"><a id="v:toFilePath" class="def">toFilePath</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:toFilePath" class="selflink">#</a></p><div class="doc"><p>Convert a module name to a file path, but without any file extension.- For example:</p><pre>toFilePath (fromString "A.B.C") = "A/B/C"</pre></div></div><div class="top"><p class="src"><a id="v:main" class="def">main</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:main" class="selflink">#</a></p><div class="doc"><p>The module name <code>Main</code>.</p></div></div><div class="top"><p class="src"><a id="v:simple" class="def">simple</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:simple" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: use ModuleName.fromString instead</p></div></div></div><h1 id="g:1">Internal</h1><div class="top"><p class="src"><a id="v:validModuleComponent" class="def">validModuleComponent</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:validModuleComponent" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,14 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Package</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2004</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Package</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Defines a package identifier along with a parser and pretty printer for it.- <code><a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></code>s consist of a name and an exact version. It also defines- a <code><a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a></code> data type. A dependency is a package name and a version- range, like <code>"foo >= 1.2 && < 2"</code>.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short">module <a href="Distribution-Types-AbiHash.html">Distribution.Types.AbiHash</a></li><li class="src short">module <a href="Distribution-Types-ComponentId.html">Distribution.Types.ComponentId</a></li><li class="src short">module <a href="Distribution-Types-PackageId.html">Distribution.Types.PackageId</a></li><li class="src short">module <a href="Distribution-Types-UnitId.html">Distribution.Types.UnitId</a></li><li class="src short">module <a href="Distribution-Types-Module.html">Distribution.Types.Module</a></li><li class="src short">module <a href="Distribution-Types-PackageName.html">Distribution.Types.PackageName</a></li><li class="src short">module <a href="Distribution-Types-PkgconfigName.html">Distribution.Types.PkgconfigName</a></li><li class="src short">module <a href="Distribution-Types-Dependency.html">Distribution.Types.Dependency</a></li><li class="src short"><span class="keyword">class</span> <a href="#t:Package">Package</a> pkg <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><a href="#v:packageName">packageName</a> :: <a href="Distribution-Package.html#t:Package">Package</a> pkg => pkg -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></li><li class="src short"><a href="#v:packageVersion">packageVersion</a> :: <a href="Distribution-Package.html#t:Package">Package</a> pkg => pkg -> <a href="Distribution-Version.html#t:Version">Version</a></li><li class="src short"><span class="keyword">class</span> <a href="#t:HasMungedPackageId">HasMungedPackageId</a> pkg <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><a href="#v:mungedName-39-">mungedName'</a> :: <a href="Distribution-Package.html#t:HasMungedPackageId">HasMungedPackageId</a> pkg => pkg -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></li><li class="src short"><a href="#v:mungedVersion-39-">mungedVersion'</a> :: <a href="Distribution-Package.html#t:HasMungedPackageId">HasMungedPackageId</a> munged => munged -> <a href="Distribution-Version.html#t:Version">Version</a></li><li class="src short"><span class="keyword">class</span> <a href="Distribution-Package.html#t:Package">Package</a> pkg => <a href="#t:HasUnitId">HasUnitId</a> pkg <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><a href="#v:installedPackageId">installedPackageId</a> :: <a href="Distribution-Package.html#t:HasUnitId">HasUnitId</a> pkg => pkg -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li class="src short"><span class="keyword">class</span> <a href="Distribution-Package.html#t:HasUnitId">HasUnitId</a> pkg => <a href="#t:PackageInstalled">PackageInstalled</a> pkg <span class="keyword">where</span><ul class="subs"></ul></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src">module <a href="Distribution-Types-AbiHash.html">Distribution.Types.AbiHash</a></p></div><div class="top"><p class="src">module <a href="Distribution-Types-ComponentId.html">Distribution.Types.ComponentId</a></p></div><div class="top"><p class="src">module <a href="Distribution-Types-PackageId.html">Distribution.Types.PackageId</a></p></div><div class="top"><p class="src">module <a href="Distribution-Types-UnitId.html">Distribution.Types.UnitId</a></p></div><div class="top"><p class="src">module <a href="Distribution-Types-Module.html">Distribution.Types.Module</a></p></div><div class="top"><p class="src">module <a href="Distribution-Types-PackageName.html">Distribution.Types.PackageName</a></p></div><div class="top"><p class="src">module <a href="Distribution-Types-PkgconfigName.html">Distribution.Types.PkgconfigName</a></p></div><div class="top"><p class="src">module <a href="Distribution-Types-Dependency.html">Distribution.Types.Dependency</a></p></div><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:Package" class="def">Package</a> pkg <span class="keyword">where</span> <a href="#t:Package" class="selflink">#</a></p><div class="doc"><p>Class of things that have a <code><a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></code></p><p>Types in this class are all notions of a package. This allows us to have- different types for the different phases that packages go though, from- simple name/id, package description, configured or installed packages.</p><p>Not all kinds of packages can be uniquely identified by a- <code><a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></code>. In particular, installed packages cannot, there may be- many installed instances of the same source package.</p></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Distribution-Package.html#v:packageId">packageId</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:packageId" class="def">packageId</a> :: pkg -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:packageId" class="selflink">#</a></p></div><div class="subs instances"><p id="control.i:Package" class="caption collapser" onclick="toggleSection('i:Package')">Instances</p><div id="section.i:Package" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Package:Package:1" class="instance expander" onclick="toggleSection('i:ic:Package:Package:1')"></span> <a href="Distribution-Package.html#t:Package">Package</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></span> <a href="#t:Package" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Package:Package:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:packageId">packageId</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:packageId" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Package:Package:2" class="instance expander" onclick="toggleSection('i:ic:Package:Package:2')"></span> <a href="Distribution-Package.html#t:Package">Package</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></span> <a href="#t:Package" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Package:Package:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:packageId">packageId</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:packageId" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Package:Package:3" class="instance expander" onclick="toggleSection('i:ic:Package:Package:3')"></span> <a href="Distribution-Package.html#t:Package">Package</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></span> <a href="#t:Package" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Package:Package:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:packageId">packageId</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:packageId" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Package:Package:4" class="instance expander" onclick="toggleSection('i:ic:Package:Package:4')"></span> <a href="Distribution-Package.html#t:Package">Package</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></span> <a href="#t:Package" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Package:Package:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:packageId">packageId</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:packageId" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Package:Package:5" class="instance expander" onclick="toggleSection('i:ic:Package:Package:5')"></span> <a href="Distribution-Package.html#t:Package">Package</a> <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a></span> <a href="#t:Package" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Package:Package:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:packageId">packageId</a> :: <a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">LinkedComponent</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:packageId" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Package:Package:6" class="instance expander" onclick="toggleSection('i:ic:Package:Package:6')"></span> <a href="Distribution-Package.html#t:Package">Package</a> (<a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> id)</span> <a href="#t:Package" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Package:Package:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:packageId">packageId</a> :: <a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> id -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:packageId" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:packageName" class="def">packageName</a> :: <a href="Distribution-Package.html#t:Package">Package</a> pkg => pkg -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="#v:packageName" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:packageVersion" class="def">packageVersion</a> :: <a href="Distribution-Package.html#t:Package">Package</a> pkg => pkg -> <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:packageVersion" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:HasMungedPackageId" class="def">HasMungedPackageId</a> pkg <span class="keyword">where</span> <a href="#t:HasMungedPackageId" class="selflink">#</a></p><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Distribution-Package.html#v:mungedId">mungedId</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:mungedId" class="def">mungedId</a> :: pkg -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> <a href="#v:mungedId" class="selflink">#</a></p></div><div class="subs instances"><p id="control.i:HasMungedPackageId" class="caption collapser" onclick="toggleSection('i:HasMungedPackageId')">Instances</p><div id="section.i:HasMungedPackageId" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasMungedPackageId:HasMungedPackageId:1" class="instance expander" onclick="toggleSection('i:ic:HasMungedPackageId:HasMungedPackageId:1')"></span> <a href="Distribution-Package.html#t:HasMungedPackageId">HasMungedPackageId</a> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a></span> <a href="#t:HasMungedPackageId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:HasMungedPackageId:HasMungedPackageId:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mungedId">mungedId</a> :: <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> <a href="#v:mungedId" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasMungedPackageId:HasMungedPackageId:2" class="instance expander" onclick="toggleSection('i:ic:HasMungedPackageId:HasMungedPackageId:2')"></span> <a href="Distribution-Package.html#t:HasMungedPackageId">HasMungedPackageId</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></span> <a href="#t:HasMungedPackageId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:HasMungedPackageId:HasMungedPackageId:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mungedId">mungedId</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> <a href="#v:mungedId" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:mungedName-39-" class="def">mungedName'</a> :: <a href="Distribution-Package.html#t:HasMungedPackageId">HasMungedPackageId</a> pkg => pkg -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> <a href="#v:mungedName-39-" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:mungedVersion-39-" class="def">mungedVersion'</a> :: <a href="Distribution-Package.html#t:HasMungedPackageId">HasMungedPackageId</a> munged => munged -> <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:mungedVersion-39-" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">class</span> <a href="Distribution-Package.html#t:Package">Package</a> pkg => <a id="t:HasUnitId" class="def">HasUnitId</a> pkg <span class="keyword">where</span> <a href="#t:HasUnitId" class="selflink">#</a></p><div class="doc"><p>Packages that have an installed unit ID</p></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Distribution-Package.html#v:installedUnitId">installedUnitId</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:installedUnitId" class="def">installedUnitId</a> :: pkg -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:installedUnitId" class="selflink">#</a></p></div><div class="subs instances"><p id="control.i:HasUnitId" class="caption collapser" onclick="toggleSection('i:HasUnitId')">Instances</p><div id="section.i:HasUnitId" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:HasUnitId:HasUnitId:1" class="instance expander" onclick="toggleSection('i:ic:HasUnitId:HasUnitId:1')"></span> <a href="Distribution-Package.html#t:HasUnitId">HasUnitId</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></span> <a href="#t:HasUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:HasUnitId:HasUnitId:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:installedUnitId">installedUnitId</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:installedUnitId" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:installedPackageId" class="def">installedPackageId</a> :: <a href="Distribution-Package.html#t:HasUnitId">HasUnitId</a> pkg => pkg -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:installedPackageId" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: Use installedUnitId instead</p></div><p>Compatibility wrapper for Cabal pre-1.24.</p></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a href="Distribution-Package.html#t:HasUnitId">HasUnitId</a> pkg => <a id="t:PackageInstalled" class="def">PackageInstalled</a> pkg <span class="keyword">where</span> <a href="#t:PackageInstalled" class="selflink">#</a></p><div class="doc"><p>Class of installed packages.</p><p>The primary data type which is an instance of this package is- <code>InstalledPackageInfo</code>, but when we are doing install plans in Cabal install- we may have other, installed package-like things which contain more metadata.- Installed packages have exact dependencies <code><a href="Distribution-Package.html#v:installedDepends">installedDepends</a></code>.</p></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Distribution-Package.html#v:installedDepends">installedDepends</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:installedDepends" class="def">installedDepends</a> :: pkg -> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>] <a href="#v:installedDepends" class="selflink">#</a></p></div><div class="subs instances"><p id="control.i:PackageInstalled" class="caption collapser" onclick="toggleSection('i:PackageInstalled')">Instances</p><div id="section.i:PackageInstalled" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:PackageInstalled:PackageInstalled:1" class="instance expander" onclick="toggleSection('i:ic:PackageInstalled:PackageInstalled:1')"></span> <a href="Distribution-Package.html#t:PackageInstalled">PackageInstalled</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></span> <a href="#t:PackageInstalled" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:PackageInstalled:PackageInstalled:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:installedDepends">installedDepends</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>] <a href="#v:installedDepends" class="selflink">#</a></p></div></div></td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,39 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.PackageDescription.Check</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Lennart Kolmodin 2008</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.PackageDescription.Check</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Package Checking</a><ul><li><a href="#g:2">Checking package contents</a></li></ul></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This has code for checking for various problems in packages. There is one- set of checks that just looks at a <code><a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></code> in isolation and- another set of checks that also looks at files in the package. Some of the- checks are basic sanity checks, others are portability standards that we'd- like to encourage. There is a <code><a href="Distribution-PackageDescription-Check.html#t:PackageCheck">PackageCheck</a></code> type that distinguishes the- different kinds of check so we can see which ones are appropriate to report- in different situations. This code gets uses when configuring a package when- we consider only basic problems. The higher standard is uses when when- preparing a source tarball and by Hackage when uploading new packages. The- reason for this is that we want to hold packages that are expected to be- distributed to a higher standard than packages that are only ever expected- to be used on the author's own environment.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:PackageCheck">PackageCheck</a><ul class="subs"><li>= <a href="#v:PackageBuildImpossible">PackageBuildImpossible</a> { <ul class="subs"><li><a href="#v:explanation">explanation</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul> }</li><li>| <a href="#v:PackageBuildWarning">PackageBuildWarning</a> { <ul class="subs"><li><a href="#v:explanation">explanation</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul> }</li><li>| <a href="#v:PackageDistSuspicious">PackageDistSuspicious</a> { <ul class="subs"><li><a href="#v:explanation">explanation</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul> }</li><li>| <a href="#v:PackageDistSuspiciousWarn">PackageDistSuspiciousWarn</a> { <ul class="subs"><li><a href="#v:explanation">explanation</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul> }</li><li>| <a href="#v:PackageDistInexcusable">PackageDistInexcusable</a> { <ul class="subs"><li><a href="#v:explanation">explanation</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul> }</li></ul></li><li class="src short"><a href="#v:checkPackage">checkPackage</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-PackageDescription-Check.html#t:PackageCheck">PackageCheck</a>]</li><li class="src short"><a href="#v:checkConfiguredPackage">checkConfiguredPackage</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-PackageDescription-Check.html#t:PackageCheck">PackageCheck</a>]</li><li class="src short"><a href="#v:checkPackageFiles">checkPackageFiles</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> [<a href="Distribution-PackageDescription-Check.html#t:PackageCheck">PackageCheck</a>]</li><li class="src short"><a href="#v:checkPackageContent">checkPackageContent</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Distribution-PackageDescription-Check.html#t:CheckPackageContentOps">CheckPackageContentOps</a> m -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> m [<a href="Distribution-PackageDescription-Check.html#t:PackageCheck">PackageCheck</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:CheckPackageContentOps">CheckPackageContentOps</a> m = <a href="#v:CheckPackageContentOps">CheckPackageContentOps</a> {<ul class="subs"><li><a href="#v:doesFileExist">doesFileExist</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> m <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:doesDirectoryExist">doesDirectoryExist</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> m <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:getDirectoryContents">getDirectoryContents</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> m [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:getFileContents">getFileContents</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> m <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul>}</li><li class="src short"><a href="#v:checkPackageFileNames">checkPackageFileNames</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> [<a href="Distribution-PackageDescription-Check.html#t:PackageCheck">PackageCheck</a>]</li></ul></div><div id="interface"><h1 id="g:1">Package Checking</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:PackageCheck" class="def">PackageCheck</a> <a href="#t:PackageCheck" class="selflink">#</a></p><div class="doc"><p>Results of some kind of failed package check.</p><p>There are a range of severities, from merely dubious to totally insane.- All of them come with a human readable explanation. In future we may augment- them with more machine readable explanations, for example to help an IDE- suggest automatic corrections.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:PackageBuildImpossible" class="def">PackageBuildImpossible</a></td><td class="doc"><p>This package description is no good. There's no way it's going to- build sensibly. This should give an error at configure time.</p></td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:explanation" class="def">explanation</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr><tr><td class="src"><a id="v:PackageBuildWarning" class="def">PackageBuildWarning</a></td><td class="doc"><p>A problem that is likely to affect building the package, or an- issue that we'd like every package author to be aware of, even if- the package is never distributed.</p></td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:explanation" class="def">explanation</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr><tr><td class="src"><a id="v:PackageDistSuspicious" class="def">PackageDistSuspicious</a></td><td class="doc"><p>An issue that might not be a problem for the package author but- might be annoying or detrimental when the package is distributed to- users. We should encourage distributed packages to be free from these- issues, but occasionally there are justifiable reasons so we cannot- ban them entirely.</p></td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:explanation" class="def">explanation</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr><tr><td class="src"><a id="v:PackageDistSuspiciousWarn" class="def">PackageDistSuspiciousWarn</a></td><td class="doc"><p>Like PackageDistSuspicious but will only display warnings- rather than causing abnormal exit when you run 'cabal check'.</p></td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:explanation" class="def">explanation</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr><tr><td class="src"><a id="v:PackageDistInexcusable" class="def">PackageDistInexcusable</a></td><td class="doc"><p>An issue that is OK in the author's environment but is almost- certain to be a portability problem for other environments. We can- quite legitimately refuse to publicly distribute packages with these- problems.</p></td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:explanation" class="def">explanation</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:PackageCheck" class="caption collapser" onclick="toggleSection('i:PackageCheck')">Instances</p><div id="section.i:PackageCheck" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageCheck:Eq:1" class="instance expander" onclick="toggleSection('i:id:PackageCheck:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription-Check.html#t:PackageCheck">PackageCheck</a></span> <a href="#t:PackageCheck" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageCheck:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription-Check.html#t:PackageCheck">PackageCheck</a> -> <a href="Distribution-PackageDescription-Check.html#t:PackageCheck">PackageCheck</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription-Check.html#t:PackageCheck">PackageCheck</a> -> <a href="Distribution-PackageDescription-Check.html#t:PackageCheck">PackageCheck</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageCheck:Show:2" class="instance expander" onclick="toggleSection('i:id:PackageCheck:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription-Check.html#t:PackageCheck">PackageCheck</a></span> <a href="#t:PackageCheck" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageCheck:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription-Check.html#t:PackageCheck">PackageCheck</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription-Check.html#t:PackageCheck">PackageCheck</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription-Check.html#t:PackageCheck">PackageCheck</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:checkPackage" class="def">checkPackage</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-PackageDescription-Check.html#t:PackageCheck">PackageCheck</a>] <a href="#v:checkPackage" class="selflink">#</a></p><div class="doc"><p>Check for common mistakes and problems in package descriptions.</p><p>This is the standard collection of checks covering all aspects except- for checks that require looking at files within the package. For those- see <code><a href="Distribution-PackageDescription-Check.html#v:checkPackageFiles">checkPackageFiles</a></code>.</p><p>It requires the <code><a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></code> and optionally a particular- configuration of that package. If you pass <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a></code> then we just check- a version of the generic description using <code><a href="Distribution-PackageDescription-Configuration.html#v:flattenPackageDescription">flattenPackageDescription</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:checkConfiguredPackage" class="def">checkConfiguredPackage</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-PackageDescription-Check.html#t:PackageCheck">PackageCheck</a>] <a href="#v:checkConfiguredPackage" class="selflink">#</a></p></div><h2 id="g:2">Checking package contents</h2><div class="top"><p class="src"><a id="v:checkPackageFiles" class="def">checkPackageFiles</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> [<a href="Distribution-PackageDescription-Check.html#t:PackageCheck">PackageCheck</a>] <a href="#v:checkPackageFiles" class="selflink">#</a></p><div class="doc"><p>Sanity check things that requires IO. It looks at the files in the- package and expects to find the package unpacked in at the given file path.</p></div></div><div class="top"><p class="src"><a id="v:checkPackageContent" class="def">checkPackageContent</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Distribution-PackageDescription-Check.html#t:CheckPackageContentOps">CheckPackageContentOps</a> m -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> m [<a href="Distribution-PackageDescription-Check.html#t:PackageCheck">PackageCheck</a>] <a href="#v:checkPackageContent" class="selflink">#</a></p><div class="doc"><p>Sanity check things that requires looking at files in the package.- This is a generalised version of <code><a href="Distribution-PackageDescription-Check.html#v:checkPackageFiles">checkPackageFiles</a></code> that can work in any- monad for which you can provide <code><a href="Distribution-PackageDescription-Check.html#t:CheckPackageContentOps">CheckPackageContentOps</a></code> operations.</p><p>The point of this extra generality is to allow doing checks in some virtual- file system, for example a tarball in memory.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:CheckPackageContentOps" class="def">CheckPackageContentOps</a> m <a href="#t:CheckPackageContentOps" class="selflink">#</a></p><div class="doc"><p>A record of operations needed to check the contents of packages.- Used by <code><a href="Distribution-PackageDescription-Check.html#v:checkPackageContent">checkPackageContent</a></code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:CheckPackageContentOps" class="def">CheckPackageContentOps</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:doesFileExist" class="def">doesFileExist</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> m <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:doesDirectoryExist" class="def">doesDirectoryExist</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> m <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:getDirectoryContents" class="def">getDirectoryContents</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> m [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:getFileContents" class="def">getFileContents</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> m <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div></div><div class="top"><p class="src"><a id="v:checkPackageFileNames" class="def">checkPackageFileNames</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> [<a href="Distribution-PackageDescription-Check.html#t:PackageCheck">PackageCheck</a>] <a href="#v:checkPackageFileNames" class="selflink">#</a></p><div class="doc"><p>Check the names of all files in a package for portability problems. This- should be done for example when creating or validating a package tarball.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,44 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.PackageDescription.Configuration</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Thomas Schilling 2007</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.PackageDescription.Configuration</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This is about the cabal configurations feature. It exports- <code><a href="Distribution-PackageDescription-Configuration.html#v:finalizePD">finalizePD</a></code> and <code><a href="Distribution-PackageDescription-Configuration.html#v:flattenPackageDescription">flattenPackageDescription</a></code> which are- functions for converting <code><a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></code>s down to- <code><a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></code>s. It has code for working with the tree of conditions- and resolving or flattening conditions.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:finalizePD">finalizePD</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a> -> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> -> (<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> -> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] (<a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a>, <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a>)</li><li class="src short"><a href="#v:finalizePackageDescription">finalizePackageDescription</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a> -> (<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> -> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] (<a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a>, <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a>)</li><li class="src short"><a href="#v:flattenPackageDescription">flattenPackageDescription</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></li><li class="src short"><a href="#v:parseCondition">parseCondition</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a>)</li><li class="src short"><a href="#v:freeVars">freeVars</a> :: <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> c a -> [<a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a>]</li><li class="src short"><a href="#v:extractCondition">extractCondition</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> v => (a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v</li><li class="src short"><a href="#v:extractConditions">extractConditions</a> :: (<a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> [<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a>]</li><li class="src short"><a href="#v:addBuildableCondition">addBuildableCondition</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> v, <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> a, <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> c) => (a -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a</li><li class="src short"><a href="#v:mapCondTree">mapCondTree</a> :: (a -> b) -> (c -> d) -> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> w) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> w d b</li><li class="src short"><a href="#v:mapTreeData">mapTreeData</a> :: (a -> b) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c b</li><li class="src short"><a href="#v:mapTreeConds">mapTreeConds</a> :: (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> w) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> w c a</li><li class="src short"><a href="#v:mapTreeConstrs">mapTreeConstrs</a> :: (c -> d) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v d a</li><li class="src short"><a href="#v:transformAllBuildInfos">transformAllBuildInfos</a> :: (<a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>) -> (<a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a>) -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></li><li class="src short"><a href="#v:transformAllBuildDepends">transformAllBuildDepends</a> :: (<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>) -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:finalizePD" class="def">finalizePD</a> <a href="#v:finalizePD" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a></td><td class="doc"><p>Explicitly specified flag assignments</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> (<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)</td><td class="doc"><p>Is a given dependency satisfiable from the set of- available packages? If this is unknown then use- True.</p></td></tr><tr><td class="src">-> <a href="Distribution-System.html#t:Platform">Platform</a></td><td class="doc"><p>The <code><a href="Distribution-System.html#t:Arch">Arch</a></code> and <code><a href="Distribution-System.html#t:OS">OS</a></code></p></td></tr><tr><td class="src">-> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a></td><td class="doc"><p>Compiler information</p></td></tr><tr><td class="src">-> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>]</td><td class="doc"><p>Additional constraints</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] (<a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a>, <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a>)</td><td class="doc"><p>Either missing dependencies or the resolved package- description along with the flag assignments chosen.</p></td></tr></table></div><div class="doc"><p>Create a package description with all configurations resolved.</p><p>This function takes a <code><a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></code> and several environment- parameters and tries to generate <code><a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></code> by finding a flag- assignment that result in satisfiable dependencies.</p><p>It takes as inputs a not necessarily complete specifications of flags- assignments, an optional package index as well as platform parameters. If- some flags are not assigned explicitly, this function will try to pick an- assignment that causes this function to succeed. The package index is- optional since on some platforms we cannot determine which packages have- been installed before. When no package index is supplied, every dependency- is assumed to be satisfiable, therefore all not explicitly assigned flags- will get their default values.</p><p>This function will fail if it cannot find a flag assignment that leads to- satisfiable dependencies. (It will not try alternative assignments for- explicitly specified flags.) In case of failure it will return the missing- dependencies that it encountered when trying different flag assignments.- On success, it will return the package description and the full flag- assignment chosen.</p><p>Note that this drops any stanzas which have <code>buildable: False</code>. While- this is arguably the right thing to do, it means we give bad error- messages in some situations, see #3858.</p></div></div><div class="top"><p class="src"><a id="v:finalizePackageDescription" class="def">finalizePackageDescription</a> <a href="#v:finalizePackageDescription" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a></td><td class="doc"><p>Explicitly specified flag assignments</p></td></tr><tr><td class="src">-> (<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)</td><td class="doc"><p>Is a given dependency satisfiable from the set of- available packages? If this is unknown then use- True.</p></td></tr><tr><td class="src">-> <a href="Distribution-System.html#t:Platform">Platform</a></td><td class="doc"><p>The <code><a href="Distribution-System.html#t:Arch">Arch</a></code> and <code><a href="Distribution-System.html#t:OS">OS</a></code></p></td></tr><tr><td class="src">-> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a></td><td class="doc"><p>Compiler information</p></td></tr><tr><td class="src">-> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>]</td><td class="doc"><p>Additional constraints</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] (<a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a>, <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a>)</td><td class="doc empty"> </td></tr></table></div><div class="doc"><div class="warning"><p>Deprecated: This function now always assumes tests and benchmarks are disabled; use finalizePD with ComponentRequestedSpec to specify something more specific.</p></div></div></div><div class="top"><p class="src"><a id="v:flattenPackageDescription" class="def">flattenPackageDescription</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:flattenPackageDescription" class="selflink">#</a></p><div class="doc"><p>Flatten a generic package description by ignoring all conditions and just- join the field descriptors into on package description. Note, however,- that this may lead to inconsistent field values, since all values are- joined into one field, which may not be possible in the original package- description, due to the use of exclusive choices (if ... else ...).</p><p>TODO: One particularly tricky case is defaulting. In the original package- description, e.g., the source directory might either be the default or a- certain, explicitly set path. Since defaults are filled in only after the- package has been resolved and when no explicit value has been set, the- default path will be missing from the package description returned by this- function.</p></div></div><div class="top"><p class="src"><a id="v:parseCondition" class="def">parseCondition</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a>) <a href="#v:parseCondition" class="selflink">#</a></p><div class="doc"><p>Parse a configuration condition from a string.</p></div></div><div class="top"><p class="src"><a id="v:freeVars" class="def">freeVars</a> :: <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> c a -> [<a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a>] <a href="#v:freeVars" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:extractCondition" class="def">extractCondition</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> v => (a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v <a href="#v:extractCondition" class="selflink">#</a></p><div class="doc"><p>Extract the condition matched by the given predicate from a cond tree.</p><p>We use this mainly for extracting buildable conditions (see the Note above),- but the function is in fact more general.</p></div></div><div class="top"><p class="src"><a id="v:extractConditions" class="def">extractConditions</a> :: (<a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> [<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a>] <a href="#v:extractConditions" class="selflink">#</a></p><div class="doc"><p>Extract conditions matched by the given predicate from all cond trees in a- <code><a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:addBuildableCondition" class="def">addBuildableCondition</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> v, <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> a, <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> c) => (a -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a <a href="#v:addBuildableCondition" class="selflink">#</a></p><div class="doc"><p>Transforms a <code><a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a></code> by putting the input under the "then" branch of a- conditional that is True when Buildable is True. If <code><a href="Distribution-PackageDescription-Configuration.html#v:addBuildableCondition">addBuildableCondition</a></code>- can determine that Buildable is always True, it returns the input unchanged.- If Buildable is always False, it returns the empty <code><a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:mapCondTree" class="def">mapCondTree</a> :: (a -> b) -> (c -> d) -> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> w) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> w d b <a href="#v:mapCondTree" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:mapTreeData" class="def">mapTreeData</a> :: (a -> b) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c b <a href="#v:mapTreeData" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:mapTreeConds" class="def">mapTreeConds</a> :: (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> w) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> w c a <a href="#v:mapTreeConds" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:mapTreeConstrs" class="def">mapTreeConstrs</a> :: (c -> d) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v d a <a href="#v:mapTreeConstrs" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:transformAllBuildInfos" class="def">transformAllBuildInfos</a> :: (<a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>) -> (<a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a>) -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:transformAllBuildInfos" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:transformAllBuildDepends" class="def">transformAllBuildDepends</a> :: (<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>) -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:transformAllBuildDepends" class="selflink">#</a></p><div class="doc"><p>Walk a <code><a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></code> and apply <code>f</code> to all nested- <code>build-depends</code> fields.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,13 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.PackageDescription.Parse</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2005</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.PackageDescription.Parse</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Package descriptions</a><ul><li><a href="#g:2">Deprecated names</a></li><li><a href="#g:3">Parsing</a></li><li><a href="#g:4">Private, but needed for pretty-printer</a></li><li><a href="#g:5">Supplementary build information</a></li></ul></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This defined parsers and partial pretty printers for the <code>.cabal</code> format.- Some of the complexity in this module is due to the fact that we have to be- backwards compatible with old <code>.cabal</code> files, so there's code to translate- into the newer structure.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:readGenericPackageDescription">readGenericPackageDescription</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></li><li class="src short"><a href="#v:parseGenericPackageDescription">parseGenericPackageDescription</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></li><li class="src short"><a href="#v:readPackageDescription">readPackageDescription</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></li><li class="src short"><a href="#v:parsePackageDescription">parsePackageDescription</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:ParseResult">ParseResult</a> a<ul class="subs"><li>= <a href="#v:ParseFailed">ParseFailed</a> <a href="Distribution-InstalledPackageInfo.html#t:PError">PError</a></li><li>| <a href="#v:ParseOk">ParseOk</a> [<a href="Distribution-InstalledPackageInfo.html#t:PWarning">PWarning</a>] a</li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:FieldDescr">FieldDescr</a> a = <a href="#v:FieldDescr">FieldDescr</a> {<ul class="subs"><li><a href="#v:fieldName">fieldName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:fieldGet">fieldGet</a> :: a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a></li><li><a href="#v:fieldSet">fieldSet</a> :: <a href="Distribution-PackageDescription-Parse.html#t:LineNo">LineNo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> a -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> a</li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:LineNo">LineNo</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:TestSuiteStanza">TestSuiteStanza</a> = <a href="#v:TestSuiteStanza">TestSuiteStanza</a> {<ul class="subs"><li><a href="#v:testStanzaTestType">testStanzaTestType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a></li><li><a href="#v:testStanzaMainIs">testStanzaMainIs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:testStanzaTestModule">testStanzaTestModule</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li><li><a href="#v:testStanzaBuildInfo">testStanzaBuildInfo</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:BenchmarkStanza">BenchmarkStanza</a> = <a href="#v:BenchmarkStanza">BenchmarkStanza</a> {<ul class="subs"><li><a href="#v:benchmarkStanzaBenchmarkType">benchmarkStanzaBenchmarkType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a></li><li><a href="#v:benchmarkStanzaMainIs">benchmarkStanzaMainIs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:benchmarkStanzaBenchmarkModule">benchmarkStanzaBenchmarkModule</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li><li><a href="#v:benchmarkStanzaBuildInfo">benchmarkStanzaBuildInfo</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></li></ul>}</li><li class="src short"><a href="#v:readHookedBuildInfo">readHookedBuildInfo</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li class="src short"><a href="#v:parseHookedBuildInfo">parseHookedBuildInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li class="src short"><a href="#v:pkgDescrFieldDescrs">pkgDescrFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a>]</li><li class="src short"><a href="#v:libFieldDescrs">libFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-Types-Library.html#t:Library">Library</a>]</li><li class="src short"><a href="#v:foreignLibFieldDescrs">foreignLibFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>]</li><li class="src short"><a href="#v:executableFieldDescrs">executableFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a>]</li><li class="src short"><a href="#v:binfoFieldDescrs">binfoFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>]</li><li class="src short"><a href="#v:sourceRepoFieldDescrs">sourceRepoFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a>]</li><li class="src short"><a href="#v:testSuiteFieldDescrs">testSuiteFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-PackageDescription-Parse.html#t:TestSuiteStanza">TestSuiteStanza</a>]</li><li class="src short"><a href="#v:benchmarkFieldDescrs">benchmarkFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-PackageDescription-Parse.html#t:BenchmarkStanza">BenchmarkStanza</a>]</li><li class="src short"><a href="#v:flagFieldDescrs">flagFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a>]</li></ul></div><div id="interface"><h1 id="g:1">Package descriptions</h1><div class="top"><p class="src"><a id="v:readGenericPackageDescription" class="def">readGenericPackageDescription</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:readGenericPackageDescription" class="selflink">#</a></p><div class="doc"><p>Parse the given package file.</p></div></div><div class="top"><p class="src"><a id="v:parseGenericPackageDescription" class="def">parseGenericPackageDescription</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:parseGenericPackageDescription" class="selflink">#</a></p><div class="doc"><p>Parses the given file into a <code><a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></code>.</p><p>In Cabal 1.2 the syntax for package descriptions was changed to a format- with sections and possibly indented property descriptions.</p></div></div><h2 id="g:2">Deprecated names</h2><div class="top"><p class="src"><a id="v:readPackageDescription" class="def">readPackageDescription</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:readPackageDescription" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: Use readGenericPackageDescription, old name is misleading.</p></div></div></div><div class="top"><p class="src"><a id="v:parsePackageDescription" class="def">parsePackageDescription</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:parsePackageDescription" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: Use parseGenericPackageDescription, old name is misleading</p></div></div></div><h2 id="g:3">Parsing</h2><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ParseResult" class="def">ParseResult</a> a <a href="#t:ParseResult" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ParseFailed" class="def">ParseFailed</a> <a href="Distribution-InstalledPackageInfo.html#t:PError">PError</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:ParseOk" class="def">ParseOk</a> [<a href="Distribution-InstalledPackageInfo.html#t:PWarning">PWarning</a>] a</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:ParseResult" class="caption collapser" onclick="toggleSection('i:ParseResult')">Instances</p><div id="section.i:ParseResult" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ParseResult:Monad:1" class="instance expander" onclick="toggleSection('i:id:ParseResult:Monad:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a></span> <a href="#t:ParseResult" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ParseResult:Monad:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-62--62--61-">(>>=)</a> :: <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> a -> (a -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> b) -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> b <a href="#v:-62--62--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62--62-">(>>)</a> :: <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> a -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> b -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> b <a href="#v:-62--62-" class="selflink">#</a></p><p class="src"><a href="#v:return">return</a> :: a -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> a <a href="#v:return" class="selflink">#</a></p><p class="src"><a href="#v:fail">fail</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> a <a href="#v:fail" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ParseResult:Functor:2" class="instance expander" onclick="toggleSection('i:id:ParseResult:Functor:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor.html#t:Functor">Functor</a> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a></span> <a href="#t:ParseResult" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ParseResult:Functor:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -> b) -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> a -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(<$)</a> :: a -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> b -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ParseResult:MonadFail:3" class="instance expander" onclick="toggleSection('i:id:ParseResult:MonadFail:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad-Fail.html#t:MonadFail">MonadFail</a> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a></span> <a href="#t:ParseResult" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ParseResult:MonadFail:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fail">fail</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> a <a href="#v:fail" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ParseResult:Applicative:4" class="instance expander" onclick="toggleSection('i:id:ParseResult:Applicative:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a></span> <a href="#t:ParseResult" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ParseResult:Applicative:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(<*>)</a> :: <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> (a -> b) -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> a -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:liftA2">liftA2</a> :: (a -> b -> c) -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> a -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> b -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> c <a href="#v:liftA2" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*>)</a> :: <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> a -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> b -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(<*)</a> :: <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> a -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> b -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> a <a href="#v:-60--42-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ParseResult:Show:5" class="instance expander" onclick="toggleSection('i:id:ParseResult:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> a)</span> <a href="#t:ParseResult" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ParseResult:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:FieldDescr" class="def">FieldDescr</a> a <a href="#t:FieldDescr" class="selflink">#</a></p><div class="doc"><p>Field descriptor. The parameter <code>a</code> parameterizes over where the field's- value is stored in.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:FieldDescr" class="def">FieldDescr</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:fieldName" class="def">fieldName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:fieldGet" class="def">fieldGet</a> :: a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:fieldSet" class="def">fieldSet</a> :: <a href="Distribution-PackageDescription-Parse.html#t:LineNo">LineNo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> a -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> a</dfn><div class="doc"><p><code>fieldSet n str x</code> Parses the field value from the given input- string <code>str</code> and stores the result in <code>x</code> if the parse was- successful. Otherwise, reports an error on line number <code>n</code>.</p></div></li></ul></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:LineNo" class="def">LineNo</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> <a href="#t:LineNo" class="selflink">#</a></p></div><h2 id="g:4">Private, but needed for pretty-printer</h2><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:TestSuiteStanza" class="def">TestSuiteStanza</a> <a href="#t:TestSuiteStanza" class="selflink">#</a></p><div class="doc"><p>An intermediate type just used for parsing the test-suite stanza.- After validation it is converted into the proper <code><a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a></code> type.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:TestSuiteStanza" class="def">TestSuiteStanza</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:testStanzaTestType" class="def">testStanzaTestType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:testStanzaMainIs" class="def">testStanzaMainIs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:testStanzaTestModule" class="def">testStanzaTestModule</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:testStanzaBuildInfo" class="def">testStanzaBuildInfo</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:BenchmarkStanza" class="def">BenchmarkStanza</a> <a href="#t:BenchmarkStanza" class="selflink">#</a></p><div class="doc"><p>An intermediate type just used for parsing the benchmark stanza.- After validation it is converted into the proper <code><a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a></code> type.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:BenchmarkStanza" class="def">BenchmarkStanza</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:benchmarkStanzaBenchmarkType" class="def">benchmarkStanzaBenchmarkType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:benchmarkStanzaMainIs" class="def">benchmarkStanzaMainIs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:benchmarkStanzaBenchmarkModule" class="def">benchmarkStanzaBenchmarkModule</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:benchmarkStanzaBuildInfo" class="def">benchmarkStanzaBuildInfo</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div></div><h2 id="g:5">Supplementary build information</h2><div class="top"><p class="src"><a id="v:readHookedBuildInfo" class="def">readHookedBuildInfo</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a> <a href="#v:readHookedBuildInfo" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:parseHookedBuildInfo" class="def">parseHookedBuildInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a> <a href="#v:parseHookedBuildInfo" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:pkgDescrFieldDescrs" class="def">pkgDescrFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a>] <a href="#v:pkgDescrFieldDescrs" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:libFieldDescrs" class="def">libFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-Types-Library.html#t:Library">Library</a>] <a href="#v:libFieldDescrs" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:foreignLibFieldDescrs" class="def">foreignLibFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>] <a href="#v:foreignLibFieldDescrs" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:executableFieldDescrs" class="def">executableFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a>] <a href="#v:executableFieldDescrs" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:binfoFieldDescrs" class="def">binfoFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>] <a href="#v:binfoFieldDescrs" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sourceRepoFieldDescrs" class="def">sourceRepoFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a>] <a href="#v:sourceRepoFieldDescrs" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:testSuiteFieldDescrs" class="def">testSuiteFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-PackageDescription-Parse.html#t:TestSuiteStanza">TestSuiteStanza</a>] <a href="#v:testSuiteFieldDescrs" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:benchmarkFieldDescrs" class="def">benchmarkFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-PackageDescription-Parse.html#t:BenchmarkStanza">BenchmarkStanza</a>] <a href="#v:benchmarkFieldDescrs" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:flagFieldDescrs" class="def">flagFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a>] <a href="#v:flagFieldDescrs" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.PackageDescription.PrettyPrint</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Jürgen Nicklisch-Franken 2010</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Stability</th><td>provisional</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.PackageDescription.PrettyPrint</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Generic package descriptions</a></li><li><a href="#g:2">Package descriptions</a><ul><li><a href="#g:3">Supplementary build information</a></li></ul></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Pretty printing for cabal files</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:writeGenericPackageDescription">writeGenericPackageDescription</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> ()</li><li class="src short"><a href="#v:showGenericPackageDescription">showGenericPackageDescription</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:writePackageDescription">writePackageDescription</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> ()</li><li class="src short"><a href="#v:showPackageDescription">showPackageDescription</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:writeHookedBuildInfo">writeHookedBuildInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> ()</li><li class="src short"><a href="#v:showHookedBuildInfo">showHookedBuildInfo</a> :: <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></div><div id="interface"><h1 id="g:1">Generic package descriptions</h1><div class="top"><p class="src"><a id="v:writeGenericPackageDescription" class="def">writeGenericPackageDescription</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> () <a href="#v:writeGenericPackageDescription" class="selflink">#</a></p><div class="doc"><p>Writes a .cabal file from a generic package description</p></div></div><div class="top"><p class="src"><a id="v:showGenericPackageDescription" class="def">showGenericPackageDescription</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:showGenericPackageDescription" class="selflink">#</a></p><div class="doc"><p>Writes a generic package description to a string</p></div></div><h1 id="g:2">Package descriptions</h1><div class="top"><p class="src"><a id="v:writePackageDescription" class="def">writePackageDescription</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> () <a href="#v:writePackageDescription" class="selflink">#</a></p><div class="doc"><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:showPackageDescription" class="def">showPackageDescription</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:showPackageDescription" class="selflink">#</a></p><div class="doc"><p><em>Since: 2.0.0.2</em></p></div></div><h2 id="g:3">Supplementary build information</h2><div class="top"><p class="src"><a id="v:writeHookedBuildInfo" class="def">writeHookedBuildInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> () <a href="#v:writeHookedBuildInfo" class="selflink">#</a></p><div class="doc"><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:showHookedBuildInfo" class="def">showHookedBuildInfo</a> :: <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:showHookedBuildInfo" class="selflink">#</a></p><div class="doc"><p><em>Since: 2.0.0.2</em></p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.PackageDescription.Utils</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.PackageDescription.Utils</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Common utils used by modules under Distribution.PackageDescription.*.</p></div></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:cabalBug" class="def">cabalBug</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> a <a href="#v:cabalBug" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:userBug" class="def">userBug</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> a <a href="#v:userBug" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,185 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.PackageDescription</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2005</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.PackageDescription</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Package descriptions</a><ul><li><a href="#g:2">Renaming (syntactic)</a></li><li><a href="#g:3">Libraries</a></li><li><a href="#g:4">Executables</a></li></ul></li><li><a href="#g:5">Tests</a></li><li><a href="#g:6">Benchmarks</a></li><li><a href="#g:7">Build information</a><ul><li><a href="#g:8">Supplementary build information</a></li></ul></li><li><a href="#g:9">package configuration</a></li><li><a href="#g:10">Source repositories</a></li><li><a href="#g:11">Custom setup build information</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Backwards compatibility reexport of everything you need to know- about <code>.cabal</code> files.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:PackageDescription">PackageDescription</a> = <a href="#v:PackageDescription">PackageDescription</a> {<ul class="subs"><li><a href="#v:package">package</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></li><li><a href="#v:license">license</a> :: <a href="Distribution-License.html#t:License">License</a></li><li><a href="#v:licenseFiles">licenseFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:copyright">copyright</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:maintainer">maintainer</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:author">author</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:stability">stability</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:testedWith">testedWith</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>)]</li><li><a href="#v:homepage">homepage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:pkgUrl">pkgUrl</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:bugReports">bugReports</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:sourceRepos">sourceRepos</a> :: [<a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a>]</li><li><a href="#v:synopsis">synopsis</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:description">description</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:category">category</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:customFieldsPD">customFieldsPD</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</li><li><a href="#v:buildDepends">buildDepends</a> :: [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>]</li><li><a href="#v:specVersionRaw">specVersionRaw</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li><a href="#v:buildType">buildType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a></li><li><a href="#v:setupBuildInfo">setupBuildInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a></li><li><a href="#v:library">library</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a></li><li><a href="#v:subLibraries">subLibraries</a> :: [<a href="Distribution-PackageDescription.html#t:Library">Library</a>]</li><li><a href="#v:executables">executables</a> :: [<a href="Distribution-PackageDescription.html#t:Executable">Executable</a>]</li><li><a href="#v:foreignLibs">foreignLibs</a> :: [<a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>]</li><li><a href="#v:testSuites">testSuites</a> :: [<a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a>]</li><li><a href="#v:benchmarks">benchmarks</a> :: [<a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a>]</li><li><a href="#v:dataFiles">dataFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:dataDir">dataDir</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:extraSrcFiles">extraSrcFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:extraTmpFiles">extraTmpFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:extraDocFiles">extraDocFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li></ul>}</li><li class="src short"><a href="#v:emptyPackageDescription">emptyPackageDescription</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></li><li class="src short"><a href="#v:specVersion">specVersion</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Version.html#t:Version">Version</a></li><li class="src short"><a href="#v:descCabalVersion">descCabalVersion</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:BuildType">BuildType</a><ul class="subs"><li>= <a href="#v:Simple">Simple</a></li><li>| <a href="#v:Configure">Configure</a></li><li>| <a href="#v:Make">Make</a></li><li>| <a href="#v:Custom">Custom</a></li><li>| <a href="#v:UnknownBuildType">UnknownBuildType</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><a href="#v:knownBuildTypes">knownBuildTypes</a> :: [<a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a>]</li><li class="src short"><a href="#v:allLibraries">allLibraries</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-PackageDescription.html#t:Library">Library</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:ModuleRenaming">ModuleRenaming</a><ul class="subs"><li>= <a href="#v:ModuleRenaming">ModuleRenaming</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>)]</li><li>| <a href="#v:DefaultRenaming">DefaultRenaming</a></li><li>| <a href="#v:HidingRenaming">HidingRenaming</a> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li></ul></li><li class="src short"><a href="#v:defaultRenaming">defaultRenaming</a> :: <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:Library">Library</a> = <a href="#v:Library">Library</a> {<ul class="subs"><li><a href="#v:libName">libName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li><a href="#v:exposedModules">exposedModules</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li><a href="#v:reexportedModules">reexportedModules</a> :: [<a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a>]</li><li><a href="#v:signatures">signatures</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li><a href="#v:libExposed">libExposed</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:libBuildInfo">libBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:ModuleReexport">ModuleReexport</a> = <a href="#v:ModuleReexport">ModuleReexport</a> {<ul class="subs"><li><a href="#v:moduleReexportOriginalPackage">moduleReexportOriginalPackage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></li><li><a href="#v:moduleReexportOriginalName">moduleReexportOriginalName</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li><li><a href="#v:moduleReexportName">moduleReexportName</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li></ul>}</li><li class="src short"><a href="#v:emptyLibrary">emptyLibrary</a> :: <a href="Distribution-PackageDescription.html#t:Library">Library</a></li><li class="src short"><a href="#v:withLib">withLib</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-PackageDescription.html#t:Library">Library</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:hasPublicLib">hasPublicLib</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:hasLibs">hasLibs</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:explicitLibModules">explicitLibModules</a> :: <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li class="src short"><a href="#v:libModulesAutogen">libModulesAutogen</a> :: <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li class="src short"><a href="#v:libModules">libModules</a> :: <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:Executable">Executable</a> = <a href="#v:Executable">Executable</a> {<ul class="subs"><li><a href="#v:exeName">exeName</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li><a href="#v:modulePath">modulePath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:exeScope">exeScope</a> :: <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a></li><li><a href="#v:buildInfo">buildInfo</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></li></ul>}</li><li class="src short"><a href="#v:emptyExecutable">emptyExecutable</a> :: <a href="Distribution-PackageDescription.html#t:Executable">Executable</a></li><li class="src short"><a href="#v:withExe">withExe</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:hasExes">hasExes</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:exeModules">exeModules</a> :: <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li class="src short"><a href="#v:exeModulesAutogen">exeModulesAutogen</a> :: <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:TestSuite">TestSuite</a> = <a href="#v:TestSuite">TestSuite</a> {<ul class="subs"><li><a href="#v:testName">testName</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li><a href="#v:testInterface">testInterface</a> :: <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a></li><li><a href="#v:testBuildInfo">testBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:TestSuiteInterface">TestSuiteInterface</a><ul class="subs"><li>= <a href="#v:TestSuiteExeV10">TestSuiteExeV10</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li>| <a href="#v:TestSuiteLibV09">TestSuiteLibV09</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li><li>| <a href="#v:TestSuiteUnsupported">TestSuiteUnsupported</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:TestType">TestType</a><ul class="subs"><li>= <a href="#v:TestTypeExe">TestTypeExe</a> <a href="Distribution-Version.html#t:Version">Version</a></li><li>| <a href="#v:TestTypeLib">TestTypeLib</a> <a href="Distribution-Version.html#t:Version">Version</a></li><li>| <a href="#v:TestTypeUnknown">TestTypeUnknown</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="Distribution-Version.html#t:Version">Version</a></li></ul></li><li class="src short"><a href="#v:testType">testType</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></li><li class="src short"><a href="#v:knownTestTypes">knownTestTypes</a> :: [<a href="Distribution-PackageDescription.html#t:TestType">TestType</a>]</li><li class="src short"><a href="#v:emptyTestSuite">emptyTestSuite</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></li><li class="src short"><a href="#v:hasTests">hasTests</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:withTest">withTest</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:testModules">testModules</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li class="src short"><a href="#v:testModulesAutogen">testModulesAutogen</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:Benchmark">Benchmark</a> = <a href="#v:Benchmark">Benchmark</a> {<ul class="subs"><li><a href="#v:benchmarkName">benchmarkName</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li><a href="#v:benchmarkInterface">benchmarkInterface</a> :: <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a></li><li><a href="#v:benchmarkBuildInfo">benchmarkBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:BenchmarkInterface">BenchmarkInterface</a><ul class="subs"><li>= <a href="#v:BenchmarkExeV10">BenchmarkExeV10</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li>| <a href="#v:BenchmarkUnsupported">BenchmarkUnsupported</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:BenchmarkType">BenchmarkType</a><ul class="subs"><li>= <a href="#v:BenchmarkTypeExe">BenchmarkTypeExe</a> <a href="Distribution-Version.html#t:Version">Version</a></li><li>| <a href="#v:BenchmarkTypeUnknown">BenchmarkTypeUnknown</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="Distribution-Version.html#t:Version">Version</a></li></ul></li><li class="src short"><a href="#v:benchmarkType">benchmarkType</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></li><li class="src short"><a href="#v:knownBenchmarkTypes">knownBenchmarkTypes</a> :: [<a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a>]</li><li class="src short"><a href="#v:emptyBenchmark">emptyBenchmark</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></li><li class="src short"><a href="#v:hasBenchmarks">hasBenchmarks</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:withBenchmark">withBenchmark</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:benchmarkModules">benchmarkModules</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li class="src short"><a href="#v:benchmarkModulesAutogen">benchmarkModulesAutogen</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:BuildInfo">BuildInfo</a> = <a href="#v:BuildInfo">BuildInfo</a> {<ul class="subs"><li><a href="#v:buildable">buildable</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:buildTools">buildTools</a> :: [<a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a>]</li><li><a href="#v:buildToolDepends">buildToolDepends</a> :: [<a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a>]</li><li><a href="#v:cppOptions">cppOptions</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:ccOptions">ccOptions</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:ldOptions">ldOptions</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:pkgconfigDepends">pkgconfigDepends</a> :: [<a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a>]</li><li><a href="#v:frameworks">frameworks</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:extraFrameworkDirs">extraFrameworkDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:cSources">cSources</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:jsSources">jsSources</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:hsSourceDirs">hsSourceDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:otherModules">otherModules</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li><a href="#v:autogenModules">autogenModules</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li><a href="#v:defaultLanguage">defaultLanguage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a></li><li><a href="#v:otherLanguages">otherLanguages</a> :: [<a href="Language-Haskell-Extension.html#t:Language">Language</a>]</li><li><a href="#v:defaultExtensions">defaultExtensions</a> :: [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</li><li><a href="#v:otherExtensions">otherExtensions</a> :: [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</li><li><a href="#v:oldExtensions">oldExtensions</a> :: [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</li><li><a href="#v:extraLibs">extraLibs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:extraGHCiLibs">extraGHCiLibs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:extraLibDirs">extraLibDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:includeDirs">includeDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:includes">includes</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:installIncludes">installIncludes</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:options">options</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]</li><li><a href="#v:profOptions">profOptions</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]</li><li><a href="#v:sharedOptions">sharedOptions</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]</li><li><a href="#v:customFieldsBI">customFieldsBI</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</li><li><a href="#v:targetBuildDepends">targetBuildDepends</a> :: [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>]</li><li><a href="#v:mixins">mixins</a> :: [<a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a>]</li></ul>}</li><li class="src short"><a href="#v:emptyBuildInfo">emptyBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></li><li class="src short"><a href="#v:allBuildInfo">allBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>]</li><li class="src short"><a href="#v:allLanguages">allLanguages</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="Language-Haskell-Extension.html#t:Language">Language</a>]</li><li class="src short"><a href="#v:allExtensions">allExtensions</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</li><li class="src short"><a href="#v:usedExtensions">usedExtensions</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</li><li class="src short"><a href="#v:hcOptions">hcOptions</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li class="src short"><a href="#v:hcProfOptions">hcProfOptions</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li class="src short"><a href="#v:hcSharedOptions">hcSharedOptions</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:ComponentName">ComponentName</a><ul class="subs"><li>= <a href="#v:CLibName">CLibName</a></li><li>| <a href="#v:CSubLibName">CSubLibName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li>| <a href="#v:CFLibName">CFLibName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li>| <a href="#v:CExeName">CExeName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li>| <a href="#v:CTestName">CTestName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li>| <a href="#v:CBenchName">CBenchName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li></ul></li><li class="src short"><a href="#v:defaultLibName">defaultLibName</a> :: <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:HookedBuildInfo">HookedBuildInfo</a> = (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>, [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>)])</li><li class="src short"><a href="#v:emptyHookedBuildInfo">emptyHookedBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li class="src short"><a href="#v:updatePackageDescription">updatePackageDescription</a> :: <a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a> -> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:GenericPackageDescription">GenericPackageDescription</a> = <a href="#v:GenericPackageDescription">GenericPackageDescription</a> {<ul class="subs"><li><a href="#v:packageDescription">packageDescription</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></li><li><a href="#v:genPackageFlags">genPackageFlags</a> :: [<a href="Distribution-PackageDescription.html#t:Flag">Flag</a>]</li><li><a href="#v:condLibrary">condLibrary</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:Library">Library</a>)</li><li><a href="#v:condSubLibraries">condSubLibraries</a> :: [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:Library">Library</a>)]</li><li><a href="#v:condForeignLibs">condForeignLibs</a> :: [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>)]</li><li><a href="#v:condExecutables">condExecutables</a> :: [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:Executable">Executable</a>)]</li><li><a href="#v:condTestSuites">condTestSuites</a> :: [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a>)]</li><li><a href="#v:condBenchmarks">condBenchmarks</a> :: [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a>)]</li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:Flag">Flag</a> = <a href="#v:MkFlag">MkFlag</a> {<ul class="subs"><li><a href="#v:flagName">flagName</a> :: <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></li><li><a href="#v:flagDescription">flagDescription</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:flagDefault">flagDefault</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:flagManual">flagManual</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul>}</li><li class="src short"><a href="#v:emptyFlag">emptyFlag</a> :: <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:FlagName">FlagName</a></li><li class="src short"><a href="#v:mkFlagName">mkFlagName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></li><li class="src short"><a href="#v:unFlagName">unFlagName</a> :: <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:FlagAssignment">FlagAssignment</a> = [(<a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)]</li><li class="src short"><a href="#v:showFlagValue">showFlagValue</a> :: (<a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:dispFlagAssignment">dispFlagAssignment</a> :: <a href="Distribution-PackageDescription.html#t:FlagAssignment">FlagAssignment</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:parseFlagAssignment">parseFlagAssignment</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-PackageDescription.html#t:FlagAssignment">FlagAssignment</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:CondTree">CondTree</a> v c a = <a href="#v:CondNode">CondNode</a> {<ul class="subs"><li><a href="#v:condTreeData">condTreeData</a> :: a</li><li><a href="#v:condTreeConstraints">condTreeConstraints</a> :: c</li><li><a href="#v:condTreeComponents">condTreeComponents</a> :: [<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a]</li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:ConfVar">ConfVar</a><ul class="subs"><li>= <a href="#v:OS">OS</a> <a href="Distribution-System.html#t:OS">OS</a></li><li>| <a href="#v:Arch">Arch</a> <a href="Distribution-System.html#t:Arch">Arch</a></li><li>| <a href="#v:Flag">Flag</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></li><li>| <a href="#v:Impl">Impl</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:Condition">Condition</a> c<ul class="subs"><li>= <a href="#v:Var">Var</a> c</li><li>| <a href="#v:Lit">Lit</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li>| <a href="#v:CNot">CNot</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)</li><li>| <a href="#v:COr">COr</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)</li><li>| <a href="#v:CAnd">CAnd</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)</li></ul></li><li class="src short"><a href="#v:cNot">cNot</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a</li><li class="src short"><a href="#v:cAnd">cAnd</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a</li><li class="src short"><a href="#v:cOr">cOr</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> v => <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> v -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> v -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> v</li><li class="src short"><span class="keyword">data</span> <a href="#t:SourceRepo">SourceRepo</a> = <a href="#v:SourceRepo">SourceRepo</a> {<ul class="subs"><li><a href="#v:repoKind">repoKind</a> :: <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></li><li><a href="#v:repoType">repoType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></li><li><a href="#v:repoLocation">repoLocation</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:repoModule">repoModule</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:repoBranch">repoBranch</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:repoTag">repoTag</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:repoSubdir">repoSubdir</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:RepoKind">RepoKind</a><ul class="subs"><li>= <a href="#v:RepoHead">RepoHead</a></li><li>| <a href="#v:RepoThis">RepoThis</a></li><li>| <a href="#v:RepoKindUnknown">RepoKindUnknown</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:RepoType">RepoType</a><ul class="subs"><li>= <a href="#v:Darcs">Darcs</a></li><li>| <a href="#v:Git">Git</a></li><li>| <a href="#v:SVN">SVN</a></li><li>| <a href="#v:CVS">CVS</a></li><li>| <a href="#v:Mercurial">Mercurial</a></li><li>| <a href="#v:GnuArch">GnuArch</a></li><li>| <a href="#v:Bazaar">Bazaar</a></li><li>| <a href="#v:Monotone">Monotone</a></li><li>| <a href="#v:OtherRepoType">OtherRepoType</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><a href="#v:knownRepoTypes">knownRepoTypes</a> :: [<a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a>]</li><li class="src short"><a href="#v:emptySourceRepo">emptySourceRepo</a> :: <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:SetupBuildInfo">SetupBuildInfo</a> = <a href="#v:SetupBuildInfo">SetupBuildInfo</a> {<ul class="subs"><li><a href="#v:setupDepends">setupDepends</a> :: [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>]</li><li><a href="#v:defaultSetupDepends">defaultSetupDepends</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul>}</li></ul></div><div id="interface"><h1 id="g:1">Package descriptions</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:PackageDescription" class="def">PackageDescription</a> <a href="#t:PackageDescription" class="selflink">#</a></p><div class="doc"><p>This data type is the internal representation of the file <code>pkg.cabal</code>.- It contains two kinds of information about the package: information- which is needed for all packages, such as the package name and version, and- information which is needed for the simple build system only, such as- the compiler options and library name.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:PackageDescription" class="def">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:package" class="def">package</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:license" class="def">license</a> :: <a href="Distribution-License.html#t:License">License</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:licenseFiles" class="def">licenseFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:copyright" class="def">copyright</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:maintainer" class="def">maintainer</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:author" class="def">author</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:stability" class="def">stability</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:testedWith" class="def">testedWith</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>)]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:homepage" class="def">homepage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:pkgUrl" class="def">pkgUrl</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:bugReports" class="def">bugReports</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:sourceRepos" class="def">sourceRepos</a> :: [<a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:synopsis" class="def">synopsis</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>A one-line summary of this package</p></div></li><li><dfn class="src"><a id="v:description" class="def">description</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>A more verbose description of this package</p></div></li><li><dfn class="src"><a id="v:category" class="def">category</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:customFieldsPD" class="def">customFieldsPD</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</dfn><div class="doc"><p>Custom fields starting- with x-, stored in a- simple assoc-list.</p></div></li><li><dfn class="src"><a id="v:buildDepends" class="def">buildDepends</a> :: [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>]</dfn><div class="doc"><p>YOU PROBABLY DON'T WANT TO USE THIS FIELD. This field is- special! Depending on how far along processing the- PackageDescription we are, the contents of this field are- either nonsense, or the collected dependencies of *all* the- components in this package. buildDepends is initialized by- <code>finalizePD</code> and <code>flattenPackageDescription</code>;- prior to that, dependency info is stored in the <code>CondTree</code>- built around a <code>GenericPackageDescription</code>. When this- resolution is done, dependency info is written to the inner- <code><a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></code> and this field. This is all horrible, and #2066- tracks progress to get rid of this field.</p></div></li><li><dfn class="src"><a id="v:specVersionRaw" class="def">specVersionRaw</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></dfn><div class="doc"><p>The version of the Cabal spec that this package description uses.- For historical reasons this is specified with a version range but- only ranges of the form <code>>= v</code> make sense. We are in the process of- transitioning to specifying just a single version, not a range.</p></div></li><li><dfn class="src"><a id="v:buildType" class="def">buildType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:setupBuildInfo" class="def">setupBuildInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:library" class="def">library</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:subLibraries" class="def">subLibraries</a> :: [<a href="Distribution-PackageDescription.html#t:Library">Library</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:executables" class="def">executables</a> :: [<a href="Distribution-PackageDescription.html#t:Executable">Executable</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:foreignLibs" class="def">foreignLibs</a> :: [<a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:testSuites" class="def">testSuites</a> :: [<a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:benchmarks" class="def">benchmarks</a> :: [<a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:dataFiles" class="def">dataFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:dataDir" class="def">dataDir</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:extraSrcFiles" class="def">extraSrcFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:extraTmpFiles" class="def">extraTmpFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:extraDocFiles" class="def">extraDocFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:PackageDescription" class="caption collapser" onclick="toggleSection('i:PackageDescription')">Instances</p><div id="section.i:PackageDescription" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDescription:Eq:1" class="instance expander" onclick="toggleSection('i:id:PackageDescription:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></span> <a href="#t:PackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDescription:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDescription:Data:2" class="instance expander" onclick="toggleSection('i:id:PackageDescription:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></span> <a href="#t:PackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDescription:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> c <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> m <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> m <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> m <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDescription:Read:3" class="instance expander" onclick="toggleSection('i:id:PackageDescription:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></span> <a href="#t:PackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDescription:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDescription:Show:4" class="instance expander" onclick="toggleSection('i:id:PackageDescription:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></span> <a href="#t:PackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDescription:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDescription:Generic:5" class="instance expander" onclick="toggleSection('i:id:PackageDescription:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></span> <a href="#t:PackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDescription:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> x -> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDescription:Binary:6" class="instance expander" onclick="toggleSection('i:id:PackageDescription:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></span> <a href="#t:PackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDescription:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDescription:Package:7" class="instance expander" onclick="toggleSection('i:id:PackageDescription:Package:7')"></span> <a href="Distribution-Package.html#t:Package">Package</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></span> <a href="#t:PackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDescription:Package:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:packageId">packageId</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:packageId" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDescription:Rep:8" class="instance expander" onclick="toggleSection('i:id:PackageDescription:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></span> <a href="#t:PackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDescription:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "PackageDescription" "Distribution.Types.PackageDescription" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PackageDescription" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "package") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "license") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-License.html#t:License">License</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "licenseFiles") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "copyright") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "maintainer") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "author") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "stability") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "testedWith") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "homepage") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "pkgUrl") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "bugReports") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "sourceRepos") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "synopsis") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "description") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "category") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "customFieldsPD") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "buildDepends") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "specVersionRaw") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "buildType") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "setupBuildInfo") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "library") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "subLibraries") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-PackageDescription.html#t:Library">Library</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "executables") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-PackageDescription.html#t:Executable">Executable</a>]))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "foreignLibs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "testSuites") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "benchmarks") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "dataFiles") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "dataDir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "extraSrcFiles") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "extraTmpFiles") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "extraDocFiles") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]))))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyPackageDescription" class="def">emptyPackageDescription</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:emptyPackageDescription" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:specVersion" class="def">specVersion</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:specVersion" class="selflink">#</a></p><div class="doc"><p>The version of the Cabal spec that this package should be interpreted- against.</p><p>Historically we used a version range but we are switching to using a single- version. Currently we accept either. This function converts into a single- version by ignoring upper bounds in the version range.</p></div></div><div class="top"><p class="src"><a id="v:descCabalVersion" class="def">descCabalVersion</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:descCabalVersion" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: Use specVersion instead</p></div><p>The range of versions of the Cabal tools that this package is intended to- work with.</p><p>This function is deprecated and should not be used for new purposes, only to- support old packages that rely on the old interpretation.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:BuildType" class="def">BuildType</a> <a href="#t:BuildType" class="selflink">#</a></p><div class="doc"><p>The type of build system used by this package.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Simple" class="def">Simple</a></td><td class="doc"><p>calls <code>Distribution.Simple.defaultMain</code></p></td></tr><tr><td class="src"><a id="v:Configure" class="def">Configure</a></td><td class="doc"><p>calls <code>Distribution.Simple.defaultMainWithHooks defaultUserHooks</code>,- which invokes <code>configure</code> to generate additional build- information used by later phases.</p></td></tr><tr><td class="src"><a id="v:Make" class="def">Make</a></td><td class="doc"><p>calls <code>Distribution.Make.defaultMain</code></p></td></tr><tr><td class="src"><a id="v:Custom" class="def">Custom</a></td><td class="doc"><p>uses user-supplied <code>Setup.hs</code> or <code>Setup.lhs</code> (default)</p></td></tr><tr><td class="src"><a id="v:UnknownBuildType" class="def">UnknownBuildType</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>a package that uses an unknown build type cannot actually- be built. Doing it this way rather than just giving a- parse error means we get better error messages and allows- you to inspect the rest of the package description.</p></td></tr></table></div><div class="subs instances"><p id="control.i:BuildType" class="caption collapser" onclick="toggleSection('i:BuildType')">Instances</p><div id="section.i:BuildType" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildType:Eq:1" class="instance expander" onclick="toggleSection('i:id:BuildType:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a></span> <a href="#t:BuildType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildType:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> -> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> -> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildType:Data:2" class="instance expander" onclick="toggleSection('i:id:BuildType:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a></span> <a href="#t:BuildType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildType:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> -> c <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> -> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> -> m <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> -> m <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> -> m <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildType:Read:3" class="instance expander" onclick="toggleSection('i:id:BuildType:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a></span> <a href="#t:BuildType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildType:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildType:Show:4" class="instance expander" onclick="toggleSection('i:id:BuildType:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a></span> <a href="#t:BuildType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildType:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildType:Generic:5" class="instance expander" onclick="toggleSection('i:id:BuildType:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a></span> <a href="#t:BuildType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildType:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> x -> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildType:Binary:6" class="instance expander" onclick="toggleSection('i:id:BuildType:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a></span> <a href="#t:BuildType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildType:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildType:Text:7" class="instance expander" onclick="toggleSection('i:id:BuildType:Text:7')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a></span> <a href="#t:BuildType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildType:Text:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildType:Rep:8" class="instance expander" onclick="toggleSection('i:id:BuildType:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a></span> <a href="#t:BuildType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildType:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "BuildType" "Distribution.Types.BuildType" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Simple" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Configure" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Make" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Custom" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "UnknownBuildType" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:knownBuildTypes" class="def">knownBuildTypes</a> :: [<a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a>] <a href="#v:knownBuildTypes" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:allLibraries" class="def">allLibraries</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-PackageDescription.html#t:Library">Library</a>] <a href="#v:allLibraries" class="selflink">#</a></p></div><h2 id="g:2">Renaming (syntactic)</h2><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ModuleRenaming" class="def">ModuleRenaming</a> <a href="#t:ModuleRenaming" class="selflink">#</a></p><div class="doc"><p>Renaming applied to the modules provided by a package.- The boolean indicates whether or not to also include all of the- original names of modules. Thus, <code>ModuleRenaming False []</code> is- "don't expose any modules, and <code>ModuleRenaming True [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html">Data.Bool</a>, <a href="Bool.html">Bool</a>)]</code>- is, "expose all modules, but also expose <code>Data.Bool</code> as <code>Bool</code>".- If a renaming is omitted you get the <code><a href="Distribution-PackageDescription.html#v:DefaultRenaming">DefaultRenaming</a></code>.</p><p>(NB: This is a list not a map so that we can preserve order.)</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ModuleRenaming" class="def">ModuleRenaming</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>)]</td><td class="doc"><p>A module renaming/thinning; e.g., <code>(A as B, C as C)</code>- brings <code>B</code> and <code>C</code> into scope.</p></td></tr><tr><td class="src"><a id="v:DefaultRenaming" class="def">DefaultRenaming</a></td><td class="doc"><p>The default renaming, bringing all exported modules- into scope.</p></td></tr><tr><td class="src"><a id="v:HidingRenaming" class="def">HidingRenaming</a> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</td><td class="doc"><p>Hiding renaming, e.g., <code>hiding (A, B)</code>, bringing all- exported modules into scope except the hidden ones.</p></td></tr></table></div><div class="subs instances"><p id="control.i:ModuleRenaming" class="caption collapser" onclick="toggleSection('i:ModuleRenaming')">Instances</p><div id="section.i:ModuleRenaming" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleRenaming:Eq:1" class="instance expander" onclick="toggleSection('i:id:ModuleRenaming:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></span> <a href="#t:ModuleRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleRenaming:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleRenaming:Data:2" class="instance expander" onclick="toggleSection('i:id:ModuleRenaming:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></span> <a href="#t:ModuleRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleRenaming:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> c <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> m <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> m <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> m <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleRenaming:Ord:3" class="instance expander" onclick="toggleSection('i:id:ModuleRenaming:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></span> <a href="#t:ModuleRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleRenaming:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleRenaming:Read:4" class="instance expander" onclick="toggleSection('i:id:ModuleRenaming:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></span> <a href="#t:ModuleRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleRenaming:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleRenaming:Show:5" class="instance expander" onclick="toggleSection('i:id:ModuleRenaming:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></span> <a href="#t:ModuleRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleRenaming:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleRenaming:Generic:6" class="instance expander" onclick="toggleSection('i:id:ModuleRenaming:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></span> <a href="#t:ModuleRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleRenaming:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> x -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleRenaming:Binary:7" class="instance expander" onclick="toggleSection('i:id:ModuleRenaming:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></span> <a href="#t:ModuleRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleRenaming:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleRenaming:Text:8" class="instance expander" onclick="toggleSection('i:id:ModuleRenaming:Text:8')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></span> <a href="#t:ModuleRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleRenaming:Text:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleRenaming:Rep:9" class="instance expander" onclick="toggleSection('i:id:ModuleRenaming:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></span> <a href="#t:ModuleRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleRenaming:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ModuleRenaming" "Distribution.Types.ModuleRenaming" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ModuleRenaming" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>)]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DefaultRenaming" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "HidingRenaming" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>])))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:defaultRenaming" class="def">defaultRenaming</a> :: <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:defaultRenaming" class="selflink">#</a></p><div class="doc"><p>The default renaming, if something is specified in <code>build-depends</code>- only.</p></div></div><h2 id="g:3">Libraries</h2><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Library" class="def">Library</a> <a href="#t:Library" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Library" class="def">Library</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:libName" class="def">libName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:exposedModules" class="def">exposedModules</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:reexportedModules" class="def">reexportedModules</a> :: [<a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:signatures" class="def">signatures</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</dfn><div class="doc"><p>What sigs need implementations?</p></div></li><li><dfn class="src"><a id="v:libExposed" class="def">libExposed</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Is the lib to be exposed by default?</p></div></li><li><dfn class="src"><a id="v:libBuildInfo" class="def">libBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:Library" class="caption collapser" onclick="toggleSection('i:Library')">Instances</p><div id="section.i:Library" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Library:Eq:1" class="instance expander" onclick="toggleSection('i:id:Library:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a></span> <a href="#t:Library" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Library:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Library:Data:2" class="instance expander" onclick="toggleSection('i:id:Library:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a></span> <a href="#t:Library" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Library:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> c <a href="Distribution-PackageDescription.html#t:Library">Library</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-PackageDescription.html#t:Library">Library</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:Library">Library</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:Library">Library</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> <a href="Distribution-PackageDescription.html#t:Library">Library</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> m <a href="Distribution-PackageDescription.html#t:Library">Library</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> m <a href="Distribution-PackageDescription.html#t:Library">Library</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> m <a href="Distribution-PackageDescription.html#t:Library">Library</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Library:Read:3" class="instance expander" onclick="toggleSection('i:id:Library:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a></span> <a href="#t:Library" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Library:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-PackageDescription.html#t:Library">Library</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-PackageDescription.html#t:Library">Library</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Library:Show:4" class="instance expander" onclick="toggleSection('i:id:Library:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a></span> <a href="#t:Library" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Library:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:Library">Library</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Library:Generic:5" class="instance expander" onclick="toggleSection('i:id:Library:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a></span> <a href="#t:Library" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Library:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a> x -> <a href="Distribution-PackageDescription.html#t:Library">Library</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Library:Semigroup:6" class="instance expander" onclick="toggleSection('i:id:Library:Semigroup:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a></span> <a href="#t:Library" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Library:Semigroup:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> <a href="Distribution-PackageDescription.html#t:Library">Library</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> <a href="Distribution-PackageDescription.html#t:Library">Library</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> <a href="Distribution-PackageDescription.html#t:Library">Library</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Library:Monoid:7" class="instance expander" onclick="toggleSection('i:id:Library:Monoid:7')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a></span> <a href="#t:Library" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Library:Monoid:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-PackageDescription.html#t:Library">Library</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> <a href="Distribution-PackageDescription.html#t:Library">Library</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-PackageDescription.html#t:Library">Library</a>] -> <a href="Distribution-PackageDescription.html#t:Library">Library</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Library:Binary:8" class="instance expander" onclick="toggleSection('i:id:Library:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a></span> <a href="#t:Library" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Library:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:Library">Library</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Library:Rep:9" class="instance expander" onclick="toggleSection('i:id:Library:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a></span> <a href="#t:Library" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Library:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Library" "Distribution.Types.Library" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Library" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "libName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "exposedModules") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "reexportedModules") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a>])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "signatures") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "libExposed") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "libBuildInfo") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ModuleReexport" class="def">ModuleReexport</a> <a href="#t:ModuleReexport" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ModuleReexport" class="def">ModuleReexport</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:moduleReexportOriginalPackage" class="def">moduleReexportOriginalPackage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:moduleReexportOriginalName" class="def">moduleReexportOriginalName</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:moduleReexportName" class="def">moduleReexportName</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:ModuleReexport" class="caption collapser" onclick="toggleSection('i:ModuleReexport')">Instances</p><div id="section.i:ModuleReexport" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleReexport:Eq:1" class="instance expander" onclick="toggleSection('i:id:ModuleReexport:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a></span> <a href="#t:ModuleReexport" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleReexport:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> -> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> -> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleReexport:Data:2" class="instance expander" onclick="toggleSection('i:id:ModuleReexport:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a></span> <a href="#t:ModuleReexport" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleReexport:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> -> c <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> -> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> -> m <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> -> m <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> -> m <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleReexport:Read:3" class="instance expander" onclick="toggleSection('i:id:ModuleReexport:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a></span> <a href="#t:ModuleReexport" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleReexport:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleReexport:Show:4" class="instance expander" onclick="toggleSection('i:id:ModuleReexport:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a></span> <a href="#t:ModuleReexport" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleReexport:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleReexport:Generic:5" class="instance expander" onclick="toggleSection('i:id:ModuleReexport:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a></span> <a href="#t:ModuleReexport" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleReexport:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> x -> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleReexport:Binary:6" class="instance expander" onclick="toggleSection('i:id:ModuleReexport:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a></span> <a href="#t:ModuleReexport" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleReexport:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleReexport:Text:7" class="instance expander" onclick="toggleSection('i:id:ModuleReexport:Text:7')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a></span> <a href="#t:ModuleReexport" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleReexport:Text:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleReexport:Rep:8" class="instance expander" onclick="toggleSection('i:id:ModuleReexport:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a></span> <a href="#t:ModuleReexport" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleReexport:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ModuleReexport" "Distribution.Types.ModuleReexport" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ModuleReexport" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "moduleReexportOriginalPackage") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "moduleReexportOriginalName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "moduleReexportName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyLibrary" class="def">emptyLibrary</a> :: <a href="Distribution-PackageDescription.html#t:Library">Library</a> <a href="#v:emptyLibrary" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:withLib" class="def">withLib</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-PackageDescription.html#t:Library">Library</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:withLib" class="selflink">#</a></p><div class="doc"><p>If the package description has a buildable library section,- call the given function with the library build info as argument.- You probably want <code>withLibLBI</code> if you have a <code>LocalBuildInfo</code>,- see the note in- <a href="Distribution-Types-ComponentRequestedSpec.html#buildable_vs_enabled_components">Distribution.Types.ComponentRequestedSpec</a>- for more information.</p></div></div><div class="top"><p class="src"><a id="v:hasPublicLib" class="def">hasPublicLib</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:hasPublicLib" class="selflink">#</a></p><div class="doc"><p>Does this package have a buildable PUBLIC library?</p></div></div><div class="top"><p class="src"><a id="v:hasLibs" class="def">hasLibs</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:hasLibs" class="selflink">#</a></p><div class="doc"><p>Does this package have any libraries?</p></div></div><div class="top"><p class="src"><a id="v:explicitLibModules" class="def">explicitLibModules</a> :: <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] <a href="#v:explicitLibModules" class="selflink">#</a></p><div class="doc"><p>Get all the module names from the library (exposed and internal modules)- which are explicitly listed in the package description which would- need to be compiled. (This does not include reexports, which- do not need to be compiled.) This may not include all modules for which- GHC generated interface files (i.e., implicit modules.)</p></div></div><div class="top"><p class="src"><a id="v:libModulesAutogen" class="def">libModulesAutogen</a> :: <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] <a href="#v:libModulesAutogen" class="selflink">#</a></p><div class="doc"><p>Get all the auto generated module names from the library, exposed or not.- This are a subset of <code><a href="Distribution-PackageDescription.html#v:libModules">libModules</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:libModules" class="def">libModules</a> :: <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] <a href="#v:libModules" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: If you want all modules that are built with a library, use <code>allLibModules</code>. Otherwise, use <code><a href="Distribution-PackageDescription.html#v:explicitLibModules">explicitLibModules</a></code> for ONLY the modules explicitly mentioned in the package description.</p></div><p>Backwards-compatibility shim for <code><a href="Distribution-PackageDescription.html#v:explicitLibModules">explicitLibModules</a></code>. In most cases,- you actually want <code>allLibModules</code>, which returns all modules that will- actually be compiled, as opposed to those which are explicitly listed- in the package description (<code><a href="Distribution-PackageDescription.html#v:explicitLibModules">explicitLibModules</a></code>); unfortunately, the- type signature for <code>allLibModules</code> is incompatible since we need a- <code>ComponentLocalBuildInfo</code>.</p></div></div><h2 id="g:4">Executables</h2><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Executable" class="def">Executable</a> <a href="#t:Executable" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Executable" class="def">Executable</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:exeName" class="def">exeName</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:modulePath" class="def">modulePath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:exeScope" class="def">exeScope</a> :: <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:buildInfo" class="def">buildInfo</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:Executable" class="caption collapser" onclick="toggleSection('i:Executable')">Instances</p><div id="section.i:Executable" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Executable:Eq:1" class="instance expander" onclick="toggleSection('i:id:Executable:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a></span> <a href="#t:Executable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Executable:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Executable:Data:2" class="instance expander" onclick="toggleSection('i:id:Executable:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a></span> <a href="#t:Executable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Executable:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> c <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:Executable">Executable</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:Executable">Executable</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> m <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> m <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> m <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Executable:Read:3" class="instance expander" onclick="toggleSection('i:id:Executable:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a></span> <a href="#t:Executable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Executable:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-PackageDescription.html#t:Executable">Executable</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-PackageDescription.html#t:Executable">Executable</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Executable:Show:4" class="instance expander" onclick="toggleSection('i:id:Executable:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a></span> <a href="#t:Executable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Executable:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:Executable">Executable</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Executable:Generic:5" class="instance expander" onclick="toggleSection('i:id:Executable:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a></span> <a href="#t:Executable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Executable:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> x -> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Executable:Semigroup:6" class="instance expander" onclick="toggleSection('i:id:Executable:Semigroup:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a></span> <a href="#t:Executable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Executable:Semigroup:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Executable:Monoid:7" class="instance expander" onclick="toggleSection('i:id:Executable:Monoid:7')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a></span> <a href="#t:Executable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Executable:Monoid:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-PackageDescription.html#t:Executable">Executable</a>] -> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Executable:Binary:8" class="instance expander" onclick="toggleSection('i:id:Executable:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a></span> <a href="#t:Executable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Executable:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:Executable">Executable</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Executable:Rep:9" class="instance expander" onclick="toggleSection('i:id:Executable:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a></span> <a href="#t:Executable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Executable:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Executable" "Distribution.Types.Executable" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Executable" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "exeName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "modulePath") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "exeScope") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "buildInfo") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyExecutable" class="def">emptyExecutable</a> :: <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> <a href="#v:emptyExecutable" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:withExe" class="def">withExe</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:withExe" class="selflink">#</a></p><div class="doc"><p>Perform the action on each buildable <code><a href="Distribution-PackageDescription.html#t:Executable">Executable</a></code> in the package- description. You probably want <code>withExeLBI</code> if you have a- <code>LocalBuildInfo</code>, see the note in- <a href="Distribution-Types-ComponentRequestedSpec.html#buildable_vs_enabled_components">Distribution.Types.ComponentRequestedSpec</a>- for more information.</p></div></div><div class="top"><p class="src"><a id="v:hasExes" class="def">hasExes</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:hasExes" class="selflink">#</a></p><div class="doc"><p>does this package have any executables?</p></div></div><div class="top"><p class="src"><a id="v:exeModules" class="def">exeModules</a> :: <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] <a href="#v:exeModules" class="selflink">#</a></p><div class="doc"><p>Get all the module names from an exe</p></div></div><div class="top"><p class="src"><a id="v:exeModulesAutogen" class="def">exeModulesAutogen</a> :: <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] <a href="#v:exeModulesAutogen" class="selflink">#</a></p><div class="doc"><p>Get all the auto generated module names from an exe- This are a subset of <code><a href="Distribution-PackageDescription.html#v:exeModules">exeModules</a></code>.</p></div></div><h1 id="g:5">Tests</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:TestSuite" class="def">TestSuite</a> <a href="#t:TestSuite" class="selflink">#</a></p><div class="doc"><p>A "test-suite" stanza in a cabal file.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:TestSuite" class="def">TestSuite</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:testName" class="def">testName</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:testInterface" class="def">testInterface</a> :: <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:testBuildInfo" class="def">testBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:TestSuite" class="caption collapser" onclick="toggleSection('i:TestSuite')">Instances</p><div id="section.i:TestSuite" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuite:Eq:1" class="instance expander" onclick="toggleSection('i:id:TestSuite:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></span> <a href="#t:TestSuite" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuite:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuite:Data:2" class="instance expander" onclick="toggleSection('i:id:TestSuite:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></span> <a href="#t:TestSuite" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuite:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> c <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> m <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> m <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> m <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuite:Read:3" class="instance expander" onclick="toggleSection('i:id:TestSuite:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></span> <a href="#t:TestSuite" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuite:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuite:Show:4" class="instance expander" onclick="toggleSection('i:id:TestSuite:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></span> <a href="#t:TestSuite" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuite:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuite:Generic:5" class="instance expander" onclick="toggleSection('i:id:TestSuite:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></span> <a href="#t:TestSuite" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuite:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> x -> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuite:Semigroup:6" class="instance expander" onclick="toggleSection('i:id:TestSuite:Semigroup:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></span> <a href="#t:TestSuite" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuite:Semigroup:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuite:Monoid:7" class="instance expander" onclick="toggleSection('i:id:TestSuite:Monoid:7')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></span> <a href="#t:TestSuite" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuite:Monoid:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a>] -> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuite:Binary:8" class="instance expander" onclick="toggleSection('i:id:TestSuite:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></span> <a href="#t:TestSuite" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuite:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuite:Rep:9" class="instance expander" onclick="toggleSection('i:id:TestSuite:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></span> <a href="#t:TestSuite" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuite:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "TestSuite" "Distribution.Types.TestSuite" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TestSuite" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "testName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "testInterface") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "testBuildInfo") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:TestSuiteInterface" class="def">TestSuiteInterface</a> <a href="#t:TestSuiteInterface" class="selflink">#</a></p><div class="doc"><p>The test suite interfaces that are currently defined. Each test suite must- specify which interface it supports.</p><p>More interfaces may be defined in future, either new revisions or totally- new interfaces.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:TestSuiteExeV10" class="def">TestSuiteExeV10</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Test interface "exitcode-stdio-1.0". The test-suite takes the form- of an executable. It returns a zero exit code for success, non-zero for- failure. The stdout and stderr channels may be logged. It takes no- command line parameters and nothing on stdin.</p></td></tr><tr><td class="src"><a id="v:TestSuiteLibV09" class="def">TestSuiteLibV09</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></td><td class="doc"><p>Test interface "detailed-0.9". The test-suite takes the form of a- library containing a designated module that exports "tests :: [Test]".</p></td></tr><tr><td class="src"><a id="v:TestSuiteUnsupported" class="def">TestSuiteUnsupported</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></td><td class="doc"><p>A test suite that does not conform to one of the above interfaces for- the given reason (e.g. unknown test type).</p></td></tr></table></div><div class="subs instances"><p id="control.i:TestSuiteInterface" class="caption collapser" onclick="toggleSection('i:TestSuiteInterface')">Instances</p><div id="section.i:TestSuiteInterface" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuiteInterface:Eq:1" class="instance expander" onclick="toggleSection('i:id:TestSuiteInterface:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a></span> <a href="#t:TestSuiteInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuiteInterface:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuiteInterface:Data:2" class="instance expander" onclick="toggleSection('i:id:TestSuiteInterface:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a></span> <a href="#t:TestSuiteInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuiteInterface:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> c <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> m <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> m <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> m <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuiteInterface:Read:3" class="instance expander" onclick="toggleSection('i:id:TestSuiteInterface:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a></span> <a href="#t:TestSuiteInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuiteInterface:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuiteInterface:Show:4" class="instance expander" onclick="toggleSection('i:id:TestSuiteInterface:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a></span> <a href="#t:TestSuiteInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuiteInterface:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuiteInterface:Generic:5" class="instance expander" onclick="toggleSection('i:id:TestSuiteInterface:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a></span> <a href="#t:TestSuiteInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuiteInterface:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> x -> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuiteInterface:Semigroup:6" class="instance expander" onclick="toggleSection('i:id:TestSuiteInterface:Semigroup:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a></span> <a href="#t:TestSuiteInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuiteInterface:Semigroup:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuiteInterface:Monoid:7" class="instance expander" onclick="toggleSection('i:id:TestSuiteInterface:Monoid:7')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a></span> <a href="#t:TestSuiteInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuiteInterface:Monoid:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a>] -> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuiteInterface:Binary:8" class="instance expander" onclick="toggleSection('i:id:TestSuiteInterface:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a></span> <a href="#t:TestSuiteInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuiteInterface:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuiteInterface:Rep:9" class="instance expander" onclick="toggleSection('i:id:TestSuiteInterface:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a></span> <a href="#t:TestSuiteInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuiteInterface:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "TestSuiteInterface" "Distribution.Types.TestSuiteInterface" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TestSuiteExeV10" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TestSuiteLibV09" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TestSuiteUnsupported" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:TestType" class="def">TestType</a> <a href="#t:TestType" class="selflink">#</a></p><div class="doc"><p>The "test-type" field in the test suite stanza.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:TestTypeExe" class="def">TestTypeExe</a> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc"><p>"type: exitcode-stdio-x.y"</p></td></tr><tr><td class="src"><a id="v:TestTypeLib" class="def">TestTypeLib</a> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc"><p>"type: detailed-x.y"</p></td></tr><tr><td class="src"><a id="v:TestTypeUnknown" class="def">TestTypeUnknown</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc"><p>Some unknown test type e.g. "type: foo"</p></td></tr></table></div><div class="subs instances"><p id="control.i:TestType" class="caption collapser" onclick="toggleSection('i:TestType')">Instances</p><div id="section.i:TestType" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestType:Eq:1" class="instance expander" onclick="toggleSection('i:id:TestType:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></span> <a href="#t:TestType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestType:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> -> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> -> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestType:Data:2" class="instance expander" onclick="toggleSection('i:id:TestType:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></span> <a href="#t:TestType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestType:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> -> c <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:TestType">TestType</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:TestType">TestType</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> -> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> -> m <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> -> m <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> -> m <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestType:Read:3" class="instance expander" onclick="toggleSection('i:id:TestType:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></span> <a href="#t:TestType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestType:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-PackageDescription.html#t:TestType">TestType</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-PackageDescription.html#t:TestType">TestType</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestType:Show:4" class="instance expander" onclick="toggleSection('i:id:TestType:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></span> <a href="#t:TestType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestType:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:TestType">TestType</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestType:Generic:5" class="instance expander" onclick="toggleSection('i:id:TestType:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></span> <a href="#t:TestType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestType:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> x -> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestType:Binary:6" class="instance expander" onclick="toggleSection('i:id:TestType:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></span> <a href="#t:TestType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestType:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:TestType">TestType</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestType:Text:7" class="instance expander" onclick="toggleSection('i:id:TestType:Text:7')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></span> <a href="#t:TestType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestType:Text:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestType:Rep:8" class="instance expander" onclick="toggleSection('i:id:TestType:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></span> <a href="#t:TestType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestType:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "TestType" "Distribution.Types.TestType" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TestTypeExe" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TestTypeLib" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TestTypeUnknown" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:testType" class="def">testType</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a> <a href="#v:testType" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:knownTestTypes" class="def">knownTestTypes</a> :: [<a href="Distribution-PackageDescription.html#t:TestType">TestType</a>] <a href="#v:knownTestTypes" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:emptyTestSuite" class="def">emptyTestSuite</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> <a href="#v:emptyTestSuite" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:hasTests" class="def">hasTests</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:hasTests" class="selflink">#</a></p><div class="doc"><p>Does this package have any test suites?</p></div></div><div class="top"><p class="src"><a id="v:withTest" class="def">withTest</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:withTest" class="selflink">#</a></p><div class="doc"><p>Perform an action on each buildable <code><a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></code> in a package.- You probably want <code>withTestLBI</code> if you have a <code>LocalBuildInfo</code>, see the note in- <a href="Distribution-Types-ComponentRequestedSpec.html#buildable_vs_enabled_components">Distribution.Types.ComponentRequestedSpec</a>- for more information.</p></div></div><div class="top"><p class="src"><a id="v:testModules" class="def">testModules</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] <a href="#v:testModules" class="selflink">#</a></p><div class="doc"><p>Get all the module names from a test suite.</p></div></div><div class="top"><p class="src"><a id="v:testModulesAutogen" class="def">testModulesAutogen</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] <a href="#v:testModulesAutogen" class="selflink">#</a></p><div class="doc"><p>Get all the auto generated module names from a test suite.- This are a subset of <code><a href="Distribution-PackageDescription.html#v:testModules">testModules</a></code>.</p></div></div><h1 id="g:6">Benchmarks</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Benchmark" class="def">Benchmark</a> <a href="#t:Benchmark" class="selflink">#</a></p><div class="doc"><p>A "benchmark" stanza in a cabal file.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Benchmark" class="def">Benchmark</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:benchmarkName" class="def">benchmarkName</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:benchmarkInterface" class="def">benchmarkInterface</a> :: <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:benchmarkBuildInfo" class="def">benchmarkBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:Benchmark" class="caption collapser" onclick="toggleSection('i:Benchmark')">Instances</p><div id="section.i:Benchmark" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Benchmark:Eq:1" class="instance expander" onclick="toggleSection('i:id:Benchmark:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></span> <a href="#t:Benchmark" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Benchmark:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Benchmark:Data:2" class="instance expander" onclick="toggleSection('i:id:Benchmark:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></span> <a href="#t:Benchmark" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Benchmark:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> c <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> m <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> m <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> m <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Benchmark:Read:3" class="instance expander" onclick="toggleSection('i:id:Benchmark:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></span> <a href="#t:Benchmark" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Benchmark:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Benchmark:Show:4" class="instance expander" onclick="toggleSection('i:id:Benchmark:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></span> <a href="#t:Benchmark" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Benchmark:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Benchmark:Generic:5" class="instance expander" onclick="toggleSection('i:id:Benchmark:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></span> <a href="#t:Benchmark" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Benchmark:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> x -> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Benchmark:Semigroup:6" class="instance expander" onclick="toggleSection('i:id:Benchmark:Semigroup:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></span> <a href="#t:Benchmark" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Benchmark:Semigroup:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Benchmark:Monoid:7" class="instance expander" onclick="toggleSection('i:id:Benchmark:Monoid:7')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></span> <a href="#t:Benchmark" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Benchmark:Monoid:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a>] -> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Benchmark:Binary:8" class="instance expander" onclick="toggleSection('i:id:Benchmark:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></span> <a href="#t:Benchmark" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Benchmark:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Benchmark:Rep:9" class="instance expander" onclick="toggleSection('i:id:Benchmark:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></span> <a href="#t:Benchmark" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Benchmark:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Benchmark" "Distribution.Types.Benchmark" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Benchmark" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "benchmarkName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "benchmarkInterface") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "benchmarkBuildInfo") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:BenchmarkInterface" class="def">BenchmarkInterface</a> <a href="#t:BenchmarkInterface" class="selflink">#</a></p><div class="doc"><p>The benchmark interfaces that are currently defined. Each- benchmark must specify which interface it supports.</p><p>More interfaces may be defined in future, either new revisions or- totally new interfaces.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:BenchmarkExeV10" class="def">BenchmarkExeV10</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Benchmark interface "exitcode-stdio-1.0". The benchmark- takes the form of an executable. It returns a zero exit code- for success, non-zero for failure. The stdout and stderr- channels may be logged. It takes no command line parameters- and nothing on stdin.</p></td></tr><tr><td class="src"><a id="v:BenchmarkUnsupported" class="def">BenchmarkUnsupported</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></td><td class="doc"><p>A benchmark that does not conform to one of the above- interfaces for the given reason (e.g. unknown benchmark type).</p></td></tr></table></div><div class="subs instances"><p id="control.i:BenchmarkInterface" class="caption collapser" onclick="toggleSection('i:BenchmarkInterface')">Instances</p><div id="section.i:BenchmarkInterface" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkInterface:Eq:1" class="instance expander" onclick="toggleSection('i:id:BenchmarkInterface:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a></span> <a href="#t:BenchmarkInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkInterface:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkInterface:Data:2" class="instance expander" onclick="toggleSection('i:id:BenchmarkInterface:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a></span> <a href="#t:BenchmarkInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkInterface:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> c <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> m <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> m <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> m <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkInterface:Read:3" class="instance expander" onclick="toggleSection('i:id:BenchmarkInterface:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a></span> <a href="#t:BenchmarkInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkInterface:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkInterface:Show:4" class="instance expander" onclick="toggleSection('i:id:BenchmarkInterface:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a></span> <a href="#t:BenchmarkInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkInterface:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkInterface:Generic:5" class="instance expander" onclick="toggleSection('i:id:BenchmarkInterface:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a></span> <a href="#t:BenchmarkInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkInterface:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> x -> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkInterface:Semigroup:6" class="instance expander" onclick="toggleSection('i:id:BenchmarkInterface:Semigroup:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a></span> <a href="#t:BenchmarkInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkInterface:Semigroup:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkInterface:Monoid:7" class="instance expander" onclick="toggleSection('i:id:BenchmarkInterface:Monoid:7')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a></span> <a href="#t:BenchmarkInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkInterface:Monoid:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a>] -> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkInterface:Binary:8" class="instance expander" onclick="toggleSection('i:id:BenchmarkInterface:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a></span> <a href="#t:BenchmarkInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkInterface:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkInterface:Rep:9" class="instance expander" onclick="toggleSection('i:id:BenchmarkInterface:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a></span> <a href="#t:BenchmarkInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkInterface:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "BenchmarkInterface" "Distribution.Types.BenchmarkInterface" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BenchmarkExeV10" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BenchmarkUnsupported" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a>))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:BenchmarkType" class="def">BenchmarkType</a> <a href="#t:BenchmarkType" class="selflink">#</a></p><div class="doc"><p>The "benchmark-type" field in the benchmark stanza.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:BenchmarkTypeExe" class="def">BenchmarkTypeExe</a> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc"><p>"type: exitcode-stdio-x.y"</p></td></tr><tr><td class="src"><a id="v:BenchmarkTypeUnknown" class="def">BenchmarkTypeUnknown</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc"><p>Some unknown benchmark type e.g. "type: foo"</p></td></tr></table></div><div class="subs instances"><p id="control.i:BenchmarkType" class="caption collapser" onclick="toggleSection('i:BenchmarkType')">Instances</p><div id="section.i:BenchmarkType" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkType:Eq:1" class="instance expander" onclick="toggleSection('i:id:BenchmarkType:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></span> <a href="#t:BenchmarkType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkType:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> -> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> -> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkType:Data:2" class="instance expander" onclick="toggleSection('i:id:BenchmarkType:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></span> <a href="#t:BenchmarkType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkType:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> -> c <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> -> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> -> m <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> -> m <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> -> m <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkType:Read:3" class="instance expander" onclick="toggleSection('i:id:BenchmarkType:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></span> <a href="#t:BenchmarkType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkType:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkType:Show:4" class="instance expander" onclick="toggleSection('i:id:BenchmarkType:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></span> <a href="#t:BenchmarkType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkType:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkType:Generic:5" class="instance expander" onclick="toggleSection('i:id:BenchmarkType:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></span> <a href="#t:BenchmarkType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkType:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> x -> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkType:Binary:6" class="instance expander" onclick="toggleSection('i:id:BenchmarkType:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></span> <a href="#t:BenchmarkType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkType:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkType:Text:7" class="instance expander" onclick="toggleSection('i:id:BenchmarkType:Text:7')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></span> <a href="#t:BenchmarkType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkType:Text:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkType:Rep:8" class="instance expander" onclick="toggleSection('i:id:BenchmarkType:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></span> <a href="#t:BenchmarkType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkType:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "BenchmarkType" "Distribution.Types.BenchmarkType" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BenchmarkTypeExe" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BenchmarkTypeUnknown" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:benchmarkType" class="def">benchmarkType</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:benchmarkType" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:knownBenchmarkTypes" class="def">knownBenchmarkTypes</a> :: [<a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a>] <a href="#v:knownBenchmarkTypes" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:emptyBenchmark" class="def">emptyBenchmark</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> <a href="#v:emptyBenchmark" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:hasBenchmarks" class="def">hasBenchmarks</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:hasBenchmarks" class="selflink">#</a></p><div class="doc"><p>Does this package have any benchmarks?</p></div></div><div class="top"><p class="src"><a id="v:withBenchmark" class="def">withBenchmark</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:withBenchmark" class="selflink">#</a></p><div class="doc"><p>Perform an action on each buildable <code><a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></code> in a package.- You probably want <code>withBenchLBI</code> if you have a <code>LocalBuildInfo</code>, see the note in- <a href="Distribution-Types-ComponentRequestedSpec.html#buildable_vs_enabled_components">Distribution.Types.ComponentRequestedSpec</a>- for more information.</p></div></div><div class="top"><p class="src"><a id="v:benchmarkModules" class="def">benchmarkModules</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] <a href="#v:benchmarkModules" class="selflink">#</a></p><div class="doc"><p>Get all the module names from a benchmark.</p></div></div><div class="top"><p class="src"><a id="v:benchmarkModulesAutogen" class="def">benchmarkModulesAutogen</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] <a href="#v:benchmarkModulesAutogen" class="selflink">#</a></p><div class="doc"><p>Get all the auto generated module names from a benchmark.- This are a subset of <code><a href="Distribution-PackageDescription.html#v:benchmarkModules">benchmarkModules</a></code>.</p></div></div><h1 id="g:7">Build information</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:BuildInfo" class="def">BuildInfo</a> <a href="#t:BuildInfo" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:BuildInfo" class="def">BuildInfo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:buildable" class="def">buildable</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>component is buildable here</p></div></li><li><dfn class="src"><a id="v:buildTools" class="def">buildTools</a> :: [<a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a>]</dfn><div class="doc"><p>Tools needed to build this bit.</p><p>This is a legacy field that <code><a href="Distribution-PackageDescription.html#v:buildToolDepends">buildToolDepends</a></code> larely supersedes.</p><p>Unless use are very sure what you are doing, use the functions in- <a href="Distribution-Simple-BuildToolDepends.html">Distribution.Simple.BuildToolDepends</a> rather than accessing this- field directly.</p></div></li><li><dfn class="src"><a id="v:buildToolDepends" class="def">buildToolDepends</a> :: [<a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a>]</dfn><div class="doc"><p>Haskell tools needed to build this bit</p><p>This field is better than <code><a href="Distribution-PackageDescription.html#v:buildTools">buildTools</a></code> because it allows one to- precisely specify an executable in a package.</p><p>Unless use are very sure what you are doing, use the functions in- <a href="Distribution-Simple-BuildToolDepends.html">Distribution.Simple.BuildToolDepends</a> rather than accessing this- field directly.</p></div></li><li><dfn class="src"><a id="v:cppOptions" class="def">cppOptions</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc"><p>options for pre-processing Haskell code</p></div></li><li><dfn class="src"><a id="v:ccOptions" class="def">ccOptions</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc"><p>options for C compiler</p></div></li><li><dfn class="src"><a id="v:ldOptions" class="def">ldOptions</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc"><p>options for linker</p></div></li><li><dfn class="src"><a id="v:pkgconfigDepends" class="def">pkgconfigDepends</a> :: [<a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a>]</dfn><div class="doc"><p>pkg-config packages that are used</p></div></li><li><dfn class="src"><a id="v:frameworks" class="def">frameworks</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc"><p>support frameworks for Mac OS X</p></div></li><li><dfn class="src"><a id="v:extraFrameworkDirs" class="def">extraFrameworkDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc"><p>extra locations to find frameworks.</p></div></li><li><dfn class="src"><a id="v:cSources" class="def">cSources</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:jsSources" class="def">jsSources</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:hsSourceDirs" class="def">hsSourceDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc"><p>where to look for the Haskell module hierarchy</p></div></li><li><dfn class="src"><a id="v:otherModules" class="def">otherModules</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</dfn><div class="doc"><p>non-exposed or non-main modules</p></div></li><li><dfn class="src"><a id="v:autogenModules" class="def">autogenModules</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</dfn><div class="doc"><p>not present on sdist, Paths_* or user-generated with a custom Setup.hs</p></div></li><li><dfn class="src"><a id="v:defaultLanguage" class="def">defaultLanguage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a></dfn><div class="doc"><p>language used when not explicitly specified</p></div></li><li><dfn class="src"><a id="v:otherLanguages" class="def">otherLanguages</a> :: [<a href="Language-Haskell-Extension.html#t:Language">Language</a>]</dfn><div class="doc"><p>other languages used within the package</p></div></li><li><dfn class="src"><a id="v:defaultExtensions" class="def">defaultExtensions</a> :: [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</dfn><div class="doc"><p>language extensions used by all modules</p></div></li><li><dfn class="src"><a id="v:otherExtensions" class="def">otherExtensions</a> :: [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</dfn><div class="doc"><p>other language extensions used within the package</p></div></li><li><dfn class="src"><a id="v:oldExtensions" class="def">oldExtensions</a> :: [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</dfn><div class="doc"><p>the old extensions field, treated same as <code><a href="Distribution-PackageDescription.html#v:defaultExtensions">defaultExtensions</a></code></p></div></li><li><dfn class="src"><a id="v:extraLibs" class="def">extraLibs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc"><p>what libraries to link with when compiling a program that uses your package</p></div></li><li><dfn class="src"><a id="v:extraGHCiLibs" class="def">extraGHCiLibs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc"><p>if present, overrides extraLibs when package is loaded with GHCi.</p></div></li><li><dfn class="src"><a id="v:extraLibDirs" class="def">extraLibDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:includeDirs" class="def">includeDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc"><p>directories to find .h files</p></div></li><li><dfn class="src"><a id="v:includes" class="def">includes</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc"><p>The .h files to be found in includeDirs</p></div></li><li><dfn class="src"><a id="v:installIncludes" class="def">installIncludes</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc"><p>.h files to install with the package</p></div></li><li><dfn class="src"><a id="v:options" class="def">options</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:profOptions" class="def">profOptions</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:sharedOptions" class="def">sharedOptions</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:customFieldsBI" class="def">customFieldsBI</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</dfn><div class="doc"><p>Custom fields starting- with x-, stored in a- simple assoc-list.</p></div></li><li><dfn class="src"><a id="v:targetBuildDepends" class="def">targetBuildDepends</a> :: [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>]</dfn><div class="doc"><p>Dependencies specific to a library or executable target</p></div></li><li><dfn class="src"><a id="v:mixins" class="def">mixins</a> :: [<a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a>]</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:BuildInfo" class="caption collapser" onclick="toggleSection('i:BuildInfo')">Instances</p><div id="section.i:BuildInfo" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildInfo:Eq:1" class="instance expander" onclick="toggleSection('i:id:BuildInfo:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></span> <a href="#t:BuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildInfo:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildInfo:Data:2" class="instance expander" onclick="toggleSection('i:id:BuildInfo:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></span> <a href="#t:BuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildInfo:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> c <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> m <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> m <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> m <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildInfo:Read:3" class="instance expander" onclick="toggleSection('i:id:BuildInfo:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></span> <a href="#t:BuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildInfo:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildInfo:Show:4" class="instance expander" onclick="toggleSection('i:id:BuildInfo:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></span> <a href="#t:BuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildInfo:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildInfo:Generic:5" class="instance expander" onclick="toggleSection('i:id:BuildInfo:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></span> <a href="#t:BuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildInfo:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> x -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildInfo:Semigroup:6" class="instance expander" onclick="toggleSection('i:id:BuildInfo:Semigroup:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></span> <a href="#t:BuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildInfo:Semigroup:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildInfo:Monoid:7" class="instance expander" onclick="toggleSection('i:id:BuildInfo:Monoid:7')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></span> <a href="#t:BuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildInfo:Monoid:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>] -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildInfo:Binary:8" class="instance expander" onclick="toggleSection('i:id:BuildInfo:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></span> <a href="#t:BuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildInfo:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildInfo:Rep:9" class="instance expander" onclick="toggleSection('i:id:BuildInfo:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></span> <a href="#t:BuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildInfo:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "BuildInfo" "Distribution.Types.BuildInfo" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BuildInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "buildable") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "buildTools") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "buildToolDepends") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a>])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "cppOptions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ccOptions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ldOptions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "pkgconfigDepends") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a>]))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "frameworks") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "extraFrameworkDirs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "cSources") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "jsSources") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "hsSourceDirs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "otherModules") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "autogenModules") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "defaultLanguage") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a>))))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "otherLanguages") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Language-Haskell-Extension.html#t:Language">Language</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "defaultExtensions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "otherExtensions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "oldExtensions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "extraLibs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "extraGHCiLibs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "extraLibDirs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "includeDirs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "includes") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "installIncludes") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "options") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "profOptions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "sharedOptions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "customFieldsBI") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "targetBuildDepends") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "mixins") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a>]))))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyBuildInfo" class="def">emptyBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> <a href="#v:emptyBuildInfo" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:allBuildInfo" class="def">allBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>] <a href="#v:allBuildInfo" class="selflink">#</a></p><div class="doc"><p>The <code><a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></code> for the library (if there is one and it's buildable), and- all buildable executables, test suites and benchmarks. Useful for gathering- dependencies.</p></div></div><div class="top"><p class="src"><a id="v:allLanguages" class="def">allLanguages</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="Language-Haskell-Extension.html#t:Language">Language</a>] <a href="#v:allLanguages" class="selflink">#</a></p><div class="doc"><p>The <code><a href="Language-Haskell-Extension.html#t:Language">Language</a></code>s used by this component</p></div></div><div class="top"><p class="src"><a id="v:allExtensions" class="def">allExtensions</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>] <a href="#v:allExtensions" class="selflink">#</a></p><div class="doc"><p>The <code><a href="Language-Haskell-Extension.html#t:Extension">Extension</a></code>s that are used somewhere by this component</p></div></div><div class="top"><p class="src"><a id="v:usedExtensions" class="def">usedExtensions</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>] <a href="#v:usedExtensions" class="selflink">#</a></p><div class="doc"><p>The <code>Extensions</code> that are used by all modules in this component</p></div></div><div class="top"><p class="src"><a id="v:hcOptions" class="def">hcOptions</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#v:hcOptions" class="selflink">#</a></p><div class="doc"><p>Select options for a particular Haskell compiler.</p></div></div><div class="top"><p class="src"><a id="v:hcProfOptions" class="def">hcProfOptions</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#v:hcProfOptions" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:hcSharedOptions" class="def">hcSharedOptions</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#v:hcSharedOptions" class="selflink">#</a></p></div><h2 id="g:8">Supplementary build information</h2><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ComponentName" class="def">ComponentName</a> <a href="#t:ComponentName" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:CLibName" class="def">CLibName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CSubLibName" class="def">CSubLibName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CFLibName" class="def">CFLibName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CExeName" class="def">CExeName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CTestName" class="def">CTestName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CBenchName" class="def">CBenchName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:ComponentName" class="caption collapser" onclick="toggleSection('i:ComponentName')">Instances</p><div id="section.i:ComponentName" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Eq:1" class="instance expander" onclick="toggleSection('i:id:ComponentName:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Ord:2" class="instance expander" onclick="toggleSection('i:id:ComponentName:Ord:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Ord:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Read:3" class="instance expander" onclick="toggleSection('i:id:ComponentName:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Show:4" class="instance expander" onclick="toggleSection('i:id:ComponentName:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Generic:5" class="instance expander" onclick="toggleSection('i:id:ComponentName:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> x -> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Binary:6" class="instance expander" onclick="toggleSection('i:id:ComponentName:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Text:7" class="instance expander" onclick="toggleSection('i:id:ComponentName:Text:7')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Text:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Rep:8" class="instance expander" onclick="toggleSection('i:id:ComponentName:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ComponentName" "Distribution.Types.ComponentName" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CLibName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CSubLibName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CFLibName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CExeName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CTestName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CBenchName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:defaultLibName" class="def">defaultLibName</a> :: <a href="Distribution-PackageDescription.html#t:ComponentName">ComponentName</a> <a href="#v:defaultLibName" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:HookedBuildInfo" class="def">HookedBuildInfo</a> = (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>, [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>)]) <a href="#t:HookedBuildInfo" class="selflink">#</a></p><div class="doc"><p><code><a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a></code> is mechanism that hooks can use to- override the <code><a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></code>s inside packages. One example- use-case (which is used in core libraries today) is as- a way of passing flags which are computed by a configure- script into Cabal. In this case, the autoconf build type adds- hooks to read in a textual <code><a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a></code> format prior- to doing any operations.</p><p>Quite honestly, this mechanism is a massive hack since we shouldn't- be editing the <code>PackageDescription</code> data structure (it's easy- to assume that this data structure shouldn't change and- run into bugs, see for example 1c20a6328579af9e37677d507e2e9836ef70ab9d).- But it's a bit convenient, because there isn't another data- structure that allows adding extra <code><a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></code> style things.</p><p>In any case, a lot of care has to be taken to make sure the- <code><a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a></code> is applied to the <code>PackageDescription</code>. In- general this process occurs in <a href="Distribution-Simple.html">Distribution.Simple</a>, which is- responsible for orchestrating the hooks mechanism. The- general strategy:</p><ol><li>We run the pre-hook, which produces a <code><a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a></code>- (e.g., in the Autoconf case, it reads it out from a file).</li><li>We sanity-check the hooked build info with- <code>sanityCheckHookedBuildInfo</code>.</li><li>We update our <code>PackageDescription</code> (either freshly read- or cached from <code>LocalBuildInfo</code>) with <code>updatePackageDescription</code>.</li></ol><p>In principle, we are also supposed to update the copy of- the <code>PackageDescription</code> stored in <code>LocalBuildInfo</code>- at <code>localPkgDescr</code>. Unfortunately, in practice, there- are lots of Custom setup scripts which fail to update- <code>localPkgDescr</code> so you really shouldn't rely on it.- It's not DEPRECATED because there are legitimate uses- for it, but... yeah. Sharp knife. See- <a href="https://github.com/haskell/cabal/issues/3606">https://github.com/haskell/cabal/issues/3606</a>- for more information on the issue.</p><p>It is not well-specified whether or not a <code><a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a></code> applied- at configure time is persistent to the <code>LocalBuildInfo</code>. The- fact that <code><a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a></code> is passed to <code>confHook</code> MIGHT SUGGEST- that the <code><a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a></code> is applied at this time, but actually- since 9317b67e6122ab14e53f81b573bd0ecb388eca5a it has been ONLY used- to create a modified package description that we check for problems:- it is never actually saved to the LBI. Since <code><a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a></code> is- applied monoidally to the existing build infos (and it is not an- idempotent monoid), it could break things to save it, since we- are obligated to apply any new <code><a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a></code> and then we'd- get the effect twice. But this does mean we have to re-apply- it every time. Hey, it's more flexibility.</p></div></div><div class="top"><p class="src"><a id="v:emptyHookedBuildInfo" class="def">emptyHookedBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a> <a href="#v:emptyHookedBuildInfo" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:updatePackageDescription" class="def">updatePackageDescription</a> :: <a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a> -> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:updatePackageDescription" class="selflink">#</a></p></div><h1 id="g:9">package configuration</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:GenericPackageDescription" class="def">GenericPackageDescription</a> <a href="#t:GenericPackageDescription" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:GenericPackageDescription" class="def">GenericPackageDescription</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:packageDescription" class="def">packageDescription</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:genPackageFlags" class="def">genPackageFlags</a> :: [<a href="Distribution-PackageDescription.html#t:Flag">Flag</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:condLibrary" class="def">condLibrary</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:Library">Library</a>)</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:condSubLibraries" class="def">condSubLibraries</a> :: [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:Library">Library</a>)]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:condForeignLibs" class="def">condForeignLibs</a> :: [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>)]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:condExecutables" class="def">condExecutables</a> :: [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:Executable">Executable</a>)]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:condTestSuites" class="def">condTestSuites</a> :: [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a>)]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:condBenchmarks" class="def">condBenchmarks</a> :: [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a>)]</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:GenericPackageDescription" class="caption collapser" onclick="toggleSection('i:GenericPackageDescription')">Instances</p><div id="section.i:GenericPackageDescription" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GenericPackageDescription:Eq:1" class="instance expander" onclick="toggleSection('i:id:GenericPackageDescription:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></span> <a href="#t:GenericPackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GenericPackageDescription:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GenericPackageDescription:Data:2" class="instance expander" onclick="toggleSection('i:id:GenericPackageDescription:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></span> <a href="#t:GenericPackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GenericPackageDescription:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> c <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> m <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> m <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> m <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GenericPackageDescription:Show:3" class="instance expander" onclick="toggleSection('i:id:GenericPackageDescription:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></span> <a href="#t:GenericPackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GenericPackageDescription:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GenericPackageDescription:Generic:4" class="instance expander" onclick="toggleSection('i:id:GenericPackageDescription:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></span> <a href="#t:GenericPackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GenericPackageDescription:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> x -> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GenericPackageDescription:Binary:5" class="instance expander" onclick="toggleSection('i:id:GenericPackageDescription:Binary:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></span> <a href="#t:GenericPackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GenericPackageDescription:Binary:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GenericPackageDescription:Package:6" class="instance expander" onclick="toggleSection('i:id:GenericPackageDescription:Package:6')"></span> <a href="Distribution-Package.html#t:Package">Package</a> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></span> <a href="#t:GenericPackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GenericPackageDescription:Package:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:packageId">packageId</a> :: <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:packageId" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GenericPackageDescription:Rep:7" class="instance expander" onclick="toggleSection('i:id:GenericPackageDescription:Rep:7')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></span> <a href="#t:GenericPackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GenericPackageDescription:Rep:7" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "GenericPackageDescription" "Distribution.Types.GenericPackageDescription" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "GenericPackageDescription" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "packageDescription") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "genPackageFlags") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-PackageDescription.html#t:Flag">Flag</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "condLibrary") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:Library">Library</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "condSubLibraries") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:Library">Library</a>)])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "condForeignLibs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "condExecutables") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:Executable">Executable</a>)]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "condTestSuites") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "condBenchmarks") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a>)]))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Flag" class="def">Flag</a> <a href="#t:Flag" class="selflink">#</a></p><div class="doc"><p>A flag can represent a feature to be included, or a way of linking- a target against its dependencies, or in fact whatever you can think of.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:MkFlag" class="def">MkFlag</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:flagName" class="def">flagName</a> :: <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:flagDescription" class="def">flagDescription</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:flagDefault" class="def">flagDefault</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:flagManual" class="def">flagManual</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:Flag" class="caption collapser" onclick="toggleSection('i:Flag')">Instances</p><div id="section.i:Flag" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Eq:1" class="instance expander" onclick="toggleSection('i:id:Flag:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a></span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> -> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> -> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Data:2" class="instance expander" onclick="toggleSection('i:id:Flag:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a></span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> -> c <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:Flag">Flag</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:Flag">Flag</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> -> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> -> m <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> -> m <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> -> m <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Show:3" class="instance expander" onclick="toggleSection('i:id:Flag:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a></span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:Flag">Flag</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Generic:4" class="instance expander" onclick="toggleSection('i:id:Flag:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a></span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> x -> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Binary:5" class="instance expander" onclick="toggleSection('i:id:Flag:Binary:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a></span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Binary:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:Flag">Flag</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Rep:6" class="instance expander" onclick="toggleSection('i:id:Flag:Rep:6')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a></span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Rep:6" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Flag" "Distribution.Types.GenericPackageDescription" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "MkFlag" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "flagName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "flagDescription") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "flagDefault") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "flagManual") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyFlag" class="def">emptyFlag</a> :: <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a> <a href="#v:emptyFlag" class="selflink">#</a></p><div class="doc"><p>A <code><a href="Distribution-PackageDescription.html#t:Flag">Flag</a></code> initialized with default parameters.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:FlagName" class="def">FlagName</a> <a href="#t:FlagName" class="selflink">#</a></p><div class="doc"><p>A <code><a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></code> is the name of a user-defined configuration flag</p><p>Use <code><a href="Distribution-PackageDescription.html#v:mkFlagName">mkFlagName</a></code> and <code><a href="Distribution-PackageDescription.html#v:unFlagName">unFlagName</a></code> to convert from/to a <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code>.</p><p>This type is opaque since <code>Cabal-2.0</code></p><p><em>Since: 2.0.0.2</em></p></div><div class="subs instances"><p id="control.i:FlagName" class="caption collapser" onclick="toggleSection('i:FlagName')">Instances</p><div id="section.i:FlagName" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FlagName:Eq:1" class="instance expander" onclick="toggleSection('i:id:FlagName:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></span> <a href="#t:FlagName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FlagName:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FlagName:Data:2" class="instance expander" onclick="toggleSection('i:id:FlagName:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></span> <a href="#t:FlagName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FlagName:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> c <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> m <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> m <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> m <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FlagName:Ord:3" class="instance expander" onclick="toggleSection('i:id:FlagName:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></span> <a href="#t:FlagName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FlagName:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FlagName:Read:4" class="instance expander" onclick="toggleSection('i:id:FlagName:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></span> <a href="#t:FlagName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FlagName:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FlagName:Show:5" class="instance expander" onclick="toggleSection('i:id:FlagName:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></span> <a href="#t:FlagName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FlagName:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FlagName:IsString:6" class="instance expander" onclick="toggleSection('i:id:FlagName:IsString:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:IsString">IsString</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></span> <a href="#t:FlagName" class="selflink">#</a></td><td class="doc"><p><code><a href="Distribution-PackageDescription.html#v:mkFlagName">mkFlagName</a></code></p><p><em>Since: 2.0.0.2</em></p></td></tr><tr><td colspan="2"><div id="section.i:id:FlagName:IsString:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fromString">fromString</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> <a href="#v:fromString" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FlagName:Generic:7" class="instance expander" onclick="toggleSection('i:id:FlagName:Generic:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></span> <a href="#t:FlagName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FlagName:Generic:7" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> x -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FlagName:Binary:8" class="instance expander" onclick="toggleSection('i:id:FlagName:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></span> <a href="#t:FlagName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FlagName:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FlagName:Rep:9" class="instance expander" onclick="toggleSection('i:id:FlagName:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></span> <a href="#t:FlagName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FlagName:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "FlagName" "Distribution.Types.GenericPackageDescription" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "FlagName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a>)))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:mkFlagName" class="def">mkFlagName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> <a href="#v:mkFlagName" class="selflink">#</a></p><div class="doc"><p>Construct a <code><a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></code> from a <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code></p><p><code><a href="Distribution-PackageDescription.html#v:mkFlagName">mkFlagName</a></code> is the inverse to <code><a href="Distribution-PackageDescription.html#v:unFlagName">unFlagName</a></code></p><p>Note: No validations are performed to ensure that the resulting- <code><a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></code> is valid</p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:unFlagName" class="def">unFlagName</a> :: <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:unFlagName" class="selflink">#</a></p><div class="doc"><p>Convert <code><a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></code> to <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code></p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:FlagAssignment" class="def">FlagAssignment</a> = [(<a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)] <a href="#t:FlagAssignment" class="selflink">#</a></p><div class="doc"><p>A <code><a href="Distribution-PackageDescription.html#t:FlagAssignment">FlagAssignment</a></code> is a total or partial mapping of <code><a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></code>s to- <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></code> flag values. It represents the flags chosen by the user or- discovered during configuration. For example <code>--flags=foo --flags=-bar</code>- becomes <code>[("foo", True), ("bar", False)]</code></p></div></div><div class="top"><p class="src"><a id="v:showFlagValue" class="def">showFlagValue</a> :: (<a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:showFlagValue" class="selflink">#</a></p><div class="doc"><p>String representation of a flag-value pair.</p></div></div><div class="top"><p class="src"><a id="v:dispFlagAssignment" class="def">dispFlagAssignment</a> :: <a href="Distribution-PackageDescription.html#t:FlagAssignment">FlagAssignment</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:dispFlagAssignment" class="selflink">#</a></p><div class="doc"><p>Pretty-prints a flag assignment.</p></div></div><div class="top"><p class="src"><a id="v:parseFlagAssignment" class="def">parseFlagAssignment</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-PackageDescription.html#t:FlagAssignment">FlagAssignment</a> <a href="#v:parseFlagAssignment" class="selflink">#</a></p><div class="doc"><p>Parses a flag assignment.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:CondTree" class="def">CondTree</a> v c a <a href="#t:CondTree" class="selflink">#</a></p><div class="doc"><p>A <code><a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a></code> is used to represent the conditional structure of- a Cabal file, reflecting a syntax element subject to constraints,- and then any number of sub-elements which may be enabled subject- to some condition. Both <code>a</code> and <code>c</code> are usually <code><a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a></code>s.</p><p>To be more concrete, consider the following fragment of a <code>Cabal</code>- file:</p><pre>build-depends: base >= 4.0-if flag(extra)- build-depends: base >= 4.2-</pre><p>One way to represent this is to have <code><code><a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a></code> <code>ConfVar</code>- [<code>Dependency</code>] <code>BuildInfo</code></code>. Here, <code><a href="Distribution-PackageDescription.html#v:condTreeData">condTreeData</a></code> represents- the actual fields which are not behind any conditional, while- <code><a href="Distribution-PackageDescription.html#v:condTreeComponents">condTreeComponents</a></code> recursively records any further fields- which are behind a conditional. <code><a href="Distribution-PackageDescription.html#v:condTreeConstraints">condTreeConstraints</a></code> records- the constraints (in this case, <code>base >= 4.0</code>) which would- be applied if you use this syntax; in general, this is- derived off of <code>targetBuildInfo</code> (perhaps a good refactoring- would be to convert this into an opaque type, with a smart- constructor that pre-computes the dependencies.)</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:CondNode" class="def">CondNode</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:condTreeData" class="def">condTreeData</a> :: a</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:condTreeConstraints" class="def">condTreeConstraints</a> :: c</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:condTreeComponents" class="def">condTreeComponents</a> :: [<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a]</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:CondTree" class="caption collapser" onclick="toggleSection('i:CondTree')">Instances</p><div id="section.i:CondTree" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondTree:Functor:1" class="instance expander" onclick="toggleSection('i:id:CondTree:Functor:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c)</span> <a href="#t:CondTree" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondTree:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -> b) -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(<$)</a> :: a -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c b -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondTree:Foldable:2" class="instance expander" onclick="toggleSection('i:id:CondTree:Foldable:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Foldable">Foldable</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c)</span> <a href="#t:CondTree" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondTree:Foldable:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fold">fold</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> m => <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c m -> m <a href="#v:fold" class="selflink">#</a></p><p class="src"><a href="#v:foldMap">foldMap</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> m => (a -> m) -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> m <a href="#v:foldMap" class="selflink">#</a></p><p class="src"><a href="#v:foldr">foldr</a> :: (a -> b -> b) -> b -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> b <a href="#v:foldr" class="selflink">#</a></p><p class="src"><a href="#v:foldr-39-">foldr'</a> :: (a -> b -> b) -> b -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> b <a href="#v:foldr-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldl">foldl</a> :: (b -> a -> b) -> b -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> b <a href="#v:foldl" class="selflink">#</a></p><p class="src"><a href="#v:foldl-39-">foldl'</a> :: (b -> a -> b) -> b -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> b <a href="#v:foldl-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldr1">foldr1</a> :: (a -> a -> a) -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> a <a href="#v:foldr1" class="selflink">#</a></p><p class="src"><a href="#v:foldl1">foldl1</a> :: (a -> a -> a) -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> a <a href="#v:foldl1" class="selflink">#</a></p><p class="src"><a href="#v:toList">toList</a> :: <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> [a] <a href="#v:toList" class="selflink">#</a></p><p class="src"><a href="#v:null">null</a> :: <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:null" class="selflink">#</a></p><p class="src"><a href="#v:length">length</a> :: <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:length" class="selflink">#</a></p><p class="src"><a href="#v:elem">elem</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a => a -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:elem" class="selflink">#</a></p><p class="src"><a href="#v:maximum">maximum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> a <a href="#v:maximum" class="selflink">#</a></p><p class="src"><a href="#v:minimum">minimum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> a <a href="#v:minimum" class="selflink">#</a></p><p class="src"><a href="#v:sum">sum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Num">Num</a> a => <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> a <a href="#v:sum" class="selflink">#</a></p><p class="src"><a href="#v:product">product</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Num">Num</a> a => <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> a <a href="#v:product" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondTree:Traversable:3" class="instance expander" onclick="toggleSection('i:id:CondTree:Traversable:3')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Traversable">Traversable</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c)</span> <a href="#t:CondTree" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondTree:Traversable:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> f (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f => <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c (f a) -> f (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> m (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c b) <a href="#v:mapM" class="selflink">#</a></p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c (m a) -> m (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a) <a href="#v:sequence" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondTree:Eq:4" class="instance expander" onclick="toggleSection('i:id:CondTree:Eq:4')"></span> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> v, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> c, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a) => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a)</span> <a href="#t:CondTree" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondTree:Eq:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondTree:Data:5" class="instance expander" onclick="toggleSection('i:id:CondTree:Data:5')"></span> (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> a, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> c, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> v) => <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a)</span> <a href="#t:CondTree" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondTree:Data:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> c (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a) <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a) <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a)) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a)) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> m (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a) <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> m (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a) <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> m (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a) <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondTree:Show:6" class="instance expander" onclick="toggleSection('i:id:CondTree:Show:6')"></span> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> v, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> c, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> a) => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a)</span> <a href="#t:CondTree" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondTree:Show:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondTree:Generic:7" class="instance expander" onclick="toggleSection('i:id:CondTree:Generic:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a)</span> <a href="#t:CondTree" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondTree:Generic:7" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a) :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a) x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a) x -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondTree:Binary:8" class="instance expander" onclick="toggleSection('i:id:CondTree:Binary:8')"></span> (<a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> v, <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> c, <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> a) => <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a)</span> <a href="#t:CondTree" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondTree:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a) <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondTree:Rep:9" class="instance expander" onclick="toggleSection('i:id:CondTree:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a)</span> <a href="#t:CondTree" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondTree:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a) = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "CondTree" "Distribution.Types.CondTree" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CondNode" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "condTreeData") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> a)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "condTreeConstraints") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> c)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "condTreeComponents") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a])))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ConfVar" class="def">ConfVar</a> <a href="#t:ConfVar" class="selflink">#</a></p><div class="doc"><p>A <code>ConfVar</code> represents the variable type used.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:OS" class="def">OS</a> <a href="Distribution-System.html#t:OS">OS</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Arch" class="def">Arch</a> <a href="Distribution-System.html#t:Arch">Arch</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Flag" class="def">Flag</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Impl" class="def">Impl</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:ConfVar" class="caption collapser" onclick="toggleSection('i:ConfVar')">Instances</p><div id="section.i:ConfVar" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfVar:Eq:1" class="instance expander" onclick="toggleSection('i:id:ConfVar:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a></span> <a href="#t:ConfVar" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfVar:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> -> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> -> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfVar:Data:2" class="instance expander" onclick="toggleSection('i:id:ConfVar:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a></span> <a href="#t:ConfVar" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfVar:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> -> c <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> -> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> -> m <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> -> m <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> -> m <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfVar:Show:3" class="instance expander" onclick="toggleSection('i:id:ConfVar:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a></span> <a href="#t:ConfVar" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfVar:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfVar:Generic:4" class="instance expander" onclick="toggleSection('i:id:ConfVar:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a></span> <a href="#t:ConfVar" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfVar:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> x -> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfVar:Binary:5" class="instance expander" onclick="toggleSection('i:id:ConfVar:Binary:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a></span> <a href="#t:ConfVar" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfVar:Binary:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfVar:Rep:6" class="instance expander" onclick="toggleSection('i:id:ConfVar:Rep:6')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a></span> <a href="#t:ConfVar" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfVar:Rep:6" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ConfVar" "Distribution.Types.GenericPackageDescription" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "OS" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-System.html#t:OS">OS</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Arch" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-System.html#t:Arch">Arch</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Flag" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Impl" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Condition" class="def">Condition</a> c <a href="#t:Condition" class="selflink">#</a></p><div class="doc"><p>A boolean expression parameterized over the variable type used.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Var" class="def">Var</a> c</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Lit" class="def">Lit</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CNot" class="def">CNot</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:COr" class="def">COr</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CAnd" class="def">CAnd</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Condition" class="caption collapser" onclick="toggleSection('i:Condition')">Instances</p><div id="section.i:Condition" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Monad:1" class="instance expander" onclick="toggleSection('i:id:Condition:Monad:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a></span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Monad:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-62--62--61-">(>>=)</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> (a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> b) -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> b <a href="#v:-62--62--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62--62-">(>>)</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> b -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> b <a href="#v:-62--62-" class="selflink">#</a></p><p class="src"><a href="#v:return">return</a> :: a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a <a href="#v:return" class="selflink">#</a></p><p class="src"><a href="#v:fail">fail</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a <a href="#v:fail" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Functor:2" class="instance expander" onclick="toggleSection('i:id:Condition:Functor:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor.html#t:Functor">Functor</a> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a></span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Functor:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -> b) -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(<$)</a> :: a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> b -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Applicative:3" class="instance expander" onclick="toggleSection('i:id:Condition:Applicative:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a></span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Applicative:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(<*>)</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> (a -> b) -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:liftA2">liftA2</a> :: (a -> b -> c) -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> b -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c <a href="#v:liftA2" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*>)</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> b -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(<*)</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> b -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a <a href="#v:-60--42-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Foldable:4" class="instance expander" onclick="toggleSection('i:id:Condition:Foldable:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Foldable">Foldable</a> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a></span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Foldable:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fold">fold</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> m => <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> m -> m <a href="#v:fold" class="selflink">#</a></p><p class="src"><a href="#v:foldMap">foldMap</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> m => (a -> m) -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> m <a href="#v:foldMap" class="selflink">#</a></p><p class="src"><a href="#v:foldr">foldr</a> :: (a -> b -> b) -> b -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> b <a href="#v:foldr" class="selflink">#</a></p><p class="src"><a href="#v:foldr-39-">foldr'</a> :: (a -> b -> b) -> b -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> b <a href="#v:foldr-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldl">foldl</a> :: (b -> a -> b) -> b -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> b <a href="#v:foldl" class="selflink">#</a></p><p class="src"><a href="#v:foldl-39-">foldl'</a> :: (b -> a -> b) -> b -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> b <a href="#v:foldl-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldr1">foldr1</a> :: (a -> a -> a) -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> a <a href="#v:foldr1" class="selflink">#</a></p><p class="src"><a href="#v:foldl1">foldl1</a> :: (a -> a -> a) -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> a <a href="#v:foldl1" class="selflink">#</a></p><p class="src"><a href="#v:toList">toList</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> [a] <a href="#v:toList" class="selflink">#</a></p><p class="src"><a href="#v:null">null</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:null" class="selflink">#</a></p><p class="src"><a href="#v:length">length</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:length" class="selflink">#</a></p><p class="src"><a href="#v:elem">elem</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a => a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:elem" class="selflink">#</a></p><p class="src"><a href="#v:maximum">maximum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> a <a href="#v:maximum" class="selflink">#</a></p><p class="src"><a href="#v:minimum">minimum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> a <a href="#v:minimum" class="selflink">#</a></p><p class="src"><a href="#v:sum">sum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Num">Num</a> a => <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> a <a href="#v:sum" class="selflink">#</a></p><p class="src"><a href="#v:product">product</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Num">Num</a> a => <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> a <a href="#v:product" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Traversable:5" class="instance expander" onclick="toggleSection('i:id:Condition:Traversable:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Traversable">Traversable</a> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a></span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Traversable:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> f (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f => <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> (f a) -> f (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> m (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> b) <a href="#v:mapM" class="selflink">#</a></p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> (m a) -> m (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a) <a href="#v:sequence" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Alternative:6" class="instance expander" onclick="toggleSection('i:id:Condition:Alternative:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Alternative">Alternative</a> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a></span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Alternative:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:empty">empty</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a <a href="#v:empty" class="selflink">#</a></p><p class="src"><a href="#v:-60--124--62-">(<|>)</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a <a href="#v:-60--124--62-" class="selflink">#</a></p><p class="src"><a href="#v:some">some</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> [a] <a href="#v:some" class="selflink">#</a></p><p class="src"><a href="#v:many">many</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> [a] <a href="#v:many" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:MonadPlus:7" class="instance expander" onclick="toggleSection('i:id:Condition:MonadPlus:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a></span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:MonadPlus:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mzero">mzero</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a <a href="#v:mzero" class="selflink">#</a></p><p class="src"><a href="#v:mplus">mplus</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a <a href="#v:mplus" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Eq:8" class="instance expander" onclick="toggleSection('i:id:Condition:Eq:8')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> c => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)</span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Eq:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Data:9" class="instance expander" onclick="toggleSection('i:id:Condition:Data:9')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> c => <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)</span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Data:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> c (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> m (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> m (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> m (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Show:10" class="instance expander" onclick="toggleSection('i:id:Condition:Show:10')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> c => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)</span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Show:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Generic:11" class="instance expander" onclick="toggleSection('i:id:Condition:Generic:11')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)</span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Generic:11" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) x -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Semigroup:12" class="instance expander" onclick="toggleSection('i:id:Condition:Semigroup:12')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a)</span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Semigroup:12" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a) -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Monoid:13" class="instance expander" onclick="toggleSection('i:id:Condition:Monoid:13')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a)</span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Monoid:13" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a] -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Binary:14" class="instance expander" onclick="toggleSection('i:id:Condition:Binary:14')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> c => <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)</span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Binary:14" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Rep:15" class="instance expander" onclick="toggleSection('i:id:Condition:Rep:15')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)</span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Rep:15" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Condition" "Distribution.Types.Condition" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Var" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> c))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Lit" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CNot" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "COr" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CAnd" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c))))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:cNot" class="def">cNot</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a <a href="#v:cNot" class="selflink">#</a></p><div class="doc"><p>Boolean negation of a <code><a href="Distribution-PackageDescription.html#t:Condition">Condition</a></code> value.</p></div></div><div class="top"><p class="src"><a id="v:cAnd" class="def">cAnd</a> :: <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> a <a href="#v:cAnd" class="selflink">#</a></p><div class="doc"><p>Boolean AND of two <code>Condtion</code> values.</p></div></div><div class="top"><p class="src"><a id="v:cOr" class="def">cOr</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> v => <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> v -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> v -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> v <a href="#v:cOr" class="selflink">#</a></p><div class="doc"><p>Boolean OR of two <code><a href="Distribution-PackageDescription.html#t:Condition">Condition</a></code> values.</p></div></div><h1 id="g:10">Source repositories</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:SourceRepo" class="def">SourceRepo</a> <a href="#t:SourceRepo" class="selflink">#</a></p><div class="doc"><p>Information about the source revision control system for a package.</p><p>When specifying a repo it is useful to know the meaning or intention of the- information as doing so enables automation. There are two obvious common- purposes: one is to find the repo for the latest development version, the- other is to find the repo for this specific release. The <code>ReopKind</code>- specifies which one we mean (or another custom one).</p><p>A package can specify one or the other kind or both. Most will specify just- a head repo but some may want to specify a repo to reconstruct the sources- for this package release.</p><p>The required information is the <code><a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></code> which tells us if it's using- <code><a href="Distribution-PackageDescription.html#v:Darcs">Darcs</a></code>, <code><a href="Distribution-PackageDescription.html#v:Git">Git</a></code> for example. The <code><a href="Distribution-PackageDescription.html#v:repoLocation">repoLocation</a></code> and other details are- interpreted according to the repo type.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:SourceRepo" class="def">SourceRepo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:repoKind" class="def">repoKind</a> :: <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></dfn><div class="doc"><p>The kind of repo. This field is required.</p></div></li><li><dfn class="src"><a id="v:repoType" class="def">repoType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></dfn><div class="doc"><p>The type of the source repository system for this repo, eg <code><a href="Distribution-PackageDescription.html#v:Darcs">Darcs</a></code> or- <code><a href="Distribution-PackageDescription.html#v:Git">Git</a></code>. This field is required.</p></div></li><li><dfn class="src"><a id="v:repoLocation" class="def">repoLocation</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>The location of the repository. For most <code><a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></code>s this is a URL.- This field is required.</p></div></li><li><dfn class="src"><a id="v:repoModule" class="def">repoModule</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p><code><a href="Distribution-PackageDescription.html#v:CVS">CVS</a></code> can put multiple "modules" on one server and requires a- module name in addition to the location to identify a particular repo.- Logically this is part of the location but unfortunately has to be- specified separately. This field is required for the <code><a href="Distribution-PackageDescription.html#v:CVS">CVS</a></code> <code><a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></code> and- should not be given otherwise.</p></div></li><li><dfn class="src"><a id="v:repoBranch" class="def">repoBranch</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>The name or identifier of the branch, if any. Many source control- systems have the notion of multiple branches in a repo that exist in the- same location. For example <code><a href="Distribution-PackageDescription.html#v:Git">Git</a></code> and <code><a href="Distribution-PackageDescription.html#v:CVS">CVS</a></code> use this while systems like- <code><a href="Distribution-PackageDescription.html#v:Darcs">Darcs</a></code> use different locations for different branches. This field is- optional but should be used if necessary to identify the sources,- especially for the <code><a href="Distribution-PackageDescription.html#v:RepoThis">RepoThis</a></code> repo kind.</p></div></li><li><dfn class="src"><a id="v:repoTag" class="def">repoTag</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>The tag identify a particular state of the repository. This should be- given for the <code><a href="Distribution-PackageDescription.html#v:RepoThis">RepoThis</a></code> repo kind and not for <code><a href="Distribution-PackageDescription.html#v:RepoHead">RepoHead</a></code> kind.</p></div></li><li><dfn class="src"><a id="v:repoSubdir" class="def">repoSubdir</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>Some repositories contain multiple projects in different subdirectories- This field specifies the subdirectory where this packages sources can be- found, eg the subdirectory containing the <code>.cabal</code> file. It is interpreted- relative to the root of the repository. This field is optional. If not- given the default is "." ie no subdirectory.</p></div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:SourceRepo" class="caption collapser" onclick="toggleSection('i:SourceRepo')">Instances</p><div id="section.i:SourceRepo" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SourceRepo:Eq:1" class="instance expander" onclick="toggleSection('i:id:SourceRepo:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a></span> <a href="#t:SourceRepo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SourceRepo:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> -> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> -> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SourceRepo:Data:2" class="instance expander" onclick="toggleSection('i:id:SourceRepo:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a></span> <a href="#t:SourceRepo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SourceRepo:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> -> c <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> -> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> -> m <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> -> m <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> -> m <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SourceRepo:Read:3" class="instance expander" onclick="toggleSection('i:id:SourceRepo:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a></span> <a href="#t:SourceRepo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SourceRepo:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SourceRepo:Show:4" class="instance expander" onclick="toggleSection('i:id:SourceRepo:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a></span> <a href="#t:SourceRepo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SourceRepo:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SourceRepo:Generic:5" class="instance expander" onclick="toggleSection('i:id:SourceRepo:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a></span> <a href="#t:SourceRepo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SourceRepo:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> x -> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SourceRepo:Binary:6" class="instance expander" onclick="toggleSection('i:id:SourceRepo:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a></span> <a href="#t:SourceRepo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SourceRepo:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SourceRepo:Rep:7" class="instance expander" onclick="toggleSection('i:id:SourceRepo:Rep:7')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a></span> <a href="#t:SourceRepo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SourceRepo:Rep:7" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "SourceRepo" "Distribution.Types.SourceRepo" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "SourceRepo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "repoKind") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "repoType") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "repoLocation") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "repoModule") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "repoBranch") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "repoTag") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "repoSubdir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:RepoKind" class="def">RepoKind</a> <a href="#t:RepoKind" class="selflink">#</a></p><div class="doc"><p>What this repo info is for, what it represents.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:RepoHead" class="def">RepoHead</a></td><td class="doc"><p>The repository for the "head" or development version of the project.- This repo is where we should track the latest development activity or- the usual repo people should get to contribute patches.</p></td></tr><tr><td class="src"><a id="v:RepoThis" class="def">RepoThis</a></td><td class="doc"><p>The repository containing the sources for this exact package version- or release. For this kind of repo a tag should be given to give enough- information to re-create the exact sources.</p></td></tr><tr><td class="src"><a id="v:RepoKindUnknown" class="def">RepoKindUnknown</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:RepoKind" class="caption collapser" onclick="toggleSection('i:RepoKind')">Instances</p><div id="section.i:RepoKind" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoKind:Eq:1" class="instance expander" onclick="toggleSection('i:id:RepoKind:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></span> <a href="#t:RepoKind" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoKind:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoKind:Data:2" class="instance expander" onclick="toggleSection('i:id:RepoKind:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></span> <a href="#t:RepoKind" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoKind:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> c <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> m <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> m <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> m <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoKind:Ord:3" class="instance expander" onclick="toggleSection('i:id:RepoKind:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></span> <a href="#t:RepoKind" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoKind:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoKind:Read:4" class="instance expander" onclick="toggleSection('i:id:RepoKind:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></span> <a href="#t:RepoKind" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoKind:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoKind:Show:5" class="instance expander" onclick="toggleSection('i:id:RepoKind:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></span> <a href="#t:RepoKind" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoKind:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoKind:Generic:6" class="instance expander" onclick="toggleSection('i:id:RepoKind:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></span> <a href="#t:RepoKind" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoKind:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> x -> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoKind:Binary:7" class="instance expander" onclick="toggleSection('i:id:RepoKind:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></span> <a href="#t:RepoKind" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoKind:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoKind:Text:8" class="instance expander" onclick="toggleSection('i:id:RepoKind:Text:8')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></span> <a href="#t:RepoKind" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoKind:Text:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoKind:Rep:9" class="instance expander" onclick="toggleSection('i:id:RepoKind:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></span> <a href="#t:RepoKind" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoKind:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "RepoKind" "Distribution.Types.SourceRepo" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "RepoHead" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "RepoThis" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "RepoKindUnknown" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:RepoType" class="def">RepoType</a> <a href="#t:RepoType" class="selflink">#</a></p><div class="doc"><p>An enumeration of common source control systems. The fields used in the- <code><a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a></code> depend on the type of repo. The tools and methods used to- obtain and track the repo depend on the repo type.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Darcs" class="def">Darcs</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Git" class="def">Git</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:SVN" class="def">SVN</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CVS" class="def">CVS</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Mercurial" class="def">Mercurial</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:GnuArch" class="def">GnuArch</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Bazaar" class="def">Bazaar</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Monotone" class="def">Monotone</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:OtherRepoType" class="def">OtherRepoType</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:RepoType" class="caption collapser" onclick="toggleSection('i:RepoType')">Instances</p><div id="section.i:RepoType" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoType:Eq:1" class="instance expander" onclick="toggleSection('i:id:RepoType:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></span> <a href="#t:RepoType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoType:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoType:Data:2" class="instance expander" onclick="toggleSection('i:id:RepoType:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></span> <a href="#t:RepoType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoType:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> c <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> m <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> m <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> m <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoType:Ord:3" class="instance expander" onclick="toggleSection('i:id:RepoType:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></span> <a href="#t:RepoType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoType:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoType:Read:4" class="instance expander" onclick="toggleSection('i:id:RepoType:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></span> <a href="#t:RepoType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoType:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoType:Show:5" class="instance expander" onclick="toggleSection('i:id:RepoType:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></span> <a href="#t:RepoType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoType:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoType:Generic:6" class="instance expander" onclick="toggleSection('i:id:RepoType:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></span> <a href="#t:RepoType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoType:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> x -> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoType:Binary:7" class="instance expander" onclick="toggleSection('i:id:RepoType:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></span> <a href="#t:RepoType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoType:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoType:Text:8" class="instance expander" onclick="toggleSection('i:id:RepoType:Text:8')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></span> <a href="#t:RepoType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoType:Text:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoType:Rep:9" class="instance expander" onclick="toggleSection('i:id:RepoType:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></span> <a href="#t:RepoType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoType:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "RepoType" "Distribution.Types.SourceRepo" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Darcs" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Git" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "SVN" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CVS" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Mercurial" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "GnuArch" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Bazaar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Monotone" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "OtherRepoType" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:knownRepoTypes" class="def">knownRepoTypes</a> :: [<a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a>] <a href="#v:knownRepoTypes" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:emptySourceRepo" class="def">emptySourceRepo</a> :: <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a> <a href="#v:emptySourceRepo" class="selflink">#</a></p></div><h1 id="g:11">Custom setup build information</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:SetupBuildInfo" class="def">SetupBuildInfo</a> <a href="#t:SetupBuildInfo" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:SetupBuildInfo" class="def">SetupBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:setupDepends" class="def">setupDepends</a> :: [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:defaultSetupDepends" class="def">defaultSetupDepends</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Is this a default 'custom-setup' section added by the cabal-install- code (as opposed to user-provided)? This field is only used- internally, and doesn't correspond to anything in the .cabal- file. See #3199.</p></div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:SetupBuildInfo" class="caption collapser" onclick="toggleSection('i:SetupBuildInfo')">Instances</p><div id="section.i:SetupBuildInfo" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SetupBuildInfo:Eq:1" class="instance expander" onclick="toggleSection('i:id:SetupBuildInfo:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a></span> <a href="#t:SetupBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SetupBuildInfo:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SetupBuildInfo:Data:2" class="instance expander" onclick="toggleSection('i:id:SetupBuildInfo:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a></span> <a href="#t:SetupBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SetupBuildInfo:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> c <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> m <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> m <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> m <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SetupBuildInfo:Read:3" class="instance expander" onclick="toggleSection('i:id:SetupBuildInfo:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a></span> <a href="#t:SetupBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SetupBuildInfo:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SetupBuildInfo:Show:4" class="instance expander" onclick="toggleSection('i:id:SetupBuildInfo:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a></span> <a href="#t:SetupBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SetupBuildInfo:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SetupBuildInfo:Generic:5" class="instance expander" onclick="toggleSection('i:id:SetupBuildInfo:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a></span> <a href="#t:SetupBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SetupBuildInfo:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> x -> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SetupBuildInfo:Semigroup:6" class="instance expander" onclick="toggleSection('i:id:SetupBuildInfo:Semigroup:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a></span> <a href="#t:SetupBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SetupBuildInfo:Semigroup:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SetupBuildInfo:Monoid:7" class="instance expander" onclick="toggleSection('i:id:SetupBuildInfo:Monoid:7')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a></span> <a href="#t:SetupBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SetupBuildInfo:Monoid:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a>] -> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SetupBuildInfo:Binary:8" class="instance expander" onclick="toggleSection('i:id:SetupBuildInfo:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a></span> <a href="#t:SetupBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SetupBuildInfo:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SetupBuildInfo:Rep:9" class="instance expander" onclick="toggleSection('i:id:SetupBuildInfo:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a></span> <a href="#t:SetupBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SetupBuildInfo:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">SetupBuildInfo</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "SetupBuildInfo" "Distribution.Types.SetupBuildInfo" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "SetupBuildInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "setupDepends") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "defaultSetupDepends") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))))</div></div></td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.ReadE</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Jose Iborra 2008</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.ReadE</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">ReadE</a></li><li><a href="#g:2">Projections</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Simple parsing with failure</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">newtype</span> <a href="#t:ReadE">ReadE</a> a = <a href="#v:ReadE">ReadE</a> {<ul class="subs"><li><a href="#v:runReadE">runReadE</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> ErrorMsg a</li></ul>}</li><li class="src short"><a href="#v:succeedReadE">succeedReadE</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> a) -> <a href="Distribution-ReadE.html#t:ReadE">ReadE</a> a</li><li class="src short"><a href="#v:failReadE">failReadE</a> :: ErrorMsg -> <a href="Distribution-ReadE.html#t:ReadE">ReadE</a> a</li><li class="src short"><a href="#v:parseReadE">parseReadE</a> :: <a href="Distribution-ReadE.html#t:ReadE">ReadE</a> a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a</li><li class="src short"><a href="#v:readEOrFail">readEOrFail</a> :: <a href="Distribution-ReadE.html#t:ReadE">ReadE</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> a</li><li class="src short"><a href="#v:readP_to_E">readP_to_E</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> ErrorMsg) -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> a a -> <a href="Distribution-ReadE.html#t:ReadE">ReadE</a> a</li></ul></div><div id="interface"><h1 id="g:1">ReadE</h1><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:ReadE" class="def">ReadE</a> a <a href="#t:ReadE" class="selflink">#</a></p><div class="doc"><p>Parser with simple error reporting</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ReadE" class="def">ReadE</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:runReadE" class="def">runReadE</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> ErrorMsg a</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:ReadE" class="caption collapser" onclick="toggleSection('i:ReadE')">Instances</p><div id="section.i:ReadE" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ReadE:Functor:1" class="instance expander" onclick="toggleSection('i:id:ReadE:Functor:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor.html#t:Functor">Functor</a> <a href="Distribution-ReadE.html#t:ReadE">ReadE</a></span> <a href="#t:ReadE" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ReadE:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -> b) -> <a href="Distribution-ReadE.html#t:ReadE">ReadE</a> a -> <a href="Distribution-ReadE.html#t:ReadE">ReadE</a> b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(<$)</a> :: a -> <a href="Distribution-ReadE.html#t:ReadE">ReadE</a> b -> <a href="Distribution-ReadE.html#t:ReadE">ReadE</a> a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:succeedReadE" class="def">succeedReadE</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> a) -> <a href="Distribution-ReadE.html#t:ReadE">ReadE</a> a <a href="#v:succeedReadE" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:failReadE" class="def">failReadE</a> :: ErrorMsg -> <a href="Distribution-ReadE.html#t:ReadE">ReadE</a> a <a href="#v:failReadE" class="selflink">#</a></p></div><h1 id="g:2">Projections</h1><div class="top"><p class="src"><a id="v:parseReadE" class="def">parseReadE</a> :: <a href="Distribution-ReadE.html#t:ReadE">ReadE</a> a -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a <a href="#v:parseReadE" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:readEOrFail" class="def">readEOrFail</a> :: <a href="Distribution-ReadE.html#t:ReadE">ReadE</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> a <a href="#v:readEOrFail" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:readP_to_E" class="def">readP_to_E</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> ErrorMsg) -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> a a -> <a href="Distribution-ReadE.html#t:ReadE">ReadE</a> a <a href="#v:readP_to_E" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,6 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Bench</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Johan Tibell 2011</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Bench</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This is the entry point into running the benchmarks in a built- package. It performs the "<code>./setup bench</code>" action. It runs- benchmarks designated in the package description.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:bench">bench</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:bench" class="def">bench</a> <a href="#v:bench" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a></td><td class="doc"><p>positional command-line arguments</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc"><p>information from the .cabal file</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc"><p>information from the configure step</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a></td><td class="doc"><p>flags sent to benchmark</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Perform the "<code>./setup bench</code>" action.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,10 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Build.Macros</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Simon Marlow 2008</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Build.Macros</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Generate cabal_macros.h - CPP macros for package version testing</p><p>When using CPP you get</p><pre>VERSION_<package>-MIN_VERSION_<package>(A,B,C)</pre><p>for each <em>package</em> in <code>build-depends</code>, which is true if the version of- <em>package</em> in use is <code>>= A.B.C</code>, using the normal ordering on version- numbers.</p><p>TODO Figure out what to do about backpack and internal libraries. It is very- suspecious that this stuff works with munged package identifiers</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:generate">generate</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:generatePackageVersionMacros">generatePackageVersionMacros</a> :: [<a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:generate" class="def">generate</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:generate" class="selflink">#</a></p><div class="doc"><p>The contents of the <code>cabal_macros.h</code> for the given configured package.</p></div></div><div class="top"><p class="src"><a id="v:generatePackageVersionMacros" class="def">generatePackageVersionMacros</a> :: [<a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:generatePackageVersionMacros" class="selflink">#</a></p><div class="doc"><p>Helper function that generates just the <code>VERSION_pkg</code> and <code>MIN_VERSION_pkg</code>- macros for a list of package ids (usually used with the specific deps of- a configured package).</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,9 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Build.PathsModule</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2005<br />Ross Paterson 2006<br />Duncan Coutts 2007-2008</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Build.PathsModule</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Generating the Paths_pkgname module.</p><p>This is a module that Cabal generates for the benefit of packages. It- enables them to find their version number and find any installed data files- at runtime. This code should probably be split off into another module.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:generate">generate</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:pkgPathEnvVar">pkgPathEnvVar</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:generate" class="def">generate</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:generate" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:pkgPathEnvVar" class="def">pkgPathEnvVar</a> <a href="#v:pkgPathEnvVar" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>path component; one of "bindir", "libdir",- "datadir", "libexecdir", or "sysconfdir"</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>environment variable name</p></td></tr></table></div><div class="doc"><p>Generates the name of the environment variable controlling the path- component of interest.</p><p>Note: The format of these strings is part of Cabal's public API;- changing this function constitutes a *backwards-compatibility* break.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,7 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Build</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2005<br />Ross Paterson 2006<br />Duncan Coutts 2007-2008 2012</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Build</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This is the entry point to actually building the modules in a package. It- doesn't actually do much itself, most of the work is delegated to- compiler-specific actions. It does do some non-compiler specific bits like- running pre-processors.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:build">build</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:repl">repl</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:startInterpreter">startInterpreter</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:initialBuildSteps">initialBuildSteps</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:componentInitialBuildSteps">componentInitialBuildSteps</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:writeAutogenFiles">writeAutogenFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:build" class="def">build</a> <a href="#v:build" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc"><p>Mostly information from the .cabal file</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc"><p>Configuration information</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a></td><td class="doc"><p>Flags that the user passed to build</p></td></tr><tr><td class="src">-> [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>]</td><td class="doc"><p>preprocessors to run before compiling</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Build the libraries and executables in this package.</p></div></div><div class="top"><p class="src"><a id="v:repl" class="def">repl</a> <a href="#v:repl" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc"><p>Mostly information from the .cabal file</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc"><p>Configuration information</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a></td><td class="doc"><p>Flags that the user passed to build</p></td></tr><tr><td class="src">-> [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>]</td><td class="doc"><p>preprocessors to run before compiling</p></td></tr><tr><td class="src">-> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div></div><div class="top"><p class="src"><a id="v:startInterpreter" class="def">startInterpreter</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:startInterpreter" class="selflink">#</a></p><div class="doc"><p>Start an interpreter without loading any package files.</p></div></div><div class="top"><p class="src"><a id="v:initialBuildSteps" class="def">initialBuildSteps</a> <a href="#v:initialBuildSteps" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>"dist" prefix</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc"><p>mostly information from the .cabal file</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc"><p>Configuration information</p></td></tr><tr><td class="src">-> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc"><p>The verbosity to use</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Runs <code><a href="Distribution-Simple-Build.html#v:componentInitialBuildSteps">componentInitialBuildSteps</a></code> on every configured component.</p></div></div><div class="top"><p class="src"><a id="v:componentInitialBuildSteps" class="def">componentInitialBuildSteps</a> <a href="#v:componentInitialBuildSteps" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>"dist" prefix</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc"><p>mostly information from the .cabal file</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc"><p>Configuration information</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc"><p>The verbosity to use</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Creates the autogenerated files for a particular configured component.</p></div></div><div class="top"><p class="src"><a id="v:writeAutogenFiles" class="def">writeAutogenFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:writeAutogenFiles" class="selflink">#</a></p><div class="doc"><p>Generate and write out the Paths_<a href="pkg">pkg</a>.hs and cabal_macros.h files</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,11 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.BuildPaths</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2004<br />Duncan Coutts 2008</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.BuildPaths</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Source files & build directories</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>A bunch of dirs, paths and file names used for intermediate build steps.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:defaultDistPref">defaultDistPref</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:srcPref">srcPref</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:haddockDirName">haddockDirName</a> :: <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:hscolourPref">hscolourPref</a> :: <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:haddockPref">haddockPref</a> :: <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:autogenModulesDir">autogenModulesDir</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:autogenPackageModulesDir">autogenPackageModulesDir</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:autogenComponentModulesDir">autogenComponentModulesDir</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:autogenModuleName">autogenModuleName</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li><li class="src short"><a href="#v:autogenPathsModuleName">autogenPathsModuleName</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li><li class="src short"><a href="#v:cppHeaderName">cppHeaderName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:haddockName">haddockName</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:mkLibName">mkLibName</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:mkProfLibName">mkProfLibName</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:mkSharedLibName">mkSharedLibName</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:exeExtension">exeExtension</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:objExtension">objExtension</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:dllExtension">dllExtension</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:staticLibExtension">staticLibExtension</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:getSourceFiles">getSourceFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)]</li><li class="src short"><a href="#v:getLibSourceFiles">getLibSourceFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)]</li><li class="src short"><a href="#v:getExeSourceFiles">getExeSourceFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)]</li><li class="src short"><a href="#v:getFLibSourceFiles">getFLibSourceFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)]</li><li class="src short"><a href="#v:exeBuildDir">exeBuildDir</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:flibBuildDir">flibBuildDir</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:defaultDistPref" class="def">defaultDistPref</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:defaultDistPref" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:srcPref" class="def">srcPref</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:srcPref" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:haddockDirName" class="def">haddockDirName</a> :: <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:haddockDirName" class="selflink">#</a></p><div class="doc"><p>This is the name of the directory in which the generated haddocks- should be stored. It does not include the <code><a href="dist">dist</a><em>doc</em>html</code> prefix.</p></div></div><div class="top"><p class="src"><a id="v:hscolourPref" class="def">hscolourPref</a> :: <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:hscolourPref" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:haddockPref" class="def">haddockPref</a> :: <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:haddockPref" class="selflink">#</a></p><div class="doc"><p>The directory to which generated haddock documentation should be written.</p></div></div><div class="top"><p class="src"><a id="v:autogenModulesDir" class="def">autogenModulesDir</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:autogenModulesDir" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: If you can, use <code><a href="Distribution-Simple-BuildPaths.html#v:autogenComponentModulesDir">autogenComponentModulesDir</a></code> instead, but if you really wanted package-global generated modules, use <code><a href="Distribution-Simple-BuildPaths.html#v:autogenPackageModulesDir">autogenPackageModulesDir</a></code>. In Cabal 2.0, we avoid using autogenerated files which apply to all components, because the information you often want in these files, e.g., dependency information, is best specified per component, so that reconfiguring a different component (e.g., enabling tests) doesn't force the entire to be rebuilt. <code><a href="Distribution-Simple-BuildPaths.html#v:autogenPackageModulesDir">autogenPackageModulesDir</a></code> still provides a place to put files you want to apply to the entire package, but most users of <code><a href="Distribution-Simple-BuildPaths.html#v:autogenModulesDir">autogenModulesDir</a></code> should seriously consider <code><a href="Distribution-Simple-BuildPaths.html#v:autogenComponentModulesDir">autogenComponentModulesDir</a></code> if you really wanted the module to apply to one component.</p></div><p>The directory in which we put auto-generated modules for EVERY- component in the package. See deprecation notice.</p></div></div><div class="top"><p class="src"><a id="v:autogenPackageModulesDir" class="def">autogenPackageModulesDir</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:autogenPackageModulesDir" class="selflink">#</a></p><div class="doc"><p>The directory in which we put auto-generated modules for EVERY- component in the package.</p></div></div><div class="top"><p class="src"><a id="v:autogenComponentModulesDir" class="def">autogenComponentModulesDir</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:autogenComponentModulesDir" class="selflink">#</a></p><div class="doc"><p>The directory in which we put auto-generated modules for a- particular component.</p></div></div><div class="top"><p class="src"><a id="v:autogenModuleName" class="def">autogenModuleName</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:autogenModuleName" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: Use autogenPathsModuleName instead</p></div><p>The name of the auto-generated module associated with a package</p></div></div><div class="top"><p class="src"><a id="v:autogenPathsModuleName" class="def">autogenPathsModuleName</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:autogenPathsModuleName" class="selflink">#</a></p><div class="doc"><p>The name of the auto-generated Paths_* module associated with a package</p></div></div><div class="top"><p class="src"><a id="v:cppHeaderName" class="def">cppHeaderName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:cppHeaderName" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:haddockName" class="def">haddockName</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:haddockName" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:mkLibName" class="def">mkLibName</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:mkLibName" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:mkProfLibName" class="def">mkProfLibName</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:mkProfLibName" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:mkSharedLibName" class="def">mkSharedLibName</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:mkSharedLibName" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:exeExtension" class="def">exeExtension</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:exeExtension" class="selflink">#</a></p><div class="doc"><p>Default extension for executable files on the current platform.- (typically <code>""</code> on Unix and <code>"exe"</code> on Windows or OS/2)</p></div></div><div class="top"><p class="src"><a id="v:objExtension" class="def">objExtension</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:objExtension" class="selflink">#</a></p><div class="doc"><p>Extension for object files. For GHC the extension is <code>"o"</code>.</p></div></div><div class="top"><p class="src"><a id="v:dllExtension" class="def">dllExtension</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:dllExtension" class="selflink">#</a></p><div class="doc"><p>Extension for dynamically linked (or shared) libraries- (typically <code>"so"</code> on Unix and <code>"dll"</code> on Windows)</p></div></div><div class="top"><p class="src"><a id="v:staticLibExtension" class="def">staticLibExtension</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:staticLibExtension" class="selflink">#</a></p><div class="doc"><p>Extension for static libraries</p><p>TODO: Here, as well as in dllExtension, it's really the target OS that we're- interested in, not the build OS.</p></div></div><h1 id="g:1">Source files & build directories</h1><div class="top"><p class="src"><a id="v:getSourceFiles" class="def">getSourceFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] <a href="#v:getSourceFiles" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getLibSourceFiles" class="def">getLibSourceFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] <a href="#v:getLibSourceFiles" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getExeSourceFiles" class="def">getExeSourceFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] <a href="#v:getExeSourceFiles" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getFLibSourceFiles" class="def">getFLibSourceFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] <a href="#v:getFLibSourceFiles" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:exeBuildDir" class="def">exeBuildDir</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:exeBuildDir" class="selflink">#</a></p><div class="doc"><p>The directory where we put build results for an executable</p></div></div><div class="top"><p class="src"><a id="v:flibBuildDir" class="def">flibBuildDir</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:flibBuildDir" class="selflink">#</a></p><div class="doc"><p>The directory where we put build results for a foreign library</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,10 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.BuildTarget</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(c) Duncan Coutts 2012</td></tr><tr><th>License</th><td>BSD-like</td></tr><tr><th>Maintainer</th><td>duncan@community.haskell.org</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.BuildTarget</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Main interface</a></li><li><a href="#g:2">Build targets</a></li><li><a href="#g:3">Parsing user build targets</a></li><li><a href="#g:4">Resolving build targets</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Handling for user-specified build targets</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:readTargetInfos">readTargetInfos</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a>]</li><li class="src short"><a href="#v:readBuildTargets">readBuildTargets</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:BuildTarget">BuildTarget</a><ul class="subs"><li>= <a href="#v:BuildTargetComponent">BuildTargetComponent</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></li><li>| <a href="#v:BuildTargetModule">BuildTargetModule</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li><li>| <a href="#v:BuildTargetFile">BuildTargetFile</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li></ul></li><li class="src short"><a href="#v:showBuildTarget">showBuildTarget</a> :: <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:QualLevel">QualLevel</a><ul class="subs"><li>= <a href="#v:QL1">QL1</a></li><li>| <a href="#v:QL2">QL2</a></li><li>| <a href="#v:QL3">QL3</a></li></ul></li><li class="src short"><a href="#v:buildTargetComponentName">buildTargetComponentName</a> :: <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:UserBuildTarget">UserBuildTarget</a></li><li class="src short"><a href="#v:readUserBuildTargets">readUserBuildTargets</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> ([<a href="Distribution-Simple-BuildTarget.html#t:UserBuildTargetProblem">UserBuildTargetProblem</a>], [<a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a>])</li><li class="src short"><a href="#v:showUserBuildTarget">showUserBuildTarget</a> :: <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:UserBuildTargetProblem">UserBuildTargetProblem</a> = <a href="#v:UserBuildTargetUnrecognised">UserBuildTargetUnrecognised</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:reportUserBuildTargetProblems">reportUserBuildTargetProblems</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> [<a href="Distribution-Simple-BuildTarget.html#t:UserBuildTargetProblem">UserBuildTargetProblem</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:resolveBuildTargets">resolveBuildTargets</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [(<a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)] -> ([<a href="Distribution-Simple-BuildTarget.html#t:BuildTargetProblem">BuildTargetProblem</a>], [<a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a>])</li><li class="src short"><span class="keyword">data</span> <a href="#t:BuildTargetProblem">BuildTargetProblem</a><ul class="subs"><li>= <a href="#v:BuildTargetExpected">BuildTargetExpected</a> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li>| <a href="#v:BuildTargetNoSuch">BuildTargetNoSuch</a> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</li><li>| <a href="#v:BuildTargetAmbiguous">BuildTargetAmbiguous</a> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> [(<a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a>, <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a>)]</li></ul></li><li class="src short"><a href="#v:reportBuildTargetProblems">reportBuildTargetProblems</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> [<a href="Distribution-Simple-BuildTarget.html#t:BuildTargetProblem">BuildTargetProblem</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li></ul></div><div id="interface"><h1 id="g:1">Main interface</h1><div class="top"><p class="src"><a id="v:readTargetInfos" class="def">readTargetInfos</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a>] <a href="#v:readTargetInfos" class="selflink">#</a></p><div class="doc"><p>Take a list of <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code> build targets, and parse and validate them- into actual <code><a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a></code>s to be built<em>registered</em>whatever.</p></div></div><div class="top"><p class="src"><a id="v:readBuildTargets" class="def">readBuildTargets</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a>] <a href="#v:readBuildTargets" class="selflink">#</a></p><div class="doc"><p>Read a list of user-supplied build target strings and resolve them to- <code><a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a></code>s according to a <code><a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></code>. If there are problems- with any of the targets e.g. they don't exist or are misformatted, throw an- <code>IOException</code>.</p></div></div><h1 id="g:2">Build targets</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:BuildTarget" class="def">BuildTarget</a> <a href="#t:BuildTarget" class="selflink">#</a></p><div class="doc"><p>A fully resolved build target.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:BuildTargetComponent" class="def">BuildTargetComponent</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></td><td class="doc"><p>A specific component</p></td></tr><tr><td class="src"><a id="v:BuildTargetModule" class="def">BuildTargetModule</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></td><td class="doc"><p>A specific module within a specific component.</p></td></tr><tr><td class="src"><a id="v:BuildTargetFile" class="def">BuildTargetFile</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>A specific file within a specific component.</p></td></tr></table></div><div class="subs instances"><p id="control.i:BuildTarget" class="caption collapser" onclick="toggleSection('i:BuildTarget')">Instances</p><div id="section.i:BuildTarget" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildTarget:Eq:1" class="instance expander" onclick="toggleSection('i:id:BuildTarget:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a></span> <a href="#t:BuildTarget" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildTarget:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a> -> <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a> -> <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildTarget:Show:2" class="instance expander" onclick="toggleSection('i:id:BuildTarget:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a></span> <a href="#t:BuildTarget" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildTarget:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildTarget:Generic:3" class="instance expander" onclick="toggleSection('i:id:BuildTarget:Generic:3')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a></span> <a href="#t:BuildTarget" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildTarget:Generic:3" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a> x -> <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildTarget:Binary:4" class="instance expander" onclick="toggleSection('i:id:BuildTarget:Binary:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a></span> <a href="#t:BuildTarget" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildTarget:Binary:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildTarget:Rep:5" class="instance expander" onclick="toggleSection('i:id:BuildTarget:Rep:5')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a></span> <a href="#t:BuildTarget" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildTarget:Rep:5" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "BuildTarget" "Distribution.Simple.BuildTarget" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BuildTargetComponent" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BuildTargetModule" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BuildTargetFile" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:showBuildTarget" class="def">showBuildTarget</a> :: <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:showBuildTarget" class="selflink">#</a></p><div class="doc"><p>Unambiguously render a <code><a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a></code>, so that it can- be parsed in all situations.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:QualLevel" class="def">QualLevel</a> <a href="#t:QualLevel" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:QL1" class="def">QL1</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:QL2" class="def">QL2</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:QL3" class="def">QL3</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:QualLevel" class="caption collapser" onclick="toggleSection('i:QualLevel')">Instances</p><div id="section.i:QualLevel" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:QualLevel:Enum:1" class="instance expander" onclick="toggleSection('i:id:QualLevel:Enum:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Enum">Enum</a> <a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a></span> <a href="#t:QualLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:QualLevel:Enum:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:succ">succ</a> :: <a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a> -> <a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a> <a href="#v:succ" class="selflink">#</a></p><p class="src"><a href="#v:pred">pred</a> :: <a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a> -> <a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a> <a href="#v:pred" class="selflink">#</a></p><p class="src"><a href="#v:toEnum">toEnum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a> <a href="#v:toEnum" class="selflink">#</a></p><p class="src"><a href="#v:fromEnum">fromEnum</a> :: <a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:fromEnum" class="selflink">#</a></p><p class="src"><a href="#v:enumFrom">enumFrom</a> :: <a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a> -> [<a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a>] <a href="#v:enumFrom" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThen">enumFromThen</a> :: <a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a> -> <a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a> -> [<a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a>] <a href="#v:enumFromThen" class="selflink">#</a></p><p class="src"><a href="#v:enumFromTo">enumFromTo</a> :: <a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a> -> <a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a> -> [<a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a>] <a href="#v:enumFromTo" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThenTo">enumFromThenTo</a> :: <a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a> -> <a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a> -> <a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a> -> [<a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a>] <a href="#v:enumFromThenTo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:QualLevel:Show:2" class="instance expander" onclick="toggleSection('i:id:QualLevel:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a></span> <a href="#t:QualLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:QualLevel:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-BuildTarget.html#t:QualLevel">QualLevel</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:buildTargetComponentName" class="def">buildTargetComponentName</a> :: <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> <a href="#v:buildTargetComponentName" class="selflink">#</a></p></div><h1 id="g:3">Parsing user build targets</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:UserBuildTarget" class="def">UserBuildTarget</a> <a href="#t:UserBuildTarget" class="selflink">#</a></p><div class="doc"><p>Various ways that a user may specify a build target.</p></div><div class="subs instances"><p id="control.i:UserBuildTarget" class="caption collapser" onclick="toggleSection('i:UserBuildTarget')">Instances</p><div id="section.i:UserBuildTarget" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UserBuildTarget:Eq:1" class="instance expander" onclick="toggleSection('i:id:UserBuildTarget:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a></span> <a href="#t:UserBuildTarget" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UserBuildTarget:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> -> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> -> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UserBuildTarget:Ord:2" class="instance expander" onclick="toggleSection('i:id:UserBuildTarget:Ord:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a></span> <a href="#t:UserBuildTarget" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UserBuildTarget:Ord:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> -> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> -> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> -> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> -> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> -> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> -> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> -> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> -> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> -> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UserBuildTarget:Show:3" class="instance expander" onclick="toggleSection('i:id:UserBuildTarget:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a></span> <a href="#t:UserBuildTarget" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UserBuildTarget:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:readUserBuildTargets" class="def">readUserBuildTargets</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> ([<a href="Distribution-Simple-BuildTarget.html#t:UserBuildTargetProblem">UserBuildTargetProblem</a>], [<a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a>]) <a href="#v:readUserBuildTargets" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:showUserBuildTarget" class="def">showUserBuildTarget</a> :: <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:showUserBuildTarget" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:UserBuildTargetProblem" class="def">UserBuildTargetProblem</a> <a href="#t:UserBuildTargetProblem" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:UserBuildTargetUnrecognised" class="def">UserBuildTargetUnrecognised</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:UserBuildTargetProblem" class="caption collapser" onclick="toggleSection('i:UserBuildTargetProblem')">Instances</p><div id="section.i:UserBuildTargetProblem" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UserBuildTargetProblem:Show:1" class="instance expander" onclick="toggleSection('i:id:UserBuildTargetProblem:Show:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTargetProblem">UserBuildTargetProblem</a></span> <a href="#t:UserBuildTargetProblem" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UserBuildTargetProblem:Show:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTargetProblem">UserBuildTargetProblem</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTargetProblem">UserBuildTargetProblem</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-BuildTarget.html#t:UserBuildTargetProblem">UserBuildTargetProblem</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:reportUserBuildTargetProblems" class="def">reportUserBuildTargetProblems</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> [<a href="Distribution-Simple-BuildTarget.html#t:UserBuildTargetProblem">UserBuildTargetProblem</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:reportUserBuildTargetProblems" class="selflink">#</a></p></div><h1 id="g:4">Resolving build targets</h1><div class="top"><p class="src"><a id="v:resolveBuildTargets" class="def">resolveBuildTargets</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [(<a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)] -> ([<a href="Distribution-Simple-BuildTarget.html#t:BuildTargetProblem">BuildTargetProblem</a>], [<a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a>]) <a href="#v:resolveBuildTargets" class="selflink">#</a></p><div class="doc"><p>Given a bunch of user-specified targets, try to resolve what it is they- refer to.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:BuildTargetProblem" class="def">BuildTargetProblem</a> <a href="#t:BuildTargetProblem" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:BuildTargetExpected" class="def">BuildTargetExpected</a> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><dl><dt>expected thing</dt><dd>(actually got)</dd></dl></td></tr><tr><td class="src"><a id="v:BuildTargetNoSuch" class="def">BuildTargetNoSuch</a> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</td><td class="doc"><dl><dt>(no such thing, actually got)</dt><dd></dd></dl></td></tr><tr><td class="src"><a id="v:BuildTargetAmbiguous" class="def">BuildTargetAmbiguous</a> <a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a> [(<a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">UserBuildTarget</a>, <a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">BuildTarget</a>)]</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:BuildTargetProblem" class="caption collapser" onclick="toggleSection('i:BuildTargetProblem')">Instances</p><div id="section.i:BuildTargetProblem" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildTargetProblem:Show:1" class="instance expander" onclick="toggleSection('i:id:BuildTargetProblem:Show:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-BuildTarget.html#t:BuildTargetProblem">BuildTargetProblem</a></span> <a href="#t:BuildTargetProblem" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildTargetProblem:Show:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-BuildTarget.html#t:BuildTargetProblem">BuildTargetProblem</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-BuildTarget.html#t:BuildTargetProblem">BuildTargetProblem</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-BuildTarget.html#t:BuildTargetProblem">BuildTargetProblem</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:reportBuildTargetProblems" class="def">reportBuildTargetProblems</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> [<a href="Distribution-Simple-BuildTarget.html#t:BuildTargetProblem">BuildTargetProblem</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:reportBuildTargetProblems" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,25 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.BuildToolDepends</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.BuildToolDepends</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This modules provides functions for working with both the legacy- "build-tools" field, and its replacement, "build-tool-depends". Prefer using- the functions contained to access those fields directly.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:desugarBuildTool">desugarBuildTool</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a></li><li class="src short"><a href="#v:getAllToolDependencies">getAllToolDependencies</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> [<a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a>]</li><li class="src short"><a href="#v:isInternal">isInternal</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:getAllInternalToolDependencies">getAllInternalToolDependencies</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> [<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>]</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:desugarBuildTool" class="def">desugarBuildTool</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> <a href="#v:desugarBuildTool" class="selflink">#</a></p><div class="doc"><p>Desugar a "build-tools" entry into proper a executable dependency if- possible.</p><p>An entry can be so desguared in two cases:</p><ol><li>The name in build-tools matches a locally defined executable. The- executable dependency produced is on that exe in the current package.</li><li>The name in build-tools matches a hard-coded set of known tools. For now,- the executable dependency produced is one an executable in a package of- the same, but the hard-coding could just as well be per-key.</li></ol><p>The first cases matches first.</p></div></div><div class="top"><p class="src"><a id="v:getAllToolDependencies" class="def">getAllToolDependencies</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> [<a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a>] <a href="#v:getAllToolDependencies" class="selflink">#</a></p><div class="doc"><p>Get everything from "build-tool-depends", along with entries from- "build-tools" that we know how to desugar.</p><p>This should almost always be used instead of just accessing the- <code><a href="Distribution-Types-BuildInfo.html#v:buildToolDepends">buildToolDepends</a></code> field directly.</p></div></div><div class="top"><p class="src"><a id="v:isInternal" class="def">isInternal</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isInternal" class="selflink">#</a></p><div class="doc"><p>Does the given executable dependency map to this current package?</p><p>This is a tiny function, but used in a number of places.</p><p>This function is only sound to call on <code><a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></code>s from the given package- description. This is because it just filters the package names of each- dependency, and does not check whether version bounds in fact exclude the- current package, or the referenced components in fact exist in the current- package.</p><p>This is OK because when a package is loaded, it is checked (in- <code><a href="Distribution-Package.html#v:Check">Check</a></code>) that dependencies matching internal components- do indeed have version bounds accepting the current package, and any- depended-on component in the current package actually exists. In fact this- check is performed by gathering the internal tool dependencies of each- component of the package according to this module, and ensuring those- properties on each so-gathered dependency.</p><p>version bounds and components of the package are unchecked. This is because- we sanitize exe deps so that the matching name implies these other- conditions.</p></div></div><div class="top"><p class="src"><a id="v:getAllInternalToolDependencies" class="def">getAllInternalToolDependencies</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> [<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>] <a href="#v:getAllInternalToolDependencies" class="selflink">#</a></p><div class="doc"><p>Get internal "build-tool-depends", along with internal "build-tools"</p><p>This is a tiny function, but used in a number of places. The same- restrictions that apply to <code><a href="Distribution-Simple-BuildToolDepends.html#v:isInternal">isInternal</a></code> also apply to this function.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,13 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.CCompiler</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>2011 Dan Knapp</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.CCompiler</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This simple package provides types and functions for interacting with- C compilers. Currently it's just a type enumerating extant C-like- languages, which we call dialects.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:CDialect">CDialect</a><ul class="subs"><li>= <a href="#v:C">C</a></li><li>| <a href="#v:ObjectiveC">ObjectiveC</a></li><li>| <a href="#v:CPlusPlus">CPlusPlus</a></li><li>| <a href="#v:ObjectiveCPlusPlus">ObjectiveCPlusPlus</a></li></ul></li><li class="src short"><a href="#v:cSourceExtensions">cSourceExtensions</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li class="src short"><a href="#v:cDialectFilenameExtension">cDialectFilenameExtension</a> :: <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:filenameCDialect">filenameCDialect</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:CDialect" class="def">CDialect</a> <a href="#t:CDialect" class="selflink">#</a></p><div class="doc"><p>Represents a dialect of C. The Monoid instance expresses backward- compatibility, in the sense that 'mappend a b' is the least inclusive- dialect which both <code>a</code> and <code>b</code> can be correctly interpreted as.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:C" class="def">C</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:ObjectiveC" class="def">ObjectiveC</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CPlusPlus" class="def">CPlusPlus</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:ObjectiveCPlusPlus" class="def">ObjectiveCPlusPlus</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:CDialect" class="caption collapser" onclick="toggleSection('i:CDialect')">Instances</p><div id="section.i:CDialect" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CDialect:Eq:1" class="instance expander" onclick="toggleSection('i:id:CDialect:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a></span> <a href="#t:CDialect" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CDialect:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> -> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> -> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CDialect:Show:2" class="instance expander" onclick="toggleSection('i:id:CDialect:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a></span> <a href="#t:CDialect" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CDialect:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CDialect:Semigroup:3" class="instance expander" onclick="toggleSection('i:id:CDialect:Semigroup:3')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a></span> <a href="#t:CDialect" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CDialect:Semigroup:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> -> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> -> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> -> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> -> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CDialect:Monoid:4" class="instance expander" onclick="toggleSection('i:id:CDialect:Monoid:4')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a></span> <a href="#t:CDialect" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CDialect:Monoid:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> -> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> -> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a>] -> <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:cSourceExtensions" class="def">cSourceExtensions</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#v:cSourceExtensions" class="selflink">#</a></p><div class="doc"><p>A list of all file extensions which are recognized as possibly containing- some dialect of C code. Note that this list is only for source files,- not for header files.</p></div></div><div class="top"><p class="src"><a id="v:cDialectFilenameExtension" class="def">cDialectFilenameExtension</a> :: <a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:cDialectFilenameExtension" class="selflink">#</a></p><div class="doc"><p>Takes a dialect of C and whether code is intended to be passed through- the preprocessor, and returns a filename extension for containing that- code.</p></div></div><div class="top"><p class="src"><a id="v:filenameCDialect" class="def">filenameCDialect</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-Simple-CCompiler.html#t:CDialect">CDialect</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) <a href="#v:filenameCDialect" class="selflink">#</a></p><div class="doc"><p>Infers from a filename's extension the dialect of C which it contains,- and whether it is intended to be passed through the preprocessor.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,30 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Command</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Duncan Coutts 2007</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>non-portable (ExistentialQuantification)</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Command</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Command interface</a><ul><li><a href="#g:2">Constructing commands</a></li><li><a href="#g:3">Associating actions with commands</a></li><li><a href="#g:4">Building lists of commands</a></li><li><a href="#g:5">Running commands</a></li></ul></li><li><a href="#g:6">Option Fields</a><ul><li><a href="#g:7">Constructing Option Fields</a></li><li><a href="#g:8">Liftings & Projections</a></li></ul></li><li><a href="#g:9">Option Descriptions</a><ul><li><a href="#g:10">OptDescr <code>smart</code> constructors</a></li></ul></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This is to do with command line handling. The Cabal command line is- organised into a number of named sub-commands (much like darcs). The- <code><a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a></code> abstraction represents one of these sub-commands, with a name,- description, a set of flags. Commands can be associated with actions and- run. It handles some common stuff automatically, like the <code>--help</code> and- command line completion flags. It is designed to allow other tools make- derived commands. This feature is used heavily in <code>cabal-install</code>.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:CommandUI">CommandUI</a> flags = <a href="#v:CommandUI">CommandUI</a> {<ul class="subs"><li><a href="#v:commandName">commandName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:commandSynopsis">commandSynopsis</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:commandUsage">commandUsage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:commandDescription">commandDescription</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)</li><li><a href="#v:commandNotes">commandNotes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)</li><li><a href="#v:commandDefaultFlags">commandDefaultFlags</a> :: flags</li><li><a href="#v:commandOptions">commandOptions</a> :: <a href="Distribution-Simple-Command.html#t:ShowOrParseArgs">ShowOrParseArgs</a> -> [<a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> flags]</li></ul>}</li><li class="src short"><a href="#v:commandShowOptions">commandShowOptions</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> flags -> flags -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:CommandParse">CommandParse</a> flags<ul class="subs"><li>= <a href="#v:CommandHelp">CommandHelp</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)</li><li>| <a href="#v:CommandList">CommandList</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li>| <a href="#v:CommandErrors">CommandErrors</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li>| <a href="#v:CommandReadyToGo">CommandReadyToGo</a> flags</li></ul></li><li class="src short"><a href="#v:commandParseArgs">commandParseArgs</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> flags -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Simple-Command.html#t:CommandParse">CommandParse</a> (flags -> flags, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])</li><li class="src short"><a href="#v:getNormalCommandDescriptions">getNormalCommandDescriptions</a> :: [<a href="Distribution-Simple-Command.html#t:Command">Command</a> action] -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</li><li class="src short"><a href="#v:helpCommandUI">helpCommandUI</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> ()</li><li class="src short"><span class="keyword">data</span> <a href="#t:ShowOrParseArgs">ShowOrParseArgs</a><ul class="subs"><li>= <a href="#v:ShowArgs">ShowArgs</a></li><li>| <a href="#v:ParseArgs">ParseArgs</a></li></ul></li><li class="src short"><a href="#v:usageDefault">usageDefault</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:usageAlternatives">usageAlternatives</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:mkCommandUI">mkCommandUI</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> flags -> (<a href="Distribution-Simple-Command.html#t:ShowOrParseArgs">ShowOrParseArgs</a> -> [<a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> flags]) -> <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> flags</li><li class="src short"><a href="#v:hiddenCommand">hiddenCommand</a> :: <a href="Distribution-Simple-Command.html#t:Command">Command</a> action -> <a href="Distribution-Simple-Command.html#t:Command">Command</a> action</li><li class="src short"><span class="keyword">data</span> <a href="#t:Command">Command</a> action</li><li class="src short"><a href="#v:commandAddAction">commandAddAction</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> flags -> (flags -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> action) -> <a href="Distribution-Simple-Command.html#t:Command">Command</a> action</li><li class="src short"><a href="#v:noExtraFlags">noExtraFlags</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><span class="keyword">data</span> <a href="#t:CommandType">CommandType</a><ul class="subs"><li>= <a href="#v:NormalCommand">NormalCommand</a></li><li>| <a href="#v:HiddenCommand">HiddenCommand</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:CommandSpec">CommandSpec</a> action = <a href="#v:CommandSpec">CommandSpec</a> (<a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> flags) (<a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> flags -> <a href="Distribution-Simple-Command.html#t:Command">Command</a> action) <a href="Distribution-Simple-Command.html#t:CommandType">CommandType</a></li><li class="src short"><a href="#v:commandFromSpec">commandFromSpec</a> :: <a href="Distribution-Simple-Command.html#t:CommandSpec">CommandSpec</a> a -> <a href="Distribution-Simple-Command.html#t:Command">Command</a> a</li><li class="src short"><a href="#v:commandsRun">commandsRun</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> a -> [<a href="Distribution-Simple-Command.html#t:Command">Command</a> action] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Simple-Command.html#t:CommandParse">CommandParse</a> (a, <a href="Distribution-Simple-Command.html#t:CommandParse">CommandParse</a> action)</li><li class="src short"><span class="keyword">data</span> <a href="#t:OptionField">OptionField</a> a = <a href="#v:OptionField">OptionField</a> {<ul class="subs"><li><a href="#v:optionName">optionName</a> :: <a href="Distribution-Simple-Command.html#t:Name">Name</a></li><li><a href="#v:optionDescr">optionDescr</a> :: [<a href="Distribution-Simple-Command.html#t:OptDescr">OptDescr</a> a]</li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:Name">Name</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:option">option</a> :: <a href="Distribution-Simple-Command.html#t:SFlags">SFlags</a> -> <a href="Distribution-Simple-Command.html#t:LFlags">LFlags</a> -> <a href="Distribution-Simple-Command.html#t:Description">Description</a> -> get -> set -> <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> get set a -> <a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> a</li><li class="src short"><a href="#v:multiOption">multiOption</a> :: <a href="Distribution-Simple-Command.html#t:Name">Name</a> -> get -> set -> [get -> set -> <a href="Distribution-Simple-Command.html#t:OptDescr">OptDescr</a> a] -> <a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> a</li><li class="src short"><a href="#v:liftOption">liftOption</a> :: (b -> a) -> (a -> b -> b) -> <a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> a -> <a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> b</li><li class="src short"><a href="#v:viewAsFieldDescr">viewAsFieldDescr</a> :: <a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> a -> <a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> a</li><li class="src short"><span class="keyword">data</span> <a href="#t:OptDescr">OptDescr</a> a<ul class="subs"><li>= <a href="#v:ReqArg">ReqArg</a> <a href="Distribution-Simple-Command.html#t:Description">Description</a> <a href="Distribution-Simple-Command.html#t:OptFlags">OptFlags</a> <a href="Distribution-Simple-Command.html#t:ArgPlaceHolder">ArgPlaceHolder</a> (<a href="Distribution-ReadE.html#t:ReadE">ReadE</a> (a -> a)) (a -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])</li><li>| <a href="#v:OptArg">OptArg</a> <a href="Distribution-Simple-Command.html#t:Description">Description</a> <a href="Distribution-Simple-Command.html#t:OptFlags">OptFlags</a> <a href="Distribution-Simple-Command.html#t:ArgPlaceHolder">ArgPlaceHolder</a> (<a href="Distribution-ReadE.html#t:ReadE">ReadE</a> (a -> a)) (a -> a) (a -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])</li><li>| <a href="#v:ChoiceOpt">ChoiceOpt</a> [(<a href="Distribution-Simple-Command.html#t:Description">Description</a>, <a href="Distribution-Simple-Command.html#t:OptFlags">OptFlags</a>, a -> a, a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)]</li><li>| <a href="#v:BoolOpt">BoolOpt</a> <a href="Distribution-Simple-Command.html#t:Description">Description</a> <a href="Distribution-Simple-Command.html#t:OptFlags">OptFlags</a> <a href="Distribution-Simple-Command.html#t:OptFlags">OptFlags</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> a -> a) (a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)</li></ul></li><li class="src short"><span class="keyword">type</span> <a href="#t:Description">Description</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:SFlags">SFlags</a> = [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a>]</li><li class="src short"><span class="keyword">type</span> <a href="#t:LFlags">LFlags</a> = [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li class="src short"><span class="keyword">type</span> <a href="#t:OptFlags">OptFlags</a> = (<a href="Distribution-Simple-Command.html#t:SFlags">SFlags</a>, <a href="Distribution-Simple-Command.html#t:LFlags">LFlags</a>)</li><li class="src short"><span class="keyword">type</span> <a href="#t:ArgPlaceHolder">ArgPlaceHolder</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:MkOptDescr">MkOptDescr</a> get set a = <a href="Distribution-Simple-Command.html#t:SFlags">SFlags</a> -> <a href="Distribution-Simple-Command.html#t:LFlags">LFlags</a> -> <a href="Distribution-Simple-Command.html#t:Description">Description</a> -> get -> set -> <a href="Distribution-Simple-Command.html#t:OptDescr">OptDescr</a> a</li><li class="src short"><a href="#v:reqArg">reqArg</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> b => <a href="Distribution-Simple-Command.html#t:ArgPlaceHolder">ArgPlaceHolder</a> -> <a href="Distribution-ReadE.html#t:ReadE">ReadE</a> b -> (b -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]) -> <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> b) (b -> a -> a) a</li><li class="src short"><a href="#v:reqArg-39-">reqArg'</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> b => <a href="Distribution-Simple-Command.html#t:ArgPlaceHolder">ArgPlaceHolder</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> b) -> (b -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]) -> <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> b) (b -> a -> a) a</li><li class="src short"><a href="#v:optArg">optArg</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> b => <a href="Distribution-Simple-Command.html#t:ArgPlaceHolder">ArgPlaceHolder</a> -> <a href="Distribution-ReadE.html#t:ReadE">ReadE</a> b -> b -> (b -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]) -> <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> b) (b -> a -> a) a</li><li class="src short"><a href="#v:optArg-39-">optArg'</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> b => <a href="Distribution-Simple-Command.html#t:ArgPlaceHolder">ArgPlaceHolder</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> b) -> (b -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]) -> <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> b) (b -> a -> a) a</li><li class="src short"><a href="#v:noArg">noArg</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> b => b -> <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> b) (b -> a -> a) a</li><li class="src short"><a href="#v:boolOpt">boolOpt</a> :: (b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> b) -> <a href="Distribution-Simple-Command.html#t:SFlags">SFlags</a> -> <a href="Distribution-Simple-Command.html#t:SFlags">SFlags</a> -> <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> b) (b -> a -> a) a</li><li class="src short"><a href="#v:boolOpt-39-">boolOpt'</a> :: (b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> b) -> <a href="Distribution-Simple-Command.html#t:OptFlags">OptFlags</a> -> <a href="Distribution-Simple-Command.html#t:OptFlags">OptFlags</a> -> <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> b) (b -> a -> a) a</li><li class="src short"><a href="#v:choiceOpt">choiceOpt</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> b => [(b, <a href="Distribution-Simple-Command.html#t:OptFlags">OptFlags</a>, <a href="Distribution-Simple-Command.html#t:Description">Description</a>)] -> <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> b) (b -> a -> a) a</li><li class="src short"><a href="#v:choiceOptFromEnum">choiceOptFromEnum</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Bounded">Bounded</a> b, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Enum">Enum</a> b, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> b, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> b) => <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> b) (b -> a -> a) a</li></ul></div><div id="interface"><h1 id="g:1">Command interface</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:CommandUI" class="def">CommandUI</a> flags <a href="#t:CommandUI" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:CommandUI" class="def">CommandUI</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:commandName" class="def">commandName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>The name of the command as it would be entered on the command line.- For example <code>"build"</code>.</p></div></li><li><dfn class="src"><a id="v:commandSynopsis" class="def">commandSynopsis</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>A short, one line description of the command to use in help texts.</p></div></li><li><dfn class="src"><a id="v:commandUsage" class="def">commandUsage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>A function that maps a program name to a usage summary for this- command.</p></div></li><li><dfn class="src"><a id="v:commandDescription" class="def">commandDescription</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)</dfn><div class="doc"><p>Additional explanation of the command to use in help texts.</p></div></li><li><dfn class="src"><a id="v:commandNotes" class="def">commandNotes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)</dfn><div class="doc"><p>Post-Usage notes and examples in help texts</p></div></li><li><dfn class="src"><a id="v:commandDefaultFlags" class="def">commandDefaultFlags</a> :: flags</dfn><div class="doc"><p>Initial / empty flags</p></div></li><li><dfn class="src"><a id="v:commandOptions" class="def">commandOptions</a> :: <a href="Distribution-Simple-Command.html#t:ShowOrParseArgs">ShowOrParseArgs</a> -> [<a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> flags]</dfn><div class="doc"><p>All the Option fields for this command</p></div></li></ul></div></td></tr></table></div></div><div class="top"><p class="src"><a id="v:commandShowOptions" class="def">commandShowOptions</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> flags -> flags -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#v:commandShowOptions" class="selflink">#</a></p><div class="doc"><p>Show flags in the standard long option command line format</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:CommandParse" class="def">CommandParse</a> flags <a href="#t:CommandParse" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:CommandHelp" class="def">CommandHelp</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CommandList" class="def">CommandList</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CommandErrors" class="def">CommandErrors</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CommandReadyToGo" class="def">CommandReadyToGo</a> flags</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:CommandParse" class="caption collapser" onclick="toggleSection('i:CommandParse')">Instances</p><div id="section.i:CommandParse" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CommandParse:Functor:1" class="instance expander" onclick="toggleSection('i:id:CommandParse:Functor:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor.html#t:Functor">Functor</a> <a href="Distribution-Simple-Command.html#t:CommandParse">CommandParse</a></span> <a href="#t:CommandParse" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CommandParse:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -> b) -> <a href="Distribution-Simple-Command.html#t:CommandParse">CommandParse</a> a -> <a href="Distribution-Simple-Command.html#t:CommandParse">CommandParse</a> b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(<$)</a> :: a -> <a href="Distribution-Simple-Command.html#t:CommandParse">CommandParse</a> b -> <a href="Distribution-Simple-Command.html#t:CommandParse">CommandParse</a> a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:commandParseArgs" class="def">commandParseArgs</a> <a href="#v:commandParseArgs" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> flags</td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></td><td class="doc"><p>Is the command a global or subcommand?</p></td></tr><tr><td class="src">-> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Simple-Command.html#t:CommandParse">CommandParse</a> (flags -> flags, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Parse a bunch of command line arguments</p></div></div><div class="top"><p class="src"><a id="v:getNormalCommandDescriptions" class="def">getNormalCommandDescriptions</a> :: [<a href="Distribution-Simple-Command.html#t:Command">Command</a> action] -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)] <a href="#v:getNormalCommandDescriptions" class="selflink">#</a></p><div class="doc"><p>Helper function for creating globalCommand description</p></div></div><div class="top"><p class="src"><a id="v:helpCommandUI" class="def">helpCommandUI</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> () <a href="#v:helpCommandUI" class="selflink">#</a></p></div><h2 id="g:2">Constructing commands</h2><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ShowOrParseArgs" class="def">ShowOrParseArgs</a> <a href="#t:ShowOrParseArgs" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ShowArgs" class="def">ShowArgs</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:ParseArgs" class="def">ParseArgs</a></td><td class="doc empty"> </td></tr></table></div></div><div class="top"><p class="src"><a id="v:usageDefault" class="def">usageDefault</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:usageDefault" class="selflink">#</a></p><div class="doc"><p>Default "usage" documentation text for commands.</p></div></div><div class="top"><p class="src"><a id="v:usageAlternatives" class="def">usageAlternatives</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:usageAlternatives" class="selflink">#</a></p><div class="doc"><p>Create "usage" documentation from a list of parameter- configurations.</p></div></div><div class="top"><p class="src"><a id="v:mkCommandUI" class="def">mkCommandUI</a> <a href="#v:mkCommandUI" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>name</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>synopsis</p></td></tr><tr><td class="src">-> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</td><td class="doc"><p>usage alternatives</p></td></tr><tr><td class="src">-> flags</td><td class="doc"><p>initial/empty flags</p></td></tr><tr><td class="src">-> (<a href="Distribution-Simple-Command.html#t:ShowOrParseArgs">ShowOrParseArgs</a> -> [<a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> flags])</td><td class="doc"><p>options</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> flags</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Make a Command from standard <code>GetOpt</code> options.</p></div></div><div class="top"><p class="src"><a id="v:hiddenCommand" class="def">hiddenCommand</a> :: <a href="Distribution-Simple-Command.html#t:Command">Command</a> action -> <a href="Distribution-Simple-Command.html#t:Command">Command</a> action <a href="#v:hiddenCommand" class="selflink">#</a></p><div class="doc"><p>Mark command as hidden. Hidden commands don't show up in the 'progname- help' or 'progname --help' output.</p></div></div><h2 id="g:3">Associating actions with commands</h2><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Command" class="def">Command</a> action <a href="#t:Command" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:commandAddAction" class="def">commandAddAction</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> flags -> (flags -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> action) -> <a href="Distribution-Simple-Command.html#t:Command">Command</a> action <a href="#v:commandAddAction" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:noExtraFlags" class="def">noExtraFlags</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:noExtraFlags" class="selflink">#</a></p><div class="doc"><p>Utility function, many commands do not accept additional flags. This- action fails with a helpful error message if the user supplies any extra.</p></div></div><h2 id="g:4">Building lists of commands</h2><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:CommandType" class="def">CommandType</a> <a href="#t:CommandType" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:NormalCommand" class="def">NormalCommand</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:HiddenCommand" class="def">HiddenCommand</a></td><td class="doc empty"> </td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:CommandSpec" class="def">CommandSpec</a> action <a href="#t:CommandSpec" class="selflink">#</a></p><div class="doc"><p>wraps a <code>CommandUI</code> together with a function that turns it into a <code>Command</code>.- By hiding the type of flags for the UI allows construction of a list of all UIs at the- top level of the program. That list can then be used for generation of manual page- as well as for executing the selected command.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:CommandSpec" class="def">CommandSpec</a> (<a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> flags) (<a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> flags -> <a href="Distribution-Simple-Command.html#t:Command">Command</a> action) <a href="Distribution-Simple-Command.html#t:CommandType">CommandType</a></td><td class="doc empty"> </td></tr></table></div></div><div class="top"><p class="src"><a id="v:commandFromSpec" class="def">commandFromSpec</a> :: <a href="Distribution-Simple-Command.html#t:CommandSpec">CommandSpec</a> a -> <a href="Distribution-Simple-Command.html#t:Command">Command</a> a <a href="#v:commandFromSpec" class="selflink">#</a></p></div><h2 id="g:5">Running commands</h2><div class="top"><p class="src"><a id="v:commandsRun" class="def">commandsRun</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> a -> [<a href="Distribution-Simple-Command.html#t:Command">Command</a> action] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Simple-Command.html#t:CommandParse">CommandParse</a> (a, <a href="Distribution-Simple-Command.html#t:CommandParse">CommandParse</a> action) <a href="#v:commandsRun" class="selflink">#</a></p></div><h1 id="g:6">Option Fields</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:OptionField" class="def">OptionField</a> a <a href="#t:OptionField" class="selflink">#</a></p><div class="doc"><p>We usually have a data type for storing configuration values, where- every field stores a configuration option, and the user sets- the value either via command line flags or a configuration file.- An individual OptionField models such a field, and we usually- build a list of options associated to a configuration data type.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:OptionField" class="def">OptionField</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:optionName" class="def">optionName</a> :: <a href="Distribution-Simple-Command.html#t:Name">Name</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:optionDescr" class="def">optionDescr</a> :: [<a href="Distribution-Simple-Command.html#t:OptDescr">OptDescr</a> a]</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:Name" class="def">Name</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#t:Name" class="selflink">#</a></p></div><h2 id="g:7">Constructing Option Fields</h2><div class="top"><p class="src"><a id="v:option" class="def">option</a> :: <a href="Distribution-Simple-Command.html#t:SFlags">SFlags</a> -> <a href="Distribution-Simple-Command.html#t:LFlags">LFlags</a> -> <a href="Distribution-Simple-Command.html#t:Description">Description</a> -> get -> set -> <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> get set a -> <a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> a <a href="#v:option" class="selflink">#</a></p><div class="doc"><p>Create an option taking a single OptDescr.- No explicit Name is given for the Option, the name is the first LFlag given.</p></div></div><div class="top"><p class="src"><a id="v:multiOption" class="def">multiOption</a> <a href="#v:multiOption" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Simple-Command.html#t:Name">Name</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> get</td><td class="doc empty"> </td></tr><tr><td class="src">-> set</td><td class="doc empty"> </td></tr><tr><td class="src">-> [get -> set -> <a href="Distribution-Simple-Command.html#t:OptDescr">OptDescr</a> a]</td><td class="doc"><p>MkOptDescr constructors partially- applied to flags and description.</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> a</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Create an option taking several OptDescrs.- You will have to give the flags and description individually to the- OptDescr constructor.</p></div></div><h2 id="g:8">Liftings & Projections</h2><div class="top"><p class="src"><a id="v:liftOption" class="def">liftOption</a> :: (b -> a) -> (a -> b -> b) -> <a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> a -> <a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> b <a href="#v:liftOption" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:viewAsFieldDescr" class="def">viewAsFieldDescr</a> :: <a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> a -> <a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> a <a href="#v:viewAsFieldDescr" class="selflink">#</a></p><div class="doc"><p>to view as a FieldDescr, we sort the list of interfaces (Req > Bool >- Choice > Opt) and consider only the first one.</p></div></div><h1 id="g:9">Option Descriptions</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:OptDescr" class="def">OptDescr</a> a <a href="#t:OptDescr" class="selflink">#</a></p><div class="doc"><p>An OptionField takes one or more OptDescrs, describing the command line- interface for the field.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ReqArg" class="def">ReqArg</a> <a href="Distribution-Simple-Command.html#t:Description">Description</a> <a href="Distribution-Simple-Command.html#t:OptFlags">OptFlags</a> <a href="Distribution-Simple-Command.html#t:ArgPlaceHolder">ArgPlaceHolder</a> (<a href="Distribution-ReadE.html#t:ReadE">ReadE</a> (a -> a)) (a -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:OptArg" class="def">OptArg</a> <a href="Distribution-Simple-Command.html#t:Description">Description</a> <a href="Distribution-Simple-Command.html#t:OptFlags">OptFlags</a> <a href="Distribution-Simple-Command.html#t:ArgPlaceHolder">ArgPlaceHolder</a> (<a href="Distribution-ReadE.html#t:ReadE">ReadE</a> (a -> a)) (a -> a) (a -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:ChoiceOpt" class="def">ChoiceOpt</a> [(<a href="Distribution-Simple-Command.html#t:Description">Description</a>, <a href="Distribution-Simple-Command.html#t:OptFlags">OptFlags</a>, a -> a, a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)]</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:BoolOpt" class="def">BoolOpt</a> <a href="Distribution-Simple-Command.html#t:Description">Description</a> <a href="Distribution-Simple-Command.html#t:OptFlags">OptFlags</a> <a href="Distribution-Simple-Command.html#t:OptFlags">OptFlags</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> a -> a) (a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)</td><td class="doc empty"> </td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:Description" class="def">Description</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#t:Description" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:SFlags" class="def">SFlags</a> = [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a>] <a href="#t:SFlags" class="selflink">#</a></p><div class="doc"><p>Short command line option strings</p></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:LFlags" class="def">LFlags</a> = [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#t:LFlags" class="selflink">#</a></p><div class="doc"><p>Long command line option strings</p></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:OptFlags" class="def">OptFlags</a> = (<a href="Distribution-Simple-Command.html#t:SFlags">SFlags</a>, <a href="Distribution-Simple-Command.html#t:LFlags">LFlags</a>) <a href="#t:OptFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:ArgPlaceHolder" class="def">ArgPlaceHolder</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#t:ArgPlaceHolder" class="selflink">#</a></p></div><h2 id="g:10">OptDescr <code>smart</code> constructors</h2><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:MkOptDescr" class="def">MkOptDescr</a> get set a = <a href="Distribution-Simple-Command.html#t:SFlags">SFlags</a> -> <a href="Distribution-Simple-Command.html#t:LFlags">LFlags</a> -> <a href="Distribution-Simple-Command.html#t:Description">Description</a> -> get -> set -> <a href="Distribution-Simple-Command.html#t:OptDescr">OptDescr</a> a <a href="#t:MkOptDescr" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:reqArg" class="def">reqArg</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> b => <a href="Distribution-Simple-Command.html#t:ArgPlaceHolder">ArgPlaceHolder</a> -> <a href="Distribution-ReadE.html#t:ReadE">ReadE</a> b -> (b -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]) -> <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> b) (b -> a -> a) a <a href="#v:reqArg" class="selflink">#</a></p><div class="doc"><p>Create a string-valued command line interface.</p></div></div><div class="top"><p class="src"><a id="v:reqArg-39-" class="def">reqArg'</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> b => <a href="Distribution-Simple-Command.html#t:ArgPlaceHolder">ArgPlaceHolder</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> b) -> (b -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]) -> <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> b) (b -> a -> a) a <a href="#v:reqArg-39-" class="selflink">#</a></p><div class="doc"><p>(String -> a) variant of "reqArg"</p></div></div><div class="top"><p class="src"><a id="v:optArg" class="def">optArg</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> b => <a href="Distribution-Simple-Command.html#t:ArgPlaceHolder">ArgPlaceHolder</a> -> <a href="Distribution-ReadE.html#t:ReadE">ReadE</a> b -> b -> (b -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]) -> <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> b) (b -> a -> a) a <a href="#v:optArg" class="selflink">#</a></p><div class="doc"><p>Create a string-valued command line interface with a default value.</p></div></div><div class="top"><p class="src"><a id="v:optArg-39-" class="def">optArg'</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> b => <a href="Distribution-Simple-Command.html#t:ArgPlaceHolder">ArgPlaceHolder</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> b) -> (b -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]) -> <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> b) (b -> a -> a) a <a href="#v:optArg-39-" class="selflink">#</a></p><div class="doc"><p>(String -> a) variant of "optArg"</p></div></div><div class="top"><p class="src"><a id="v:noArg" class="def">noArg</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> b => b -> <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> b) (b -> a -> a) a <a href="#v:noArg" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:boolOpt" class="def">boolOpt</a> :: (b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> b) -> <a href="Distribution-Simple-Command.html#t:SFlags">SFlags</a> -> <a href="Distribution-Simple-Command.html#t:SFlags">SFlags</a> -> <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> b) (b -> a -> a) a <a href="#v:boolOpt" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:boolOpt-39-" class="def">boolOpt'</a> :: (b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> b) -> <a href="Distribution-Simple-Command.html#t:OptFlags">OptFlags</a> -> <a href="Distribution-Simple-Command.html#t:OptFlags">OptFlags</a> -> <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> b) (b -> a -> a) a <a href="#v:boolOpt-39-" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:choiceOpt" class="def">choiceOpt</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> b => [(b, <a href="Distribution-Simple-Command.html#t:OptFlags">OptFlags</a>, <a href="Distribution-Simple-Command.html#t:Description">Description</a>)] -> <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> b) (b -> a -> a) a <a href="#v:choiceOpt" class="selflink">#</a></p><div class="doc"><p>create a Choice option</p></div></div><div class="top"><p class="src"><a id="v:choiceOptFromEnum" class="def">choiceOptFromEnum</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Bounded">Bounded</a> b, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Enum">Enum</a> b, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> b, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> b) => <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> b) (b -> a -> a) a <a href="#v:choiceOptFromEnum" class="selflink">#</a></p><div class="doc"><p>create a Choice option out of an enumeration type.- As long flags, the Show output is used. As short flags, the first character- which does not conflict with a previous one is used.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,42 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Compiler</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2004</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Compiler</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Haskell implementations</a></li><li><a href="#g:2">Support for package databases</a></li><li><a href="#g:3">Support for optimisation levels</a></li><li><a href="#g:4">Support for debug info levels</a></li><li><a href="#g:5">Support for language extensions</a></li><li><a href="#g:6">Support for profiling detail levels</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This should be a much more sophisticated abstraction than it is. Currently- it's just a bit of data about the compiler, like it's flavour and name and- version. The reason it's just data is because currently it has to be in- <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a></code> and <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a></code> so it can be saved along with the <code>LocalBuildInfo</code>. The- only interesting bit of info it contains is a mapping between language- extensions and compiler command line flags. This module also defines a- <code><a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a></code> type which is used to refer to package databases. Most compilers- only know about a single global package collection but GHC has a global and- per-user one and it lets you create arbitrary other package databases. We do- not yet fully support this latter feature.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short">module <a href="Distribution-Compiler.html">Distribution.Compiler</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:Compiler">Compiler</a> = <a href="#v:Compiler">Compiler</a> {<ul class="subs"><li><a href="#v:compilerId">compilerId</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a></li><li><a href="#v:compilerAbiTag">compilerAbiTag</a> :: <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a></li><li><a href="#v:compilerCompat">compilerCompat</a> :: [<a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a>]</li><li><a href="#v:compilerLanguages">compilerLanguages</a> :: [(<a href="Language-Haskell-Extension.html#t:Language">Language</a>, <a href="Distribution-Simple-Compiler.html#t:Flag">Flag</a>)]</li><li><a href="#v:compilerExtensions">compilerExtensions</a> :: [(<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>, <a href="Distribution-Simple-Compiler.html#t:Flag">Flag</a>)]</li><li><a href="#v:compilerProperties">compilerProperties</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul>}</li><li class="src short"><a href="#v:showCompilerId">showCompilerId</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:showCompilerIdWithAbi">showCompilerIdWithAbi</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:compilerFlavor">compilerFlavor</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a></li><li class="src short"><a href="#v:compilerVersion">compilerVersion</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Version.html#t:Version">Version</a></li><li class="src short"><a href="#v:compilerCompatFlavor">compilerCompatFlavor</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:compilerCompatVersion">compilerCompatVersion</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a></li><li class="src short"><a href="#v:compilerInfo">compilerInfo</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:PackageDB">PackageDB</a><ul class="subs"><li>= <a href="#v:GlobalPackageDB">GlobalPackageDB</a></li><li>| <a href="#v:UserPackageDB">UserPackageDB</a></li><li>| <a href="#v:SpecificPackageDB">SpecificPackageDB</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li></ul></li><li class="src short"><span class="keyword">type</span> <a href="#t:PackageDBStack">PackageDBStack</a> = [<a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a>]</li><li class="src short"><a href="#v:registrationPackageDB">registrationPackageDB</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a></li><li class="src short"><a href="#v:absolutePackageDBPaths">absolutePackageDBPaths</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a></li><li class="src short"><a href="#v:absolutePackageDBPath">absolutePackageDBPath</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:OptimisationLevel">OptimisationLevel</a><ul class="subs"><li>= <a href="#v:NoOptimisation">NoOptimisation</a></li><li>| <a href="#v:NormalOptimisation">NormalOptimisation</a></li><li>| <a href="#v:MaximumOptimisation">MaximumOptimisation</a></li></ul></li><li class="src short"><a href="#v:flagToOptimisationLevel">flagToOptimisationLevel</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:DebugInfoLevel">DebugInfoLevel</a><ul class="subs"><li>= <a href="#v:NoDebugInfo">NoDebugInfo</a></li><li>| <a href="#v:MinimalDebugInfo">MinimalDebugInfo</a></li><li>| <a href="#v:NormalDebugInfo">NormalDebugInfo</a></li><li>| <a href="#v:MaximalDebugInfo">MaximalDebugInfo</a></li></ul></li><li class="src short"><a href="#v:flagToDebugInfoLevel">flagToDebugInfoLevel</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:Flag">Flag</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:languageToFlags">languageToFlags</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> [<a href="Distribution-Simple-Compiler.html#t:Flag">Flag</a>]</li><li class="src short"><a href="#v:unsupportedLanguages">unsupportedLanguages</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> [<a href="Language-Haskell-Extension.html#t:Language">Language</a>] -> [<a href="Language-Haskell-Extension.html#t:Language">Language</a>]</li><li class="src short"><a href="#v:extensionsToFlags">extensionsToFlags</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>] -> [<a href="Distribution-Simple-Compiler.html#t:Flag">Flag</a>]</li><li class="src short"><a href="#v:unsupportedExtensions">unsupportedExtensions</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>] -> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</li><li class="src short"><a href="#v:parmakeSupported">parmakeSupported</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:reexportedModulesSupported">reexportedModulesSupported</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:renamingPackageFlagsSupported">renamingPackageFlagsSupported</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:unifiedIPIDRequired">unifiedIPIDRequired</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:packageKeySupported">packageKeySupported</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:unitIdSupported">unitIdSupported</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:coverageSupported">coverageSupported</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:profilingSupported">profilingSupported</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:backpackSupported">backpackSupported</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:libraryDynDirSupported">libraryDynDirSupported</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:ProfDetailLevel">ProfDetailLevel</a><ul class="subs"><li>= <a href="#v:ProfDetailNone">ProfDetailNone</a></li><li>| <a href="#v:ProfDetailDefault">ProfDetailDefault</a></li><li>| <a href="#v:ProfDetailExportedFunctions">ProfDetailExportedFunctions</a></li><li>| <a href="#v:ProfDetailToplevelFunctions">ProfDetailToplevelFunctions</a></li><li>| <a href="#v:ProfDetailAllFunctions">ProfDetailAllFunctions</a></li><li>| <a href="#v:ProfDetailOther">ProfDetailOther</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><a href="#v:knownProfDetailLevels">knownProfDetailLevels</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>], <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a>)]</li><li class="src short"><a href="#v:flagToProfDetailLevel">flagToProfDetailLevel</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a></li><li class="src short"><a href="#v:showProfDetailLevel">showProfDetailLevel</a> :: <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></div><div id="interface"><h1 id="g:1">Haskell implementations</h1><div class="top"><p class="src">module <a href="Distribution-Compiler.html">Distribution.Compiler</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Compiler" class="def">Compiler</a> <a href="#t:Compiler" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Compiler" class="def">Compiler</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:compilerId" class="def">compilerId</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a></dfn><div class="doc"><p>Compiler flavour and version.</p></div></li><li><dfn class="src"><a id="v:compilerAbiTag" class="def">compilerAbiTag</a> :: <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a></dfn><div class="doc"><p>Tag for distinguishing incompatible ABI's on the same- architecture/os.</p></div></li><li><dfn class="src"><a id="v:compilerCompat" class="def">compilerCompat</a> :: [<a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a>]</dfn><div class="doc"><p>Other implementations that this compiler claims to be- compatible with.</p></div></li><li><dfn class="src"><a id="v:compilerLanguages" class="def">compilerLanguages</a> :: [(<a href="Language-Haskell-Extension.html#t:Language">Language</a>, <a href="Distribution-Simple-Compiler.html#t:Flag">Flag</a>)]</dfn><div class="doc"><p>Supported language standards.</p></div></li><li><dfn class="src"><a id="v:compilerExtensions" class="def">compilerExtensions</a> :: [(<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>, <a href="Distribution-Simple-Compiler.html#t:Flag">Flag</a>)]</dfn><div class="doc"><p>Supported extensions.</p></div></li><li><dfn class="src"><a id="v:compilerProperties" class="def">compilerProperties</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>A key-value map for properties not covered by the above fields.</p></div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:Compiler" class="caption collapser" onclick="toggleSection('i:Compiler')">Instances</p><div id="section.i:Compiler" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Compiler:Eq:1" class="instance expander" onclick="toggleSection('i:id:Compiler:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a></span> <a href="#t:Compiler" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Compiler:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Compiler:Read:2" class="instance expander" onclick="toggleSection('i:id:Compiler:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a></span> <a href="#t:Compiler" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Compiler:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Compiler:Show:3" class="instance expander" onclick="toggleSection('i:id:Compiler:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a></span> <a href="#t:Compiler" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Compiler:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Compiler:Generic:4" class="instance expander" onclick="toggleSection('i:id:Compiler:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a></span> <a href="#t:Compiler" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Compiler:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> x -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Compiler:Binary:5" class="instance expander" onclick="toggleSection('i:id:Compiler:Binary:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a></span> <a href="#t:Compiler" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Compiler:Binary:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Compiler:Rep:6" class="instance expander" onclick="toggleSection('i:id:Compiler:Rep:6')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a></span> <a href="#t:Compiler" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Compiler:Rep:6" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Compiler" "Distribution.Simple.Compiler" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Compiler" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "compilerId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "compilerAbiTag") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "compilerCompat") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a>])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "compilerLanguages") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Language-Haskell-Extension.html#t:Language">Language</a>, <a href="Distribution-Simple-Compiler.html#t:Flag">Flag</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "compilerExtensions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>, <a href="Distribution-Simple-Compiler.html#t:Flag">Flag</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "compilerProperties") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:showCompilerId" class="def">showCompilerId</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:showCompilerId" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:showCompilerIdWithAbi" class="def">showCompilerIdWithAbi</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:showCompilerIdWithAbi" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:compilerFlavor" class="def">compilerFlavor</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="#v:compilerFlavor" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:compilerVersion" class="def">compilerVersion</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:compilerVersion" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:compilerCompatFlavor" class="def">compilerCompatFlavor</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:compilerCompatFlavor" class="selflink">#</a></p><div class="doc"><p>Is this compiler compatible with the compiler flavour we're interested in?</p><p>For example this checks if the compiler is actually GHC or is another- compiler that claims to be compatible with some version of GHC, e.g. GHCJS.</p><pre>if compilerCompatFlavor GHC compiler then ... else ...</pre></div></div><div class="top"><p class="src"><a id="v:compilerCompatVersion" class="def">compilerCompatVersion</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:compilerCompatVersion" class="selflink">#</a></p><div class="doc"><p>Is this compiler compatible with the compiler flavour we're interested in,- and if so what version does it claim to be compatible with.</p><p>For example this checks if the compiler is actually GHC-7.x or is another- compiler that claims to be compatible with some GHC-7.x version.</p><pre>case compilerCompatVersion GHC compiler of- Just (Version (7:_)) -> ...- _ -> ...</pre></div></div><div class="top"><p class="src"><a id="v:compilerInfo" class="def">compilerInfo</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> <a href="#v:compilerInfo" class="selflink">#</a></p></div><h1 id="g:2">Support for package databases</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:PackageDB" class="def">PackageDB</a> <a href="#t:PackageDB" class="selflink">#</a></p><div class="doc"><p>Some compilers have a notion of a database of available packages.- For some there is just one global db of packages, other compilers- support a per-user or an arbitrary db specified at some location in- the file system. This can be used to build isloated environments of- packages, for example to build a collection of related packages- without installing them globally.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:GlobalPackageDB" class="def">GlobalPackageDB</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:UserPackageDB" class="def">UserPackageDB</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:SpecificPackageDB" class="def">SpecificPackageDB</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:PackageDB" class="caption collapser" onclick="toggleSection('i:PackageDB')">Instances</p><div id="section.i:PackageDB" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDB:Eq:1" class="instance expander" onclick="toggleSection('i:id:PackageDB:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a></span> <a href="#t:PackageDB" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDB:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDB:Ord:2" class="instance expander" onclick="toggleSection('i:id:PackageDB:Ord:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a></span> <a href="#t:PackageDB" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDB:Ord:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDB:Read:3" class="instance expander" onclick="toggleSection('i:id:PackageDB:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a></span> <a href="#t:PackageDB" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDB:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDB:Show:4" class="instance expander" onclick="toggleSection('i:id:PackageDB:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a></span> <a href="#t:PackageDB" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDB:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDB:Generic:5" class="instance expander" onclick="toggleSection('i:id:PackageDB:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a></span> <a href="#t:PackageDB" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDB:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> x -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDB:Binary:6" class="instance expander" onclick="toggleSection('i:id:PackageDB:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a></span> <a href="#t:PackageDB" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDB:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDB:Rep:7" class="instance expander" onclick="toggleSection('i:id:PackageDB:Rep:7')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a></span> <a href="#t:PackageDB" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDB:Rep:7" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "PackageDB" "Distribution.Simple.Compiler" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "GlobalPackageDB" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "UserPackageDB" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "SpecificPackageDB" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:PackageDBStack" class="def">PackageDBStack</a> = [<a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a>] <a href="#t:PackageDBStack" class="selflink">#</a></p><div class="doc"><p>We typically get packages from several databases, and stack them- together. This type lets us be explicit about that stacking. For example- typical stacks include:</p><pre>[GlobalPackageDB]-[GlobalPackageDB, UserPackageDB]-[GlobalPackageDB, SpecificPackageDB "package.conf.inplace"]</pre><p>Note that the <code><a href="Distribution-Simple-Compiler.html#v:GlobalPackageDB">GlobalPackageDB</a></code> is invariably at the bottom since it- contains the rts, base and other special compiler-specific packages.</p><p>We are not restricted to using just the above combinations. In particular- we can use several custom package dbs and the user package db together.</p><p>When it comes to writing, the top most (last) package is used.</p></div></div><div class="top"><p class="src"><a id="v:registrationPackageDB" class="def">registrationPackageDB</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> <a href="#v:registrationPackageDB" class="selflink">#</a></p><div class="doc"><p>Return the package that we should register into. This is the package db at- the top of the stack.</p></div></div><div class="top"><p class="src"><a id="v:absolutePackageDBPaths" class="def">absolutePackageDBPaths</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> <a href="#v:absolutePackageDBPaths" class="selflink">#</a></p><div class="doc"><p>Make package paths absolute</p></div></div><div class="top"><p class="src"><a id="v:absolutePackageDBPath" class="def">absolutePackageDBPath</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> <a href="#v:absolutePackageDBPath" class="selflink">#</a></p></div><h1 id="g:3">Support for optimisation levels</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:OptimisationLevel" class="def">OptimisationLevel</a> <a href="#t:OptimisationLevel" class="selflink">#</a></p><div class="doc"><p>Some compilers support optimising. Some have different levels.- For compilers that do not the level is just capped to the level- they do support.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:NoOptimisation" class="def">NoOptimisation</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:NormalOptimisation" class="def">NormalOptimisation</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:MaximumOptimisation" class="def">MaximumOptimisation</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:OptimisationLevel" class="caption collapser" onclick="toggleSection('i:OptimisationLevel')">Instances</p><div id="section.i:OptimisationLevel" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OptimisationLevel:Bounded:1" class="instance expander" onclick="toggleSection('i:id:OptimisationLevel:Bounded:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Bounded">Bounded</a> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a></span> <a href="#t:OptimisationLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OptimisationLevel:Bounded:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:minBound">minBound</a> :: <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> <a href="#v:minBound" class="selflink">#</a></p><p class="src"><a href="#v:maxBound">maxBound</a> :: <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> <a href="#v:maxBound" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OptimisationLevel:Enum:2" class="instance expander" onclick="toggleSection('i:id:OptimisationLevel:Enum:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Enum">Enum</a> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a></span> <a href="#t:OptimisationLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OptimisationLevel:Enum:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:succ">succ</a> :: <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> -> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> <a href="#v:succ" class="selflink">#</a></p><p class="src"><a href="#v:pred">pred</a> :: <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> -> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> <a href="#v:pred" class="selflink">#</a></p><p class="src"><a href="#v:toEnum">toEnum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> <a href="#v:toEnum" class="selflink">#</a></p><p class="src"><a href="#v:fromEnum">fromEnum</a> :: <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:fromEnum" class="selflink">#</a></p><p class="src"><a href="#v:enumFrom">enumFrom</a> :: <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> -> [<a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a>] <a href="#v:enumFrom" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThen">enumFromThen</a> :: <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> -> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> -> [<a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a>] <a href="#v:enumFromThen" class="selflink">#</a></p><p class="src"><a href="#v:enumFromTo">enumFromTo</a> :: <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> -> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> -> [<a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a>] <a href="#v:enumFromTo" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThenTo">enumFromThenTo</a> :: <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> -> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> -> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> -> [<a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a>] <a href="#v:enumFromThenTo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OptimisationLevel:Eq:3" class="instance expander" onclick="toggleSection('i:id:OptimisationLevel:Eq:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a></span> <a href="#t:OptimisationLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OptimisationLevel:Eq:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> -> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> -> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OptimisationLevel:Read:4" class="instance expander" onclick="toggleSection('i:id:OptimisationLevel:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a></span> <a href="#t:OptimisationLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OptimisationLevel:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OptimisationLevel:Show:5" class="instance expander" onclick="toggleSection('i:id:OptimisationLevel:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a></span> <a href="#t:OptimisationLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OptimisationLevel:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OptimisationLevel:Generic:6" class="instance expander" onclick="toggleSection('i:id:OptimisationLevel:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a></span> <a href="#t:OptimisationLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OptimisationLevel:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> x -> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OptimisationLevel:Binary:7" class="instance expander" onclick="toggleSection('i:id:OptimisationLevel:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a></span> <a href="#t:OptimisationLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OptimisationLevel:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OptimisationLevel:Rep:8" class="instance expander" onclick="toggleSection('i:id:OptimisationLevel:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a></span> <a href="#t:OptimisationLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OptimisationLevel:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "OptimisationLevel" "Distribution.Simple.Compiler" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "NoOptimisation" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "NormalOptimisation" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "MaximumOptimisation" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:flagToOptimisationLevel" class="def">flagToOptimisationLevel</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a> <a href="#v:flagToOptimisationLevel" class="selflink">#</a></p></div><h1 id="g:4">Support for debug info levels</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:DebugInfoLevel" class="def">DebugInfoLevel</a> <a href="#t:DebugInfoLevel" class="selflink">#</a></p><div class="doc"><p>Some compilers support emitting debug info. Some have different- levels. For compilers that do not the level is just capped to the- level they do support.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:NoDebugInfo" class="def">NoDebugInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:MinimalDebugInfo" class="def">MinimalDebugInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:NormalDebugInfo" class="def">NormalDebugInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:MaximalDebugInfo" class="def">MaximalDebugInfo</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:DebugInfoLevel" class="caption collapser" onclick="toggleSection('i:DebugInfoLevel')">Instances</p><div id="section.i:DebugInfoLevel" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DebugInfoLevel:Bounded:1" class="instance expander" onclick="toggleSection('i:id:DebugInfoLevel:Bounded:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Bounded">Bounded</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a></span> <a href="#t:DebugInfoLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DebugInfoLevel:Bounded:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:minBound">minBound</a> :: <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> <a href="#v:minBound" class="selflink">#</a></p><p class="src"><a href="#v:maxBound">maxBound</a> :: <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> <a href="#v:maxBound" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DebugInfoLevel:Enum:2" class="instance expander" onclick="toggleSection('i:id:DebugInfoLevel:Enum:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Enum">Enum</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a></span> <a href="#t:DebugInfoLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DebugInfoLevel:Enum:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:succ">succ</a> :: <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> -> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> <a href="#v:succ" class="selflink">#</a></p><p class="src"><a href="#v:pred">pred</a> :: <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> -> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> <a href="#v:pred" class="selflink">#</a></p><p class="src"><a href="#v:toEnum">toEnum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> <a href="#v:toEnum" class="selflink">#</a></p><p class="src"><a href="#v:fromEnum">fromEnum</a> :: <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:fromEnum" class="selflink">#</a></p><p class="src"><a href="#v:enumFrom">enumFrom</a> :: <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> -> [<a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a>] <a href="#v:enumFrom" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThen">enumFromThen</a> :: <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> -> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> -> [<a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a>] <a href="#v:enumFromThen" class="selflink">#</a></p><p class="src"><a href="#v:enumFromTo">enumFromTo</a> :: <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> -> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> -> [<a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a>] <a href="#v:enumFromTo" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThenTo">enumFromThenTo</a> :: <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> -> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> -> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> -> [<a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a>] <a href="#v:enumFromThenTo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DebugInfoLevel:Eq:3" class="instance expander" onclick="toggleSection('i:id:DebugInfoLevel:Eq:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a></span> <a href="#t:DebugInfoLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DebugInfoLevel:Eq:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> -> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> -> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DebugInfoLevel:Read:4" class="instance expander" onclick="toggleSection('i:id:DebugInfoLevel:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a></span> <a href="#t:DebugInfoLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DebugInfoLevel:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DebugInfoLevel:Show:5" class="instance expander" onclick="toggleSection('i:id:DebugInfoLevel:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a></span> <a href="#t:DebugInfoLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DebugInfoLevel:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DebugInfoLevel:Generic:6" class="instance expander" onclick="toggleSection('i:id:DebugInfoLevel:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a></span> <a href="#t:DebugInfoLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DebugInfoLevel:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> x -> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DebugInfoLevel:Binary:7" class="instance expander" onclick="toggleSection('i:id:DebugInfoLevel:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a></span> <a href="#t:DebugInfoLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DebugInfoLevel:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DebugInfoLevel:Rep:8" class="instance expander" onclick="toggleSection('i:id:DebugInfoLevel:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a></span> <a href="#t:DebugInfoLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DebugInfoLevel:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "DebugInfoLevel" "Distribution.Simple.Compiler" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "NoDebugInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "MinimalDebugInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "NormalDebugInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "MaximalDebugInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:flagToDebugInfoLevel" class="def">flagToDebugInfoLevel</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a> <a href="#v:flagToDebugInfoLevel" class="selflink">#</a></p></div><h1 id="g:5">Support for language extensions</h1><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:Flag" class="def">Flag</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#t:Flag" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:languageToFlags" class="def">languageToFlags</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> [<a href="Distribution-Simple-Compiler.html#t:Flag">Flag</a>] <a href="#v:languageToFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:unsupportedLanguages" class="def">unsupportedLanguages</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> [<a href="Language-Haskell-Extension.html#t:Language">Language</a>] -> [<a href="Language-Haskell-Extension.html#t:Language">Language</a>] <a href="#v:unsupportedLanguages" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:extensionsToFlags" class="def">extensionsToFlags</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>] -> [<a href="Distribution-Simple-Compiler.html#t:Flag">Flag</a>] <a href="#v:extensionsToFlags" class="selflink">#</a></p><div class="doc"><p>For the given compiler, return the flags for the supported extensions.</p></div></div><div class="top"><p class="src"><a id="v:unsupportedExtensions" class="def">unsupportedExtensions</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>] -> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>] <a href="#v:unsupportedExtensions" class="selflink">#</a></p><div class="doc"><p>For the given compiler, return the extensions it does not support.</p></div></div><div class="top"><p class="src"><a id="v:parmakeSupported" class="def">parmakeSupported</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:parmakeSupported" class="selflink">#</a></p><div class="doc"><p>Does this compiler support parallel --make mode?</p></div></div><div class="top"><p class="src"><a id="v:reexportedModulesSupported" class="def">reexportedModulesSupported</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:reexportedModulesSupported" class="selflink">#</a></p><div class="doc"><p>Does this compiler support reexported-modules?</p></div></div><div class="top"><p class="src"><a id="v:renamingPackageFlagsSupported" class="def">renamingPackageFlagsSupported</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:renamingPackageFlagsSupported" class="selflink">#</a></p><div class="doc"><p>Does this compiler support thinning/renaming on package flags?</p></div></div><div class="top"><p class="src"><a id="v:unifiedIPIDRequired" class="def">unifiedIPIDRequired</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:unifiedIPIDRequired" class="selflink">#</a></p><div class="doc"><p>Does this compiler have unified IPIDs (so no package keys)</p></div></div><div class="top"><p class="src"><a id="v:packageKeySupported" class="def">packageKeySupported</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:packageKeySupported" class="selflink">#</a></p><div class="doc"><p>Does this compiler support package keys?</p></div></div><div class="top"><p class="src"><a id="v:unitIdSupported" class="def">unitIdSupported</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:unitIdSupported" class="selflink">#</a></p><div class="doc"><p>Does this compiler support unit IDs?</p></div></div><div class="top"><p class="src"><a id="v:coverageSupported" class="def">coverageSupported</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:coverageSupported" class="selflink">#</a></p><div class="doc"><p>Does this compiler support Haskell program coverage?</p></div></div><div class="top"><p class="src"><a id="v:profilingSupported" class="def">profilingSupported</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:profilingSupported" class="selflink">#</a></p><div class="doc"><p>Does this compiler support profiling?</p></div></div><div class="top"><p class="src"><a id="v:backpackSupported" class="def">backpackSupported</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:backpackSupported" class="selflink">#</a></p><div class="doc"><p>Does this compiler support Backpack?</p></div></div><div class="top"><p class="src"><a id="v:libraryDynDirSupported" class="def">libraryDynDirSupported</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:libraryDynDirSupported" class="selflink">#</a></p><div class="doc"><p>Does this compiler support a package database entry with:- "dynamic-library-dirs"?</p></div></div><h1 id="g:6">Support for profiling detail levels</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ProfDetailLevel" class="def">ProfDetailLevel</a> <a href="#t:ProfDetailLevel" class="selflink">#</a></p><div class="doc"><p>Some compilers (notably GHC) support profiling and can instrument- programs so the system can account costs to different functions. There are- different levels of detail that can be used for this accounting.- For compilers that do not support this notion or the particular detail- levels, this is either ignored or just capped to some similar level- they do support.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ProfDetailNone" class="def">ProfDetailNone</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:ProfDetailDefault" class="def">ProfDetailDefault</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:ProfDetailExportedFunctions" class="def">ProfDetailExportedFunctions</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:ProfDetailToplevelFunctions" class="def">ProfDetailToplevelFunctions</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:ProfDetailAllFunctions" class="def">ProfDetailAllFunctions</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:ProfDetailOther" class="def">ProfDetailOther</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:ProfDetailLevel" class="caption collapser" onclick="toggleSection('i:ProfDetailLevel')">Instances</p><div id="section.i:ProfDetailLevel" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProfDetailLevel:Eq:1" class="instance expander" onclick="toggleSection('i:id:ProfDetailLevel:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a></span> <a href="#t:ProfDetailLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProfDetailLevel:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a> -> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a> -> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProfDetailLevel:Read:2" class="instance expander" onclick="toggleSection('i:id:ProfDetailLevel:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a></span> <a href="#t:ProfDetailLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProfDetailLevel:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProfDetailLevel:Show:3" class="instance expander" onclick="toggleSection('i:id:ProfDetailLevel:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a></span> <a href="#t:ProfDetailLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProfDetailLevel:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProfDetailLevel:Generic:4" class="instance expander" onclick="toggleSection('i:id:ProfDetailLevel:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a></span> <a href="#t:ProfDetailLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProfDetailLevel:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a> x -> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProfDetailLevel:Binary:5" class="instance expander" onclick="toggleSection('i:id:ProfDetailLevel:Binary:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a></span> <a href="#t:ProfDetailLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProfDetailLevel:Binary:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProfDetailLevel:Rep:6" class="instance expander" onclick="toggleSection('i:id:ProfDetailLevel:Rep:6')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a></span> <a href="#t:ProfDetailLevel" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProfDetailLevel:Rep:6" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ProfDetailLevel" "Distribution.Simple.Compiler" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ProfDetailNone" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ProfDetailDefault" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ProfDetailExportedFunctions" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ProfDetailToplevelFunctions" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ProfDetailAllFunctions" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ProfDetailOther" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:knownProfDetailLevels" class="def">knownProfDetailLevels</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>], <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a>)] <a href="#v:knownProfDetailLevels" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:flagToProfDetailLevel" class="def">flagToProfDetailLevel</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a> <a href="#v:flagToProfDetailLevel" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:showProfDetailLevel" class="def">showProfDetailLevel</a> :: <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:showProfDetailLevel" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,97 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Configure</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2005</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Configure</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This deals with the <em>configure</em> phase. It provides the <code><a href="Distribution-Simple-Configure.html#v:configure">configure</a></code> action- which is given the package description and configure flags. It then tries- to: configure the compiler; resolves any conditionals in the package- description; resolve the package dependencies; check if all the extensions- used by this package are supported by the compiler; check that all the build- tools are available (including version checks if appropriate); checks for- any required <code>pkg-config</code> packages (updating the <code><a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></code> with the- results)</p><p>Then based on all this it saves the info in the <code><a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code> and writes- it out to the <code>dist/setup-config</code> file. It also displays various details to- the user, the amount of information displayed depending on the verbosity- level.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:configure">configure</a> :: (<a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a>, <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a>) -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></li><li class="src short"><a href="#v:writePersistBuildConfig">writePersistBuildConfig</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> ()</li><li class="src short"><a href="#v:getConfigStateFile">getConfigStateFile</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></li><li class="src short"><a href="#v:getPersistBuildConfig">getPersistBuildConfig</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></li><li class="src short"><a href="#v:checkPersistBuildConfigOutdated">checkPersistBuildConfigOutdated</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:tryGetPersistBuildConfig">tryGetPersistBuildConfig</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="Distribution-Simple-Configure.html#t:ConfigStateFileError">ConfigStateFileError</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a>)</li><li class="src short"><a href="#v:maybeGetPersistBuildConfig">maybeGetPersistBuildConfig</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a>)</li><li class="src short"><a href="#v:findDistPref">findDistPref</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:findDistPrefOrDefault">findDistPrefOrDefault</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:getInternalPackages">getInternalPackages</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>)</li><li class="src short"><a href="#v:computeComponentId">computeComponentId</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> ([<a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>], <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a>) -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></li><li class="src short"><a href="#v:computeCompatPackageKey">computeCompatPackageKey</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:computeCompatPackageName">computeCompatPackageName</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></li><li class="src short"><a href="#v:localBuildInfoFile">localBuildInfoFile</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:getInstalledPackages">getInstalledPackages</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a></li><li class="src short"><a href="#v:getInstalledPackagesMonitorFiles">getInstalledPackagesMonitorFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li class="src short"><a href="#v:getPackageDBContents">getPackageDBContents</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a></li><li class="src short"><a href="#v:configCompiler">configCompiler</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>)</li><li class="src short"><a href="#v:configCompilerAux">configCompilerAux</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>)</li><li class="src short"><a href="#v:configCompilerEx">configCompilerEx</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>, <a href="Distribution-System.html#t:Platform">Platform</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>)</li><li class="src short"><a href="#v:configCompilerAuxEx">configCompilerAuxEx</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>, <a href="Distribution-System.html#t:Platform">Platform</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>)</li><li class="src short"><a href="#v:computeEffectiveProfiling">computeEffectiveProfiling</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)</li><li class="src short"><a href="#v:ccLdOptionsBuildInfo">ccLdOptionsBuildInfo</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></li><li class="src short"><a href="#v:checkForeignDeps">checkForeignDeps</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:interpretPackageDbFlags">interpretPackageDbFlags</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a>] -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:ConfigStateFileError">ConfigStateFileError</a><ul class="subs"><li>= <a href="#v:ConfigStateFileNoHeader">ConfigStateFileNoHeader</a></li><li>| <a href="#v:ConfigStateFileBadHeader">ConfigStateFileBadHeader</a></li><li>| <a href="#v:ConfigStateFileNoParse">ConfigStateFileNoParse</a></li><li>| <a href="#v:ConfigStateFileMissing">ConfigStateFileMissing</a></li><li>| <a href="#v:ConfigStateFileBadVersion">ConfigStateFileBadVersion</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="Distribution-Simple-Configure.html#t:ConfigStateFileError">ConfigStateFileError</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a>)</li></ul></li><li class="src short"><a href="#v:tryGetConfigStateFile">tryGetConfigStateFile</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="Distribution-Simple-Configure.html#t:ConfigStateFileError">ConfigStateFileError</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a>)</li><li class="src short"><a href="#v:platformDefines">platformDefines</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li class="src short"><a href="#v:relaxPackageDeps">relaxPackageDeps</a> :: (<a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>) -> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:configure" class="def">configure</a> :: (<a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a>, <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a>) -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> <a href="#v:configure" class="selflink">#</a></p><div class="doc"><p>Perform the "<code>./setup configure</code>" action.- Returns the <code>.setup-config</code> file.</p></div></div><div class="top"><p class="src"><a id="v:writePersistBuildConfig" class="def">writePersistBuildConfig</a> <a href="#v:writePersistBuildConfig" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>The <code>dist</code> directory path.</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc"><p>The <code><a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code> to write.</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>After running configure, output the <code><a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code> to the- <code><a href="Distribution-Simple-Configure.html#v:localBuildInfoFile">localBuildInfoFile</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:getConfigStateFile" class="def">getConfigStateFile</a> <a href="#v:getConfigStateFile" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>The file path of the <code>setup-config</code> file.</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Read the <code><a href="Distribution-Simple-Configure.html#v:localBuildInfoFile">localBuildInfoFile</a></code>. Throw an exception if the file is- missing, if the file cannot be read, or if the file was created by an older- version of Cabal.</p></div></div><div class="top"><p class="src"><a id="v:getPersistBuildConfig" class="def">getPersistBuildConfig</a> <a href="#v:getPersistBuildConfig" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>The <code>dist</code> directory path.</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Read the <code><a href="Distribution-Simple-Configure.html#v:localBuildInfoFile">localBuildInfoFile</a></code>. Throw an exception if the file is- missing, if the file cannot be read, or if the file was created by an older- version of Cabal.</p></div></div><div class="top"><p class="src"><a id="v:checkPersistBuildConfigOutdated" class="def">checkPersistBuildConfigOutdated</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:checkPersistBuildConfigOutdated" class="selflink">#</a></p><div class="doc"><p>Check that localBuildInfoFile is up-to-date with respect to the- .cabal file.</p></div></div><div class="top"><p class="src"><a id="v:tryGetPersistBuildConfig" class="def">tryGetPersistBuildConfig</a> <a href="#v:tryGetPersistBuildConfig" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>The <code>dist</code> directory path.</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="Distribution-Simple-Configure.html#t:ConfigStateFileError">ConfigStateFileError</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a>)</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Try to read the <code><a href="Distribution-Simple-Configure.html#v:localBuildInfoFile">localBuildInfoFile</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:maybeGetPersistBuildConfig" class="def">maybeGetPersistBuildConfig</a> <a href="#v:maybeGetPersistBuildConfig" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>The <code>dist</code> directory path.</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a>)</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Try to read the <code><a href="Distribution-Simple-Configure.html#v:localBuildInfoFile">localBuildInfoFile</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:findDistPref" class="def">findDistPref</a> <a href="#v:findDistPref" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>default "dist" prefix</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>override "dist" prefix</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Return the "dist/" prefix, or the default prefix. The prefix is taken- from (in order of highest to lowest preference) the override prefix, the- "CABAL_BUILDDIR" environment variable, or the default prefix.</p></div></div><div class="top"><p class="src"><a id="v:findDistPrefOrDefault" class="def">findDistPrefOrDefault</a> <a href="#v:findDistPrefOrDefault" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>override "dist" prefix</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Return the "dist/" prefix, or the default prefix. The prefix is taken- from (in order of highest to lowest preference) the override prefix, the- "CABAL_BUILDDIR" environment variable, or <code><a href="Distribution-Simple-Setup.html#v:defaultDistPref">defaultDistPref</a></code> is used. Call- this function to resolve a <code>*DistPref</code> flag whenever it is not known to be- set. (The <code>*DistPref</code> flags are always set to a definite value before- invoking <code>UserHooks</code>.)</p></div></div><div class="top"><p class="src"><a id="v:getInternalPackages" class="def">getInternalPackages</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>) <a href="#v:getInternalPackages" class="selflink">#</a></p><div class="doc"><p>Create a PackageIndex that makes *any libraries that might be*- defined internally to this package look like installed packages, in- case an executable should refer to any of them as dependencies.</p><p>It must be *any libraries that might be* defined rather than the- actual definitions, because these depend on conditionals in the .cabal- file, and we haven't resolved them yet. finalizePD- does the resolution of conditionals, and it takes internalPackageSet- as part of its input.</p></div></div><div class="top"><p class="src"><a id="v:computeComponentId" class="def">computeComponentId</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> ([<a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>], <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a>) -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="#v:computeComponentId" class="selflink">#</a></p><div class="doc"><p>This method computes a default, "good enough" <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code>- for a package. The intent is that cabal-install (or the user) will- specify a more detailed IPID via the <code>--ipid</code> flag if necessary.</p></div></div><div class="top"><p class="src"><a id="v:computeCompatPackageKey" class="def">computeCompatPackageKey</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:computeCompatPackageKey" class="selflink">#</a></p><div class="doc"><p>In GHC 8.0, the string we pass to GHC to use for symbol- names for a package can be an arbitrary, IPID-compatible string.- However, prior to GHC 8.0 there are some restrictions on what- format this string can be (due to how ghc-pkg parsed the key):</p><ol><li>In GHC 7.10, the string had either be of the form- foo_ABCD, where foo is a non-semantic alphanumeric/hyphenated- prefix and ABCD is two base-64 encoded 64-bit integers,- or a GHC 7.8 style identifier.</li><li>In GHC 7.8, the string had to be a valid package identifier- like foo-0.1.</li></ol><p>So, the problem is that Cabal, in general, has a general IPID,- but needs to figure out a package key / package ID that the- old ghc-pkg will actually accept. But there's an EVERY WORSE- problem: if ghc-pkg decides to parse an identifier foo-0.1-xxx- as if it were a package identifier, which means it will SILENTLY- DROP the "xxx" (because it's a tag, and Cabal does not allow tags.)- So we must CONNIVE to ensure that we don't pick something that- looks like this.</p><p>So this function attempts to define a mapping into the old formats.</p><p>The mapping for GHC 7.8 and before:</p><ul><li>We use the *compatibility* package name and version. For- public libraries this is just the package identifier; for- internal libraries, it's something like "z-pkgname-z-libname-0.1".- See <code><a href="Distribution-Simple-Configure.html#v:computeCompatPackageName">computeCompatPackageName</a></code> for more details.</li></ul><p>The mapping for GHC 7.10:</p><ul><li><p>For CLibName:- If the IPID is of the form foo-0.1-ABCDEF where foo_ABCDEF would- validly parse as a package key, we pass <a href="ABCDEF.html">ABCDEF</a>. (NB: not- all hashes parse this way, because GHC 7.10 mandated that- these hashes be two base-62 encoded 64 bit integers),- but hashes that Cabal generated using <code><a href="Distribution-Simple-Configure.html#v:computeComponentId">computeComponentId</a></code>- are guaranteed to have this form.</p><p>If it is not of this form, we rehash the IPID into the-correct form and pass that.</p></li><li>For sub-components, we rehash the IPID into the correct format- and pass that.</li></ul></div></div><div class="top"><p class="src"><a id="v:computeCompatPackageName" class="def">computeCompatPackageName</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> <a href="#v:computeCompatPackageName" class="selflink">#</a></p><div class="doc"><p>Computes the package name for a library. If this is the public- library, it will just be the original package name; otherwise,- it will be a munged package name recording the original package- name as well as the name of the internal library.</p><p>A lot of tooling in the Haskell ecosystem assumes that if something- is installed to the package database with the package name <code>foo</code>,- then it actually is an entry for the (only public) library in package- <code>foo</code>. With internal packages, this is not necessarily true:- a public library as well as arbitrarily many internal libraries may- come from the same package. To prevent tools from getting confused- in this case, the package name of these internal libraries is munged- so that they do not conflict the public library proper. A particular- case where this matters is ghc-pkg: if we don't munge the package- name, the inplace registration will OVERRIDE a different internal- library.</p><p>We munge into a reserved namespace, "z-", and encode both the- component name and the package name of an internal library using the- following format:</p><p>compat-pkg-name ::= "z-" package-name "-z-" library-name</p><p>where package-name and library-name have "-" ( "z" + ) "-"- segments encoded by adding an extra "z".</p><p>When we have the public library, the compat-pkg-name is just the- package-name, no surprises there!</p></div></div><div class="top"><p class="src"><a id="v:localBuildInfoFile" class="def">localBuildInfoFile</a> <a href="#v:localBuildInfoFile" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>The <code>dist</code> directory path.</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Get the path of <code>dist/setup-config</code>.</p></div></div><div class="top"><p class="src"><a id="v:getInstalledPackages" class="def">getInstalledPackages</a> <a href="#v:getInstalledPackages" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a></td><td class="doc"><p>The stack of package databases.</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>List all installed packages in the given package databases.</p></div></div><div class="top"><p class="src"><a id="v:getInstalledPackagesMonitorFiles" class="def">getInstalledPackagesMonitorFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] <a href="#v:getInstalledPackagesMonitorFiles" class="selflink">#</a></p><div class="doc"><p>A set of files (or directories) that can be monitored to detect when- there might have been a change in the installed packages.</p></div></div><div class="top"><p class="src"><a id="v:getPackageDBContents" class="def">getPackageDBContents</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> <a href="#v:getPackageDBContents" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Distribution-Simple-Configure.html#v:getInstalledPackages">getInstalledPackages</a></code>, but for a single package DB.</p><p>NB: Why isn't this always a fall through to <code><a href="Distribution-Simple-Configure.html#v:getInstalledPackages">getInstalledPackages</a></code>?- That is because <code><a href="Distribution-Simple-Configure.html#v:getInstalledPackages">getInstalledPackages</a></code> performs some sanity checks- on the package database stack in question. However, when sandboxes- are involved these sanity checks are not desirable.</p></div></div><div class="top"><p class="src"><a id="v:configCompiler" class="def">configCompiler</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>) <a href="#v:configCompiler" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: <code><a href="Distribution-Simple-Configure.html#v:configCompiler">configCompiler</a></code> is deprecated. Use <code><a href="Distribution-Simple-Configure.html#v:configCompilerEx">configCompilerEx</a></code> instead.</p></div></div></div><div class="top"><p class="src"><a id="v:configCompilerAux" class="def">configCompilerAux</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>) <a href="#v:configCompilerAux" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: configCompilerAux is deprecated. Use <code><a href="Distribution-Simple-Configure.html#v:configCompilerAuxEx">configCompilerAuxEx</a></code> instead.</p></div></div></div><div class="top"><p class="src"><a id="v:configCompilerEx" class="def">configCompilerEx</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>, <a href="Distribution-System.html#t:Platform">Platform</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>) <a href="#v:configCompilerEx" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:configCompilerAuxEx" class="def">configCompilerAuxEx</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>, <a href="Distribution-System.html#t:Platform">Platform</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>) <a href="#v:configCompilerAuxEx" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:computeEffectiveProfiling" class="def">computeEffectiveProfiling</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) <a href="#v:computeEffectiveProfiling" class="selflink">#</a></p><div class="doc"><p>Compute the effective value of the profiling flags- <code>--enable-library-profiling</code> and <code>--enable-executable-profiling</code>- from the specified <code><a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a></code>. This may be useful for- external Cabal tools which need to interact with Setup in- a backwards-compatible way: the most predictable mechanism- for enabling profiling across many legacy versions is to- NOT use <code>--enable-profiling</code> and use those two flags instead.</p><p>Note that <code>--enable-executable-profiling</code> also affects profiling- of benchmarks and (non-detailed) test suites.</p></div></div><div class="top"><p class="src"><a id="v:ccLdOptionsBuildInfo" class="def">ccLdOptionsBuildInfo</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:ccLdOptionsBuildInfo" class="selflink">#</a></p><div class="doc"><p>Makes a <code><a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></code> from C compiler and linker flags.</p><p>This can be used with the output from configuration programs like pkg-config- and similar package-specific programs like mysql-config, freealut-config etc.- For example:</p><pre>ccflags <- getDbProgramOutput verbosity prog progdb ["--cflags"]-ldflags <- getDbProgramOutput verbosity prog progdb ["--libs"]-return (ccldOptionsBuildInfo (words ccflags) (words ldflags))</pre></div></div><div class="top"><p class="src"><a id="v:checkForeignDeps" class="def">checkForeignDeps</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:checkForeignDeps" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:interpretPackageDbFlags" class="def">interpretPackageDbFlags</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a>] -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> <a href="#v:interpretPackageDbFlags" class="selflink">#</a></p><div class="doc"><p>The user interface specifies the package dbs to use with a combination of- <code>--global</code>, <code>--user</code> and <code>--package-db=global|user|clear|$file</code>.- This function combines the global/user flag and interprets the package-db- flag into a single package db stack.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ConfigStateFileError" class="def">ConfigStateFileError</a> <a href="#t:ConfigStateFileError" class="selflink">#</a></p><div class="doc"><p>The errors that can be thrown when reading the <code>setup-config</code> file.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ConfigStateFileNoHeader" class="def">ConfigStateFileNoHeader</a></td><td class="doc"><p>No header found.</p></td></tr><tr><td class="src"><a id="v:ConfigStateFileBadHeader" class="def">ConfigStateFileBadHeader</a></td><td class="doc"><p>Incorrect header.</p></td></tr><tr><td class="src"><a id="v:ConfigStateFileNoParse" class="def">ConfigStateFileNoParse</a></td><td class="doc"><p>Cannot parse file contents.</p></td></tr><tr><td class="src"><a id="v:ConfigStateFileMissing" class="def">ConfigStateFileMissing</a></td><td class="doc"><p>No file!</p></td></tr><tr><td class="src"><a id="v:ConfigStateFileBadVersion" class="def">ConfigStateFileBadVersion</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="Distribution-Simple-Configure.html#t:ConfigStateFileError">ConfigStateFileError</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a>)</td><td class="doc"><p>Mismatched version.</p></td></tr></table></div><div class="subs instances"><p id="control.i:ConfigStateFileError" class="caption collapser" onclick="toggleSection('i:ConfigStateFileError')">Instances</p><div id="section.i:ConfigStateFileError" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfigStateFileError:Show:1" class="instance expander" onclick="toggleSection('i:id:ConfigStateFileError:Show:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Configure.html#t:ConfigStateFileError">ConfigStateFileError</a></span> <a href="#t:ConfigStateFileError" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfigStateFileError:Show:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Configure.html#t:ConfigStateFileError">ConfigStateFileError</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Configure.html#t:ConfigStateFileError">ConfigStateFileError</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Configure.html#t:ConfigStateFileError">ConfigStateFileError</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfigStateFileError:Exception:2" class="instance expander" onclick="toggleSection('i:id:ConfigStateFileError:Exception:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Exception-Base.html#t:Exception">Exception</a> <a href="Distribution-Simple-Configure.html#t:ConfigStateFileError">ConfigStateFileError</a></span> <a href="#t:ConfigStateFileError" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfigStateFileError:Exception:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:toException">toException</a> :: <a href="Distribution-Simple-Configure.html#t:ConfigStateFileError">ConfigStateFileError</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Exception-Base.html#t:SomeException">SomeException</a> <a href="#v:toException" class="selflink">#</a></p><p class="src"><a href="#v:fromException">fromException</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Exception-Base.html#t:SomeException">SomeException</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Configure.html#t:ConfigStateFileError">ConfigStateFileError</a> <a href="#v:fromException" class="selflink">#</a></p><p class="src"><a href="#v:displayException">displayException</a> :: <a href="Distribution-Simple-Configure.html#t:ConfigStateFileError">ConfigStateFileError</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:displayException" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:tryGetConfigStateFile" class="def">tryGetConfigStateFile</a> <a href="#v:tryGetConfigStateFile" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>The file path of the <code>setup-config</code> file.</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="Distribution-Simple-Configure.html#t:ConfigStateFileError">ConfigStateFileError</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a>)</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Read the <code><a href="Distribution-Simple-Configure.html#v:localBuildInfoFile">localBuildInfoFile</a></code>, returning either an error or the local build- info.</p></div></div><div class="top"><p class="src"><a id="v:platformDefines" class="def">platformDefines</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#v:platformDefines" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:relaxPackageDeps" class="def">relaxPackageDeps</a> :: (<a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>) -> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:relaxPackageDeps" class="selflink">#</a></p><div class="doc"><p>Relax the dependencies of this package if needed.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Doctest</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Moritz Angermann 2017</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Doctest</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module deals with the <code>doctest</code> command.</p></div></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:doctest" class="def">doctest</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>] -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:doctest" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,29 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.GHC</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2007</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.GHC</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Constructing GHC environment files</a></li><li><a href="#g:2">Version-specific implementation quirks</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This is a fairly large module. It contains most of the GHC-specific code for- configuring, building and installing packages. It also exports a function- for finding out what packages are already installed. Configuring involves- finding the <code>ghc</code> and <code>ghc-pkg</code> programs, finding what language extensions- this version of ghc supports and returning a <code><a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a></code> value.</p><p><code><a href="Distribution-Simple-GHC.html#v:getInstalledPackages">getInstalledPackages</a></code> involves calling the <code>ghc-pkg</code> program to find out- what packages are installed.</p><p>Building is somewhat complex as there is quite a bit of information to take- into account. We have to build libs and programs, possibly for profiling and- shared libs. We have to support building libraries that will be usable by- GHCi and also ghc's <code>-split-objs</code> feature. We have to compile any C files- using ghc. Linking, especially for <code>split-objs</code> is remarkably complex,- partly because there tend to be 1,000's of <code>.o</code> files and this can often be- more than we can pass to the <code>ld</code> or <code>ar</code> programs in one go.</p><p>Installing for libs and exes involves finding the right files and copying- them to the right places. One of the more tricky things about this module is- remembering the layout of files in the build directory (which is not- explicitly documented) and thus what search dirs are used for various kinds- of files.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:getGhcInfo">getGhcInfo</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</li><li class="src short"><a href="#v:configure">configure</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-System.html#t:Platform">Platform</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>)</li><li class="src short"><a href="#v:getInstalledPackages">getInstalledPackages</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a></li><li class="src short"><a href="#v:getInstalledPackagesMonitorFiles">getInstalledPackagesMonitorFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> [<a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li class="src short"><a href="#v:getPackageDBContents">getPackageDBContents</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a></li><li class="src short"><a href="#v:buildLib">buildLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:buildFLib">buildFLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:buildExe">buildExe</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:replLib">replLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:replFLib">replFLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:replExe">replExe</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:startInterpreter">startInterpreter</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:installLib">installLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:installFLib">installFLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:installExe">installExe</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:libAbiHash">libAbiHash</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:hcPkgInfo">hcPkgInfo</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a></li><li class="src short"><a href="#v:registerPackage">registerPackage</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-Program-HcPkg.html#t:RegisterOptions">RegisterOptions</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:componentGhcOptions">componentGhcOptions</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a></li><li class="src short"><a href="#v:componentCcGhcOptions">componentCcGhcOptions</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a></li><li class="src short"><a href="#v:getLibDir">getLibDir</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:isDynamic">isDynamic</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:getGlobalPackageDB">getGlobalPackageDB</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:pkgRoot">pkgRoot</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:GhcEnvironmentFileEntry">GhcEnvironmentFileEntry</a><ul class="subs"><li>= <a href="#v:GhcEnvFileComment">GhcEnvFileComment</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li>| <a href="#v:GhcEnvFilePackageId">GhcEnvFilePackageId</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li>| <a href="#v:GhcEnvFilePackageDb">GhcEnvFilePackageDb</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a></li><li>| <a href="#v:GhcEnvFileClearPackageDbStack">GhcEnvFileClearPackageDbStack</a></li></ul></li><li class="src short"><a href="#v:simpleGhcEnvironmentFile">simpleGhcEnvironmentFile</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>] -> [<a href="Distribution-Simple-GHC.html#t:GhcEnvironmentFileEntry">GhcEnvironmentFileEntry</a>]</li><li class="src short"><a href="#v:writeGhcEnvironmentFile">writeGhcEnvironmentFile</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Version.html#t:Version">Version</a> -> [<a href="Distribution-Simple-GHC.html#t:GhcEnvironmentFileEntry">GhcEnvironmentFileEntry</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> ()</li><li class="src short"><a href="#v:getImplInfo">getImplInfo</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Simple-GHC.html#t:GhcImplInfo">GhcImplInfo</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:GhcImplInfo">GhcImplInfo</a> = <a href="#v:GhcImplInfo">GhcImplInfo</a> {<ul class="subs"><li><a href="#v:supportsHaskell2010">supportsHaskell2010</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:reportsNoExt">reportsNoExt</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:alwaysNondecIndent">alwaysNondecIndent</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:flagGhciScript">flagGhciScript</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:flagProfAuto">flagProfAuto</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:flagPackageConf">flagPackageConf</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:flagDebugInfo">flagDebugInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:supportsDebugLevels">supportsDebugLevels</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:supportsPkgEnvFiles">supportsPkgEnvFiles</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:flagWarnMissingHomeModules">flagWarnMissingHomeModules</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul>}</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:getGhcInfo" class="def">getGhcInfo</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)] <a href="#v:getGhcInfo" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:configure" class="def">configure</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-System.html#t:Platform">Platform</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>) <a href="#v:configure" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getInstalledPackages" class="def">getInstalledPackages</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> <a href="#v:getInstalledPackages" class="selflink">#</a></p><div class="doc"><p>Given a package DB stack, return all installed packages.</p></div></div><div class="top"><p class="src"><a id="v:getInstalledPackagesMonitorFiles" class="def">getInstalledPackagesMonitorFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> [<a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] <a href="#v:getInstalledPackagesMonitorFiles" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getPackageDBContents" class="def">getPackageDBContents</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> <a href="#v:getPackageDBContents" class="selflink">#</a></p><div class="doc"><p>Given a single package DB, return all installed packages.</p></div></div><div class="top"><p class="src"><a id="v:buildLib" class="def">buildLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:buildLib" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:buildFLib" class="def">buildFLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:buildFLib" class="selflink">#</a></p><div class="doc"><p>Build a foreign library</p></div></div><div class="top"><p class="src"><a id="v:buildExe" class="def">buildExe</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:buildExe" class="selflink">#</a></p><div class="doc"><p>Build an executable with GHC.</p></div></div><div class="top"><p class="src"><a id="v:replLib" class="def">replLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:replLib" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:replFLib" class="def">replFLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:replFLib" class="selflink">#</a></p><div class="doc"><p>Build a foreign library</p></div></div><div class="top"><p class="src"><a id="v:replExe" class="def">replExe</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:replExe" class="selflink">#</a></p><div class="doc"><p>Build an executable with GHC.</p></div></div><div class="top"><p class="src"><a id="v:startInterpreter" class="def">startInterpreter</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:startInterpreter" class="selflink">#</a></p><div class="doc"><p>Start a REPL without loading any source files.</p></div></div><div class="top"><p class="src"><a id="v:installLib" class="def">installLib</a> <a href="#v:installLib" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>install location</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>install location for dynamic libraries</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Build location</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-Library.html#t:Library">Library</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Install for ghc, .hi, .a and, if --with-ghci given, .o</p></div></div><div class="top"><p class="src"><a id="v:installFLib" class="def">installFLib</a> <a href="#v:installFLib" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>install location</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Build location</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Install foreign library for GHC.</p></div></div><div class="top"><p class="src"><a id="v:installExe" class="def">installExe</a> <a href="#v:installExe" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Where to copy the files to</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Build location</p></td></tr><tr><td class="src">-> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)</td><td class="doc"><p>Executable (prefix,suffix)</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Install executables for GHC.</p></div></div><div class="top"><p class="src"><a id="v:libAbiHash" class="def">libAbiHash</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:libAbiHash" class="selflink">#</a></p><div class="doc"><p>Extracts a String representing a hash of the ABI of a built- library. It can fail if the library has not yet been built.</p></div></div><div class="top"><p class="src"><a id="v:hcPkgInfo" class="def">hcPkgInfo</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> <a href="#v:hcPkgInfo" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:registerPackage" class="def">registerPackage</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-Program-HcPkg.html#t:RegisterOptions">RegisterOptions</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:registerPackage" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:componentGhcOptions" class="def">componentGhcOptions</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> <a href="#v:componentGhcOptions" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:componentCcGhcOptions" class="def">componentCcGhcOptions</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> <a href="#v:componentCcGhcOptions" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getLibDir" class="def">getLibDir</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:getLibDir" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:isDynamic" class="def">isDynamic</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isDynamic" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getGlobalPackageDB" class="def">getGlobalPackageDB</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:getGlobalPackageDB" class="selflink">#</a></p><div class="doc"><p>Return the <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></code> to the global GHC package database.</p></div></div><div class="top"><p class="src"><a id="v:pkgRoot" class="def">pkgRoot</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:pkgRoot" class="selflink">#</a></p></div><h1 id="g:1">Constructing GHC environment files</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:GhcEnvironmentFileEntry" class="def">GhcEnvironmentFileEntry</a> <a href="#t:GhcEnvironmentFileEntry" class="selflink">#</a></p><div class="doc"><p>The kinds of entries we can stick in a <code>.ghc.environment</code> file.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:GhcEnvFileComment" class="def">GhcEnvFileComment</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><pre>-- a comment</pre></td></tr><tr><td class="src"><a id="v:GhcEnvFilePackageId" class="def">GhcEnvFilePackageId</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></td><td class="doc"><pre>package-id foo-1.0-4fe301a...</pre></td></tr><tr><td class="src"><a id="v:GhcEnvFilePackageDb" class="def">GhcEnvFilePackageDb</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a></td><td class="doc"><p><code>global-package-db</code>,- <code>user-package-db</code> or- <code>package-db blah<em>package.conf.d</em></code></p></td></tr><tr><td class="src"><a id="v:GhcEnvFileClearPackageDbStack" class="def">GhcEnvFileClearPackageDbStack</a></td><td class="doc"><pre>clear-package-db</pre></td></tr></table></div></div><div class="top"><p class="src"><a id="v:simpleGhcEnvironmentFile" class="def">simpleGhcEnvironmentFile</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>] -> [<a href="Distribution-Simple-GHC.html#t:GhcEnvironmentFileEntry">GhcEnvironmentFileEntry</a>] <a href="#v:simpleGhcEnvironmentFile" class="selflink">#</a></p><div class="doc"><p>Make entries for a GHC environment file based on a <code><a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a></code> and- a bunch of package (unit) ids.</p><p>If you need to do anything more complicated then either use this as a basis- and add more entries, or just make all the entries directly.</p></div></div><div class="top"><p class="src"><a id="v:writeGhcEnvironmentFile" class="def">writeGhcEnvironmentFile</a> <a href="#v:writeGhcEnvironmentFile" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>directory in which to put it</p></td></tr><tr><td class="src">-> <a href="Distribution-System.html#t:Platform">Platform</a></td><td class="doc"><p>the GHC target platform</p></td></tr><tr><td class="src">-> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc"><p>the GHC version</p></td></tr><tr><td class="src">-> [<a href="Distribution-Simple-GHC.html#t:GhcEnvironmentFileEntry">GhcEnvironmentFileEntry</a>]</td><td class="doc"><p>the content</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Write a <code>.ghc.environment-$arch-$os-$ver</code> file in the given directory.</p><p>The <code><a href="Distribution-System.html#t:Platform">Platform</a></code> and GHC <code><a href="Distribution-Version.html#t:Version">Version</a></code> are needed as part of the file name.</p></div></div><h1 id="g:2">Version-specific implementation quirks</h1><div class="top"><p class="src"><a id="v:getImplInfo" class="def">getImplInfo</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Simple-GHC.html#t:GhcImplInfo">GhcImplInfo</a> <a href="#v:getImplInfo" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:GhcImplInfo" class="def">GhcImplInfo</a> <a href="#t:GhcImplInfo" class="selflink">#</a></p><div class="doc"><p>Information about features and quirks of a GHC-based implementation.</p><p>Compiler flavors based on GHC behave similarly enough that some of- the support code for them is shared. Every implementation has its- own peculiarities, that may or may not be a direct result of the- underlying GHC version. This record keeps track of these differences.</p><p>All shared code (i.e. everything not in the Distribution.Simple.FLAVOR- module) should use implementation info rather than version numbers- to test for supported features.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:GhcImplInfo" class="def">GhcImplInfo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:supportsHaskell2010" class="def">supportsHaskell2010</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><ul><li>XHaskell2010 and -XHaskell98 flags</li></ul></div></li><li><dfn class="src"><a id="v:reportsNoExt" class="def">reportsNoExt</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><ul><li>-supported-languages gives Ext and NoExt</li></ul></div></li><li><dfn class="src"><a id="v:alwaysNondecIndent" class="def">alwaysNondecIndent</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>NondecreasingIndentation is always on</p></div></li><li><dfn class="src"><a id="v:flagGhciScript" class="def">flagGhciScript</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><ul><li>ghci-script flag supported</li></ul></div></li><li><dfn class="src"><a id="v:flagProfAuto" class="def">flagProfAuto</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>new style -fprof-auto* flags</p></div></li><li><dfn class="src"><a id="v:flagPackageConf" class="def">flagPackageConf</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>use package-conf instead of package-db</p></div></li><li><dfn class="src"><a id="v:flagDebugInfo" class="def">flagDebugInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><ul><li>g flag supported</li></ul></div></li><li><dfn class="src"><a id="v:supportsDebugLevels" class="def">supportsDebugLevels</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>supports numeric <code>-g</code> levels</p></div></li><li><dfn class="src"><a id="v:supportsPkgEnvFiles" class="def">supportsPkgEnvFiles</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>picks up <code>.ghc.environment</code> files</p></div></li><li><dfn class="src"><a id="v:flagWarnMissingHomeModules" class="def">flagWarnMissingHomeModules</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><ul><li>Wmissing-home-modules is supported</li></ul></div></li></ul></div></td></tr></table></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,6 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.GHCJS</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.GHCJS</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:configure">configure</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-System.html#t:Platform">Platform</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>)</li><li class="src short"><a href="#v:getInstalledPackages">getInstalledPackages</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a></li><li class="src short"><a href="#v:getPackageDBContents">getPackageDBContents</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a></li><li class="src short"><a href="#v:buildLib">buildLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:buildExe">buildExe</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:replLib">replLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:replExe">replExe</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:startInterpreter">startInterpreter</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:installLib">installLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:installExe">installExe</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:libAbiHash">libAbiHash</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:hcPkgInfo">hcPkgInfo</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a></li><li class="src short"><a href="#v:registerPackage">registerPackage</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-Program-HcPkg.html#t:RegisterOptions">RegisterOptions</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:componentGhcOptions">componentGhcOptions</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a></li><li class="src short"><a href="#v:getLibDir">getLibDir</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:isDynamic">isDynamic</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:getGlobalPackageDB">getGlobalPackageDB</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:runCmd">runCmd</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:configure" class="def">configure</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-System.html#t:Platform">Platform</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>) <a href="#v:configure" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getInstalledPackages" class="def">getInstalledPackages</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> <a href="#v:getInstalledPackages" class="selflink">#</a></p><div class="doc"><p>Given a package DB stack, return all installed packages.</p></div></div><div class="top"><p class="src"><a id="v:getPackageDBContents" class="def">getPackageDBContents</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> <a href="#v:getPackageDBContents" class="selflink">#</a></p><div class="doc"><p>Given a single package DB, return all installed packages.</p></div></div><div class="top"><p class="src"><a id="v:buildLib" class="def">buildLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:buildLib" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:buildExe" class="def">buildExe</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:buildExe" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:replLib" class="def">replLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:replLib" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:replExe" class="def">replExe</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:replExe" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:startInterpreter" class="def">startInterpreter</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:startInterpreter" class="selflink">#</a></p><div class="doc"><p>Start a REPL without loading any source files.</p></div></div><div class="top"><p class="src"><a id="v:installLib" class="def">installLib</a> <a href="#v:installLib" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>install location</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>install location for dynamic libraries</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Build location</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-Library.html#t:Library">Library</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Install for ghc, .hi, .a and, if --with-ghci given, .o</p></div></div><div class="top"><p class="src"><a id="v:installExe" class="def">installExe</a> <a href="#v:installExe" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Where to copy the files to</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Build location</p></td></tr><tr><td class="src">-> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)</td><td class="doc"><p>Executable (prefix,suffix)</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div></div><div class="top"><p class="src"><a id="v:libAbiHash" class="def">libAbiHash</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:libAbiHash" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:hcPkgInfo" class="def">hcPkgInfo</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> <a href="#v:hcPkgInfo" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:registerPackage" class="def">registerPackage</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-Program-HcPkg.html#t:RegisterOptions">RegisterOptions</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:registerPackage" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:componentGhcOptions" class="def">componentGhcOptions</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> <a href="#v:componentGhcOptions" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getLibDir" class="def">getLibDir</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:getLibDir" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:isDynamic" class="def">isDynamic</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isDynamic" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getGlobalPackageDB" class="def">getGlobalPackageDB</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:getGlobalPackageDB" class="selflink">#</a></p><div class="doc"><p>Return the <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></code> to the global GHC package database.</p></div></div><div class="top"><p class="src"><a id="v:runCmd" class="def">runCmd</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]) <a href="#v:runCmd" class="selflink">#</a></p><div class="doc"><p>Get the JavaScript file name and command and arguments to run a- program compiled by GHCJS- the exe should be the base program name without exe extension</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,8 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Haddock</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2005</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Haddock</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module deals with the <code>haddock</code> and <code>hscolour</code> commands.- It uses information about installed packages (from <code>ghc-pkg</code>) to find the- locations of documentation for dependent packages, so it can create links.</p><p>The <code>hscolour</code> support allows generating HTML versions of the original- source, with coloured syntax highlighting.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:haddock">haddock</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>] -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:hscolour">hscolour</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>] -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:haddockPackagePaths">haddockPackagePaths</a> :: [<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> ([(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)], <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:haddock" class="def">haddock</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>] -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:haddock" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:hscolour" class="def">hscolour</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>] -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:hscolour" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:haddockPackagePaths" class="def">haddockPackagePaths</a> :: [<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> ([(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)], <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>) <a href="#v:haddockPackagePaths" class="selflink">#</a></p><div class="doc"><p>Given a list of <code><a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></code>s, return a list of interfaces and- HTML paths, and an optional warning for packages with missing documentation.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.HaskellSuite</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.HaskellSuite</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:configure" class="def">configure</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-System.html#t:Platform">Platform</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>) <a href="#v:configure" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:hstoolVersion" class="def">hstoolVersion</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>) <a href="#v:hstoolVersion" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:numericVersion" class="def">numericVersion</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>) <a href="#v:numericVersion" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getCompilerVersion" class="def">getCompilerVersion</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="Distribution-Version.html#t:Version">Version</a>) <a href="#v:getCompilerVersion" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getExtensions" class="def">getExtensions</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [(<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>, <a href="Distribution-Simple-Compiler.html#t:Flag">Flag</a>)] <a href="#v:getExtensions" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getLanguages" class="def">getLanguages</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [(<a href="Language-Haskell-Extension.html#t:Language">Language</a>, <a href="Distribution-Simple-Compiler.html#t:Flag">Flag</a>)] <a href="#v:getLanguages" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getInstalledPackages" class="def">getInstalledPackages</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> <a href="#v:getInstalledPackages" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:buildLib" class="def">buildLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:buildLib" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:installLib" class="def">installLib</a> <a href="#v:installLib" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>install location</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>install location for dynamic libraries</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Build location</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-Library.html#t:Library">Library</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div></div><div class="top"><p class="src"><a id="v:registerPackage" class="def">registerPackage</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:registerPackage" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:initPackageDB" class="def">initPackageDB</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:initPackageDB" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:packageDbOpt" class="def">packageDbOpt</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:packageDbOpt" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,7 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Hpc</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Thomas Tuegel 2011</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Hpc</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module provides functions for locating various HPC-related paths and- a function for adding the necessary options to a PackageDescription to- build test suites with HPC enabled.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:Way">Way</a><ul class="subs"><li>= <a href="#v:Vanilla">Vanilla</a></li><li>| <a href="#v:Prof">Prof</a></li><li>| <a href="#v:Dyn">Dyn</a></li></ul></li><li class="src short"><a href="#v:guessWay">guessWay</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a></li><li class="src short"><a href="#v:htmlDir">htmlDir</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:mixDir">mixDir</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:tixDir">tixDir</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:tixFilePath">tixFilePath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:markupPackage">markupPackage</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> [<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:markupTest">markupTest</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Way" class="def">Way</a> <a href="#t:Way" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Vanilla" class="def">Vanilla</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Prof" class="def">Prof</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Dyn" class="def">Dyn</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Way" class="caption collapser" onclick="toggleSection('i:Way')">Instances</p><div id="section.i:Way" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Way:Bounded:1" class="instance expander" onclick="toggleSection('i:id:Way:Bounded:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Bounded">Bounded</a> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a></span> <a href="#t:Way" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Way:Bounded:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:minBound">minBound</a> :: <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> <a href="#v:minBound" class="selflink">#</a></p><p class="src"><a href="#v:maxBound">maxBound</a> :: <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> <a href="#v:maxBound" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Way:Enum:2" class="instance expander" onclick="toggleSection('i:id:Way:Enum:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Enum">Enum</a> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a></span> <a href="#t:Way" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Way:Enum:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:succ">succ</a> :: <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> -> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> <a href="#v:succ" class="selflink">#</a></p><p class="src"><a href="#v:pred">pred</a> :: <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> -> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> <a href="#v:pred" class="selflink">#</a></p><p class="src"><a href="#v:toEnum">toEnum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> <a href="#v:toEnum" class="selflink">#</a></p><p class="src"><a href="#v:fromEnum">fromEnum</a> :: <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:fromEnum" class="selflink">#</a></p><p class="src"><a href="#v:enumFrom">enumFrom</a> :: <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> -> [<a href="Distribution-Simple-Hpc.html#t:Way">Way</a>] <a href="#v:enumFrom" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThen">enumFromThen</a> :: <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> -> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> -> [<a href="Distribution-Simple-Hpc.html#t:Way">Way</a>] <a href="#v:enumFromThen" class="selflink">#</a></p><p class="src"><a href="#v:enumFromTo">enumFromTo</a> :: <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> -> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> -> [<a href="Distribution-Simple-Hpc.html#t:Way">Way</a>] <a href="#v:enumFromTo" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThenTo">enumFromThenTo</a> :: <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> -> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> -> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> -> [<a href="Distribution-Simple-Hpc.html#t:Way">Way</a>] <a href="#v:enumFromThenTo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Way:Eq:3" class="instance expander" onclick="toggleSection('i:id:Way:Eq:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a></span> <a href="#t:Way" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Way:Eq:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> -> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> -> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Way:Read:4" class="instance expander" onclick="toggleSection('i:id:Way:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a></span> <a href="#t:Way" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Way:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-Hpc.html#t:Way">Way</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-Hpc.html#t:Way">Way</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Way:Show:5" class="instance expander" onclick="toggleSection('i:id:Way:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a></span> <a href="#t:Way" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Way:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Hpc.html#t:Way">Way</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:guessWay" class="def">guessWay</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a> <a href="#v:guessWay" class="selflink">#</a></p><div class="doc"><p>Attempt to guess the way the test suites in this package were compiled- and linked with the library so the correct module interfaces are found.</p></div></div><div class="top"><p class="src"><a id="v:htmlDir" class="def">htmlDir</a> <a href="#v:htmlDir" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>"dist/" prefix</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Component name</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Path to test suite's HTML markup directory</p></td></tr></table></div></div><div class="top"><p class="src"><a id="v:mixDir" class="def">mixDir</a> <a href="#v:mixDir" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>"dist/" prefix</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Component name</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Directory containing test suite's .mix files</p></td></tr></table></div></div><div class="top"><p class="src"><a id="v:tixDir" class="def">tixDir</a> <a href="#v:tixDir" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>"dist/" prefix</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Component name</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Directory containing test suite's .tix files</p></td></tr></table></div></div><div class="top"><p class="src"><a id="v:tixFilePath" class="def">tixFilePath</a> <a href="#v:tixFilePath" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>"dist/" prefix</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Hpc.html#t:Way">Way</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Component name</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Path to test suite's .tix file</p></td></tr></table></div><div class="doc"><p>Path to the .tix file containing a test suite's sum statistics.</p></div></div><div class="top"><p class="src"><a id="v:markupPackage" class="def">markupPackage</a> <a href="#v:markupPackage" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>"dist/" prefix</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>Library name</p></td></tr><tr><td class="src">-> [<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a>]</td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Generate the HTML markup for all of a package's test suites.</p></div></div><div class="top"><p class="src"><a id="v:markupTest" class="def">markupTest</a> <a href="#v:markupTest" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>"dist/" prefix</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>Library name</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Generate the HTML markup for a test suite.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,9 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Install</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2004</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Install</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This is the entry point into installing a built package. Performs the- "<code>./setup install</code>" and "<code>./setup copy</code>" actions. It moves files into- place based on the prefix argument. It does the generic bits and then calls- compiler-specific functions to do the rest.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:install">install</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:install" class="def">install</a> <a href="#v:install" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc"><p>information from the .cabal file</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc"><p>information from the configure step</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a></td><td class="doc"><p>flags sent to copy or install</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Perform the "<code>./setup install</code>" and "<code>./setup copy</code>"- actions. Move files into place based on the prefix argument.</p><p>This does NOT register libraries, you should call <code>register</code>- to do that.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,40 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.InstallDirs</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2004</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.InstallDirs</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This manages everything to do with where files get installed (though does- not get involved with actually doing any installation). It provides an- <code><a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a></code> type which is a set of directories for where to install- things. It also handles the fact that we use templates in these install- dirs. For example most install dirs are relative to some <code>$prefix</code> and by- changing the prefix all other dirs still end up changed appropriately. So it- provides a <code><a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></code> type and functions for substituting for these- templates.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:InstallDirs">InstallDirs</a> dir = <a href="#v:InstallDirs">InstallDirs</a> {<ul class="subs"><li><a href="#v:prefix">prefix</a> :: dir</li><li><a href="#v:bindir">bindir</a> :: dir</li><li><a href="#v:libdir">libdir</a> :: dir</li><li><a href="#v:libsubdir">libsubdir</a> :: dir</li><li><a href="#v:dynlibdir">dynlibdir</a> :: dir</li><li><a href="#v:flibdir">flibdir</a> :: dir</li><li><a href="#v:libexecdir">libexecdir</a> :: dir</li><li><a href="#v:libexecsubdir">libexecsubdir</a> :: dir</li><li><a href="#v:includedir">includedir</a> :: dir</li><li><a href="#v:datadir">datadir</a> :: dir</li><li><a href="#v:datasubdir">datasubdir</a> :: dir</li><li><a href="#v:docdir">docdir</a> :: dir</li><li><a href="#v:mandir">mandir</a> :: dir</li><li><a href="#v:htmldir">htmldir</a> :: dir</li><li><a href="#v:haddockdir">haddockdir</a> :: dir</li><li><a href="#v:sysconfdir">sysconfdir</a> :: dir</li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:InstallDirTemplates">InstallDirTemplates</a> = <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></li><li class="src short"><a href="#v:defaultInstallDirs">defaultInstallDirs</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirTemplates">InstallDirTemplates</a></li><li class="src short"><a href="#v:defaultInstallDirs-39-">defaultInstallDirs'</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirTemplates">InstallDirTemplates</a></li><li class="src short"><a href="#v:combineInstallDirs">combineInstallDirs</a> :: (a -> b -> c) -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> a -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> b -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> c</li><li class="src short"><a href="#v:absoluteInstallDirs">absoluteInstallDirs</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> -> <a href="Distribution-Simple-InstallDirs.html#t:CopyDest">CopyDest</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:CopyDest">CopyDest</a><ul class="subs"><li>= <a href="#v:NoCopyDest">NoCopyDest</a></li><li>| <a href="#v:CopyTo">CopyTo</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li></ul></li><li class="src short"><a href="#v:prefixRelativeInstallDirs">prefixRelativeInstallDirs</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirTemplates">InstallDirTemplates</a> -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)</li><li class="src short"><a href="#v:substituteInstallDirTemplates">substituteInstallDirTemplates</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateEnv">PathTemplateEnv</a> -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirTemplates">InstallDirTemplates</a> -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirTemplates">InstallDirTemplates</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:PathTemplate">PathTemplate</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:PathTemplateVariable">PathTemplateVariable</a><ul class="subs"><li>= <a href="#v:PrefixVar">PrefixVar</a></li><li>| <a href="#v:BindirVar">BindirVar</a></li><li>| <a href="#v:LibdirVar">LibdirVar</a></li><li>| <a href="#v:LibsubdirVar">LibsubdirVar</a></li><li>| <a href="#v:DynlibdirVar">DynlibdirVar</a></li><li>| <a href="#v:DatadirVar">DatadirVar</a></li><li>| <a href="#v:DatasubdirVar">DatasubdirVar</a></li><li>| <a href="#v:DocdirVar">DocdirVar</a></li><li>| <a href="#v:HtmldirVar">HtmldirVar</a></li><li>| <a href="#v:PkgNameVar">PkgNameVar</a></li><li>| <a href="#v:PkgVerVar">PkgVerVar</a></li><li>| <a href="#v:PkgIdVar">PkgIdVar</a></li><li>| <a href="#v:LibNameVar">LibNameVar</a></li><li>| <a href="#v:CompilerVar">CompilerVar</a></li><li>| <a href="#v:OSVar">OSVar</a></li><li>| <a href="#v:ArchVar">ArchVar</a></li><li>| <a href="#v:AbiVar">AbiVar</a></li><li>| <a href="#v:AbiTagVar">AbiTagVar</a></li><li>| <a href="#v:ExecutableNameVar">ExecutableNameVar</a></li><li>| <a href="#v:TestSuiteNameVar">TestSuiteNameVar</a></li><li>| <a href="#v:TestSuiteResultVar">TestSuiteResultVar</a></li><li>| <a href="#v:BenchmarkNameVar">BenchmarkNameVar</a></li></ul></li><li class="src short"><span class="keyword">type</span> <a href="#t:PathTemplateEnv">PathTemplateEnv</a> = [(<a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a>, <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>)]</li><li class="src short"><a href="#v:toPathTemplate">toPathTemplate</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></li><li class="src short"><a href="#v:fromPathTemplate">fromPathTemplate</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:combinePathTemplate">combinePathTemplate</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></li><li class="src short"><a href="#v:substPathTemplate">substPathTemplate</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateEnv">PathTemplateEnv</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></li><li class="src short"><a href="#v:initialPathTemplateEnv">initialPathTemplateEnv</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateEnv">PathTemplateEnv</a></li><li class="src short"><a href="#v:platformTemplateEnv">platformTemplateEnv</a> :: <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateEnv">PathTemplateEnv</a></li><li class="src short"><a href="#v:compilerTemplateEnv">compilerTemplateEnv</a> :: <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateEnv">PathTemplateEnv</a></li><li class="src short"><a href="#v:packageTemplateEnv">packageTemplateEnv</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateEnv">PathTemplateEnv</a></li><li class="src short"><a href="#v:abiTemplateEnv">abiTemplateEnv</a> :: <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateEnv">PathTemplateEnv</a></li><li class="src short"><a href="#v:installDirsTemplateEnv">installDirsTemplateEnv</a> :: <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateEnv">PathTemplateEnv</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:InstallDirs" class="def">InstallDirs</a> dir <a href="#t:InstallDirs" class="selflink">#</a></p><div class="doc"><p>The directories where we will install files for packages.</p><p>We have several different directories for different types of files since- many systems have conventions whereby different types of files in a package- are installed in different directories. This is particularly the case on- Unix style systems.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:InstallDirs" class="def">InstallDirs</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:prefix" class="def">prefix</a> :: dir</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:bindir" class="def">bindir</a> :: dir</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:libdir" class="def">libdir</a> :: dir</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:libsubdir" class="def">libsubdir</a> :: dir</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:dynlibdir" class="def">dynlibdir</a> :: dir</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:flibdir" class="def">flibdir</a> :: dir</dfn><div class="doc"><p>foreign libraries</p></div></li><li><dfn class="src"><a id="v:libexecdir" class="def">libexecdir</a> :: dir</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:libexecsubdir" class="def">libexecsubdir</a> :: dir</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:includedir" class="def">includedir</a> :: dir</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:datadir" class="def">datadir</a> :: dir</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:datasubdir" class="def">datasubdir</a> :: dir</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:docdir" class="def">docdir</a> :: dir</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:mandir" class="def">mandir</a> :: dir</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:htmldir" class="def">htmldir</a> :: dir</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:haddockdir" class="def">haddockdir</a> :: dir</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:sysconfdir" class="def">sysconfdir</a> :: dir</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:InstallDirs" class="caption collapser" onclick="toggleSection('i:InstallDirs')">Instances</p><div id="section.i:InstallDirs" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstallDirs:Functor:1" class="instance expander" onclick="toggleSection('i:id:InstallDirs:Functor:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor.html#t:Functor">Functor</a> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a></span> <a href="#t:InstallDirs" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstallDirs:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -> b) -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> a -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(<$)</a> :: a -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> b -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstallDirs:Eq:2" class="instance expander" onclick="toggleSection('i:id:InstallDirs:Eq:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> dir => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir)</span> <a href="#t:InstallDirs" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstallDirs:Eq:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstallDirs:Read:3" class="instance expander" onclick="toggleSection('i:id:InstallDirs:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> dir => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> (<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir)</span> <a href="#t:InstallDirs" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstallDirs:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> (<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir) <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> (<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir) <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstallDirs:Show:4" class="instance expander" onclick="toggleSection('i:id:InstallDirs:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> dir => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir)</span> <a href="#t:InstallDirs" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstallDirs:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstallDirs:Generic:5" class="instance expander" onclick="toggleSection('i:id:InstallDirs:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> (<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir)</span> <a href="#t:InstallDirs" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstallDirs:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir) :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir) x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir) x -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstallDirs:Semigroup:6" class="instance expander" onclick="toggleSection('i:id:InstallDirs:Semigroup:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> dir => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir)</span> <a href="#t:InstallDirs" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstallDirs:Semigroup:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir) -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstallDirs:Monoid:7" class="instance expander" onclick="toggleSection('i:id:InstallDirs:Monoid:7')"></span> (<a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> dir, <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> dir) => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir)</span> <a href="#t:InstallDirs" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstallDirs:Monoid:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir] -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstallDirs:Binary:8" class="instance expander" onclick="toggleSection('i:id:InstallDirs:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> dir => <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> (<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir)</span> <a href="#t:InstallDirs" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstallDirs:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> (<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir) <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstallDirs:Rep:9" class="instance expander" onclick="toggleSection('i:id:InstallDirs:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir)</span> <a href="#t:InstallDirs" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstallDirs:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> dir) = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "InstallDirs" "Distribution.Simple.InstallDirs" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "InstallDirs" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "prefix") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> dir)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "bindir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> dir))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "libdir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> dir)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "libsubdir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> dir)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "dynlibdir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> dir)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "flibdir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> dir))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "libexecdir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> dir)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "libexecsubdir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> dir))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "includedir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> dir)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "datadir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> dir))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "datasubdir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> dir)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "docdir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> dir)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "mandir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> dir)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "htmldir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> dir))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "haddockdir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> dir)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "sysconfdir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> dir)))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:InstallDirTemplates" class="def">InstallDirTemplates</a> = <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> <a href="#t:InstallDirTemplates" class="selflink">#</a></p><div class="doc"><p>The installation directories in terms of <code><a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></code>s that contain- variables.</p><p>The defaults for most of the directories are relative to each other, in- particular they are all relative to a single prefix. This makes it- convenient for the user to override the default installation directory- by only having to specify --prefix=... rather than overriding each- individually. This is done by allowing $-style variables in the dirs.- These are expanded by textual substitution (see <code><a href="Distribution-Simple-InstallDirs.html#v:substPathTemplate">substPathTemplate</a></code>).</p><p>A few of these installation directories are split into two components, the- dir and subdir. The full installation path is formed by combining the two- together with <code>/</code>. The reason for this is compatibility with other Unix- build systems which also support <code>--libdir</code> and <code>--datadir</code>. We would like- users to be able to configure <code>--libdir=/usr/lib64</code> for example but- because by default we want to support installing multiple versions of- packages and building the same package for multiple compilers we append the- libsubdir to get: <code>/usr/lib64/$libname/$compiler</code>.</p><p>An additional complication is the need to support relocatable packages on- systems which support such things, like Windows.</p></div></div><div class="top"><p class="src"><a id="v:defaultInstallDirs" class="def">defaultInstallDirs</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirTemplates">InstallDirTemplates</a> <a href="#v:defaultInstallDirs" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:defaultInstallDirs-39-" class="def">defaultInstallDirs'</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirTemplates">InstallDirTemplates</a> <a href="#v:defaultInstallDirs-39-" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:combineInstallDirs" class="def">combineInstallDirs</a> :: (a -> b -> c) -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> a -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> b -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> c <a href="#v:combineInstallDirs" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:absoluteInstallDirs" class="def">absoluteInstallDirs</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> -> <a href="Distribution-Simple-InstallDirs.html#t:CopyDest">CopyDest</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:absoluteInstallDirs" class="selflink">#</a></p><div class="doc"><p>Convert from abstract install directories to actual absolute ones by- substituting for all the variables in the abstract paths, to get real- absolute path.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:CopyDest" class="def">CopyDest</a> <a href="#t:CopyDest" class="selflink">#</a></p><div class="doc"><p>The location prefix for the <em>copy</em> command.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:NoCopyDest" class="def">NoCopyDest</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CopyTo" class="def">CopyTo</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:CopyDest" class="caption collapser" onclick="toggleSection('i:CopyDest')">Instances</p><div id="section.i:CopyDest" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CopyDest:Eq:1" class="instance expander" onclick="toggleSection('i:id:CopyDest:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-InstallDirs.html#t:CopyDest">CopyDest</a></span> <a href="#t:CopyDest" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CopyDest:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-InstallDirs.html#t:CopyDest">CopyDest</a> -> <a href="Distribution-Simple-InstallDirs.html#t:CopyDest">CopyDest</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-InstallDirs.html#t:CopyDest">CopyDest</a> -> <a href="Distribution-Simple-InstallDirs.html#t:CopyDest">CopyDest</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CopyDest:Show:2" class="instance expander" onclick="toggleSection('i:id:CopyDest:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-InstallDirs.html#t:CopyDest">CopyDest</a></span> <a href="#t:CopyDest" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CopyDest:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-InstallDirs.html#t:CopyDest">CopyDest</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-InstallDirs.html#t:CopyDest">CopyDest</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-InstallDirs.html#t:CopyDest">CopyDest</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:prefixRelativeInstallDirs" class="def">prefixRelativeInstallDirs</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirTemplates">InstallDirTemplates</a> -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) <a href="#v:prefixRelativeInstallDirs" class="selflink">#</a></p><div class="doc"><p>Check which of the paths are relative to the installation $prefix.</p><p>If any of the paths are not relative, ie they are absolute paths, then it- prevents us from making a relocatable package (also known as a "prefix- independent" package).</p></div></div><div class="top"><p class="src"><a id="v:substituteInstallDirTemplates" class="def">substituteInstallDirTemplates</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateEnv">PathTemplateEnv</a> -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirTemplates">InstallDirTemplates</a> -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirTemplates">InstallDirTemplates</a> <a href="#v:substituteInstallDirTemplates" class="selflink">#</a></p><div class="doc"><p>Substitute the install dir templates into each other.</p><p>To prevent cyclic substitutions, only some variables are allowed in- particular dir templates. If out of scope vars are present, they are not- substituted for. Checking for any remaining unsubstituted vars can be done- as a subsequent operation.</p><p>The reason it is done this way is so that in <code><a href="Distribution-Simple-InstallDirs.html#v:prefixRelativeInstallDirs">prefixRelativeInstallDirs</a></code> we- can replace <code><a href="Distribution-Simple-InstallDirs.html#v:prefix">prefix</a></code> with the <code><a href="Distribution-Simple-InstallDirs.html#v:PrefixVar">PrefixVar</a></code> and get resulting- <code><a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></code>s that still have the <code><a href="Distribution-Simple-InstallDirs.html#v:PrefixVar">PrefixVar</a></code> in them. Doing this makes it- each to check which paths are relative to the $prefix.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:PathTemplate" class="def">PathTemplate</a> <a href="#t:PathTemplate" class="selflink">#</a></p><div class="doc"><p>An abstract path, possibly containing variables that need to be- substituted for to get a real <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></code>.</p></div><div class="subs instances"><p id="control.i:PathTemplate" class="caption collapser" onclick="toggleSection('i:PathTemplate')">Instances</p><div id="section.i:PathTemplate" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PathTemplate:Eq:1" class="instance expander" onclick="toggleSection('i:id:PathTemplate:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></span> <a href="#t:PathTemplate" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PathTemplate:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PathTemplate:Ord:2" class="instance expander" onclick="toggleSection('i:id:PathTemplate:Ord:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></span> <a href="#t:PathTemplate" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PathTemplate:Ord:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PathTemplate:Read:3" class="instance expander" onclick="toggleSection('i:id:PathTemplate:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></span> <a href="#t:PathTemplate" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PathTemplate:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PathTemplate:Show:4" class="instance expander" onclick="toggleSection('i:id:PathTemplate:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></span> <a href="#t:PathTemplate" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PathTemplate:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PathTemplate:Generic:5" class="instance expander" onclick="toggleSection('i:id:PathTemplate:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></span> <a href="#t:PathTemplate" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PathTemplate:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> x -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PathTemplate:Binary:6" class="instance expander" onclick="toggleSection('i:id:PathTemplate:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></span> <a href="#t:PathTemplate" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PathTemplate:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PathTemplate:Rep:7" class="instance expander" onclick="toggleSection('i:id:PathTemplate:Rep:7')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></span> <a href="#t:PathTemplate" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PathTemplate:Rep:7" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:PathTemplateVariable" class="def">PathTemplateVariable</a> <a href="#t:PathTemplateVariable" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:PrefixVar" class="def">PrefixVar</a></td><td class="doc"><p>The <code>$prefix</code> path variable</p></td></tr><tr><td class="src"><a id="v:BindirVar" class="def">BindirVar</a></td><td class="doc"><p>The <code>$bindir</code> path variable</p></td></tr><tr><td class="src"><a id="v:LibdirVar" class="def">LibdirVar</a></td><td class="doc"><p>The <code>$libdir</code> path variable</p></td></tr><tr><td class="src"><a id="v:LibsubdirVar" class="def">LibsubdirVar</a></td><td class="doc"><p>The <code>$libsubdir</code> path variable</p></td></tr><tr><td class="src"><a id="v:DynlibdirVar" class="def">DynlibdirVar</a></td><td class="doc"><p>The <code>$dynlibdir</code> path variable</p></td></tr><tr><td class="src"><a id="v:DatadirVar" class="def">DatadirVar</a></td><td class="doc"><p>The <code>$datadir</code> path variable</p></td></tr><tr><td class="src"><a id="v:DatasubdirVar" class="def">DatasubdirVar</a></td><td class="doc"><p>The <code>$datasubdir</code> path variable</p></td></tr><tr><td class="src"><a id="v:DocdirVar" class="def">DocdirVar</a></td><td class="doc"><p>The <code>$docdir</code> path variable</p></td></tr><tr><td class="src"><a id="v:HtmldirVar" class="def">HtmldirVar</a></td><td class="doc"><p>The <code>$htmldir</code> path variable</p></td></tr><tr><td class="src"><a id="v:PkgNameVar" class="def">PkgNameVar</a></td><td class="doc"><p>The <code>$pkg</code> package name path variable</p></td></tr><tr><td class="src"><a id="v:PkgVerVar" class="def">PkgVerVar</a></td><td class="doc"><p>The <code>$version</code> package version path variable</p></td></tr><tr><td class="src"><a id="v:PkgIdVar" class="def">PkgIdVar</a></td><td class="doc"><p>The <code>$pkgid</code> package Id path variable, eg <code>foo-1.0</code></p></td></tr><tr><td class="src"><a id="v:LibNameVar" class="def">LibNameVar</a></td><td class="doc"><p>The <code>$libname</code> path variable</p></td></tr><tr><td class="src"><a id="v:CompilerVar" class="def">CompilerVar</a></td><td class="doc"><p>The compiler name and version, eg <code>ghc-6.6.1</code></p></td></tr><tr><td class="src"><a id="v:OSVar" class="def">OSVar</a></td><td class="doc"><p>The operating system name, eg <code>windows</code> or <code>linux</code></p></td></tr><tr><td class="src"><a id="v:ArchVar" class="def">ArchVar</a></td><td class="doc"><p>The CPU architecture name, eg <code>i386</code> or <code>x86_64</code></p></td></tr><tr><td class="src"><a id="v:AbiVar" class="def">AbiVar</a></td><td class="doc"><p>The Compiler's ABI identifier, $arch-$os-$compiler-$abitag</p></td></tr><tr><td class="src"><a id="v:AbiTagVar" class="def">AbiTagVar</a></td><td class="doc"><p>The optional ABI tag for the compiler</p></td></tr><tr><td class="src"><a id="v:ExecutableNameVar" class="def">ExecutableNameVar</a></td><td class="doc"><p>The executable name; used in shell wrappers</p></td></tr><tr><td class="src"><a id="v:TestSuiteNameVar" class="def">TestSuiteNameVar</a></td><td class="doc"><p>The name of the test suite being run</p></td></tr><tr><td class="src"><a id="v:TestSuiteResultVar" class="def">TestSuiteResultVar</a></td><td class="doc"><p>The result of the test suite being run, eg- <code>pass</code>, <code>fail</code>, or <code>error</code>.</p></td></tr><tr><td class="src"><a id="v:BenchmarkNameVar" class="def">BenchmarkNameVar</a></td><td class="doc"><p>The name of the benchmark being run</p></td></tr></table></div><div class="subs instances"><p id="control.i:PathTemplateVariable" class="caption collapser" onclick="toggleSection('i:PathTemplateVariable')">Instances</p><div id="section.i:PathTemplateVariable" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PathTemplateVariable:Eq:1" class="instance expander" onclick="toggleSection('i:id:PathTemplateVariable:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a></span> <a href="#t:PathTemplateVariable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PathTemplateVariable:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PathTemplateVariable:Ord:2" class="instance expander" onclick="toggleSection('i:id:PathTemplateVariable:Ord:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a></span> <a href="#t:PathTemplateVariable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PathTemplateVariable:Ord:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PathTemplateVariable:Read:3" class="instance expander" onclick="toggleSection('i:id:PathTemplateVariable:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a></span> <a href="#t:PathTemplateVariable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PathTemplateVariable:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PathTemplateVariable:Show:4" class="instance expander" onclick="toggleSection('i:id:PathTemplateVariable:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a></span> <a href="#t:PathTemplateVariable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PathTemplateVariable:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PathTemplateVariable:Generic:5" class="instance expander" onclick="toggleSection('i:id:PathTemplateVariable:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a></span> <a href="#t:PathTemplateVariable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PathTemplateVariable:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> x -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PathTemplateVariable:Binary:6" class="instance expander" onclick="toggleSection('i:id:PathTemplateVariable:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a></span> <a href="#t:PathTemplateVariable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PathTemplateVariable:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PathTemplateVariable:Rep:7" class="instance expander" onclick="toggleSection('i:id:PathTemplateVariable:Rep:7')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a></span> <a href="#t:PathTemplateVariable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PathTemplateVariable:Rep:7" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "PathTemplateVariable" "Distribution.Simple.InstallDirs" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PrefixVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BindirVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "LibdirVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "LibsubdirVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DynlibdirVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DatadirVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DatasubdirVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DocdirVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "HtmldirVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PkgNameVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PkgVerVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PkgIdVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "LibNameVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CompilerVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "OSVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ArchVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "AbiVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "AbiTagVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ExecutableNameVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TestSuiteNameVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TestSuiteResultVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BenchmarkNameVar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:PathTemplateEnv" class="def">PathTemplateEnv</a> = [(<a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">PathTemplateVariable</a>, <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>)] <a href="#t:PathTemplateEnv" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:toPathTemplate" class="def">toPathTemplate</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> <a href="#v:toPathTemplate" class="selflink">#</a></p><div class="doc"><p>Convert a <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></code> to a <code><a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></code> including any template vars.</p></div></div><div class="top"><p class="src"><a id="v:fromPathTemplate" class="def">fromPathTemplate</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:fromPathTemplate" class="selflink">#</a></p><div class="doc"><p>Convert back to a path, any remaining vars are included</p></div></div><div class="top"><p class="src"><a id="v:combinePathTemplate" class="def">combinePathTemplate</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> <a href="#v:combinePathTemplate" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:substPathTemplate" class="def">substPathTemplate</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateEnv">PathTemplateEnv</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> <a href="#v:substPathTemplate" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:initialPathTemplateEnv" class="def">initialPathTemplateEnv</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateEnv">PathTemplateEnv</a> <a href="#v:initialPathTemplateEnv" class="selflink">#</a></p><div class="doc"><p>The initial environment has all the static stuff but no paths</p></div></div><div class="top"><p class="src"><a id="v:platformTemplateEnv" class="def">platformTemplateEnv</a> :: <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateEnv">PathTemplateEnv</a> <a href="#v:platformTemplateEnv" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:compilerTemplateEnv" class="def">compilerTemplateEnv</a> :: <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateEnv">PathTemplateEnv</a> <a href="#v:compilerTemplateEnv" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:packageTemplateEnv" class="def">packageTemplateEnv</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateEnv">PathTemplateEnv</a> <a href="#v:packageTemplateEnv" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:abiTemplateEnv" class="def">abiTemplateEnv</a> :: <a href="Distribution-Compiler.html#t:CompilerInfo">CompilerInfo</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateEnv">PathTemplateEnv</a> <a href="#v:abiTemplateEnv" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:installDirsTemplateEnv" class="def">installDirsTemplateEnv</a> :: <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplateEnv">PathTemplateEnv</a> <a href="#v:installDirsTemplateEnv" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,7 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.JHC</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2006</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.JHC</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module contains most of the JHC-specific code for configuring, building- and installing packages.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:configure">configure</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-System.html#t:Platform">Platform</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>)</li><li class="src short"><a href="#v:getInstalledPackages">getInstalledPackages</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a></li><li class="src short"><a href="#v:buildLib">buildLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:buildExe">buildExe</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:installLib">installLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:installExe">installExe</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:configure" class="def">configure</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-System.html#t:Platform">Platform</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>) <a href="#v:configure" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getInstalledPackages" class="def">getInstalledPackages</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> <a href="#v:getInstalledPackages" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:buildLib" class="def">buildLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:buildLib" class="selflink">#</a></p><div class="doc"><p>Building a package for JHC.- Currently C source files are not supported.</p></div></div><div class="top"><p class="src"><a id="v:buildExe" class="def">buildExe</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:buildExe" class="selflink">#</a></p><div class="doc"><p>Building an executable for JHC.- Currently C source files are not supported.</p></div></div><div class="top"><p class="src"><a id="v:installLib" class="def">installLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:installLib" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:installExe" class="def">installExe</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:installExe" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,19 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.LHC</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2007</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.LHC</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This is a fairly large module. It contains most of the GHC-specific code for- configuring, building and installing packages. It also exports a function- for finding out what packages are already installed. Configuring involves- finding the <code>ghc</code> and <code>ghc-pkg</code> programs, finding what language extensions- this version of ghc supports and returning a <code><a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a></code> value.</p><p><code><a href="Distribution-Simple-LHC.html#v:getInstalledPackages">getInstalledPackages</a></code> involves calling the <code>ghc-pkg</code> program to find out- what packages are installed.</p><p>Building is somewhat complex as there is quite a bit of information to take- into account. We have to build libs and programs, possibly for profiling and- shared libs. We have to support building libraries that will be usable by- GHCi and also ghc's <code>-split-objs</code> feature. We have to compile any C files- using ghc. Linking, especially for <code>split-objs</code> is remarkably complex,- partly because there tend to be 1,000's of <code>.o</code> files and this can often be- more than we can pass to the <code>ld</code> or <code>ar</code> programs in one go.</p><p>Installing for libs and exes involves finding the right files and copying- them to the right places. One of the more tricky things about this module is- remembering the layout of files in the build directory (which is not- explicitly documented) and thus what search dirs are used for various kinds- of files.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:configure">configure</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-System.html#t:Platform">Platform</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>)</li><li class="src short"><a href="#v:getInstalledPackages">getInstalledPackages</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a></li><li class="src short"><a href="#v:buildLib">buildLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:buildExe">buildExe</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:installLib">installLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:installExe">installExe</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:registerPackage">registerPackage</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-Program-HcPkg.html#t:RegisterOptions">RegisterOptions</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:hcPkgInfo">hcPkgInfo</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a></li><li class="src short"><a href="#v:ghcOptions">ghcOptions</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li class="src short"><a href="#v:ghcVerbosityOptions">ghcVerbosityOptions</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:configure" class="def">configure</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-System.html#t:Platform">Platform</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>) <a href="#v:configure" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getInstalledPackages" class="def">getInstalledPackages</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> <a href="#v:getInstalledPackages" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:buildLib" class="def">buildLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:buildLib" class="selflink">#</a></p><div class="doc"><p>Build a library with LHC.</p></div></div><div class="top"><p class="src"><a id="v:buildExe" class="def">buildExe</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:buildExe" class="selflink">#</a></p><div class="doc"><p>Build an executable with LHC.</p></div></div><div class="top"><p class="src"><a id="v:installLib" class="def">installLib</a> <a href="#v:installLib" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>install location</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>install location for dynamic libraries</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Build location</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-Library.html#t:Library">Library</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Install for ghc, .hi, .a and, if --with-ghci given, .o</p></div></div><div class="top"><p class="src"><a id="v:installExe" class="def">installExe</a> <a href="#v:installExe" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Where to copy the files to</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Build location</p></td></tr><tr><td class="src">-> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)</td><td class="doc"><p>Executable (prefix,suffix)</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Install executables for GHC.</p></div></div><div class="top"><p class="src"><a id="v:registerPackage" class="def">registerPackage</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-Program-HcPkg.html#t:RegisterOptions">RegisterOptions</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:registerPackage" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:hcPkgInfo" class="def">hcPkgInfo</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> <a href="#v:hcPkgInfo" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:ghcOptions" class="def">ghcOptions</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#v:ghcOptions" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:ghcVerbosityOptions" class="def">ghcVerbosityOptions</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#v:ghcVerbosityOptions" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,154 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.LocalBuildInfo</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2004</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.LocalBuildInfo</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Buildable package components</a></li><li><a href="#g:2">Installation directories</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Once a package has been configured we have resolved conditionals and- dependencies, configured the compiler and other needed external programs.- The <code><a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code> is used to hold all this information. It holds the- install dirs, the compiler, the exact package dependencies, the configured- programs, the package database to use and a bunch of miscellaneous configure- flags. It gets saved and reloaded from a file (<code>dist/setup-config</code>). It gets- passed in to very many subsequent build actions.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:LocalBuildInfo">LocalBuildInfo</a> = <a href="#v:LocalBuildInfo">LocalBuildInfo</a> {<ul class="subs"><li><a href="#v:configFlags">configFlags</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a></li><li><a href="#v:flagAssignment">flagAssignment</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a></li><li><a href="#v:componentEnabledSpec">componentEnabledSpec</a> :: <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a></li><li><a href="#v:extraConfigArgs">extraConfigArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:installDirTemplates">installDirTemplates</a> :: <a href="Distribution-Simple-InstallDirs.html#t:InstallDirTemplates">InstallDirTemplates</a></li><li><a href="#v:compiler">compiler</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a></li><li><a href="#v:hostPlatform">hostPlatform</a> :: <a href="Distribution-System.html#t:Platform">Platform</a></li><li><a href="#v:buildDir">buildDir</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:componentGraph">componentGraph</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></li><li><a href="#v:componentNameMap">componentNameMap</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> [<a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>]</li><li><a href="#v:installedPkgs">installedPkgs</a> :: <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a></li><li><a href="#v:pkgDescrFile">pkgDescrFile</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:localPkgDescr">localPkgDescr</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></li><li><a href="#v:withPrograms">withPrograms</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></li><li><a href="#v:withPackageDB">withPackageDB</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a></li><li><a href="#v:withVanillaLib">withVanillaLib</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:withProfLib">withProfLib</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:withSharedLib">withSharedLib</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:withDynExe">withDynExe</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:withProfExe">withProfExe</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:withProfLibDetail">withProfLibDetail</a> :: <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a></li><li><a href="#v:withProfExeDetail">withProfExeDetail</a> :: <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a></li><li><a href="#v:withOptimization">withOptimization</a> :: <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a></li><li><a href="#v:withDebugInfo">withDebugInfo</a> :: <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a></li><li><a href="#v:withGHCiLib">withGHCiLib</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:splitObjs">splitObjs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:stripExes">stripExes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:stripLibs">stripLibs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:exeCoverage">exeCoverage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:libCoverage">libCoverage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:progPrefix">progPrefix</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></li><li><a href="#v:progSuffix">progSuffix</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></li><li><a href="#v:relocatable">relocatable</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul>}</li><li class="src short"><a href="#v:externalPackageDeps">externalPackageDeps</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]</li><li class="src short"><a href="#v:localComponentId">localComponentId</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></li><li class="src short"><a href="#v:localUnitId">localUnitId</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li class="src short"><a href="#v:localCompatPackageKey">localCompatPackageKey</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:Component">Component</a><ul class="subs"><li>= <a href="#v:CLib">CLib</a> <a href="Distribution-Types-Library.html#t:Library">Library</a></li><li>| <a href="#v:CFLib">CFLib</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a></li><li>| <a href="#v:CExe">CExe</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a></li><li>| <a href="#v:CTest">CTest</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a></li><li>| <a href="#v:CBench">CBench</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:ComponentName">ComponentName</a><ul class="subs"><li>= <a href="#v:CLibName">CLibName</a></li><li>| <a href="#v:CSubLibName">CSubLibName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li>| <a href="#v:CFLibName">CFLibName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li>| <a href="#v:CExeName">CExeName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li>| <a href="#v:CTestName">CTestName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li>| <a href="#v:CBenchName">CBenchName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li></ul></li><li class="src short"><a href="#v:defaultLibName">defaultLibName</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a></li><li class="src short"><a href="#v:showComponentName">showComponentName</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:componentNameString">componentNameString</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a><ul class="subs"><li>= <a href="#v:LibComponentLocalBuildInfo">LibComponentLocalBuildInfo</a> { <ul class="subs"><li><a href="#v:componentLocalName">componentLocalName</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a></li><li><a href="#v:componentComponentId">componentComponentId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></li><li><a href="#v:componentUnitId">componentUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li><a href="#v:componentIsIndefinite_">componentIsIndefinite_</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:componentInstantiatedWith">componentInstantiatedWith</a> :: [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>)]</li><li><a href="#v:componentPackageDeps">componentPackageDeps</a> :: [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]</li><li><a href="#v:componentIncludes">componentIncludes</a> :: [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]</li><li><a href="#v:componentExeDeps">componentExeDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</li><li><a href="#v:componentInternalDeps">componentInternalDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</li><li><a href="#v:componentCompatPackageKey">componentCompatPackageKey</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:componentCompatPackageName">componentCompatPackageName</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></li><li><a href="#v:componentExposedModules">componentExposedModules</a> :: [<a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a>]</li><li><a href="#v:componentIsPublic">componentIsPublic</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul> }</li><li>| <a href="#v:FLibComponentLocalBuildInfo">FLibComponentLocalBuildInfo</a> { <ul class="subs"><li><a href="#v:componentLocalName">componentLocalName</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a></li><li><a href="#v:componentComponentId">componentComponentId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></li><li><a href="#v:componentUnitId">componentUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li><a href="#v:componentPackageDeps">componentPackageDeps</a> :: [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]</li><li><a href="#v:componentIncludes">componentIncludes</a> :: [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]</li><li><a href="#v:componentExeDeps">componentExeDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</li><li><a href="#v:componentInternalDeps">componentInternalDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</li></ul> }</li><li>| <a href="#v:ExeComponentLocalBuildInfo">ExeComponentLocalBuildInfo</a> { <ul class="subs"><li><a href="#v:componentLocalName">componentLocalName</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a></li><li><a href="#v:componentComponentId">componentComponentId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></li><li><a href="#v:componentUnitId">componentUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li><a href="#v:componentPackageDeps">componentPackageDeps</a> :: [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]</li><li><a href="#v:componentIncludes">componentIncludes</a> :: [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]</li><li><a href="#v:componentExeDeps">componentExeDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</li><li><a href="#v:componentInternalDeps">componentInternalDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</li></ul> }</li><li>| <a href="#v:TestComponentLocalBuildInfo">TestComponentLocalBuildInfo</a> { <ul class="subs"><li><a href="#v:componentLocalName">componentLocalName</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a></li><li><a href="#v:componentComponentId">componentComponentId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></li><li><a href="#v:componentUnitId">componentUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li><a href="#v:componentPackageDeps">componentPackageDeps</a> :: [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]</li><li><a href="#v:componentIncludes">componentIncludes</a> :: [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]</li><li><a href="#v:componentExeDeps">componentExeDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</li><li><a href="#v:componentInternalDeps">componentInternalDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</li></ul> }</li><li>| <a href="#v:BenchComponentLocalBuildInfo">BenchComponentLocalBuildInfo</a> { <ul class="subs"><li><a href="#v:componentLocalName">componentLocalName</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a></li><li><a href="#v:componentComponentId">componentComponentId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></li><li><a href="#v:componentUnitId">componentUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li><a href="#v:componentPackageDeps">componentPackageDeps</a> :: [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]</li><li><a href="#v:componentIncludes">componentIncludes</a> :: [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]</li><li><a href="#v:componentExeDeps">componentExeDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</li><li><a href="#v:componentInternalDeps">componentInternalDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</li></ul> }</li></ul></li><li class="src short"><a href="#v:componentBuildDir">componentBuildDir</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:foldComponent">foldComponent</a> :: (<a href="Distribution-Types-Library.html#t:Library">Library</a> -> a) -> (<a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> a) -> (<a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> a) -> (<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> a) -> (<a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> a) -> <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> a</li><li class="src short"><a href="#v:componentName">componentName</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a></li><li class="src short"><a href="#v:componentBuildInfo">componentBuildInfo</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></li><li class="src short"><a href="#v:componentBuildable">componentBuildable</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:pkgComponents">pkgComponents</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a>]</li><li class="src short"><a href="#v:pkgBuildableComponents">pkgBuildableComponents</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a>]</li><li class="src short"><a href="#v:lookupComponent">lookupComponent</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a></li><li class="src short"><a href="#v:getComponent">getComponent</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a></li><li class="src short"><a href="#v:getComponentLocalBuildInfo">getComponentLocalBuildInfo</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></li><li class="src short"><a href="#v:allComponentsInBuildOrder">allComponentsInBuildOrder</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>]</li><li class="src short"><a href="#v:componentsInBuildOrder">componentsInBuildOrder</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a>] -> [<a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>]</li><li class="src short"><a href="#v:depLibraryPaths">depLibraryPaths</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li class="src short"><a href="#v:allLibModules">allLibModules</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li class="src short"><a href="#v:withAllComponentsInBuildOrder">withAllComponentsInBuildOrder</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> (<a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:withComponentsInBuildOrder">withComponentsInBuildOrder</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a>] -> (<a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:withComponentsLBI">withComponentsLBI</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> (<a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:withLibLBI">withLibLBI</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> (<a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:withExeLBI">withExeLBI</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> (<a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:withBenchLBI">withBenchLBI</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> (<a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:withTestLBI">withTestLBI</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> (<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:enabledTestLBIs">enabledTestLBIs</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [(<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a>, <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>)]</li><li class="src short"><a href="#v:enabledBenchLBIs">enabledBenchLBIs</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [(<a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a>, <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>)]</li><li class="src short">module <a href="Distribution-Simple-InstallDirs.html">Distribution.Simple.InstallDirs</a></li><li class="src short"><a href="#v:absoluteInstallDirs">absoluteInstallDirs</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-InstallDirs.html#t:CopyDest">CopyDest</a> -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:prefixRelativeInstallDirs">prefixRelativeInstallDirs</a> :: <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)</li><li class="src short"><a href="#v:absoluteComponentInstallDirs">absoluteComponentInstallDirs</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Simple-InstallDirs.html#t:CopyDest">CopyDest</a> -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:prefixRelativeComponentInstallDirs">prefixRelativeComponentInstallDirs</a> :: <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)</li><li class="src short"><a href="#v:substPathTemplate">substPathTemplate</a> :: <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:LocalBuildInfo" class="def">LocalBuildInfo</a> <a href="#t:LocalBuildInfo" class="selflink">#</a></p><div class="doc"><p>Data cached after configuration step. See also- <code><a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a></code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:LocalBuildInfo" class="def">LocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:configFlags" class="def">configFlags</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a></dfn><div class="doc"><p>Options passed to the configuration step.- Needed to re-run configuration when .cabal is out of date</p></div></li><li><dfn class="src"><a id="v:flagAssignment" class="def">flagAssignment</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a></dfn><div class="doc"><p>The final set of flags which were picked for this package</p></div></li><li><dfn class="src"><a id="v:componentEnabledSpec" class="def">componentEnabledSpec</a> :: <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a></dfn><div class="doc"><p>What components were enabled during configuration, and why.</p></div></li><li><dfn class="src"><a id="v:extraConfigArgs" class="def">extraConfigArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc"><p>Extra args on the command line for the configuration step.- Needed to re-run configuration when .cabal is out of date</p></div></li><li><dfn class="src"><a id="v:installDirTemplates" class="def">installDirTemplates</a> :: <a href="Distribution-Simple-InstallDirs.html#t:InstallDirTemplates">InstallDirTemplates</a></dfn><div class="doc"><p>The installation directories for the various different- kinds of files-TODO: inplaceDirTemplates :: InstallDirs FilePath</p></div></li><li><dfn class="src"><a id="v:compiler" class="def">compiler</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a></dfn><div class="doc"><p>The compiler we're building with</p></div></li><li><dfn class="src"><a id="v:hostPlatform" class="def">hostPlatform</a> :: <a href="Distribution-System.html#t:Platform">Platform</a></dfn><div class="doc"><p>The platform we're building for</p></div></li><li><dfn class="src"><a id="v:buildDir" class="def">buildDir</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>Where to build the package.</p></div></li><li><dfn class="src"><a id="v:componentGraph" class="def">componentGraph</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></dfn><div class="doc"><p>All the components to build, ordered by topological- sort, and with their INTERNAL dependencies over the- intrapackage dependency graph.- TODO: this is assumed to be short; otherwise we want- some sort of ordered map.</p></div></li><li><dfn class="src"><a id="v:componentNameMap" class="def">componentNameMap</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> [<a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>]</dfn><div class="doc"><p>A map from component name to all matching- components. These coincide with <code><a href="Distribution-Simple-LocalBuildInfo.html#v:componentGraph">componentGraph</a></code></p></div></li><li><dfn class="src"><a id="v:installedPkgs" class="def">installedPkgs</a> :: <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a></dfn><div class="doc"><p>All the info about the installed packages that the- current package depends on (directly or indirectly).- The copy saved on disk does NOT include internal- dependencies (because we just don't have enough- information at this point to have an- <code>InstalledPackageInfo</code> for an internal dep), but we- will often update it with the internal dependencies;- see for example <code><a href="Distribution-Simple-Build.html#v:build">build</a></code>.- (This admonition doesn't apply for per-component builds.)</p></div></li><li><dfn class="src"><a id="v:pkgDescrFile" class="def">pkgDescrFile</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>the filename containing the .cabal file, if available</p></div></li><li><dfn class="src"><a id="v:localPkgDescr" class="def">localPkgDescr</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></dfn><div class="doc"><p>WARNING WARNING WARNING Be VERY careful about using- this function; we haven't deprecated it but using it- could introduce subtle bugs related to- <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code>.</p><p>In principle, this is supposed to contain the- resolved package description, that does not contain- any conditionals. However, it MAY NOT contain- the description wtih a <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> applied- to it; see <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> for the whole sordid saga.- As much as possible, Cabal library should avoid using- this parameter.</p></div></li><li><dfn class="src"><a id="v:withPrograms" class="def">withPrograms</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></dfn><div class="doc"><p>Location and args for all programs</p></div></li><li><dfn class="src"><a id="v:withPackageDB" class="def">withPackageDB</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a></dfn><div class="doc"><p>What package database to use, global/user</p></div></li><li><dfn class="src"><a id="v:withVanillaLib" class="def">withVanillaLib</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Whether to build normal libs.</p></div></li><li><dfn class="src"><a id="v:withProfLib" class="def">withProfLib</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Whether to build profiling versions of libs.</p></div></li><li><dfn class="src"><a id="v:withSharedLib" class="def">withSharedLib</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Whether to build shared versions of libs.</p></div></li><li><dfn class="src"><a id="v:withDynExe" class="def">withDynExe</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Whether to link executables dynamically</p></div></li><li><dfn class="src"><a id="v:withProfExe" class="def">withProfExe</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Whether to build executables for profiling.</p></div></li><li><dfn class="src"><a id="v:withProfLibDetail" class="def">withProfLibDetail</a> :: <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a></dfn><div class="doc"><p>Level of automatic profile detail.</p></div></li><li><dfn class="src"><a id="v:withProfExeDetail" class="def">withProfExeDetail</a> :: <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a></dfn><div class="doc"><p>Level of automatic profile detail.</p></div></li><li><dfn class="src"><a id="v:withOptimization" class="def">withOptimization</a> :: <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a></dfn><div class="doc"><p>Whether to build with optimization (if available).</p></div></li><li><dfn class="src"><a id="v:withDebugInfo" class="def">withDebugInfo</a> :: <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a></dfn><div class="doc"><p>Whether to emit debug info (if available).</p></div></li><li><dfn class="src"><a id="v:withGHCiLib" class="def">withGHCiLib</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Whether to build libs suitable for use with GHCi.</p></div></li><li><dfn class="src"><a id="v:splitObjs" class="def">splitObjs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Use -split-objs with GHC, if available</p></div></li><li><dfn class="src"><a id="v:stripExes" class="def">stripExes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Whether to strip executables during install</p></div></li><li><dfn class="src"><a id="v:stripLibs" class="def">stripLibs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Whether to strip libraries during install</p></div></li><li><dfn class="src"><a id="v:exeCoverage" class="def">exeCoverage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Whether to enable executable program coverage</p></div></li><li><dfn class="src"><a id="v:libCoverage" class="def">libCoverage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Whether to enable library program coverage</p></div></li><li><dfn class="src"><a id="v:progPrefix" class="def">progPrefix</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></dfn><div class="doc"><p>Prefix to be prepended to installed executables</p></div></li><li><dfn class="src"><a id="v:progSuffix" class="def">progSuffix</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></dfn><div class="doc"><p>Suffix to be appended to installed executables</p></div></li><li><dfn class="src"><a id="v:relocatable" class="def">relocatable</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:LocalBuildInfo" class="caption collapser" onclick="toggleSection('i:LocalBuildInfo')">Instances</p><div id="section.i:LocalBuildInfo" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LocalBuildInfo:Read:1" class="instance expander" onclick="toggleSection('i:id:LocalBuildInfo:Read:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></span> <a href="#t:LocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LocalBuildInfo:Read:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LocalBuildInfo:Show:2" class="instance expander" onclick="toggleSection('i:id:LocalBuildInfo:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></span> <a href="#t:LocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LocalBuildInfo:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LocalBuildInfo:Generic:3" class="instance expander" onclick="toggleSection('i:id:LocalBuildInfo:Generic:3')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></span> <a href="#t:LocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LocalBuildInfo:Generic:3" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> x -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LocalBuildInfo:Binary:4" class="instance expander" onclick="toggleSection('i:id:LocalBuildInfo:Binary:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></span> <a href="#t:LocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LocalBuildInfo:Binary:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LocalBuildInfo:Rep:5" class="instance expander" onclick="toggleSection('i:id:LocalBuildInfo:Rep:5')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></span> <a href="#t:LocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LocalBuildInfo:Rep:5" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "LocalBuildInfo" "Distribution.Types.LocalBuildInfo" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "LocalBuildInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configFlags") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "flagAssignment") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentEnabledSpec") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "extraConfigArgs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "installDirTemplates") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirTemplates">InstallDirTemplates</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "compiler") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "hostPlatform") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-System.html#t:Platform">Platform</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "buildDir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentGraph") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentNameMap") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> [<a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "installedPkgs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "pkgDescrFile") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "localPkgDescr") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withPrograms") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withPackageDB") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withVanillaLib") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withProfLib") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withSharedLib") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withDynExe") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withProfExe") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withProfLibDetail") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withProfExeDetail") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withOptimization") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withDebugInfo") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withGHCiLib") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "splitObjs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "stripExes") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "stripLibs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "exeCoverage") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "libCoverage") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "progPrefix") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "progSuffix") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "relocatable") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:externalPackageDeps" class="def">externalPackageDeps</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)] <a href="#v:externalPackageDeps" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: You almost certainly don't want this function, which agglomerates the dependencies of ALL enabled components. If you're using this to write out information on your dependencies, read off the dependencies directly from the actual component in question. To be removed in Cabal 2.2</p></div><p>External package dependencies for the package as a whole. This is the- union of the individual <code><a href="Distribution-Simple-LocalBuildInfo.html#v:componentPackageDeps">componentPackageDeps</a></code>, less any internal deps.</p></div></div><div class="top"><p class="src"><a id="v:localComponentId" class="def">localComponentId</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="#v:localComponentId" class="selflink">#</a></p><div class="doc"><p>Extract the <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code> from the public library component of a- <code><a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code> if it exists, or make a fake component ID based- on the package ID.</p></div></div><div class="top"><p class="src"><a id="v:localUnitId" class="def">localUnitId</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:localUnitId" class="selflink">#</a></p><div class="doc"><p>Extract the <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> from the library component of a- <code><a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code> if it exists, or make a fake unit ID based on- the package ID.</p></div></div><div class="top"><p class="src"><a id="v:localCompatPackageKey" class="def">localCompatPackageKey</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:localCompatPackageKey" class="selflink">#</a></p><div class="doc"><p>Extract the compatibility package key from the public library component of a- <code><a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code> if it exists, or make a fake package key based- on the package ID.</p></div></div><h1 id="g:1">Buildable package components</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Component" class="def">Component</a> <a href="#t:Component" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:CLib" class="def">CLib</a> <a href="Distribution-Types-Library.html#t:Library">Library</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CFLib" class="def">CFLib</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CExe" class="def">CExe</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CTest" class="def">CTest</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CBench" class="def">CBench</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Component" class="caption collapser" onclick="toggleSection('i:Component')">Instances</p><div id="section.i:Component" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Component:Eq:1" class="instance expander" onclick="toggleSection('i:id:Component:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a></span> <a href="#t:Component" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Component:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Component:Read:2" class="instance expander" onclick="toggleSection('i:id:Component:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a></span> <a href="#t:Component" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Component:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Component:Show:3" class="instance expander" onclick="toggleSection('i:id:Component:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a></span> <a href="#t:Component" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Component:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Component:Semigroup:4" class="instance expander" onclick="toggleSection('i:id:Component:Semigroup:4')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a></span> <a href="#t:Component" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Component:Semigroup:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ComponentName" class="def">ComponentName</a> <a href="#t:ComponentName" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:CLibName" class="def">CLibName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CSubLibName" class="def">CSubLibName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CFLibName" class="def">CFLibName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CExeName" class="def">CExeName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CTestName" class="def">CTestName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CBenchName" class="def">CBenchName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:ComponentName" class="caption collapser" onclick="toggleSection('i:ComponentName')">Instances</p><div id="section.i:ComponentName" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Eq:1" class="instance expander" onclick="toggleSection('i:id:ComponentName:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Ord:2" class="instance expander" onclick="toggleSection('i:id:ComponentName:Ord:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Ord:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Read:3" class="instance expander" onclick="toggleSection('i:id:ComponentName:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Show:4" class="instance expander" onclick="toggleSection('i:id:ComponentName:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Generic:5" class="instance expander" onclick="toggleSection('i:id:ComponentName:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> x -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Binary:6" class="instance expander" onclick="toggleSection('i:id:ComponentName:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Text:7" class="instance expander" onclick="toggleSection('i:id:ComponentName:Text:7')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Text:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Rep:8" class="instance expander" onclick="toggleSection('i:id:ComponentName:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ComponentName" "Distribution.Types.ComponentName" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CLibName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CSubLibName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CFLibName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CExeName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CTestName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CBenchName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:defaultLibName" class="def">defaultLibName</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> <a href="#v:defaultLibName" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:showComponentName" class="def">showComponentName</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:showComponentName" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:componentNameString" class="def">componentNameString</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:componentNameString" class="selflink">#</a></p><div class="doc"><p>This gets the underlying unqualified component name. In fact, it is- guaranteed to uniquely identify a component, returning- <code>Nothing</code> if the <code><a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a></code> was for the public- library.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ComponentLocalBuildInfo" class="def">ComponentLocalBuildInfo</a> <a href="#t:ComponentLocalBuildInfo" class="selflink">#</a></p><div class="doc"><p>The first five fields are common across all algebraic variants.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:LibComponentLocalBuildInfo" class="def">LibComponentLocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:componentLocalName" class="def">componentLocalName</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a></dfn><div class="doc"><p>It would be very convenient to store the literal Library here,- but if we do that, it will get serialized (via the Binary)- instance twice. So instead we just provide the ComponentName,- which can be used to find the Component in the- PackageDescription. NB: eventually, this will NOT uniquely- identify the ComponentLocalBuildInfo.</p></div></li><li><dfn class="src"><a id="v:componentComponentId" class="def">componentComponentId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></dfn><div class="doc"><p>The computed <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code> of this component.</p></div></li><li><dfn class="src"><a id="v:componentUnitId" class="def">componentUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></dfn><div class="doc"><p>The computed <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> which uniquely identifies this- component. Might be hashed.</p></div></li><li><dfn class="src"><a id="v:componentIsIndefinite_" class="def">componentIsIndefinite_</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Is this an indefinite component (i.e. has unfilled holes)?</p></div></li><li><dfn class="src"><a id="v:componentInstantiatedWith" class="def">componentInstantiatedWith</a> :: [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>)]</dfn><div class="doc"><p>How the component was instantiated</p></div></li><li><dfn class="src"><a id="v:componentPackageDeps" class="def">componentPackageDeps</a> :: [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]</dfn><div class="doc"><p>Resolved internal and external package dependencies for this component.- The <code><a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></code> specifies a set of build dependencies that must be- satisfied in terms of version ranges. This field fixes those dependencies- to the specific versions available on this machine for this compiler.</p></div></li><li><dfn class="src"><a id="v:componentIncludes" class="def">componentIncludes</a> :: [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]</dfn><div class="doc"><p>The set of packages that are brought into scope during- compilation, including a <code><a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></code> which may used- to hide or rename modules. This is what gets translated into- <code>-package-id</code> arguments. This is a modernized version of- <code><a href="Distribution-Simple-LocalBuildInfo.html#v:componentPackageDeps">componentPackageDeps</a></code>, which is kept around for BC purposes.</p></div></li><li><dfn class="src"><a id="v:componentExeDeps" class="def">componentExeDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:componentInternalDeps" class="def">componentInternalDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</dfn><div class="doc"><p>The internal dependencies which induce a graph on the- <code><a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></code> of this package. This does NOT- coincide with <code><a href="Distribution-Simple-LocalBuildInfo.html#v:componentPackageDeps">componentPackageDeps</a></code> because it ALSO records- 'build-tool' dependencies on executables. Maybe one day- <code>cabal-install</code> will also handle these correctly too!</p></div></li><li><dfn class="src"><a id="v:componentCompatPackageKey" class="def">componentCompatPackageKey</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>Compatibility "package key" that we pass to older versions of GHC.</p></div></li><li><dfn class="src"><a id="v:componentCompatPackageName" class="def">componentCompatPackageName</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></dfn><div class="doc"><p>Compatibility "package name" that we register this component as.</p></div></li><li><dfn class="src"><a id="v:componentExposedModules" class="def">componentExposedModules</a> :: [<a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a>]</dfn><div class="doc"><p>A list of exposed modules (either defined in this component,- or reexported from another component.)</p></div></li><li><dfn class="src"><a id="v:componentIsPublic" class="def">componentIsPublic</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Convenience field, specifying whether or not this is the- "public library" that has the same name as the package.</p></div></li></ul></div></td></tr><tr><td class="src"><a id="v:FLibComponentLocalBuildInfo" class="def">FLibComponentLocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:componentLocalName" class="def">componentLocalName</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a></dfn><div class="doc"><p>It would be very convenient to store the literal Library here,- but if we do that, it will get serialized (via the Binary)- instance twice. So instead we just provide the ComponentName,- which can be used to find the Component in the- PackageDescription. NB: eventually, this will NOT uniquely- identify the ComponentLocalBuildInfo.</p></div></li><li><dfn class="src"><a id="v:componentComponentId" class="def">componentComponentId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></dfn><div class="doc"><p>The computed <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code> of this component.</p></div></li><li><dfn class="src"><a id="v:componentUnitId" class="def">componentUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></dfn><div class="doc"><p>The computed <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> which uniquely identifies this- component. Might be hashed.</p></div></li><li><dfn class="src"><a id="v:componentPackageDeps" class="def">componentPackageDeps</a> :: [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]</dfn><div class="doc"><p>Resolved internal and external package dependencies for this component.- The <code><a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></code> specifies a set of build dependencies that must be- satisfied in terms of version ranges. This field fixes those dependencies- to the specific versions available on this machine for this compiler.</p></div></li><li><dfn class="src"><a id="v:componentIncludes" class="def">componentIncludes</a> :: [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]</dfn><div class="doc"><p>The set of packages that are brought into scope during- compilation, including a <code><a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></code> which may used- to hide or rename modules. This is what gets translated into- <code>-package-id</code> arguments. This is a modernized version of- <code><a href="Distribution-Simple-LocalBuildInfo.html#v:componentPackageDeps">componentPackageDeps</a></code>, which is kept around for BC purposes.</p></div></li><li><dfn class="src"><a id="v:componentExeDeps" class="def">componentExeDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:componentInternalDeps" class="def">componentInternalDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</dfn><div class="doc"><p>The internal dependencies which induce a graph on the- <code><a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></code> of this package. This does NOT- coincide with <code><a href="Distribution-Simple-LocalBuildInfo.html#v:componentPackageDeps">componentPackageDeps</a></code> because it ALSO records- 'build-tool' dependencies on executables. Maybe one day- <code>cabal-install</code> will also handle these correctly too!</p></div></li></ul></div></td></tr><tr><td class="src"><a id="v:ExeComponentLocalBuildInfo" class="def">ExeComponentLocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:componentLocalName" class="def">componentLocalName</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a></dfn><div class="doc"><p>It would be very convenient to store the literal Library here,- but if we do that, it will get serialized (via the Binary)- instance twice. So instead we just provide the ComponentName,- which can be used to find the Component in the- PackageDescription. NB: eventually, this will NOT uniquely- identify the ComponentLocalBuildInfo.</p></div></li><li><dfn class="src"><a id="v:componentComponentId" class="def">componentComponentId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></dfn><div class="doc"><p>The computed <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code> of this component.</p></div></li><li><dfn class="src"><a id="v:componentUnitId" class="def">componentUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></dfn><div class="doc"><p>The computed <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> which uniquely identifies this- component. Might be hashed.</p></div></li><li><dfn class="src"><a id="v:componentPackageDeps" class="def">componentPackageDeps</a> :: [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]</dfn><div class="doc"><p>Resolved internal and external package dependencies for this component.- The <code><a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></code> specifies a set of build dependencies that must be- satisfied in terms of version ranges. This field fixes those dependencies- to the specific versions available on this machine for this compiler.</p></div></li><li><dfn class="src"><a id="v:componentIncludes" class="def">componentIncludes</a> :: [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]</dfn><div class="doc"><p>The set of packages that are brought into scope during- compilation, including a <code><a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></code> which may used- to hide or rename modules. This is what gets translated into- <code>-package-id</code> arguments. This is a modernized version of- <code><a href="Distribution-Simple-LocalBuildInfo.html#v:componentPackageDeps">componentPackageDeps</a></code>, which is kept around for BC purposes.</p></div></li><li><dfn class="src"><a id="v:componentExeDeps" class="def">componentExeDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:componentInternalDeps" class="def">componentInternalDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</dfn><div class="doc"><p>The internal dependencies which induce a graph on the- <code><a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></code> of this package. This does NOT- coincide with <code><a href="Distribution-Simple-LocalBuildInfo.html#v:componentPackageDeps">componentPackageDeps</a></code> because it ALSO records- 'build-tool' dependencies on executables. Maybe one day- <code>cabal-install</code> will also handle these correctly too!</p></div></li></ul></div></td></tr><tr><td class="src"><a id="v:TestComponentLocalBuildInfo" class="def">TestComponentLocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:componentLocalName" class="def">componentLocalName</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a></dfn><div class="doc"><p>It would be very convenient to store the literal Library here,- but if we do that, it will get serialized (via the Binary)- instance twice. So instead we just provide the ComponentName,- which can be used to find the Component in the- PackageDescription. NB: eventually, this will NOT uniquely- identify the ComponentLocalBuildInfo.</p></div></li><li><dfn class="src"><a id="v:componentComponentId" class="def">componentComponentId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></dfn><div class="doc"><p>The computed <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code> of this component.</p></div></li><li><dfn class="src"><a id="v:componentUnitId" class="def">componentUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></dfn><div class="doc"><p>The computed <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> which uniquely identifies this- component. Might be hashed.</p></div></li><li><dfn class="src"><a id="v:componentPackageDeps" class="def">componentPackageDeps</a> :: [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]</dfn><div class="doc"><p>Resolved internal and external package dependencies for this component.- The <code><a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></code> specifies a set of build dependencies that must be- satisfied in terms of version ranges. This field fixes those dependencies- to the specific versions available on this machine for this compiler.</p></div></li><li><dfn class="src"><a id="v:componentIncludes" class="def">componentIncludes</a> :: [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]</dfn><div class="doc"><p>The set of packages that are brought into scope during- compilation, including a <code><a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></code> which may used- to hide or rename modules. This is what gets translated into- <code>-package-id</code> arguments. This is a modernized version of- <code><a href="Distribution-Simple-LocalBuildInfo.html#v:componentPackageDeps">componentPackageDeps</a></code>, which is kept around for BC purposes.</p></div></li><li><dfn class="src"><a id="v:componentExeDeps" class="def">componentExeDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:componentInternalDeps" class="def">componentInternalDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</dfn><div class="doc"><p>The internal dependencies which induce a graph on the- <code><a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></code> of this package. This does NOT- coincide with <code><a href="Distribution-Simple-LocalBuildInfo.html#v:componentPackageDeps">componentPackageDeps</a></code> because it ALSO records- 'build-tool' dependencies on executables. Maybe one day- <code>cabal-install</code> will also handle these correctly too!</p></div></li></ul></div></td></tr><tr><td class="src"><a id="v:BenchComponentLocalBuildInfo" class="def">BenchComponentLocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:componentLocalName" class="def">componentLocalName</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a></dfn><div class="doc"><p>It would be very convenient to store the literal Library here,- but if we do that, it will get serialized (via the Binary)- instance twice. So instead we just provide the ComponentName,- which can be used to find the Component in the- PackageDescription. NB: eventually, this will NOT uniquely- identify the ComponentLocalBuildInfo.</p></div></li><li><dfn class="src"><a id="v:componentComponentId" class="def">componentComponentId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></dfn><div class="doc"><p>The computed <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code> of this component.</p></div></li><li><dfn class="src"><a id="v:componentUnitId" class="def">componentUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></dfn><div class="doc"><p>The computed <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> which uniquely identifies this- component. Might be hashed.</p></div></li><li><dfn class="src"><a id="v:componentPackageDeps" class="def">componentPackageDeps</a> :: [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]</dfn><div class="doc"><p>Resolved internal and external package dependencies for this component.- The <code><a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></code> specifies a set of build dependencies that must be- satisfied in terms of version ranges. This field fixes those dependencies- to the specific versions available on this machine for this compiler.</p></div></li><li><dfn class="src"><a id="v:componentIncludes" class="def">componentIncludes</a> :: [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]</dfn><div class="doc"><p>The set of packages that are brought into scope during- compilation, including a <code><a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></code> which may used- to hide or rename modules. This is what gets translated into- <code>-package-id</code> arguments. This is a modernized version of- <code><a href="Distribution-Simple-LocalBuildInfo.html#v:componentPackageDeps">componentPackageDeps</a></code>, which is kept around for BC purposes.</p></div></li><li><dfn class="src"><a id="v:componentExeDeps" class="def">componentExeDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:componentInternalDeps" class="def">componentInternalDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</dfn><div class="doc"><p>The internal dependencies which induce a graph on the- <code><a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></code> of this package. This does NOT- coincide with <code><a href="Distribution-Simple-LocalBuildInfo.html#v:componentPackageDeps">componentPackageDeps</a></code> because it ALSO records- 'build-tool' dependencies on executables. Maybe one day- <code>cabal-install</code> will also handle these correctly too!</p></div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:ComponentLocalBuildInfo" class="caption collapser" onclick="toggleSection('i:ComponentLocalBuildInfo')">Instances</p><div id="section.i:ComponentLocalBuildInfo" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentLocalBuildInfo:Read:1" class="instance expander" onclick="toggleSection('i:id:ComponentLocalBuildInfo:Read:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></span> <a href="#t:ComponentLocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentLocalBuildInfo:Read:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentLocalBuildInfo:Show:2" class="instance expander" onclick="toggleSection('i:id:ComponentLocalBuildInfo:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></span> <a href="#t:ComponentLocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentLocalBuildInfo:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentLocalBuildInfo:Generic:3" class="instance expander" onclick="toggleSection('i:id:ComponentLocalBuildInfo:Generic:3')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></span> <a href="#t:ComponentLocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentLocalBuildInfo:Generic:3" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> x -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentLocalBuildInfo:Binary:4" class="instance expander" onclick="toggleSection('i:id:ComponentLocalBuildInfo:Binary:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></span> <a href="#t:ComponentLocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentLocalBuildInfo:Binary:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentLocalBuildInfo:IsNode:5" class="instance expander" onclick="toggleSection('i:id:ComponentLocalBuildInfo:IsNode:5')"></span> <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></span> <a href="#t:ComponentLocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentLocalBuildInfo:IsNode:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Key" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:nodeKey">nodeKey</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> <a href="#v:nodeKey" class="selflink">#</a></p><p class="src"><a href="#v:nodeNeighbors">nodeNeighbors</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> [<a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>] <a href="#v:nodeNeighbors" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentLocalBuildInfo:Rep:6" class="instance expander" onclick="toggleSection('i:id:ComponentLocalBuildInfo:Rep:6')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></span> <a href="#t:ComponentLocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentLocalBuildInfo:Rep:6" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ComponentLocalBuildInfo" "Distribution.Types.ComponentLocalBuildInfo" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "LibComponentLocalBuildInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentLocalName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentComponentId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentUnitId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentIsIndefinite_") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentInstantiatedWith") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentPackageDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentIncludes") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentExeDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentInternalDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentCompatPackageKey") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentCompatPackageName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentExposedModules") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentIsPublic") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "FLibComponentLocalBuildInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentLocalName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentComponentId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentUnitId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentPackageDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentIncludes") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentExeDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentInternalDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]))))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ExeComponentLocalBuildInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentLocalName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentComponentId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentUnitId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentPackageDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentIncludes") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentExeDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentInternalDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>])))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TestComponentLocalBuildInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentLocalName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentComponentId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentUnitId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentPackageDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentIncludes") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentExeDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentInternalDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>])))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BenchComponentLocalBuildInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentLocalName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentComponentId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentUnitId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentPackageDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentIncludes") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentExeDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentInternalDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>])))))))))</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentLocalBuildInfo:Key:7" class="instance expander" onclick="toggleSection('i:id:ComponentLocalBuildInfo:Key:7')"></span> <span class="keyword">type</span> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></span> <a href="#t:ComponentLocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentLocalBuildInfo:Key:7" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> = <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:componentBuildDir" class="def">componentBuildDir</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:componentBuildDir" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:foldComponent" class="def">foldComponent</a> :: (<a href="Distribution-Types-Library.html#t:Library">Library</a> -> a) -> (<a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> a) -> (<a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> a) -> (<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> a) -> (<a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> a) -> <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> a <a href="#v:foldComponent" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:componentName" class="def">componentName</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> <a href="#v:componentName" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:componentBuildInfo" class="def">componentBuildInfo</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:componentBuildInfo" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:componentBuildable" class="def">componentBuildable</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:componentBuildable" class="selflink">#</a></p><div class="doc"><p>Is a component buildable (i.e., not marked with <code>buildable: False</code>)?- See also this note in- <a href="Distribution-Types-ComponentRequestedSpec.html#buildable_vs_enabled_components">Distribution.Types.ComponentRequestedSpec</a>.</p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:pkgComponents" class="def">pkgComponents</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a>] <a href="#v:pkgComponents" class="selflink">#</a></p><div class="doc"><p>All the components in the package.</p></div></div><div class="top"><p class="src"><a id="v:pkgBuildableComponents" class="def">pkgBuildableComponents</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a>] <a href="#v:pkgBuildableComponents" class="selflink">#</a></p><div class="doc"><p>A list of all components in the package that are buildable,- i.e., were not marked with <code>buildable: False</code>. This does NOT- indicate if we are actually going to build the component,- see <code><a href="Distribution-Types-PackageDescription.html#v:enabledComponents">enabledComponents</a></code> instead.</p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:lookupComponent" class="def">lookupComponent</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> <a href="#v:lookupComponent" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getComponent" class="def">getComponent</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> <a href="#v:getComponent" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getComponentLocalBuildInfo" class="def">getComponentLocalBuildInfo</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> <a href="#v:getComponentLocalBuildInfo" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: This function is not well-defined, because a <code><a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a></code> does not uniquely identify a <code><a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></code>. If you have a <code><a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a></code>, you should use <code><a href="Distribution-Types-TargetInfo.html#v:targetCLBI">targetCLBI</a></code> to get the <code><a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></code>. Otherwise, use <code><a href="Distribution-Types-LocalBuildInfo.html#v:componentNameTargets">componentNameTargets</a></code> to get all possible <code><a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></code>s. This will be removed in Cabal 2.2.</p></div></div></div><div class="top"><p class="src"><a id="v:allComponentsInBuildOrder" class="def">allComponentsInBuildOrder</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>] <a href="#v:allComponentsInBuildOrder" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:componentsInBuildOrder" class="def">componentsInBuildOrder</a> :: <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a>] -> [<a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>] <a href="#v:componentsInBuildOrder" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: You've got <code><a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a></code> right? Use <code><a href="Distribution-Types-LocalBuildInfo.html#v:neededTargetsInBuildOrder">neededTargetsInBuildOrder</a></code> on the <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code>s you can <code>nodeKey</code> out.</p></div></div></div><div class="top"><p class="src"><a id="v:depLibraryPaths" class="def">depLibraryPaths</a> <a href="#v:depLibraryPaths" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></td><td class="doc"><p>Building for inplace?</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></td><td class="doc"><p>Generate prefix-relative library paths</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></td><td class="doc"><p>Component that is being built</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Determine the directories containing the dynamic libraries of the- transitive dependencies of the component we are building.</p><p>When wanted, and possible, returns paths relative to the installDirs <code><a href="Distribution-Simple-InstallDirs.html#v:prefix">prefix</a></code></p></div></div><div class="top"><p class="src"><a id="v:allLibModules" class="def">allLibModules</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] <a href="#v:allLibModules" class="selflink">#</a></p><div class="doc"><p>Get all module names that needed to be built by GHC; i.e., all- of these <code><a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></code>s have interface files associated with them- that need to be installed.</p></div></div><div class="top"><p class="src"><a id="v:withAllComponentsInBuildOrder" class="def">withAllComponentsInBuildOrder</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> (<a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:withAllComponentsInBuildOrder" class="selflink">#</a></p><div class="doc"><p>Perform the action on each buildable <code><a href="Distribution-Types-Library.html#t:Library">Library</a></code> or <code><a href="Distribution-Types-Executable.html#t:Executable">Executable</a></code> (Component)- in the PackageDescription, subject to the build order specified by the- <code>compBuildOrder</code> field of the given <code><a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code></p></div></div><div class="top"><p class="src"><a id="v:withComponentsInBuildOrder" class="def">withComponentsInBuildOrder</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">ComponentName</a>] -> (<a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:withComponentsInBuildOrder" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: You have got a <code><a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a></code> right? Use <code><a href="Distribution-Types-LocalBuildInfo.html#v:withNeededTargetsInBuildOrder">withNeededTargetsInBuildOrder</a></code> on the <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code>s you can <code>nodeKey</code> out.</p></div></div></div><div class="top"><p class="src"><a id="v:withComponentsLBI" class="def">withComponentsLBI</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> (<a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Component</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:withComponentsLBI" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: Use withAllComponentsInBuildOrder</p></div></div></div><div class="top"><p class="src"><a id="v:withLibLBI" class="def">withLibLBI</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> (<a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:withLibLBI" class="selflink">#</a></p><div class="doc"><p>Perform the action on each enabled <code><a href="Distribution-Types-PackageDescription.html#v:library">library</a></code> in the package- description with the <code><a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:withExeLBI" class="def">withExeLBI</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> (<a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:withExeLBI" class="selflink">#</a></p><div class="doc"><p>Perform the action on each enabled <code><a href="Distribution-Types-Executable.html#t:Executable">Executable</a></code> in the package- description. Extended version of <code><a href="Distribution-Types-PackageDescription.html#v:withExe">withExe</a></code> that also gives corresponding- build info.</p></div></div><div class="top"><p class="src"><a id="v:withBenchLBI" class="def">withBenchLBI</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> (<a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:withBenchLBI" class="selflink">#</a></p><div class="doc"><p>Perform the action on each enabled <code><a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a></code> in the package- description.</p></div></div><div class="top"><p class="src"><a id="v:withTestLBI" class="def">withTestLBI</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> (<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:withTestLBI" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:enabledTestLBIs" class="def">enabledTestLBIs</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [(<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a>, <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>)] <a href="#v:enabledTestLBIs" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:enabledBenchLBIs" class="def">enabledBenchLBIs</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [(<a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a>, <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>)] <a href="#v:enabledBenchLBIs" class="selflink">#</a></p></div><h1 id="g:2">Installation directories</h1><div class="top"><p class="src">module <a href="Distribution-Simple-InstallDirs.html">Distribution.Simple.InstallDirs</a></p></div><div class="top"><p class="src"><a id="v:absoluteInstallDirs" class="def">absoluteInstallDirs</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-InstallDirs.html#t:CopyDest">CopyDest</a> -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:absoluteInstallDirs" class="selflink">#</a></p><div class="doc"><p>Backwards compatibility function which computes the InstallDirs- assuming that <code>$libname</code> points to the public library (or some fake- package identifier if there is no public library.) IF AT ALL- POSSIBLE, please use <code><a href="Distribution-Simple-LocalBuildInfo.html#v:absoluteComponentInstallDirs">absoluteComponentInstallDirs</a></code> instead.</p></div></div><div class="top"><p class="src"><a id="v:prefixRelativeInstallDirs" class="def">prefixRelativeInstallDirs</a> :: <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) <a href="#v:prefixRelativeInstallDirs" class="selflink">#</a></p><div class="doc"><p>Backwards compatibility function which computes the InstallDirs- assuming that <code>$libname</code> points to the public library (or some fake- package identifier if there is no public library.) IF AT ALL- POSSIBLE, please use <code><a href="Distribution-Simple-LocalBuildInfo.html#v:prefixRelativeComponentInstallDirs">prefixRelativeComponentInstallDirs</a></code> instead.</p></div></div><div class="top"><p class="src"><a id="v:absoluteComponentInstallDirs" class="def">absoluteComponentInstallDirs</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Simple-InstallDirs.html#t:CopyDest">CopyDest</a> -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:absoluteComponentInstallDirs" class="selflink">#</a></p><div class="doc"><p>See <code><a href="Distribution-Simple-InstallDirs.html#v:absoluteInstallDirs">absoluteInstallDirs</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:prefixRelativeComponentInstallDirs" class="def">prefixRelativeComponentInstallDirs</a> :: <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) <a href="#v:prefixRelativeComponentInstallDirs" class="selflink">#</a></p><div class="doc"><p>See <code><a href="Distribution-Simple-InstallDirs.html#v:prefixRelativeInstallDirs">prefixRelativeInstallDirs</a></code></p></div></div><div class="top"><p class="src"><a id="v:substPathTemplate" class="def">substPathTemplate</a> :: <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:substPathTemplate" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,63 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.PackageIndex</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(c) David Himmelstrup 2005<br />Bjorn Bringert 2007<br />Duncan Coutts 2008-2009</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.PackageIndex</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Package index data type</a></li><li><a href="#g:2">Creating an index</a></li><li><a href="#g:3">Updates</a></li><li><a href="#g:4">Queries</a><ul><li><a href="#g:5">Precise lookups</a></li><li><a href="#g:6">Case-insensitive searches</a></li><li><a href="#g:7">Bulk queries</a></li><li><a href="#g:8">Special queries</a></li></ul></li><li><a href="#g:9">Backwards compatibility</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>An index of packages whose primary key is <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code>. Public libraries- are additionally indexed by <code><a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></code> and <code><a href="Distribution-Version.html#t:Version">Version</a></code>.- Technically, these are an index of *units* (so we should eventually- rename it to <code>UnitIndex</code>); but in the absence of internal libraries- or Backpack each unit is equivalent to a package.</p><p>While <code><a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a></code> is parametric over what it actually records,- it is in fact only ever instantiated with a single element:- The <code><a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a></code> (defined here) contains a graph of- <code>InstalledPackageInfo</code>s representing the packages in a- package database stack. It is used in a variety of ways:</p><ul><li>The primary use to let Cabal access the same installed- package database which is used by GHC during compilation.- For example, this data structure is used by 'ghc-pkg'- and <code>Cabal</code> to do consistency checks on the database- (are the references closed).</li><li>Given a set of dependencies, we can compute the transitive- closure of dependencies. This is to check if the versions- of packages are consistent, and also needed by multiple- tools (Haddock must be explicitly told about the every- transitive package to do cross-package linking;- preprocessors must know about the include paths of all- transitive dependencies.)</li></ul><p>This <code><a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a></code> is NOT to be confused with- <code><a href="Distribution-Client.html#v:PackageIndex">PackageIndex</a></code>, which indexes packages only by- <code><a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></code> (this makes it suitable for indexing source packages,- for which we don't know <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code>s.)</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">type</span> <a href="#t:InstalledPackageIndex">InstalledPackageIndex</a> = <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:PackageIndex">PackageIndex</a> a</li><li class="src short"><a href="#v:fromList">fromList</a> :: [<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>] -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a></li><li class="src short"><a href="#v:merge">merge</a> :: <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a></li><li class="src short"><a href="#v:insert">insert</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a></li><li class="src short"><a href="#v:deleteUnitId">deleteUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a></li><li class="src short"><a href="#v:deleteSourcePackageId">deleteSourcePackageId</a> :: <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a></li><li class="src short"><a href="#v:deletePackageName">deletePackageName</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a></li><li class="src short"><a href="#v:lookupUnitId">lookupUnitId</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:lookupComponentId">lookupComponentId</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:lookupSourcePackageId">lookupSourcePackageId</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> [a]</li><li class="src short"><a href="#v:lookupPackageId">lookupPackageId</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:lookupPackageName">lookupPackageName</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> [(<a href="Distribution-Version.html#t:Version">Version</a>, [a])]</li><li class="src short"><a href="#v:lookupDependency">lookupDependency</a> :: <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> [(<a href="Distribution-Version.html#t:Version">Version</a>, [<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>])]</li><li class="src short"><a href="#v:lookupInternalDependency">lookupInternalDependency</a> :: <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> [(<a href="Distribution-Version.html#t:Version">Version</a>, [<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>])]</li><li class="src short"><a href="#v:searchByName">searchByName</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-PackageIndex.html#t:SearchResult">SearchResult</a> [a]</li><li class="src short"><span class="keyword">data</span> <a href="#t:SearchResult">SearchResult</a> a<ul class="subs"><li>= <a href="#v:None">None</a></li><li>| <a href="#v:Unambiguous">Unambiguous</a> a</li><li>| <a href="#v:Ambiguous">Ambiguous</a> [a]</li></ul></li><li class="src short"><a href="#v:searchByNameSubstring">searchByNameSubstring</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> [a]</li><li class="src short"><a href="#v:allPackages">allPackages</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> [a]</li><li class="src short"><a href="#v:allPackagesByName">allPackagesByName</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> [(<a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>, [a])]</li><li class="src short"><a href="#v:allPackagesBySourcePackageId">allPackagesBySourcePackageId</a> :: <a href="Distribution-Package.html#t:HasUnitId">HasUnitId</a> a => <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> [(<a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a>, [a])]</li><li class="src short"><a href="#v:allPackagesBySourcePackageIdAndLibName">allPackagesBySourcePackageIdAndLibName</a> :: <a href="Distribution-Package.html#t:HasUnitId">HasUnitId</a> a => <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> [((<a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>), [a])]</li><li class="src short"><a href="#v:brokenPackages">brokenPackages</a> :: <a href="Distribution-Package.html#t:PackageInstalled">PackageInstalled</a> a => <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> [(a, [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>])]</li><li class="src short"><a href="#v:dependencyClosure">dependencyClosure</a> :: <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> [(<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>, [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>])]</li><li class="src short"><a href="#v:reverseDependencyClosure">reverseDependencyClosure</a> :: <a href="Distribution-Package.html#t:PackageInstalled">PackageInstalled</a> a => <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>] -> [a]</li><li class="src short"><a href="#v:topologicalOrder">topologicalOrder</a> :: <a href="Distribution-Package.html#t:PackageInstalled">PackageInstalled</a> a => <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> [a]</li><li class="src short"><a href="#v:reverseTopologicalOrder">reverseTopologicalOrder</a> :: <a href="Distribution-Package.html#t:PackageInstalled">PackageInstalled</a> a => <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> [a]</li><li class="src short"><a href="#v:dependencyInconsistencies">dependencyInconsistencies</a> :: <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> [(DepUniqueKey, [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, [<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>])])]</li><li class="src short"><a href="#v:dependencyCycles">dependencyCycles</a> :: <a href="Distribution-Package.html#t:PackageInstalled">PackageInstalled</a> a => <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> [[a]]</li><li class="src short"><a href="#v:dependencyGraph">dependencyGraph</a> :: <a href="Distribution-Package.html#t:PackageInstalled">PackageInstalled</a> a => <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Graph.html#t:Graph">Graph</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Graph.html#t:Vertex">Vertex</a> -> a, <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Graph.html#t:Vertex">Vertex</a>)</li><li class="src short"><a href="#v:moduleNameIndex">moduleNameIndex</a> :: <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> [<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>]</li><li class="src short"><a href="#v:deleteInstalledPackageId">deleteInstalledPackageId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a></li><li class="src short"><a href="#v:lookupInstalledPackageId">lookupInstalledPackageId</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li></ul></div><div id="interface"><h1 id="g:1">Package index data type</h1><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:InstalledPackageIndex" class="def">InstalledPackageIndex</a> = <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#t:InstalledPackageIndex" class="selflink">#</a></p><div class="doc"><p>The default package index which contains <code>InstalledPackageInfo</code>. Normally- use this.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:PackageIndex" class="def">PackageIndex</a> a <a href="#t:PackageIndex" class="selflink">#</a></p><div class="doc"><p>The collection of information about packages from one or more <code>PackageDB</code>s.- These packages generally should have an instance of <code><a href="Distribution-Package.html#t:PackageInstalled">PackageInstalled</a></code></p><p>Packages are uniquely identified in by their <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code>, they can- also be efficiently looked up by package name or by name and version.</p></div><div class="subs instances"><p id="control.i:PackageIndex" class="caption collapser" onclick="toggleSection('i:PackageIndex')">Instances</p><div id="section.i:PackageIndex" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageIndex:Eq:1" class="instance expander" onclick="toggleSection('i:id:PackageIndex:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a)</span> <a href="#t:PackageIndex" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageIndex:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageIndex:Read:2" class="instance expander" onclick="toggleSection('i:id:PackageIndex:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> (<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a)</span> <a href="#t:PackageIndex" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageIndex:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> (<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a) <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> (<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a) <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageIndex:Show:3" class="instance expander" onclick="toggleSection('i:id:PackageIndex:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a)</span> <a href="#t:PackageIndex" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageIndex:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageIndex:Generic:4" class="instance expander" onclick="toggleSection('i:id:PackageIndex:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> (<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a)</span> <a href="#t:PackageIndex" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageIndex:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a) :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a) x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a) x -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageIndex:Semigroup:5" class="instance expander" onclick="toggleSection('i:id:PackageIndex:Semigroup:5')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>)</span> <a href="#t:PackageIndex" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageIndex:Semigroup:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>) -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageIndex:Monoid:6" class="instance expander" onclick="toggleSection('i:id:PackageIndex:Monoid:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>)</span> <a href="#t:PackageIndex" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageIndex:Monoid:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>] -> <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageIndex:Binary:7" class="instance expander" onclick="toggleSection('i:id:PackageIndex:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> a => <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> (<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a)</span> <a href="#t:PackageIndex" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageIndex:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> (<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a) <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageIndex:Rep:8" class="instance expander" onclick="toggleSection('i:id:PackageIndex:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a)</span> <a href="#t:PackageIndex" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageIndex:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a) = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "PackageIndex" "Distribution.Simple.PackageIndex" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PackageIndex" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "unitIdIndex") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:SourceStrict">SourceStrict</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedStrict">DecidedStrict</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> a))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "packageIdIndex") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:SourceStrict">SourceStrict</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedStrict">DecidedStrict</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> (<a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>) (<a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-Version.html#t:Version">Version</a> [a]))))))</div></div></td></tr></table></div></div></div><h1 id="g:2">Creating an index</h1><div class="top"><p class="src"><a id="v:fromList" class="def">fromList</a> :: [<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>] -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> <a href="#v:fromList" class="selflink">#</a></p><div class="doc"><p>Build an index out of a bunch of packages.</p><p>If there are duplicates by <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> then later ones mask earlier- ones.</p></div></div><h1 id="g:3">Updates</h1><div class="top"><p class="src"><a id="v:merge" class="def">merge</a> :: <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> <a href="#v:merge" class="selflink">#</a></p><div class="doc"><p>Merge two indexes.</p><p>Packages from the second mask packages from the first if they have the exact- same <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code>.</p><p>For packages with the same source <code><a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a></code>, packages from the second are- "preferred" over those from the first. Being preferred means they are top- result when we do a lookup by source <code><a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a></code>. This is the mechanism we- use to prefer user packages over global packages.</p></div></div><div class="top"><p class="src"><a id="v:insert" class="def">insert</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> <a href="#v:insert" class="selflink">#</a></p><div class="doc"><p>Inserts a single package into the index.</p><p>This is equivalent to (but slightly quicker than) using <code><a href="Distribution-Compat-Semigroup.html#v:mappend">mappend</a></code> or- <code><a href="Distribution-Simple-PackageIndex.html#v:merge">merge</a></code> with a singleton index.</p></div></div><div class="top"><p class="src"><a id="v:deleteUnitId" class="def">deleteUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> <a href="#v:deleteUnitId" class="selflink">#</a></p><div class="doc"><p>Removes a single installed package from the index.</p></div></div><div class="top"><p class="src"><a id="v:deleteSourcePackageId" class="def">deleteSourcePackageId</a> :: <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> <a href="#v:deleteSourcePackageId" class="selflink">#</a></p><div class="doc"><p>Removes all packages with this source <code><a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a></code> from the index.</p></div></div><div class="top"><p class="src"><a id="v:deletePackageName" class="def">deletePackageName</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> <a href="#v:deletePackageName" class="selflink">#</a></p><div class="doc"><p>Removes all packages with this (case-sensitive) name from the index.</p><p>NB: Does NOT delete internal libraries from this package.</p></div></div><h1 id="g:4">Queries</h1><h2 id="g:5">Precise lookups</h2><div class="top"><p class="src"><a id="v:lookupUnitId" class="def">lookupUnitId</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="#v:lookupUnitId" class="selflink">#</a></p><div class="doc"><p>Does a lookup by unit identifier.</p><p>Since multiple package DBs mask each other by <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code>,- then we get back at most one package.</p></div></div><div class="top"><p class="src"><a id="v:lookupComponentId" class="def">lookupComponentId</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="#v:lookupComponentId" class="selflink">#</a></p><div class="doc"><p>Does a lookup by component identifier. In the absence- of Backpack, this is just a <code><a href="Distribution-Simple-PackageIndex.html#v:lookupUnitId">lookupUnitId</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:lookupSourcePackageId" class="def">lookupSourcePackageId</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> [a] <a href="#v:lookupSourcePackageId" class="selflink">#</a></p><div class="doc"><p>Does a lookup by source package id (name & version).</p><p>There can be multiple installed packages with the same source <code><a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a></code>- but different <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code>. They are returned in order of- preference, with the most preferred first.</p></div></div><div class="top"><p class="src"><a id="v:lookupPackageId" class="def">lookupPackageId</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="#v:lookupPackageId" class="selflink">#</a></p><div class="doc"><p>Convenient alias of <code><a href="Distribution-Simple-PackageIndex.html#v:lookupSourcePackageId">lookupSourcePackageId</a></code>, but assuming only- one package per package ID.</p></div></div><div class="top"><p class="src"><a id="v:lookupPackageName" class="def">lookupPackageName</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> [(<a href="Distribution-Version.html#t:Version">Version</a>, [a])] <a href="#v:lookupPackageName" class="selflink">#</a></p><div class="doc"><p>Does a lookup by source package name.</p></div></div><div class="top"><p class="src"><a id="v:lookupDependency" class="def">lookupDependency</a> :: <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> [(<a href="Distribution-Version.html#t:Version">Version</a>, [<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>])] <a href="#v:lookupDependency" class="selflink">#</a></p><div class="doc"><p>Does a lookup by source package name and a range of versions.</p><p>We get back any number of versions of the specified package name, all- satisfying the version range constraint.</p><p>This does NOT work for internal dependencies, DO NOT use this- function on those; use <code><a href="Distribution-Simple-PackageIndex.html#v:lookupInternalDependency">lookupInternalDependency</a></code> instead.</p><p>INVARIANT: List of eligible <code><a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></code> is non-empty.</p></div></div><div class="top"><p class="src"><a id="v:lookupInternalDependency" class="def">lookupInternalDependency</a> :: <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> [(<a href="Distribution-Version.html#t:Version">Version</a>, [<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>])] <a href="#v:lookupInternalDependency" class="selflink">#</a></p><div class="doc"><p>Does a lookup by source package name and a range of versions.</p><p>We get back any number of versions of the specified package name, all- satisfying the version range constraint.</p><p>INVARIANT: List of eligible <code><a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></code> is non-empty.</p></div></div><h2 id="g:6">Case-insensitive searches</h2><div class="top"><p class="src"><a id="v:searchByName" class="def">searchByName</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-PackageIndex.html#t:SearchResult">SearchResult</a> [a] <a href="#v:searchByName" class="selflink">#</a></p><div class="doc"><p>Does a case-insensitive search by package name.</p><p>If there is only one package that compares case-insensitively to this name- then the search is unambiguous and we get back all versions of that package.- If several match case-insensitively but one matches exactly then it is also- unambiguous.</p><p>If however several match case-insensitively and none match exactly then we- have an ambiguous result, and we get back all the versions of all the- packages. The list of ambiguous results is split by exact package name. So- it is a non-empty list of non-empty lists.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:SearchResult" class="def">SearchResult</a> a <a href="#t:SearchResult" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:None" class="def">None</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Unambiguous" class="def">Unambiguous</a> a</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Ambiguous" class="def">Ambiguous</a> [a]</td><td class="doc empty"> </td></tr></table></div></div><div class="top"><p class="src"><a id="v:searchByNameSubstring" class="def">searchByNameSubstring</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> [a] <a href="#v:searchByNameSubstring" class="selflink">#</a></p><div class="doc"><p>Does a case-insensitive substring search by package name.</p><p>That is, all packages that contain the given string in their name.</p></div></div><h2 id="g:7">Bulk queries</h2><div class="top"><p class="src"><a id="v:allPackages" class="def">allPackages</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> [a] <a href="#v:allPackages" class="selflink">#</a></p><div class="doc"><p>Get all the packages from the index.</p></div></div><div class="top"><p class="src"><a id="v:allPackagesByName" class="def">allPackagesByName</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> [(<a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>, [a])] <a href="#v:allPackagesByName" class="selflink">#</a></p><div class="doc"><p>Get all the packages from the index.</p><p>They are grouped by package name (case-sensitively).</p><p>(Doesn't include private libraries.)</p></div></div><div class="top"><p class="src"><a id="v:allPackagesBySourcePackageId" class="def">allPackagesBySourcePackageId</a> :: <a href="Distribution-Package.html#t:HasUnitId">HasUnitId</a> a => <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> [(<a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a>, [a])] <a href="#v:allPackagesBySourcePackageId" class="selflink">#</a></p><div class="doc"><p>Get all the packages from the index.</p><p>They are grouped by source package id (package name and version).</p><p>(Doesn't include private libraries)</p></div></div><div class="top"><p class="src"><a id="v:allPackagesBySourcePackageIdAndLibName" class="def">allPackagesBySourcePackageIdAndLibName</a> :: <a href="Distribution-Package.html#t:HasUnitId">HasUnitId</a> a => <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> [((<a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>), [a])] <a href="#v:allPackagesBySourcePackageIdAndLibName" class="selflink">#</a></p><div class="doc"><p>Get all the packages from the index.</p><p>They are grouped by source package id and library name.</p><p>This DOES include internal libraries.</p></div></div><h2 id="g:8">Special queries</h2><div class="top"><p class="src"><a id="v:brokenPackages" class="def">brokenPackages</a> :: <a href="Distribution-Package.html#t:PackageInstalled">PackageInstalled</a> a => <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> [(a, [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>])] <a href="#v:brokenPackages" class="selflink">#</a></p><div class="doc"><p>All packages that have immediate dependencies that are not in the index.</p><p>Returns such packages along with the dependencies that they're missing.</p></div></div><div class="top"><p class="src"><a id="v:dependencyClosure" class="def">dependencyClosure</a> :: <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> [(<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>, [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>])] <a href="#v:dependencyClosure" class="selflink">#</a></p><div class="doc"><p>Tries to take the transitive closure of the package dependencies.</p><p>If the transitive closure is complete then it returns that subset of the- index. Otherwise it returns the broken packages as in <code><a href="Distribution-Simple-PackageIndex.html#v:brokenPackages">brokenPackages</a></code>.</p><ul><li>Note that if the result is <code>Right []</code> it is because at least one of- the original given <code><a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a></code>s do not occur in the index.</li></ul></div></div><div class="top"><p class="src"><a id="v:reverseDependencyClosure" class="def">reverseDependencyClosure</a> :: <a href="Distribution-Package.html#t:PackageInstalled">PackageInstalled</a> a => <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>] -> [a] <a href="#v:reverseDependencyClosure" class="selflink">#</a></p><div class="doc"><p>Takes the transitive closure of the packages reverse dependencies.</p><ul><li>The given <code><a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a></code>s must be in the index.</li></ul></div></div><div class="top"><p class="src"><a id="v:topologicalOrder" class="def">topologicalOrder</a> :: <a href="Distribution-Package.html#t:PackageInstalled">PackageInstalled</a> a => <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> [a] <a href="#v:topologicalOrder" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:reverseTopologicalOrder" class="def">reverseTopologicalOrder</a> :: <a href="Distribution-Package.html#t:PackageInstalled">PackageInstalled</a> a => <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> [a] <a href="#v:reverseTopologicalOrder" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:dependencyInconsistencies" class="def">dependencyInconsistencies</a> :: <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> [(DepUniqueKey, [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, [<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>])])] <a href="#v:dependencyInconsistencies" class="selflink">#</a></p><div class="doc"><p>Given a package index where we assume we want to use all the packages- (use <code><a href="Distribution-Simple-PackageIndex.html#v:dependencyClosure">dependencyClosure</a></code> if you need to get such a index subset) find out- if the dependencies within it use consistent versions of each package.- Return all cases where multiple packages depend on different versions of- some other package.</p><p>Each element in the result is a package name along with the packages that- depend on it and the versions they require. These are guaranteed to be- distinct.</p></div></div><div class="top"><p class="src"><a id="v:dependencyCycles" class="def">dependencyCycles</a> :: <a href="Distribution-Package.html#t:PackageInstalled">PackageInstalled</a> a => <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> [[a]] <a href="#v:dependencyCycles" class="selflink">#</a></p><div class="doc"><p>Find if there are any cycles in the dependency graph. If there are no- cycles the result is <code>[]</code>.</p><p>This actually computes the strongly connected components. So it gives us a- list of groups of packages where within each group they all depend on each- other, directly or indirectly.</p></div></div><div class="top"><p class="src"><a id="v:dependencyGraph" class="def">dependencyGraph</a> :: <a href="Distribution-Package.html#t:PackageInstalled">PackageInstalled</a> a => <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Graph.html#t:Graph">Graph</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Graph.html#t:Vertex">Vertex</a> -> a, <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/containers-0.5.10.2/Data-Graph.html#t:Vertex">Vertex</a>) <a href="#v:dependencyGraph" class="selflink">#</a></p><div class="doc"><p>Builds a graph of the package dependencies.</p><p>Dependencies on other packages that are not in the index are discarded.- You can check if there are any such dependencies with <code><a href="Distribution-Simple-PackageIndex.html#v:brokenPackages">brokenPackages</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:moduleNameIndex" class="def">moduleNameIndex</a> :: <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> [<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>] <a href="#v:moduleNameIndex" class="selflink">#</a></p><div class="doc"><p>A rough approximation of GHC's module finder, takes a- <code><a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a></code> and turns it into a map from module names to their- source packages. It's used to initialize the <code>build-deps</code> field in <code>cabal- init</code>.</p></div></div><h1 id="g:9">Backwards compatibility</h1><div class="top"><p class="src"><a id="v:deleteInstalledPackageId" class="def">deleteInstalledPackageId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> -> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> <a href="#v:deleteInstalledPackageId" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: Use deleteUnitId instead</p></div><p>Backwards compatibility wrapper for Cabal pre-1.24.</p></div></div><div class="top"><p class="src"><a id="v:lookupInstalledPackageId" class="def">lookupInstalledPackageId</a> :: <a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">PackageIndex</a> a -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="#v:lookupInstalledPackageId" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: Use lookupUnitId instead</p></div><p>Backwards compatibility for Cabal pre-1.24.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,6 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.PreProcess.Unlit</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>...</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.PreProcess.Unlit</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Remove the "literal" markups from a Haskell source file, including- "<code>></code>", "<code>\begin{code}</code>", "<code>\end{code}</code>", and "<code>#</code>"</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:unlit">unlit</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:plain">plain</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:unlit" class="def">unlit</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:unlit" class="selflink">#</a></p><div class="doc"><p><code><a href="Distribution-Simple-PreProcess-Unlit.html#v:unlit">unlit</a></code> takes a filename (for error reports), and transforms the- given string, to eliminate the literate comments from the program text.</p></div></div><div class="top"><p class="src"><a id="v:plain" class="def">plain</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:plain" class="selflink">#</a></p><div class="doc"><p>No unliteration.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,41 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.PreProcess</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(c) 2003-2005 Isaac Jones Malcolm Wallace</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.PreProcess</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This defines a <code><a href="Distribution-Simple-PreProcess.html#t:PreProcessor">PreProcessor</a></code> abstraction which represents a pre-processor- that can transform one kind of file into another. There is also a- <code><a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a></code> which is a combination of a file extension and a function- for configuring a <code><a href="Distribution-Simple-PreProcess.html#t:PreProcessor">PreProcessor</a></code>. It defines a bunch of known built-in- preprocessors like <code>cpp</code>, <code>cpphs</code>, <code>c2hs</code>, <code>hsc2hs</code>, <code>happy</code>, <code>alex</code> etc and- lists them in <code><a href="Distribution-Simple-PreProcess.html#v:knownSuffixHandlers">knownSuffixHandlers</a></code>. On top of this it provides a function- for actually preprocessing some sources given a bunch of known suffix- handlers. This module is not as good as it could be, it could really do with- a rewrite to address some of the problems we have with pre-processors.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:preprocessComponent">preprocessComponent</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:preprocessExtras">preprocessExtras</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li class="src short"><a href="#v:knownSuffixHandlers">knownSuffixHandlers</a> :: [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>]</li><li class="src short"><a href="#v:ppSuffixes">ppSuffixes</a> :: [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li class="src short"><span class="keyword">type</span> <a href="#t:PPSuffixHandler">PPSuffixHandler</a> = (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Simple-PreProcess.html#t:PreProcessor">PreProcessor</a>)</li><li class="src short"><span class="keyword">data</span> <a href="#t:PreProcessor">PreProcessor</a> = <a href="#v:PreProcessor">PreProcessor</a> {<ul class="subs"><li><a href="#v:platformIndependent">platformIndependent</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:runPreProcessor">runPreProcessor</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li></ul>}</li><li class="src short"><a href="#v:mkSimplePreProcessor">mkSimplePreProcessor</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:runSimplePreProcessor">runSimplePreProcessor</a> :: <a href="Distribution-Simple-PreProcess.html#t:PreProcessor">PreProcessor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:ppCpp">ppCpp</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Simple-PreProcess.html#t:PreProcessor">PreProcessor</a></li><li class="src short"><a href="#v:ppCpp-39-">ppCpp'</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Simple-PreProcess.html#t:PreProcessor">PreProcessor</a></li><li class="src short"><a href="#v:ppGreenCard">ppGreenCard</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Simple-PreProcess.html#t:PreProcessor">PreProcessor</a></li><li class="src short"><a href="#v:ppC2hs">ppC2hs</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Simple-PreProcess.html#t:PreProcessor">PreProcessor</a></li><li class="src short"><a href="#v:ppHsc2hs">ppHsc2hs</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Simple-PreProcess.html#t:PreProcessor">PreProcessor</a></li><li class="src short"><a href="#v:ppHappy">ppHappy</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Simple-PreProcess.html#t:PreProcessor">PreProcessor</a></li><li class="src short"><a href="#v:ppAlex">ppAlex</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Simple-PreProcess.html#t:PreProcessor">PreProcessor</a></li><li class="src short"><a href="#v:ppUnlit">ppUnlit</a> :: <a href="Distribution-Simple-PreProcess.html#t:PreProcessor">PreProcessor</a></li><li class="src short"><a href="#v:platformDefines">platformDefines</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:preprocessComponent" class="def">preprocessComponent</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:preprocessComponent" class="selflink">#</a></p><div class="doc"><p>Apply preprocessors to the sources from <code><a href="Distribution-Types-BuildInfo.html#v:hsSourceDirs">hsSourceDirs</a></code> for a given- component (lib, exe, or test suite).</p></div></div><div class="top"><p class="src"><a id="v:preprocessExtras" class="def">preprocessExtras</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] <a href="#v:preprocessExtras" class="selflink">#</a></p><div class="doc"><p>Find any extra C sources generated by preprocessing that need to- be added to the component (addresses issue #238).</p></div></div><div class="top"><p class="src"><a id="v:knownSuffixHandlers" class="def">knownSuffixHandlers</a> :: [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>] <a href="#v:knownSuffixHandlers" class="selflink">#</a></p><div class="doc"><p>Standard preprocessors: GreenCard, c2hs, hsc2hs, happy, alex and cpphs.</p></div></div><div class="top"><p class="src"><a id="v:ppSuffixes" class="def">ppSuffixes</a> :: [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#v:ppSuffixes" class="selflink">#</a></p><div class="doc"><p>Convenience function; get the suffixes of these preprocessors.</p></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:PPSuffixHandler" class="def">PPSuffixHandler</a> = (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Simple-PreProcess.html#t:PreProcessor">PreProcessor</a>) <a href="#t:PPSuffixHandler" class="selflink">#</a></p><div class="doc"><p>A preprocessor for turning non-Haskell files with the given extension- into plain Haskell source files.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:PreProcessor" class="def">PreProcessor</a> <a href="#t:PreProcessor" class="selflink">#</a></p><div class="doc"><p>The interface to a preprocessor, which may be implemented using an- external program, but need not be. The arguments are the name of- the input file, the name of the output file and a verbosity level.- Here is a simple example that merely prepends a comment to the given- source file:</p><pre>ppTestHandler :: PreProcessor-ppTestHandler =- PreProcessor {- platformIndependent = True,- runPreProcessor = mkSimplePreProcessor $ \inFile outFile verbosity ->- do info verbosity (inFile++" has been preprocessed to "++outFile)- stuff <- readFile inFile- writeFile outFile ("-- preprocessed as a test\n\n" ++ stuff)- return ExitSuccess</pre><p>We split the input and output file names into a base directory and the- rest of the file name. The input base dir is the path in the list of search- dirs that this file was found in. The output base dir is the build dir where- all the generated source files are put.</p><p>The reason for splitting it up this way is that some pre-processors don't- simply generate one output .hs file from one input file but have- dependencies on other generated files (notably c2hs, where building one- .hs file may require reading other .chi files, and then compiling the .hs- file may require reading a generated .h file). In these cases the generated- files need to embed relative path names to each other (eg the generated .hs- file mentions the .h file in the FFI imports). This path must be relative to- the base directory where the generated files are located, it cannot be- relative to the top level of the build tree because the compilers do not- look for .h files relative to there, ie we do not use "-I .", instead we- use "-I dist/build" (or whatever dist dir has been set by the user)</p><p>Most pre-processors do not care of course, so mkSimplePreProcessor and- runSimplePreProcessor functions handle the simple case.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:PreProcessor" class="def">PreProcessor</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:platformIndependent" class="def">platformIndependent</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:runPreProcessor" class="def">runPreProcessor</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div></div><div class="top"><p class="src"><a id="v:mkSimplePreProcessor" class="def">mkSimplePreProcessor</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:mkSimplePreProcessor" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:runSimplePreProcessor" class="def">runSimplePreProcessor</a> :: <a href="Distribution-Simple-PreProcess.html#t:PreProcessor">PreProcessor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:runSimplePreProcessor" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:ppCpp" class="def">ppCpp</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Simple-PreProcess.html#t:PreProcessor">PreProcessor</a> <a href="#v:ppCpp" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:ppCpp-39-" class="def">ppCpp'</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Simple-PreProcess.html#t:PreProcessor">PreProcessor</a> <a href="#v:ppCpp-39-" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:ppGreenCard" class="def">ppGreenCard</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Simple-PreProcess.html#t:PreProcessor">PreProcessor</a> <a href="#v:ppGreenCard" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:ppC2hs" class="def">ppC2hs</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Simple-PreProcess.html#t:PreProcessor">PreProcessor</a> <a href="#v:ppC2hs" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:ppHsc2hs" class="def">ppHsc2hs</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Simple-PreProcess.html#t:PreProcessor">PreProcessor</a> <a href="#v:ppHsc2hs" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:ppHappy" class="def">ppHappy</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Simple-PreProcess.html#t:PreProcessor">PreProcessor</a> <a href="#v:ppHappy" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:ppAlex" class="def">ppAlex</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Simple-PreProcess.html#t:PreProcessor">PreProcessor</a> <a href="#v:ppAlex" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:ppUnlit" class="def">ppUnlit</a> :: <a href="Distribution-Simple-PreProcess.html#t:PreProcessor">PreProcessor</a> <a href="#v:ppUnlit" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:platformDefines" class="def">platformDefines</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#v:platformDefines" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,14 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Program.Ar</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Duncan Coutts 2009</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Program.Ar</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module provides an library interface to the <code>ar</code> program.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:createArLibArchive">createArLibArchive</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:multiStageProgramInvocation">multiStageProgramInvocation</a> :: <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> -> (<a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a>, <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a>, <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a>) -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> [<a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a>]</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:createArLibArchive" class="def">createArLibArchive</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:createArLibArchive" class="selflink">#</a></p><div class="doc"><p>Call <code>ar</code> to create a library archive from a bunch of object files.</p></div></div><div class="top"><p class="src"><a id="v:multiStageProgramInvocation" class="def">multiStageProgramInvocation</a> :: <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> -> (<a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a>, <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a>, <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a>) -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> [<a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a>] <a href="#v:multiStageProgramInvocation" class="selflink">#</a></p><div class="doc"><p>Like the unix xargs program. Useful for when we've got very long command- lines that might overflow an OS limit on command line length and so you- need to invoke a command multiple times to get all the args in.</p><p>It takes four template invocations corresponding to the simple, initial,- middle and last invocations. If the number of args given is small enough- that we can get away with just a single invocation then the simple one is- used:</p><pre>$ simple args</pre><p>If the number of args given means that we need to use multiple invocations- then the templates for the initial, middle and last invocations are used:</p><pre>$ initial args_0-$ middle args_1-$ middle args_2- ...-$ final args_n</pre></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,5 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Program.Builtin</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2006 Duncan Coutts 2007-2009</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Program.Builtin</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">The collection of unconfigured and configured programs</a></li><li><a href="#g:2">Programs that Cabal knows about</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>The module defines all the known built-in <code><a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></code>s.</p><p>Where possible we try to find their version numbers.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:builtinPrograms">builtinPrograms</a> :: [<a href="Distribution-Simple-Program-Types.html#t:Program">Program</a>]</li><li class="src short"><a href="#v:ghcProgram">ghcProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:ghcPkgProgram">ghcPkgProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:runghcProgram">runghcProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:ghcjsProgram">ghcjsProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:ghcjsPkgProgram">ghcjsPkgProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:lhcProgram">lhcProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:lhcPkgProgram">lhcPkgProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:hmakeProgram">hmakeProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:jhcProgram">jhcProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:haskellSuiteProgram">haskellSuiteProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:haskellSuitePkgProgram">haskellSuitePkgProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:uhcProgram">uhcProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:gccProgram">gccProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:arProgram">arProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:stripProgram">stripProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:happyProgram">happyProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:alexProgram">alexProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:hsc2hsProgram">hsc2hsProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:c2hsProgram">c2hsProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:cpphsProgram">cpphsProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:hscolourProgram">hscolourProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:doctestProgram">doctestProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:haddockProgram">haddockProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:greencardProgram">greencardProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:ldProgram">ldProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:tarProgram">tarProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:cppProgram">cppProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:pkgConfigProgram">pkgConfigProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:hpcProgram">hpcProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li></ul></div><div id="interface"><h1 id="g:1">The collection of unconfigured and configured programs</h1><div class="top"><p class="src"><a id="v:builtinPrograms" class="def">builtinPrograms</a> :: [<a href="Distribution-Simple-Program-Types.html#t:Program">Program</a>] <a href="#v:builtinPrograms" class="selflink">#</a></p><div class="doc"><p>The default list of programs.- These programs are typically used internally to Cabal.</p></div></div><h1 id="g:2">Programs that Cabal knows about</h1><div class="top"><p class="src"><a id="v:ghcProgram" class="def">ghcProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:ghcProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:ghcPkgProgram" class="def">ghcPkgProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:ghcPkgProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:runghcProgram" class="def">runghcProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:runghcProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:ghcjsProgram" class="def">ghcjsProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:ghcjsProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:ghcjsPkgProgram" class="def">ghcjsPkgProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:ghcjsPkgProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:lhcProgram" class="def">lhcProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:lhcProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:lhcPkgProgram" class="def">lhcPkgProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:lhcPkgProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:hmakeProgram" class="def">hmakeProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:hmakeProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:jhcProgram" class="def">jhcProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:jhcProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:haskellSuiteProgram" class="def">haskellSuiteProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:haskellSuiteProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:haskellSuitePkgProgram" class="def">haskellSuitePkgProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:haskellSuitePkgProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:uhcProgram" class="def">uhcProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:uhcProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:gccProgram" class="def">gccProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:gccProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:arProgram" class="def">arProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:arProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:stripProgram" class="def">stripProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:stripProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:happyProgram" class="def">happyProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:happyProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:alexProgram" class="def">alexProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:alexProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:hsc2hsProgram" class="def">hsc2hsProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:hsc2hsProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:c2hsProgram" class="def">c2hsProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:c2hsProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:cpphsProgram" class="def">cpphsProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:cpphsProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:hscolourProgram" class="def">hscolourProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:hscolourProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:doctestProgram" class="def">doctestProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:doctestProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:haddockProgram" class="def">haddockProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:haddockProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:greencardProgram" class="def">greencardProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:greencardProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:ldProgram" class="def">ldProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:ldProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:tarProgram" class="def">tarProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:tarProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:cppProgram" class="def">cppProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:cppProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:pkgConfigProgram" class="def">pkgConfigProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:pkgConfigProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:hpcProgram" class="def">hpcProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:hpcProgram" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,54 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Program.Db</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2006 Duncan Coutts 2007-2009</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Program.Db</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">The collection of configured programs we can run</a><ul><li><a href="#g:2">Query and manipulate the program db</a></li><li><a href="#g:3">Query and manipulate the program db</a></li></ul></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This provides a <code><a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></code> type which holds configured and not-yet- configured programs. It is the parameter to lots of actions elsewhere in- Cabal that need to look up and run programs. If we had a Cabal monad,- the <code><a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></code> would probably be a reader or state component of it.</p><p>One nice thing about using it is that any program that is- registered with Cabal will get some "configure" and ".cabal"- helpers like --with-foo-args --foo-path= and extra-foo-args.</p><p>There's also a hook for adding programs in a Setup.lhs script. See- hookedPrograms in <code><a href="Distribution-Simple.html#v:UserHooks">UserHooks</a></code>. This gives a- hook user the ability to get the above flags and such so that they- don't have to write all the PATH logic inside Setup.lhs.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:emptyProgramDb">emptyProgramDb</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:defaultProgramDb">defaultProgramDb</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:restoreProgramDb">restoreProgramDb</a> :: [<a href="Distribution-Simple-Program-Types.html#t:Program">Program</a>] -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:addKnownProgram">addKnownProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:addKnownPrograms">addKnownPrograms</a> :: [<a href="Distribution-Simple-Program-Types.html#t:Program">Program</a>] -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:lookupKnownProgram">lookupKnownProgram</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><a href="#v:knownPrograms">knownPrograms</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> [(<a href="Distribution-Simple-Program-Types.html#t:Program">Program</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a>)]</li><li class="src short"><a href="#v:getProgramSearchPath">getProgramSearchPath</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a></li><li class="src short"><a href="#v:setProgramSearchPath">setProgramSearchPath</a> :: <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:modifyProgramSearchPath">modifyProgramSearchPath</a> :: (<a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a> -> <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a>) -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:userSpecifyPath">userSpecifyPath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:userSpecifyPaths">userSpecifyPaths</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:userMaybeSpecifyPath">userMaybeSpecifyPath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:userSpecifyArgs">userSpecifyArgs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> [<a href="Distribution-Simple-Program-Types.html#t:ProgArg">ProgArg</a>] -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:userSpecifyArgss">userSpecifyArgss</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="Distribution-Simple-Program-Types.html#t:ProgArg">ProgArg</a>])] -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:userSpecifiedArgs">userSpecifiedArgs</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> [<a href="Distribution-Simple-Program-Types.html#t:ProgArg">ProgArg</a>]</li><li class="src short"><a href="#v:lookupProgram">lookupProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a></li><li class="src short"><a href="#v:updateProgram">updateProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:configuredPrograms">configuredPrograms</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> [<a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a>]</li><li class="src short"><a href="#v:configureProgram">configureProgram</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:configureAllKnownPrograms">configureAllKnownPrograms</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:unconfigureProgram">unconfigureProgram</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:lookupProgramVersion">lookupProgramVersion</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> (<a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a>, <a href="Distribution-Version.html#t:Version">Version</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>))</li><li class="src short"><a href="#v:reconfigurePrograms">reconfigurePrograms</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="Distribution-Simple-Program-Types.html#t:ProgArg">ProgArg</a>])] -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:requireProgram">requireProgram</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>)</li><li class="src short"><a href="#v:requireProgramVersion">requireProgramVersion</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a>, <a href="Distribution-Version.html#t:Version">Version</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>)</li></ul></div><div id="interface"><h1 id="g:1">The collection of configured programs we can run</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ProgramDb" class="def">ProgramDb</a> <a href="#t:ProgramDb" class="selflink">#</a></p><div class="doc"><p>The configuration is a collection of information about programs. It- contains information both about configured programs and also about programs- that we are yet to configure.</p><p>The idea is that we start from a collection of unconfigured programs and one- by one we try to configure them at which point we move them into the- configured collection. For unconfigured programs we record not just the- <code><a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></code> but also any user-provided arguments and location for the program.</p></div><div class="subs instances"><p id="control.i:ProgramDb" class="caption collapser" onclick="toggleSection('i:ProgramDb')">Instances</p><div id="section.i:ProgramDb" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramDb:Read:1" class="instance expander" onclick="toggleSection('i:id:ProgramDb:Read:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></span> <a href="#t:ProgramDb" class="selflink">#</a></td><td class="doc"><p>Note that this instance does not preserve the known <code><a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></code>s.- See <code><a href="Distribution-Simple-Program-Db.html#v:restoreProgramDb">restoreProgramDb</a></code> for details.</p></td></tr><tr><td colspan="2"><div id="section.i:id:ProgramDb:Read:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramDb:Show:2" class="instance expander" onclick="toggleSection('i:id:ProgramDb:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></span> <a href="#t:ProgramDb" class="selflink">#</a></td><td class="doc"><p>Note that this instance does not preserve the known <code><a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></code>s.- See <code><a href="Distribution-Simple-Program-Db.html#v:restoreProgramDb">restoreProgramDb</a></code> for details.</p></td></tr><tr><td colspan="2"><div id="section.i:id:ProgramDb:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramDb:Binary:3" class="instance expander" onclick="toggleSection('i:id:ProgramDb:Binary:3')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></span> <a href="#t:ProgramDb" class="selflink">#</a></td><td class="doc"><p>Note that this instance does not preserve the known <code><a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></code>s.- See <code><a href="Distribution-Simple-Program-Db.html#v:restoreProgramDb">restoreProgramDb</a></code> for details.</p></td></tr><tr><td colspan="2"><div id="section.i:id:ProgramDb:Binary:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyProgramDb" class="def">emptyProgramDb</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> <a href="#v:emptyProgramDb" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:defaultProgramDb" class="def">defaultProgramDb</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> <a href="#v:defaultProgramDb" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:restoreProgramDb" class="def">restoreProgramDb</a> :: [<a href="Distribution-Simple-Program-Types.html#t:Program">Program</a>] -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> <a href="#v:restoreProgramDb" class="selflink">#</a></p><div class="doc"><p>The 'Read'\/'Show' and <code><a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a></code> instances do not preserve all the- unconfigured <code>Programs</code> because <code><a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></code> is not in 'Read'\/'Show' because- it contains functions. So to fully restore a deserialised <code><a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></code> use- this function to add back all the known <code><a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></code>s.</p><ul><li>It does not add the default programs, but you probably want them, use- <code><a href="Distribution-Simple-Program-Builtin.html#v:builtinPrograms">builtinPrograms</a></code> in addition to any extra you might need.</li></ul></div></div><h2 id="g:2">Query and manipulate the program db</h2><div class="top"><p class="src"><a id="v:addKnownProgram" class="def">addKnownProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> <a href="#v:addKnownProgram" class="selflink">#</a></p><div class="doc"><p>Add a known program that we may configure later</p></div></div><div class="top"><p class="src"><a id="v:addKnownPrograms" class="def">addKnownPrograms</a> :: [<a href="Distribution-Simple-Program-Types.html#t:Program">Program</a>] -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> <a href="#v:addKnownPrograms" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:lookupKnownProgram" class="def">lookupKnownProgram</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:lookupKnownProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:knownPrograms" class="def">knownPrograms</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> [(<a href="Distribution-Simple-Program-Types.html#t:Program">Program</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a>)] <a href="#v:knownPrograms" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getProgramSearchPath" class="def">getProgramSearchPath</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a> <a href="#v:getProgramSearchPath" class="selflink">#</a></p><div class="doc"><p>Get the current <code><a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a></code> used by the <code><a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></code>.- This is the default list of locations where programs are looked for when- configuring them. This can be overridden for specific programs (with- <code><a href="Distribution-Simple-Program-Db.html#v:userSpecifyPath">userSpecifyPath</a></code>), and specific known programs can modify or ignore this- search path in their own configuration code.</p></div></div><div class="top"><p class="src"><a id="v:setProgramSearchPath" class="def">setProgramSearchPath</a> :: <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> <a href="#v:setProgramSearchPath" class="selflink">#</a></p><div class="doc"><p>Change the current <code><a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a></code> used by the <code><a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></code>.- This will affect programs that are configured from here on, so you- should usually set it before configuring any programs.</p></div></div><div class="top"><p class="src"><a id="v:modifyProgramSearchPath" class="def">modifyProgramSearchPath</a> :: (<a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a> -> <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a>) -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> <a href="#v:modifyProgramSearchPath" class="selflink">#</a></p><div class="doc"><p>Modify the current <code><a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a></code> used by the <code><a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></code>.- This will affect programs that are configured from here on, so you- should usually modify it before configuring any programs.</p></div></div><div class="top"><p class="src"><a id="v:userSpecifyPath" class="def">userSpecifyPath</a> <a href="#v:userSpecifyPath" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>Program name</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>user-specified path to the program</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>User-specify this path. Basically override any path information- for this program in the configuration. If it's not a known- program ignore it.</p></div></div><div class="top"><p class="src"><a id="v:userSpecifyPaths" class="def">userSpecifyPaths</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> <a href="#v:userSpecifyPaths" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Distribution-Simple-Program-Db.html#v:userSpecifyPath">userSpecifyPath</a></code> but for a list of progs and their paths.</p></div></div><div class="top"><p class="src"><a id="v:userMaybeSpecifyPath" class="def">userMaybeSpecifyPath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> <a href="#v:userMaybeSpecifyPath" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:userSpecifyArgs" class="def">userSpecifyArgs</a> <a href="#v:userSpecifyArgs" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>Program name</p></td></tr><tr><td class="src">-> [<a href="Distribution-Simple-Program-Types.html#t:ProgArg">ProgArg</a>]</td><td class="doc"><p>user-specified args</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>User-specify the arguments for this program. Basically override- any args information for this program in the configuration. If it's- not a known program, ignore it..</p></div></div><div class="top"><p class="src"><a id="v:userSpecifyArgss" class="def">userSpecifyArgss</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="Distribution-Simple-Program-Types.html#t:ProgArg">ProgArg</a>])] -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> <a href="#v:userSpecifyArgss" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Distribution-Simple-Program-Db.html#v:userSpecifyPath">userSpecifyPath</a></code> but for a list of progs and their args.</p></div></div><div class="top"><p class="src"><a id="v:userSpecifiedArgs" class="def">userSpecifiedArgs</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> [<a href="Distribution-Simple-Program-Types.html#t:ProgArg">ProgArg</a>] <a href="#v:userSpecifiedArgs" class="selflink">#</a></p><div class="doc"><p>Get any extra args that have been previously specified for a program.</p></div></div><div class="top"><p class="src"><a id="v:lookupProgram" class="def">lookupProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> <a href="#v:lookupProgram" class="selflink">#</a></p><div class="doc"><p>Try to find a configured program</p></div></div><div class="top"><p class="src"><a id="v:updateProgram" class="def">updateProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> <a href="#v:updateProgram" class="selflink">#</a></p><div class="doc"><p>Update a configured program in the database.</p></div></div><div class="top"><p class="src"><a id="v:configuredPrograms" class="def">configuredPrograms</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> [<a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a>] <a href="#v:configuredPrograms" class="selflink">#</a></p><div class="doc"><p>List all configured programs.</p></div></div><h2 id="g:3">Query and manipulate the program db</h2><div class="top"><p class="src"><a id="v:configureProgram" class="def">configureProgram</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> <a href="#v:configureProgram" class="selflink">#</a></p><div class="doc"><p>Try to configure a specific program. If the program is already included in- the collection of unconfigured programs then we use any user-supplied- location and arguments. If the program gets configured successfully it gets- added to the configured collection.</p><p>Note that it is not a failure if the program cannot be configured. It's only- a failure if the user supplied a location and the program could not be found- at that location.</p><p>The reason for it not being a failure at this stage is that we don't know up- front all the programs we will need, so we try to configure them all.- To verify that a program was actually successfully configured use- <code><a href="Distribution-Simple-Program-Db.html#v:requireProgram">requireProgram</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:configureAllKnownPrograms" class="def">configureAllKnownPrograms</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> <a href="#v:configureAllKnownPrograms" class="selflink">#</a></p><div class="doc"><p>Try to configure all the known programs that have not yet been configured.</p></div></div><div class="top"><p class="src"><a id="v:unconfigureProgram" class="def">unconfigureProgram</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> <a href="#v:unconfigureProgram" class="selflink">#</a></p><div class="doc"><p>Unconfigure a program. This is basically a hack and you shouldn't- use it, but it can be handy for making sure a <code><a href="Distribution-Simple-Program-Db.html#v:requireProgram">requireProgram</a></code>- actually reconfigures.</p></div></div><div class="top"><p class="src"><a id="v:lookupProgramVersion" class="def">lookupProgramVersion</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> (<a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a>, <a href="Distribution-Version.html#t:Version">Version</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>)) <a href="#v:lookupProgramVersion" class="selflink">#</a></p><div class="doc"><p>Check that a program is configured and available to be run.</p><p>Additionally check that the program version number is suitable and return- it. For example you could require <code><a href="Distribution-Version.html#v:AnyVersion">AnyVersion</a></code> or <code><code><a href="Distribution-Version.html#v:orLaterVersion">orLaterVersion</a></code>- (<code><a href="Distribution-Version.html#t:Version">Version</a></code> [1,0] [])</code></p><p>It returns the configured program, its version number and a possibly updated- <code><a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></code>. If the program could not be configured or the version is- unsuitable, it returns an error value.</p></div></div><div class="top"><p class="src"><a id="v:reconfigurePrograms" class="def">reconfigurePrograms</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="Distribution-Simple-Program-Types.html#t:ProgArg">ProgArg</a>])] -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> <a href="#v:reconfigurePrograms" class="selflink">#</a></p><div class="doc"><p>reconfigure a bunch of programs given new user-specified args. It takes- the same inputs as <code><a href="Distribution-Simple-Program-Db.html#v:userSpecifyPath">userSpecifyPath</a></code> and <code><a href="Distribution-Simple-Program-Db.html#v:userSpecifyArgs">userSpecifyArgs</a></code> and for all progs- with a new path it calls <code><a href="Distribution-Simple-Program-Db.html#v:configureProgram">configureProgram</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:requireProgram" class="def">requireProgram</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>) <a href="#v:requireProgram" class="selflink">#</a></p><div class="doc"><p>Check that a program is configured and available to be run.</p><p>It raises an exception if the program could not be configured, otherwise- it returns the configured program.</p></div></div><div class="top"><p class="src"><a id="v:requireProgramVersion" class="def">requireProgramVersion</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a>, <a href="Distribution-Version.html#t:Version">Version</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>) <a href="#v:requireProgramVersion" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Distribution-Simple-Program-Db.html#v:lookupProgramVersion">lookupProgramVersion</a></code>, but raises an exception in case of error- instead of returning 'Left errMsg'.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,20 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Program.Find</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Duncan Coutts 2013</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Program.Find</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Program search path</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>A somewhat extended notion of the normal program search path concept.</p><p>Usually when finding executables we just want to look in the usual places- using the OS's usual method for doing so. In Haskell the normal OS-specific- method is captured by <code>findExecutable</code>. On all common OSs that makes use of- a <code>PATH</code> environment variable, (though on Windows it is not just the <code>PATH</code>).</p><p>However it is sometimes useful to be able to look in additional locations- without having to change the process-global <code>PATH</code> environment variable.- So we need an extension of the usual <code>findExecutable</code> that can look in- additional locations, either before, after or instead of the normal OS- locations.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">type</span> <a href="#t:ProgramSearchPath">ProgramSearchPath</a> = [<a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a><ul class="subs"><li>= <a href="#v:ProgramSearchPathDir">ProgramSearchPathDir</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li>| <a href="#v:ProgramSearchPathDefault">ProgramSearchPathDefault</a></li></ul></li><li class="src short"><a href="#v:defaultProgramSearchPath">defaultProgramSearchPath</a> :: <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a></li><li class="src short"><a href="#v:findProgramOnSearchPath">findProgramOnSearchPath</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]))</li><li class="src short"><a href="#v:programSearchPathAsPATHVar">programSearchPathAsPATHVar</a> :: <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:getSystemSearchPath">getSystemSearchPath</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li></ul></div><div id="interface"><h1 id="g:1">Program search path</h1><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:ProgramSearchPath" class="def">ProgramSearchPath</a> = [<a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a>] <a href="#t:ProgramSearchPath" class="selflink">#</a></p><div class="doc"><p>A search path to use when locating executables. This is analogous- to the unix <code>$PATH</code> or win32 <code>%PATH%</code> but with the ability to use- the system default method for finding executables (<code>findExecutable</code> which- on unix is simply looking on the <code>$PATH</code> but on win32 is a bit more- complicated).</p><p>The default to use is <code>[ProgSearchPathDefault]</code> but you can add extra dirs- either before, after or instead of the default, e.g. here we add an extra- dir to search after the usual ones.</p><pre>['ProgramSearchPathDefault', 'ProgramSearchPathDir' dir]</pre></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ProgramSearchPathEntry" class="def">ProgramSearchPathEntry</a> <a href="#t:ProgramSearchPathEntry" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ProgramSearchPathDir" class="def">ProgramSearchPathDir</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>A specific dir</p></td></tr><tr><td class="src"><a id="v:ProgramSearchPathDefault" class="def">ProgramSearchPathDefault</a></td><td class="doc"><p>The system default</p></td></tr></table></div><div class="subs instances"><p id="control.i:ProgramSearchPathEntry" class="caption collapser" onclick="toggleSection('i:ProgramSearchPathEntry')">Instances</p><div id="section.i:ProgramSearchPathEntry" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramSearchPathEntry:Eq:1" class="instance expander" onclick="toggleSection('i:id:ProgramSearchPathEntry:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a></span> <a href="#t:ProgramSearchPathEntry" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramSearchPathEntry:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> -> <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> -> <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramSearchPathEntry:Generic:2" class="instance expander" onclick="toggleSection('i:id:ProgramSearchPathEntry:Generic:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a></span> <a href="#t:ProgramSearchPathEntry" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramSearchPathEntry:Generic:2" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> x -> <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramSearchPathEntry:Binary:3" class="instance expander" onclick="toggleSection('i:id:ProgramSearchPathEntry:Binary:3')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a></span> <a href="#t:ProgramSearchPathEntry" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramSearchPathEntry:Binary:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramSearchPathEntry:Rep:4" class="instance expander" onclick="toggleSection('i:id:ProgramSearchPathEntry:Rep:4')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a></span> <a href="#t:ProgramSearchPathEntry" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramSearchPathEntry:Rep:4" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ProgramSearchPathEntry" "Distribution.Simple.Program.Find" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ProgramSearchPathDir" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ProgramSearchPathDefault" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:defaultProgramSearchPath" class="def">defaultProgramSearchPath</a> :: <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a> <a href="#v:defaultProgramSearchPath" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:findProgramOnSearchPath" class="def">findProgramOnSearchPath</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])) <a href="#v:findProgramOnSearchPath" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:programSearchPathAsPATHVar" class="def">programSearchPathAsPATHVar</a> :: <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:programSearchPathAsPATHVar" class="selflink">#</a></p><div class="doc"><p>Interpret a <code><a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a></code> to construct a new <code>$PATH</code> env var.- Note that this is close but not perfect because on Windows the search- algorithm looks at more than just the <code>%PATH%</code>.</p></div></div><div class="top"><p class="src"><a id="v:getSystemSearchPath" class="def">getSystemSearchPath</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] <a href="#v:getSystemSearchPath" class="selflink">#</a></p><div class="doc"><p>Get the system search path. On Unix systems this is just the <code>$PATH</code> env- var, but on windows it's a bit more complicated.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,27 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Program.GHC</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Program.GHC</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:GhcOptions">GhcOptions</a> = <a href="#v:GhcOptions">GhcOptions</a> {<ul class="subs"><li><a href="#v:ghcOptMode">ghcOptMode</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcMode">GhcMode</a></li><li><a href="#v:ghcOptExtra">ghcOptExtra</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:ghcOptExtraDefault">ghcOptExtraDefault</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:ghcOptInputFiles">ghcOptInputFiles</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:ghcOptInputModules">ghcOptInputModules</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li><li><a href="#v:ghcOptOutputFile">ghcOptOutputFile</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:ghcOptOutputDynFile">ghcOptOutputDynFile</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:ghcOptSourcePathClear">ghcOptSourcePathClear</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:ghcOptSourcePath">ghcOptSourcePath</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:ghcOptThisUnitId">ghcOptThisUnitId</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:ghcOptThisComponentId">ghcOptThisComponentId</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></li><li><a href="#v:ghcOptInstantiatedWith">ghcOptInstantiatedWith</a> :: [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>)]</li><li><a href="#v:ghcOptNoCode">ghcOptNoCode</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:ghcOptPackageDBs">ghcOptPackageDBs</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a></li><li><a href="#v:ghcOptPackages">ghcOptPackages</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> (<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)</li><li><a href="#v:ghcOptHideAllPackages">ghcOptHideAllPackages</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:ghcOptWarnMissingHomeModules">ghcOptWarnMissingHomeModules</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:ghcOptNoAutoLinkPackages">ghcOptNoAutoLinkPackages</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:ghcOptLinkLibs">ghcOptLinkLibs</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:ghcOptLinkLibPath">ghcOptLinkLibPath</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:ghcOptLinkOptions">ghcOptLinkOptions</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:ghcOptLinkFrameworks">ghcOptLinkFrameworks</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:ghcOptLinkFrameworkDirs">ghcOptLinkFrameworkDirs</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:ghcOptNoLink">ghcOptNoLink</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:ghcOptLinkNoHsMain">ghcOptLinkNoHsMain</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:ghcOptLinkModDefFiles">ghcOptLinkModDefFiles</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:ghcOptCcOptions">ghcOptCcOptions</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:ghcOptCppOptions">ghcOptCppOptions</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:ghcOptCppIncludePath">ghcOptCppIncludePath</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:ghcOptCppIncludes">ghcOptCppIncludes</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:ghcOptFfiIncludes">ghcOptFfiIncludes</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:ghcOptLanguage">ghcOptLanguage</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a></li><li><a href="#v:ghcOptExtensions">ghcOptExtensions</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a></li><li><a href="#v:ghcOptExtensionMap">ghcOptExtensionMap</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:ghcOptOptimisation">ghcOptOptimisation</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptimisation">GhcOptimisation</a></li><li><a href="#v:ghcOptDebugInfo">ghcOptDebugInfo</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a></li><li><a href="#v:ghcOptProfilingMode">ghcOptProfilingMode</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:ghcOptProfilingAuto">ghcOptProfilingAuto</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcProfAuto">GhcProfAuto</a></li><li><a href="#v:ghcOptSplitObjs">ghcOptSplitObjs</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:ghcOptNumJobs">ghcOptNumJobs</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>)</li><li><a href="#v:ghcOptHPCDir">ghcOptHPCDir</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:ghcOptGHCiScripts">ghcOptGHCiScripts</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:ghcOptHiSuffix">ghcOptHiSuffix</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:ghcOptObjSuffix">ghcOptObjSuffix</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:ghcOptDynHiSuffix">ghcOptDynHiSuffix</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:ghcOptDynObjSuffix">ghcOptDynObjSuffix</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:ghcOptHiDir">ghcOptHiDir</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:ghcOptObjDir">ghcOptObjDir</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:ghcOptOutputDir">ghcOptOutputDir</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:ghcOptStubDir">ghcOptStubDir</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:ghcOptDynLinkMode">ghcOptDynLinkMode</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcDynLinkMode">GhcDynLinkMode</a></li><li><a href="#v:ghcOptStaticLib">ghcOptStaticLib</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:ghcOptShared">ghcOptShared</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:ghcOptFPic">ghcOptFPic</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:ghcOptDylibName">ghcOptDylibName</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:ghcOptRPaths">ghcOptRPaths</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:ghcOptVerbosity">ghcOptVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li><a href="#v:ghcOptExtraPath">ghcOptExtraPath</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:ghcOptCabal">ghcOptCabal</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:GhcMode">GhcMode</a><ul class="subs"><li>= <a href="#v:GhcModeCompile">GhcModeCompile</a></li><li>| <a href="#v:GhcModeLink">GhcModeLink</a></li><li>| <a href="#v:GhcModeMake">GhcModeMake</a></li><li>| <a href="#v:GhcModeInteractive">GhcModeInteractive</a></li><li>| <a href="#v:GhcModeAbiHash">GhcModeAbiHash</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:GhcOptimisation">GhcOptimisation</a><ul class="subs"><li>= <a href="#v:GhcNoOptimisation">GhcNoOptimisation</a></li><li>| <a href="#v:GhcNormalOptimisation">GhcNormalOptimisation</a></li><li>| <a href="#v:GhcMaximumOptimisation">GhcMaximumOptimisation</a></li><li>| <a href="#v:GhcSpecialOptimisation">GhcSpecialOptimisation</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:GhcDynLinkMode">GhcDynLinkMode</a><ul class="subs"><li>= <a href="#v:GhcStaticOnly">GhcStaticOnly</a></li><li>| <a href="#v:GhcDynamicOnly">GhcDynamicOnly</a></li><li>| <a href="#v:GhcStaticAndDynamic">GhcStaticAndDynamic</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:GhcProfAuto">GhcProfAuto</a><ul class="subs"><li>= <a href="#v:GhcProfAutoAll">GhcProfAutoAll</a></li><li>| <a href="#v:GhcProfAutoToplevel">GhcProfAutoToplevel</a></li><li>| <a href="#v:GhcProfAutoExported">GhcProfAutoExported</a></li></ul></li><li class="src short"><a href="#v:ghcInvocation">ghcInvocation</a> :: <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a></li><li class="src short"><a href="#v:renderGhcOptions">renderGhcOptions</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li class="src short"><a href="#v:runGHC">runGHC</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:GhcOptions" class="def">GhcOptions</a> <a href="#t:GhcOptions" class="selflink">#</a></p><div class="doc"><p>A structured set of GHC options/flags</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:GhcOptions" class="def">GhcOptions</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:ghcOptMode" class="def">ghcOptMode</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcMode">GhcMode</a></dfn><div class="doc"><p>The major mode for the ghc invocation.</p></div></li><li><dfn class="src"><a id="v:ghcOptExtra" class="def">ghcOptExtra</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>Any extra options to pass directly to ghc. These go at the end and hence- override other stuff.</p></div></li><li><dfn class="src"><a id="v:ghcOptExtraDefault" class="def">ghcOptExtraDefault</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>Extra default flags to pass directly to ghc. These go at the beginning- and so can be overridden by other stuff.</p></div></li><li><dfn class="src"><a id="v:ghcOptInputFiles" class="def">ghcOptInputFiles</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>The main input files; could be .hs, .hi, .c, .o, depending on mode.</p></div></li><li><dfn class="src"><a id="v:ghcOptInputModules" class="def">ghcOptInputModules</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></dfn><div class="doc"><p>The names of input Haskell modules, mainly for <code>--make</code> mode.</p></div></li><li><dfn class="src"><a id="v:ghcOptOutputFile" class="def">ghcOptOutputFile</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>Location for output file; the <code>ghc -o</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptOutputDynFile" class="def">ghcOptOutputDynFile</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>Location for dynamic output file in <code><a href="Distribution-Simple-Program-GHC.html#v:GhcStaticAndDynamic">GhcStaticAndDynamic</a></code> mode;- the <code>ghc -dyno</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptSourcePathClear" class="def">ghcOptSourcePathClear</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Start with an empty search path for Haskell source files;- the <code>ghc -i</code> flag (<code>-i</code> on it's own with no path argument).</p></div></li><li><dfn class="src"><a id="v:ghcOptSourcePath" class="def">ghcOptSourcePath</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>Search path for Haskell source files; the <code>ghc -i</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptThisUnitId" class="def">ghcOptThisUnitId</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>The unit ID the modules will belong to; the <code>ghc -this-unit-id</code>- flag (or <code>-this-package-key</code> or <code>-package-name</code> on older- versions of GHC). This is a <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code> because we assume you've- already figured out what the correct format for this string is- (we need to handle backwards compatibility.)</p></div></li><li><dfn class="src"><a id="v:ghcOptThisComponentId" class="def">ghcOptThisComponentId</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></dfn><div class="doc"><p>GHC doesn't make any assumptions about the format of- definite unit ids, so when we are instantiating a package it- needs to be told explicitly what the component being instantiated- is. This only gets set when <code><a href="Distribution-Simple-Program-GHC.html#v:ghcOptInstantiatedWith">ghcOptInstantiatedWith</a></code> is non-empty</p></div></li><li><dfn class="src"><a id="v:ghcOptInstantiatedWith" class="def">ghcOptInstantiatedWith</a> :: [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>)]</dfn><div class="doc"><p>How the requirements of the package being compiled are to- be filled. When typechecking an indefinite package, the <code><a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a></code>- is always a <code><a href="Distribution-Backpack.html#v:OpenModuleVar">OpenModuleVar</a></code>; otherwise, it specifies the installed module- that instantiates a package.</p></div></li><li><dfn class="src"><a id="v:ghcOptNoCode" class="def">ghcOptNoCode</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>No code? (But we turn on interface writing</p></div></li><li><dfn class="src"><a id="v:ghcOptPackageDBs" class="def">ghcOptPackageDBs</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a></dfn><div class="doc"><p>GHC package databases to use, the <code>ghc -package-conf</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptPackages" class="def">ghcOptPackages</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> (<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)</dfn><div class="doc"><p>The GHC packages to bring into scope when compiling,- the <code>ghc -package-id</code> flags.</p></div></li><li><dfn class="src"><a id="v:ghcOptHideAllPackages" class="def">ghcOptHideAllPackages</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Start with a clean package set; the <code>ghc -hide-all-packages</code> flag</p></div></li><li><dfn class="src"><a id="v:ghcOptWarnMissingHomeModules" class="def">ghcOptWarnMissingHomeModules</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Warn about modules, not listed in command line</p></div></li><li><dfn class="src"><a id="v:ghcOptNoAutoLinkPackages" class="def">ghcOptNoAutoLinkPackages</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Don't automatically link in Haskell98 etc; the <code>ghc- -no-auto-link-packages</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptLinkLibs" class="def">ghcOptLinkLibs</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>Names of libraries to link in; the <code>ghc -l</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptLinkLibPath" class="def">ghcOptLinkLibPath</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>Search path for libraries to link in; the <code>ghc -L</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptLinkOptions" class="def">ghcOptLinkOptions</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>Options to pass through to the linker; the <code>ghc -optl</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptLinkFrameworks" class="def">ghcOptLinkFrameworks</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>OSX only: frameworks to link in; the <code>ghc -framework</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptLinkFrameworkDirs" class="def">ghcOptLinkFrameworkDirs</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>OSX only: Search path for frameworks to link in; the- <code>ghc -framework-path</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptNoLink" class="def">ghcOptNoLink</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Don't do the link step, useful in make mode; the <code>ghc -no-link</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptLinkNoHsMain" class="def">ghcOptLinkNoHsMain</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Don't link in the normal RTS <code>main</code> entry point; the <code>ghc -no-hs-main</code>- flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptLinkModDefFiles" class="def">ghcOptLinkModDefFiles</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>Module definition files (Windows specific)</p></div></li><li><dfn class="src"><a id="v:ghcOptCcOptions" class="def">ghcOptCcOptions</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>Options to pass through to the C compiler; the <code>ghc -optc</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptCppOptions" class="def">ghcOptCppOptions</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>Options to pass through to CPP; the <code>ghc -optP</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptCppIncludePath" class="def">ghcOptCppIncludePath</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>Search path for CPP includes like header files; the <code>ghc -I</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptCppIncludes" class="def">ghcOptCppIncludes</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>Extra header files to include at CPP stage; the <code>ghc -optP-include</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptFfiIncludes" class="def">ghcOptFfiIncludes</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>Extra header files to include for old-style FFI; the <code>ghc -#include</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptLanguage" class="def">ghcOptLanguage</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a></dfn><div class="doc"><p>The base language; the <code>ghc -XHaskell98</code> or <code>-XHaskell2010</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptExtensions" class="def">ghcOptExtensions</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a></dfn><div class="doc"><p>The language extensions; the <code>ghc -X</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptExtensionMap" class="def">ghcOptExtensionMap</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>A GHC version-dependent mapping of extensions to flags. This must be- set to be able to make use of the <code><a href="Distribution-Simple-Program-GHC.html#v:ghcOptExtensions">ghcOptExtensions</a></code>.</p></div></li><li><dfn class="src"><a id="v:ghcOptOptimisation" class="def">ghcOptOptimisation</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptimisation">GhcOptimisation</a></dfn><div class="doc"><p>What optimisation level to use; the <code>ghc -O</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptDebugInfo" class="def">ghcOptDebugInfo</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a></dfn><div class="doc"><p>Emit debug info; the <code>ghc -g</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptProfilingMode" class="def">ghcOptProfilingMode</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Compile in profiling mode; the <code>ghc -prof</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptProfilingAuto" class="def">ghcOptProfilingAuto</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcProfAuto">GhcProfAuto</a></dfn><div class="doc"><p>Automatically add profiling cost centers; the <code>ghc -fprof-auto*</code> flags.</p></div></li><li><dfn class="src"><a id="v:ghcOptSplitObjs" class="def">ghcOptSplitObjs</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Use the "split object files" feature; the <code>ghc -split-objs</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptNumJobs" class="def">ghcOptNumJobs</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>)</dfn><div class="doc"><p>Run N jobs simultaneously (if possible).</p></div></li><li><dfn class="src"><a id="v:ghcOptHPCDir" class="def">ghcOptHPCDir</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>Enable coverage analysis; the <code>ghc -fhpc -hpcdir</code> flags.</p></div></li><li><dfn class="src"><a id="v:ghcOptGHCiScripts" class="def">ghcOptGHCiScripts</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>Extra GHCi startup scripts; the <code>-ghci-script</code> flag</p></div></li><li><dfn class="src"><a id="v:ghcOptHiSuffix" class="def">ghcOptHiSuffix</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:ghcOptObjSuffix" class="def">ghcOptObjSuffix</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:ghcOptDynHiSuffix" class="def">ghcOptDynHiSuffix</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>only in <code><a href="Distribution-Simple-Program-GHC.html#v:GhcStaticAndDynamic">GhcStaticAndDynamic</a></code> mode</p></div></li><li><dfn class="src"><a id="v:ghcOptDynObjSuffix" class="def">ghcOptDynObjSuffix</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>only in <code><a href="Distribution-Simple-Program-GHC.html#v:GhcStaticAndDynamic">GhcStaticAndDynamic</a></code> mode</p></div></li><li><dfn class="src"><a id="v:ghcOptHiDir" class="def">ghcOptHiDir</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:ghcOptObjDir" class="def">ghcOptObjDir</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:ghcOptOutputDir" class="def">ghcOptOutputDir</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:ghcOptStubDir" class="def">ghcOptStubDir</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:ghcOptDynLinkMode" class="def">ghcOptDynLinkMode</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcDynLinkMode">GhcDynLinkMode</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:ghcOptStaticLib" class="def">ghcOptStaticLib</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:ghcOptShared" class="def">ghcOptShared</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:ghcOptFPic" class="def">ghcOptFPic</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:ghcOptDylibName" class="def">ghcOptDylibName</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:ghcOptRPaths" class="def">ghcOptRPaths</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:ghcOptVerbosity" class="def">ghcOptVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></dfn><div class="doc"><p>Get GHC to be quiet or verbose with what it's doing; the <code>ghc -v</code> flag.</p></div></li><li><dfn class="src"><a id="v:ghcOptExtraPath" class="def">ghcOptExtraPath</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>Put the extra folders in the PATH environment variable we invoke- GHC with</p></div></li><li><dfn class="src"><a id="v:ghcOptCabal" class="def">ghcOptCabal</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Let GHC know that it is Cabal that's calling it.- Modifies some of the GHC error messages.</p></div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:GhcOptions" class="caption collapser" onclick="toggleSection('i:GhcOptions')">Instances</p><div id="section.i:GhcOptions" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GhcOptions:Show:1" class="instance expander" onclick="toggleSection('i:id:GhcOptions:Show:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a></span> <a href="#t:GhcOptions" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GhcOptions:Show:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GhcOptions:Generic:2" class="instance expander" onclick="toggleSection('i:id:GhcOptions:Generic:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a></span> <a href="#t:GhcOptions" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GhcOptions:Generic:2" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> x -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GhcOptions:Semigroup:3" class="instance expander" onclick="toggleSection('i:id:GhcOptions:Semigroup:3')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a></span> <a href="#t:GhcOptions" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GhcOptions:Semigroup:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GhcOptions:Monoid:4" class="instance expander" onclick="toggleSection('i:id:GhcOptions:Monoid:4')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a></span> <a href="#t:GhcOptions" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GhcOptions:Monoid:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a>] -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GhcOptions:Rep:5" class="instance expander" onclick="toggleSection('i:id:GhcOptions:Rep:5')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a></span> <a href="#t:GhcOptions" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GhcOptions:Rep:5" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "GhcOptions" "Distribution.Simple.Program.GHC" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "GhcOptions" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptMode") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcMode">GhcMode</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptExtra") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptExtraDefault") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptInputFiles") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptInputModules") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptOutputFile") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptOutputDynFile") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptSourcePathClear") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptSourcePath") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptThisUnitId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptThisComponentId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptInstantiatedWith") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>)]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptNoCode") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptPackageDBs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptPackages") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> (<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptHideAllPackages") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptWarnMissingHomeModules") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptNoAutoLinkPackages") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptLinkLibs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptLinkLibPath") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptLinkOptions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptLinkFrameworks") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptLinkFrameworkDirs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptNoLink") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptLinkNoHsMain") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptLinkModDefFiles") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptCcOptions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptCppOptions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptCppIncludePath") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)))))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptCppIncludes") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptFfiIncludes") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptLanguage") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptExtensions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptExtensionMap") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptOptimisation") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptimisation">GhcOptimisation</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptDebugInfo") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptProfilingMode") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptProfilingAuto") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcProfAuto">GhcProfAuto</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptSplitObjs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptNumJobs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptHPCDir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptGHCiScripts") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptHiSuffix") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptObjSuffix") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptDynHiSuffix") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptDynObjSuffix") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptHiDir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptObjDir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptOutputDir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptStubDir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptDynLinkMode") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcDynLinkMode">GhcDynLinkMode</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptStaticLib") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptShared") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptFPic") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptDylibName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptRPaths") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptVerbosity") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptExtraPath") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ghcOptCabal") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))))))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:GhcMode" class="def">GhcMode</a> <a href="#t:GhcMode" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:GhcModeCompile" class="def">GhcModeCompile</a></td><td class="doc"><pre>ghc -c</pre></td></tr><tr><td class="src"><a id="v:GhcModeLink" class="def">GhcModeLink</a></td><td class="doc"><pre>ghc</pre></td></tr><tr><td class="src"><a id="v:GhcModeMake" class="def">GhcModeMake</a></td><td class="doc"><pre>ghc --make</pre></td></tr><tr><td class="src"><a id="v:GhcModeInteractive" class="def">GhcModeInteractive</a></td><td class="doc"><p><code>ghci</code> / <code>ghc --interactive</code></p></td></tr><tr><td class="src"><a id="v:GhcModeAbiHash" class="def">GhcModeAbiHash</a></td><td class="doc"><p><code>ghc --abi-hash</code>- | GhcModeDepAnalysis -- ^ <code>ghc -M</code>- | GhcModeEvaluate -- ^ <code>ghc -e</code></p></td></tr></table></div><div class="subs instances"><p id="control.i:GhcMode" class="caption collapser" onclick="toggleSection('i:GhcMode')">Instances</p><div id="section.i:GhcMode" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GhcMode:Eq:1" class="instance expander" onclick="toggleSection('i:id:GhcMode:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcMode">GhcMode</a></span> <a href="#t:GhcMode" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GhcMode:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Program-GHC.html#t:GhcMode">GhcMode</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcMode">GhcMode</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Program-GHC.html#t:GhcMode">GhcMode</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcMode">GhcMode</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GhcMode:Show:2" class="instance expander" onclick="toggleSection('i:id:GhcMode:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcMode">GhcMode</a></span> <a href="#t:GhcMode" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GhcMode:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcMode">GhcMode</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Program-GHC.html#t:GhcMode">GhcMode</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Program-GHC.html#t:GhcMode">GhcMode</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:GhcOptimisation" class="def">GhcOptimisation</a> <a href="#t:GhcOptimisation" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:GhcNoOptimisation" class="def">GhcNoOptimisation</a></td><td class="doc"><pre>-O0</pre></td></tr><tr><td class="src"><a id="v:GhcNormalOptimisation" class="def">GhcNormalOptimisation</a></td><td class="doc"><pre>-O</pre></td></tr><tr><td class="src"><a id="v:GhcMaximumOptimisation" class="def">GhcMaximumOptimisation</a></td><td class="doc"><pre>-O2</pre></td></tr><tr><td class="src"><a id="v:GhcSpecialOptimisation" class="def">GhcSpecialOptimisation</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>e.g. <code>-Odph</code></p></td></tr></table></div><div class="subs instances"><p id="control.i:GhcOptimisation" class="caption collapser" onclick="toggleSection('i:GhcOptimisation')">Instances</p><div id="section.i:GhcOptimisation" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GhcOptimisation:Eq:1" class="instance expander" onclick="toggleSection('i:id:GhcOptimisation:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptimisation">GhcOptimisation</a></span> <a href="#t:GhcOptimisation" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GhcOptimisation:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Program-GHC.html#t:GhcOptimisation">GhcOptimisation</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptimisation">GhcOptimisation</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Program-GHC.html#t:GhcOptimisation">GhcOptimisation</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptimisation">GhcOptimisation</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GhcOptimisation:Show:2" class="instance expander" onclick="toggleSection('i:id:GhcOptimisation:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptimisation">GhcOptimisation</a></span> <a href="#t:GhcOptimisation" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GhcOptimisation:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptimisation">GhcOptimisation</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Program-GHC.html#t:GhcOptimisation">GhcOptimisation</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Program-GHC.html#t:GhcOptimisation">GhcOptimisation</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:GhcDynLinkMode" class="def">GhcDynLinkMode</a> <a href="#t:GhcDynLinkMode" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:GhcStaticOnly" class="def">GhcStaticOnly</a></td><td class="doc"><pre>-static</pre></td></tr><tr><td class="src"><a id="v:GhcDynamicOnly" class="def">GhcDynamicOnly</a></td><td class="doc"><pre>-dynamic</pre></td></tr><tr><td class="src"><a id="v:GhcStaticAndDynamic" class="def">GhcStaticAndDynamic</a></td><td class="doc"><pre>-static -dynamic-too</pre></td></tr></table></div><div class="subs instances"><p id="control.i:GhcDynLinkMode" class="caption collapser" onclick="toggleSection('i:GhcDynLinkMode')">Instances</p><div id="section.i:GhcDynLinkMode" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GhcDynLinkMode:Eq:1" class="instance expander" onclick="toggleSection('i:id:GhcDynLinkMode:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcDynLinkMode">GhcDynLinkMode</a></span> <a href="#t:GhcDynLinkMode" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GhcDynLinkMode:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Program-GHC.html#t:GhcDynLinkMode">GhcDynLinkMode</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcDynLinkMode">GhcDynLinkMode</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Program-GHC.html#t:GhcDynLinkMode">GhcDynLinkMode</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcDynLinkMode">GhcDynLinkMode</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GhcDynLinkMode:Show:2" class="instance expander" onclick="toggleSection('i:id:GhcDynLinkMode:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcDynLinkMode">GhcDynLinkMode</a></span> <a href="#t:GhcDynLinkMode" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GhcDynLinkMode:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcDynLinkMode">GhcDynLinkMode</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Program-GHC.html#t:GhcDynLinkMode">GhcDynLinkMode</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Program-GHC.html#t:GhcDynLinkMode">GhcDynLinkMode</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:GhcProfAuto" class="def">GhcProfAuto</a> <a href="#t:GhcProfAuto" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:GhcProfAutoAll" class="def">GhcProfAutoAll</a></td><td class="doc"><pre>-fprof-auto</pre></td></tr><tr><td class="src"><a id="v:GhcProfAutoToplevel" class="def">GhcProfAutoToplevel</a></td><td class="doc"><pre>-fprof-auto-top</pre></td></tr><tr><td class="src"><a id="v:GhcProfAutoExported" class="def">GhcProfAutoExported</a></td><td class="doc"><pre>-fprof-auto-exported</pre></td></tr></table></div><div class="subs instances"><p id="control.i:GhcProfAuto" class="caption collapser" onclick="toggleSection('i:GhcProfAuto')">Instances</p><div id="section.i:GhcProfAuto" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GhcProfAuto:Eq:1" class="instance expander" onclick="toggleSection('i:id:GhcProfAuto:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcProfAuto">GhcProfAuto</a></span> <a href="#t:GhcProfAuto" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GhcProfAuto:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Program-GHC.html#t:GhcProfAuto">GhcProfAuto</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcProfAuto">GhcProfAuto</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Program-GHC.html#t:GhcProfAuto">GhcProfAuto</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcProfAuto">GhcProfAuto</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GhcProfAuto:Show:2" class="instance expander" onclick="toggleSection('i:id:GhcProfAuto:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Program-GHC.html#t:GhcProfAuto">GhcProfAuto</a></span> <a href="#t:GhcProfAuto" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GhcProfAuto:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcProfAuto">GhcProfAuto</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Program-GHC.html#t:GhcProfAuto">GhcProfAuto</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Program-GHC.html#t:GhcProfAuto">GhcProfAuto</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:ghcInvocation" class="def">ghcInvocation</a> :: <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> <a href="#v:ghcInvocation" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:renderGhcOptions" class="def">renderGhcOptions</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#v:renderGhcOptions" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:runGHC" class="def">runGHC</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">GhcOptions</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:runGHC" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,17 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Program.HcPkg</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Duncan Coutts 2009 2013</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Program.HcPkg</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Types</a></li><li><a href="#g:2">Actions</a></li><li><a href="#g:3">Program invocations</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module provides an library interface to the <code>hc-pkg</code> program.- Currently only GHC, GHCJS and LHC have hc-pkg programs.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:HcPkgInfo">HcPkgInfo</a> = <a href="#v:HcPkgInfo">HcPkgInfo</a> {<ul class="subs"><li><a href="#v:hcPkgProgram">hcPkgProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a></li><li><a href="#v:noPkgDbStack">noPkgDbStack</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:noVerboseFlag">noVerboseFlag</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:flagPackageConf">flagPackageConf</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:supportsDirDbs">supportsDirDbs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:requiresDirDbs">requiresDirDbs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:nativeMultiInstance">nativeMultiInstance</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:recacheMultiInstance">recacheMultiInstance</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:suppressFilesCheck">suppressFilesCheck</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:RegisterOptions">RegisterOptions</a> = <a href="#v:RegisterOptions">RegisterOptions</a> {<ul class="subs"><li><a href="#v:registerAllowOverwrite">registerAllowOverwrite</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:registerMultiInstance">registerMultiInstance</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:registerSuppressFilesCheck">registerSuppressFilesCheck</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul>}</li><li class="src short"><a href="#v:defaultRegisterOptions">defaultRegisterOptions</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:RegisterOptions">RegisterOptions</a></li><li class="src short"><a href="#v:init">init</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:invoke">invoke</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:register">register</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-Program-HcPkg.html#t:RegisterOptions">RegisterOptions</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:unregister">unregister</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:recache">recache</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:expose">expose</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:hide">hide</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:dump">dump</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>]</li><li class="src short"><a href="#v:describe">describe</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>]</li><li class="src short"><a href="#v:list">list</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a>]</li><li class="src short"><a href="#v:initInvocation">initInvocation</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a></li><li class="src short"><a href="#v:registerInvocation">registerInvocation</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-Program-HcPkg.html#t:RegisterOptions">RegisterOptions</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a></li><li class="src short"><a href="#v:unregisterInvocation">unregisterInvocation</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a></li><li class="src short"><a href="#v:recacheInvocation">recacheInvocation</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a></li><li class="src short"><a href="#v:exposeInvocation">exposeInvocation</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a></li><li class="src short"><a href="#v:hideInvocation">hideInvocation</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a></li><li class="src short"><a href="#v:dumpInvocation">dumpInvocation</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a></li><li class="src short"><a href="#v:describeInvocation">describeInvocation</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a></li><li class="src short"><a href="#v:listInvocation">listInvocation</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a></li></ul></div><div id="interface"><h1 id="g:1">Types</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:HcPkgInfo" class="def">HcPkgInfo</a> <a href="#t:HcPkgInfo" class="selflink">#</a></p><div class="doc"><p>Information about the features and capabilities of an <code>hc-pkg</code>- program.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:HcPkgInfo" class="def">HcPkgInfo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:hcPkgProgram" class="def">hcPkgProgram</a> :: <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:noPkgDbStack" class="def">noPkgDbStack</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>no package DB stack supported</p></div></li><li><dfn class="src"><a id="v:noVerboseFlag" class="def">noVerboseFlag</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>hc-pkg does not support verbosity flags</p></div></li><li><dfn class="src"><a id="v:flagPackageConf" class="def">flagPackageConf</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>use package-conf option instead of package-db</p></div></li><li><dfn class="src"><a id="v:supportsDirDbs" class="def">supportsDirDbs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>supports directory style package databases</p></div></li><li><dfn class="src"><a id="v:requiresDirDbs" class="def">requiresDirDbs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>requires directory style package databases</p></div></li><li><dfn class="src"><a id="v:nativeMultiInstance" class="def">nativeMultiInstance</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>supports --enable-multi-instance flag</p></div></li><li><dfn class="src"><a id="v:recacheMultiInstance" class="def">recacheMultiInstance</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>supports multi-instance via recache</p></div></li><li><dfn class="src"><a id="v:suppressFilesCheck" class="def">suppressFilesCheck</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>supports --force-files or equivalent</p></div></li></ul></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:RegisterOptions" class="def">RegisterOptions</a> <a href="#t:RegisterOptions" class="selflink">#</a></p><div class="doc"><p>Additional variations in the behaviour for <code><a href="Distribution-Simple-Program-HcPkg.html#v:register">register</a></code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:RegisterOptions" class="def">RegisterOptions</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:registerAllowOverwrite" class="def">registerAllowOverwrite</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Allows re-registering / overwriting an existing package</p></div></li><li><dfn class="src"><a id="v:registerMultiInstance" class="def">registerMultiInstance</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Insist on the ability to register multiple instances of a- single version of a single package. This will fail if the <code>hc-pkg</code>- does not support it, see <code><a href="Distribution-Simple-Program-HcPkg.html#v:nativeMultiInstance">nativeMultiInstance</a></code> and- <code><a href="Distribution-Simple-Program-HcPkg.html#v:recacheMultiInstance">recacheMultiInstance</a></code>.</p></div></li><li><dfn class="src"><a id="v:registerSuppressFilesCheck" class="def">registerSuppressFilesCheck</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Require that no checks are performed on the existence of package- files mentioned in the registration info. This must be used if- registering prior to putting the files in their final place. This will- fail if the <code>hc-pkg</code> does not support it, see <code><a href="Distribution-Simple-Program-HcPkg.html#v:suppressFilesCheck">suppressFilesCheck</a></code>.</p></div></li></ul></div></td></tr></table></div></div><div class="top"><p class="src"><a id="v:defaultRegisterOptions" class="def">defaultRegisterOptions</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:RegisterOptions">RegisterOptions</a> <a href="#v:defaultRegisterOptions" class="selflink">#</a></p><div class="doc"><p>Defaults are <code>True</code>, <code>False</code> and <code>False</code></p></div></div><h1 id="g:2">Actions</h1><div class="top"><p class="src"><a id="v:init" class="def">init</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:init" class="selflink">#</a></p><div class="doc"><p>Call <code>hc-pkg</code> to initialise a package database at the location {path}.</p><pre>hc-pkg init {path}</pre></div></div><div class="top"><p class="src"><a id="v:invoke" class="def">invoke</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:invoke" class="selflink">#</a></p><div class="doc"><p>Run <code>hc-pkg</code> using a given package DB stack, directly forwarding the- provided command-line arguments to it.</p></div></div><div class="top"><p class="src"><a id="v:register" class="def">register</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-Program-HcPkg.html#t:RegisterOptions">RegisterOptions</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:register" class="selflink">#</a></p><div class="doc"><p>Call <code>hc-pkg</code> to register a package.</p><pre>hc-pkg register {filename | -} [--user | --global | --package-db]</pre></div></div><div class="top"><p class="src"><a id="v:unregister" class="def">unregister</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:unregister" class="selflink">#</a></p><div class="doc"><p>Call <code>hc-pkg</code> to unregister a package</p><pre>hc-pkg unregister [pkgid] [--user | --global | --package-db]</pre></div></div><div class="top"><p class="src"><a id="v:recache" class="def">recache</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:recache" class="selflink">#</a></p><div class="doc"><p>Call <code>hc-pkg</code> to recache the registered packages.</p><pre>hc-pkg recache [--user | --global | --package-db]</pre></div></div><div class="top"><p class="src"><a id="v:expose" class="def">expose</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:expose" class="selflink">#</a></p><div class="doc"><p>Call <code>hc-pkg</code> to expose a package.</p><pre>hc-pkg expose [pkgid] [--user | --global | --package-db]</pre></div></div><div class="top"><p class="src"><a id="v:hide" class="def">hide</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:hide" class="selflink">#</a></p><div class="doc"><p>Call <code>hc-pkg</code> to hide a package.</p><pre>hc-pkg hide [pkgid] [--user | --global | --package-db]</pre></div></div><div class="top"><p class="src"><a id="v:dump" class="def">dump</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>] <a href="#v:dump" class="selflink">#</a></p><div class="doc"><p>Call <code>hc-pkg</code> to get all the details of all the packages in the given- package database.</p></div></div><div class="top"><p class="src"><a id="v:describe" class="def">describe</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>] <a href="#v:describe" class="selflink">#</a></p><div class="doc"><p>Call <code>hc-pkg</code> to retrieve a specific package</p><pre>hc-pkg describe [pkgid] [--user | --global | --package-db]</pre></div></div><div class="top"><p class="src"><a id="v:list" class="def">list</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a>] <a href="#v:list" class="selflink">#</a></p><div class="doc"><p>Call <code>hc-pkg</code> to get the source package Id of all the packages in the- given package database.</p><p>This is much less information than with <code><a href="Distribution-Simple-Program-HcPkg.html#v:dump">dump</a></code>, but also rather quicker.- Note in particular that it does not include the <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code>, just- the source <code><a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a></code> which is not necessarily unique in any package db.</p></div></div><h1 id="g:3">Program invocations</h1><div class="top"><p class="src"><a id="v:initInvocation" class="def">initInvocation</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> <a href="#v:initInvocation" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:registerInvocation" class="def">registerInvocation</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-Program-HcPkg.html#t:RegisterOptions">RegisterOptions</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> <a href="#v:registerInvocation" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:unregisterInvocation" class="def">unregisterInvocation</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> <a href="#v:unregisterInvocation" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:recacheInvocation" class="def">recacheInvocation</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> <a href="#v:recacheInvocation" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:exposeInvocation" class="def">exposeInvocation</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> <a href="#v:exposeInvocation" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:hideInvocation" class="def">hideInvocation</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> <a href="#v:hideInvocation" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:dumpInvocation" class="def">dumpInvocation</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> <a href="#v:dumpInvocation" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:describeInvocation" class="def">describeInvocation</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> <a href="#v:describeInvocation" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:listInvocation" class="def">listInvocation</a> :: <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">HcPkgInfo</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> <a href="#v:listInvocation" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,8 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Program.Hpc</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Thomas Tuegel 2011</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Program.Hpc</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module provides an library interface to the <code>hpc</code> program.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:markup">markup</a> :: <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:union">union</a> :: <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:markup" class="def">markup</a> <a href="#v:markup" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Path to .tix file</p></td></tr><tr><td class="src">-> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</td><td class="doc"><p>Paths to .mix file directories</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Path where html output should be located</p></td></tr><tr><td class="src">-> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</td><td class="doc"><p>List of modules to exclude from report</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Invoke hpc with the given parameters.</p><p>Prior to HPC version 0.7 (packaged with GHC 7.8), hpc did not handle- multiple .mix paths correctly, so we print a warning, and only pass it the- first path in the list. This means that e.g. test suites that import their- library as a dependency can still work, but those that include the library- modules directly (in other-modules) don't.</p></div></div><div class="top"><p class="src"><a id="v:union" class="def">union</a> <a href="#v:union" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</td><td class="doc"><p>Paths to .tix files</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Path to resultant .tix file</p></td></tr><tr><td class="src">-> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</td><td class="doc"><p>List of modules to exclude from union</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,7 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Program.Internal</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Program.Internal</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Internal utilities used by Distribution.Simple.Program.*.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:stripExtractVersion">stripExtractVersion</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:stripExtractVersion" class="def">stripExtractVersion</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:stripExtractVersion" class="selflink">#</a></p><div class="doc"><p>Extract the version number from the output of 'strip --version'.</p><p>Invoking "strip --version" gives very inconsistent results. We ignore- everything in parentheses (see #2497), look for the first word that starts- with a number, and try parsing out the first two components of it. Non-GNU- <code>strip</code> doesn't appear to have a version flag.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Program.Ld</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Duncan Coutts 2009</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Program.Ld</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module provides an library interface to the <code>ld</code> linker program.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:combineObjectFiles">combineObjectFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:combineObjectFiles" class="def">combineObjectFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:combineObjectFiles" class="selflink">#</a></p><div class="doc"><p>Call <code>ld -r</code> to link a bunch of object files together.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,20 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Program.Run</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Duncan Coutts 2009</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Program.Run</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module provides a data type for program invocations and functions to- run them.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:ProgramInvocation">ProgramInvocation</a> = <a href="#v:ProgramInvocation">ProgramInvocation</a> {<ul class="subs"><li><a href="#v:progInvokePath">progInvokePath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:progInvokeArgs">progInvokeArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:progInvokeEnv">progInvokeEnv</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</li><li><a href="#v:progInvokePathEnv">progInvokePathEnv</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:progInvokeCwd">progInvokeCwd</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:progInvokeInput">progInvokeInput</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:progInvokeInputEncoding">progInvokeInputEncoding</a> :: <a href="Distribution-Simple-Program-Run.html#t:IOEncoding">IOEncoding</a></li><li><a href="#v:progInvokeOutputEncoding">progInvokeOutputEncoding</a> :: <a href="Distribution-Simple-Program-Run.html#t:IOEncoding">IOEncoding</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:IOEncoding">IOEncoding</a><ul class="subs"><li>= <a href="#v:IOEncodingText">IOEncodingText</a></li><li>| <a href="#v:IOEncodingUTF8">IOEncodingUTF8</a></li></ul></li><li class="src short"><a href="#v:emptyProgramInvocation">emptyProgramInvocation</a> :: <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a></li><li class="src short"><a href="#v:simpleProgramInvocation">simpleProgramInvocation</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a></li><li class="src short"><a href="#v:programInvocation">programInvocation</a> :: <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a></li><li class="src short"><a href="#v:multiStageProgramInvocation">multiStageProgramInvocation</a> :: <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> -> (<a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a>, <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a>, <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a>) -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> [<a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a>]</li><li class="src short"><a href="#v:runProgramInvocation">runProgramInvocation</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:getProgramInvocationOutput">getProgramInvocationOutput</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:getEffectiveEnvironment">getEffectiveEnvironment</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)] -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)])</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ProgramInvocation" class="def">ProgramInvocation</a> <a href="#t:ProgramInvocation" class="selflink">#</a></p><div class="doc"><p>Represents a specific invocation of a specific program.</p><p>This is used as an intermediate type between deciding how to call a program- and actually doing it. This provides the opportunity to the caller to- adjust how the program will be called. These invocations can either be run- directly or turned into shell or batch scripts.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ProgramInvocation" class="def">ProgramInvocation</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:progInvokePath" class="def">progInvokePath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:progInvokeArgs" class="def">progInvokeArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:progInvokeEnv" class="def">progInvokeEnv</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:progInvokePathEnv" class="def">progInvokePathEnv</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:progInvokeCwd" class="def">progInvokeCwd</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:progInvokeInput" class="def">progInvokeInput</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:progInvokeInputEncoding" class="def">progInvokeInputEncoding</a> :: <a href="Distribution-Simple-Program-Run.html#t:IOEncoding">IOEncoding</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:progInvokeOutputEncoding" class="def">progInvokeOutputEncoding</a> :: <a href="Distribution-Simple-Program-Run.html#t:IOEncoding">IOEncoding</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:IOEncoding" class="def">IOEncoding</a> <a href="#t:IOEncoding" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:IOEncodingText" class="def">IOEncodingText</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:IOEncodingUTF8" class="def">IOEncodingUTF8</a></td><td class="doc empty"> </td></tr></table></div></div><div class="top"><p class="src"><a id="v:emptyProgramInvocation" class="def">emptyProgramInvocation</a> :: <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> <a href="#v:emptyProgramInvocation" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:simpleProgramInvocation" class="def">simpleProgramInvocation</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> <a href="#v:simpleProgramInvocation" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:programInvocation" class="def">programInvocation</a> :: <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> <a href="#v:programInvocation" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:multiStageProgramInvocation" class="def">multiStageProgramInvocation</a> :: <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> -> (<a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a>, <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a>, <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a>) -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> [<a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a>] <a href="#v:multiStageProgramInvocation" class="selflink">#</a></p><div class="doc"><p>Like the unix xargs program. Useful for when we've got very long command- lines that might overflow an OS limit on command line length and so you- need to invoke a command multiple times to get all the args in.</p><p>It takes four template invocations corresponding to the simple, initial,- middle and last invocations. If the number of args given is small enough- that we can get away with just a single invocation then the simple one is- used:</p><pre>$ simple args</pre><p>If the number of args given means that we need to use multiple invocations- then the templates for the initial, middle and last invocations are used:</p><pre>$ initial args_0-$ middle args_1-$ middle args_2- ...-$ final args_n</pre></div></div><div class="top"><p class="src"><a id="v:runProgramInvocation" class="def">runProgramInvocation</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:runProgramInvocation" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getProgramInvocationOutput" class="def">getProgramInvocationOutput</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:getProgramInvocationOutput" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getEffectiveEnvironment" class="def">getEffectiveEnvironment</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)] -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]) <a href="#v:getEffectiveEnvironment" class="selflink">#</a></p><div class="doc"><p>Return the current environment extended with the given overrides.- If an entry is specified twice in <code>overrides</code>, the second entry takes- precedence.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,6 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Program.Script</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Duncan Coutts 2009</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Program.Script</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module provides an library interface to the <code>hc-pkg</code> program.- Currently only GHC and LHC have hc-pkg programs.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:invocationAsSystemScript">invocationAsSystemScript</a> :: <a href="Distribution-System.html#t:OS">OS</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:invocationAsShellScript">invocationAsShellScript</a> :: <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:invocationAsBatchFile">invocationAsBatchFile</a> :: <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:invocationAsSystemScript" class="def">invocationAsSystemScript</a> :: <a href="Distribution-System.html#t:OS">OS</a> -> <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:invocationAsSystemScript" class="selflink">#</a></p><div class="doc"><p>Generate a system script, either POSIX shell script or Windows batch file- as appropriate for the given system.</p></div></div><div class="top"><p class="src"><a id="v:invocationAsShellScript" class="def">invocationAsShellScript</a> :: <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:invocationAsShellScript" class="selflink">#</a></p><div class="doc"><p>Generate a POSIX shell script that invokes a program.</p></div></div><div class="top"><p class="src"><a id="v:invocationAsBatchFile" class="def">invocationAsBatchFile</a> :: <a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">ProgramInvocation</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:invocationAsBatchFile" class="selflink">#</a></p><div class="doc"><p>Generate a Windows batch file that invokes a program.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Program.Strip</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Program.Strip</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module provides an library interface to the <code>strip</code> program.</p></div></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:stripLib" class="def">stripLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:stripLib" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:stripExe" class="def">stripExe</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:stripExe" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,42 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Program.Types</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2006 Duncan Coutts 2007-2009</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Program.Types</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Program and functions for constructing them</a></li><li><a href="#g:2">Configured program and related functions</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This provides an abstraction which deals with configuring and running- programs. A <code><a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></code> is a static notion of a known program. A- <code><a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a></code> is a <code><a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></code> that has been found on the current- machine and is ready to be run (possibly with some user-supplied default- args). Configuring a program involves finding its location and if necessary- finding its version. There's reasonable default behavior for trying to find- "foo" in PATH, being able to override its location, etc.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:Program">Program</a> = <a href="#v:Program">Program</a> {<ul class="subs"><li><a href="#v:programName">programName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:programFindLocation">programFindLocation</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPath">ProgramSearchPath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]))</li><li><a href="#v:programFindVersion">programFindVersion</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>)</li><li><a href="#v:programPostConf">programPostConf</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a></li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:ProgramSearchPath">ProgramSearchPath</a> = [<a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a><ul class="subs"><li>= <a href="#v:ProgramSearchPathDir">ProgramSearchPathDir</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li>| <a href="#v:ProgramSearchPathDefault">ProgramSearchPathDefault</a></li></ul></li><li class="src short"><a href="#v:simpleProgram">simpleProgram</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:ConfiguredProgram">ConfiguredProgram</a> = <a href="#v:ConfiguredProgram">ConfiguredProgram</a> {<ul class="subs"><li><a href="#v:programId">programId</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:programVersion">programVersion</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a></li><li><a href="#v:programDefaultArgs">programDefaultArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:programOverrideArgs">programOverrideArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:programOverrideEnv">programOverrideEnv</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</li><li><a href="#v:programProperties">programProperties</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:programLocation">programLocation</a> :: <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a></li><li><a href="#v:programMonitorFiles">programMonitorFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li></ul>}</li><li class="src short"><a href="#v:programPath">programPath</a> :: <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:suppressOverrideArgs">suppressOverrideArgs</a> :: <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:ProgArg">ProgArg</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:ProgramLocation">ProgramLocation</a><ul class="subs"><li>= <a href="#v:UserSpecified">UserSpecified</a> { <ul class="subs"><li><a href="#v:locationPath">locationPath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li></ul> }</li><li>| <a href="#v:FoundOnSystem">FoundOnSystem</a> { <ul class="subs"><li><a href="#v:locationPath">locationPath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li></ul> }</li></ul></li><li class="src short"><a href="#v:simpleConfiguredProgram">simpleConfiguredProgram</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a> -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a></li></ul></div><div id="interface"><h1 id="g:1">Program and functions for constructing them</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Program" class="def">Program</a> <a href="#t:Program" class="selflink">#</a></p><div class="doc"><p>Represents a program which can be configured.</p><p>Note: rather than constructing this directly, start with <code><a href="Distribution-Simple-Program-Types.html#v:simpleProgram">simpleProgram</a></code> and- override any extra fields.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Program" class="def">Program</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:programName" class="def">programName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>The simple name of the program, eg. ghc</p></div></li><li><dfn class="src"><a id="v:programFindLocation" class="def">programFindLocation</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPath">ProgramSearchPath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]))</dfn><div class="doc"><p>A function to search for the program if its location was not- specified by the user. Usually this will just be a call to- <code><a href="Distribution-Simple-Program-Find.html#v:findProgramOnSearchPath">findProgramOnSearchPath</a></code>.</p><p>It is supplied with the prevailing search path which will typically- just be used as-is, but can be extended or ignored as needed.</p><p>For the purpose of change monitoring, in addition to the location- where the program was found, it returns all the other places that- were tried.</p></div></li><li><dfn class="src"><a id="v:programFindVersion" class="def">programFindVersion</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>)</dfn><div class="doc"><p>Try to find the version of the program. For many programs this is- not possible or is not necessary so it's OK to return Nothing.</p></div></li><li><dfn class="src"><a id="v:programPostConf" class="def">programPostConf</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a></dfn><div class="doc"><p>A function to do any additional configuration after we have- located the program (and perhaps identified its version). For example- it could add args, or environment vars.</p></div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:Program" class="caption collapser" onclick="toggleSection('i:Program')">Instances</p><div id="section.i:Program" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Program:Show:1" class="instance expander" onclick="toggleSection('i:id:Program:Show:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></span> <a href="#t:Program" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Program:Show:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Program-Types.html#t:Program">Program</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:ProgramSearchPath" class="def">ProgramSearchPath</a> = [<a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a>] <a href="#t:ProgramSearchPath" class="selflink">#</a></p><div class="doc"><p>A search path to use when locating executables. This is analogous- to the unix <code>$PATH</code> or win32 <code>%PATH%</code> but with the ability to use- the system default method for finding executables (<code>findExecutable</code> which- on unix is simply looking on the <code>$PATH</code> but on win32 is a bit more- complicated).</p><p>The default to use is <code>[ProgSearchPathDefault]</code> but you can add extra dirs- either before, after or instead of the default, e.g. here we add an extra- dir to search after the usual ones.</p><pre>['ProgramSearchPathDefault', 'ProgramSearchPathDir' dir]</pre></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ProgramSearchPathEntry" class="def">ProgramSearchPathEntry</a> <a href="#t:ProgramSearchPathEntry" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ProgramSearchPathDir" class="def">ProgramSearchPathDir</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>A specific dir</p></td></tr><tr><td class="src"><a id="v:ProgramSearchPathDefault" class="def">ProgramSearchPathDefault</a></td><td class="doc"><p>The system default</p></td></tr></table></div><div class="subs instances"><p id="control.i:ProgramSearchPathEntry" class="caption collapser" onclick="toggleSection('i:ProgramSearchPathEntry')">Instances</p><div id="section.i:ProgramSearchPathEntry" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramSearchPathEntry:Eq:1" class="instance expander" onclick="toggleSection('i:id:ProgramSearchPathEntry:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a></span> <a href="#t:ProgramSearchPathEntry" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramSearchPathEntry:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> -> <a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> -> <a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramSearchPathEntry:Generic:2" class="instance expander" onclick="toggleSection('i:id:ProgramSearchPathEntry:Generic:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a></span> <a href="#t:ProgramSearchPathEntry" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramSearchPathEntry:Generic:2" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> x -> <a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramSearchPathEntry:Binary:3" class="instance expander" onclick="toggleSection('i:id:ProgramSearchPathEntry:Binary:3')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a></span> <a href="#t:ProgramSearchPathEntry" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramSearchPathEntry:Binary:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramSearchPathEntry:Rep:4" class="instance expander" onclick="toggleSection('i:id:ProgramSearchPathEntry:Rep:4')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a></span> <a href="#t:ProgramSearchPathEntry" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramSearchPathEntry:Rep:4" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ProgramSearchPathEntry" "Distribution.Simple.Program.Find" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ProgramSearchPathDir" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ProgramSearchPathDefault" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:simpleProgram" class="def">simpleProgram</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Program-Types.html#t:Program">Program</a> <a href="#v:simpleProgram" class="selflink">#</a></p><div class="doc"><p>Make a simple named program.</p><p>By default we'll just search for it in the path and not try to find the- version name. You can override these behaviours if necessary, eg:</p><pre>(simpleProgram "foo") { programFindLocation = ... , programFindVersion ... }</pre></div></div><h1 id="g:2">Configured program and related functions</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ConfiguredProgram" class="def">ConfiguredProgram</a> <a href="#t:ConfiguredProgram" class="selflink">#</a></p><div class="doc"><p>Represents a program which has been configured and is thus ready to be run.</p><p>These are usually made by configuring a <code><a href="Distribution-Simple-Program-Types.html#t:Program">Program</a></code>, but if you have to- construct one directly then start with <code><a href="Distribution-Simple-Program-Types.html#v:simpleConfiguredProgram">simpleConfiguredProgram</a></code> and- override any extra fields.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ConfiguredProgram" class="def">ConfiguredProgram</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:programId" class="def">programId</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>Just the name again</p></div></li><li><dfn class="src"><a id="v:programVersion" class="def">programVersion</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a></dfn><div class="doc"><p>The version of this program, if it is known.</p></div></li><li><dfn class="src"><a id="v:programDefaultArgs" class="def">programDefaultArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc"><p>Default command-line args for this program.- These flags will appear first on the command line, so they can be- overridden by subsequent flags.</p></div></li><li><dfn class="src"><a id="v:programOverrideArgs" class="def">programOverrideArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc"><p>Override command-line args for this program.- These flags will appear last on the command line, so they override- all earlier flags.</p></div></li><li><dfn class="src"><a id="v:programOverrideEnv" class="def">programOverrideEnv</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</dfn><div class="doc"><p>Override environment variables for this program.- These env vars will extend/override the prevailing environment of- the current to form the environment for the new process.</p></div></li><li><dfn class="src"><a id="v:programProperties" class="def">programProperties</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>A key-value map listing various properties of the program, useful- for feature detection. Populated during the configuration step, key- names depend on the specific program.</p></div></li><li><dfn class="src"><a id="v:programLocation" class="def">programLocation</a> :: <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a></dfn><div class="doc"><p>Location of the program. eg. <code>/usr/bin/ghc-6.4</code></p></div></li><li><dfn class="src"><a id="v:programMonitorFiles" class="def">programMonitorFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc"><p>In addition to the <code><a href="Distribution-Simple-Program-Types.html#v:programLocation">programLocation</a></code> where the program was found,- these are additional locations that were looked at. The combination- of ths found location and these not-found locations can be used to- monitor to detect when the re-configuring the program might give a- different result (e.g. found in a different location).</p></div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:ConfiguredProgram" class="caption collapser" onclick="toggleSection('i:ConfiguredProgram')">Instances</p><div id="section.i:ConfiguredProgram" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfiguredProgram:Eq:1" class="instance expander" onclick="toggleSection('i:id:ConfiguredProgram:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a></span> <a href="#t:ConfiguredProgram" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfiguredProgram:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfiguredProgram:Read:2" class="instance expander" onclick="toggleSection('i:id:ConfiguredProgram:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a></span> <a href="#t:ConfiguredProgram" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfiguredProgram:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfiguredProgram:Show:3" class="instance expander" onclick="toggleSection('i:id:ConfiguredProgram:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a></span> <a href="#t:ConfiguredProgram" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfiguredProgram:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfiguredProgram:Generic:4" class="instance expander" onclick="toggleSection('i:id:ConfiguredProgram:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a></span> <a href="#t:ConfiguredProgram" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfiguredProgram:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> x -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfiguredProgram:Binary:5" class="instance expander" onclick="toggleSection('i:id:ConfiguredProgram:Binary:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a></span> <a href="#t:ConfiguredProgram" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfiguredProgram:Binary:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfiguredProgram:Rep:6" class="instance expander" onclick="toggleSection('i:id:ConfiguredProgram:Rep:6')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a></span> <a href="#t:ConfiguredProgram" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfiguredProgram:Rep:6" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ConfiguredProgram" "Distribution.Simple.Program.Types" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ConfiguredProgram" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "programId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "programVersion") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "programDefaultArgs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "programOverrideArgs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "programOverrideEnv") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "programProperties") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "programLocation") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "programMonitorFiles") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:programPath" class="def">programPath</a> :: <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:programPath" class="selflink">#</a></p><div class="doc"><p>The full path of a configured program.</p></div></div><div class="top"><p class="src"><a id="v:suppressOverrideArgs" class="def">suppressOverrideArgs</a> :: <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> <a href="#v:suppressOverrideArgs" class="selflink">#</a></p><div class="doc"><p>Suppress any extra arguments added by the user.</p></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:ProgArg" class="def">ProgArg</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#t:ProgArg" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ProgramLocation" class="def">ProgramLocation</a> <a href="#t:ProgramLocation" class="selflink">#</a></p><div class="doc"><p>Where a program was found. Also tells us whether it's specified by user or- not. This includes not just the path, but the program as well.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:UserSpecified" class="def">UserSpecified</a></td><td class="doc"><p>The user gave the path to this program,- eg. --ghc-path=/usr/bin/ghc-6.6</p></td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:locationPath" class="def">locationPath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr><tr><td class="src"><a id="v:FoundOnSystem" class="def">FoundOnSystem</a></td><td class="doc"><p>The program was found automatically.</p></td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:locationPath" class="def">locationPath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:ProgramLocation" class="caption collapser" onclick="toggleSection('i:ProgramLocation')">Instances</p><div id="section.i:ProgramLocation" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramLocation:Eq:1" class="instance expander" onclick="toggleSection('i:id:ProgramLocation:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a></span> <a href="#t:ProgramLocation" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramLocation:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a> -> <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a> -> <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramLocation:Read:2" class="instance expander" onclick="toggleSection('i:id:ProgramLocation:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a></span> <a href="#t:ProgramLocation" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramLocation:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramLocation:Show:3" class="instance expander" onclick="toggleSection('i:id:ProgramLocation:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a></span> <a href="#t:ProgramLocation" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramLocation:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramLocation:Generic:4" class="instance expander" onclick="toggleSection('i:id:ProgramLocation:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a></span> <a href="#t:ProgramLocation" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramLocation:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a> x -> <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramLocation:Binary:5" class="instance expander" onclick="toggleSection('i:id:ProgramLocation:Binary:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a></span> <a href="#t:ProgramLocation" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramLocation:Binary:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramLocation:Rep:6" class="instance expander" onclick="toggleSection('i:id:ProgramLocation:Rep:6')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a></span> <a href="#t:ProgramLocation" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramLocation:Rep:6" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ProgramLocation" "Distribution.Simple.Program.Types" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "UserSpecified" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "locationPath") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "FoundOnSystem" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "locationPath") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:simpleConfiguredProgram" class="def">simpleConfiguredProgram</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">ProgramLocation</a> -> <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a> <a href="#v:simpleConfiguredProgram" class="selflink">#</a></p><div class="doc"><p>Make a simple <code><a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">ConfiguredProgram</a></code>.</p><pre>simpleConfiguredProgram "foo" (FoundOnSystem path)</pre></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,97 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Program</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2006 Duncan Coutts 2007-2009</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Program</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Program and functions for constructing them</a></li><li><a href="#g:2">Configured program and related functions</a></li><li><a href="#g:3">Program invocations</a></li><li><a href="#g:4">The collection of unconfigured and configured programs</a></li><li><a href="#g:5">The collection of configured programs we can run</a></li><li><a href="#g:6">Programs that Cabal knows about</a></li><li><a href="#g:7">deprecated</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This provides an abstraction which deals with configuring and running- programs. A <code><a href="Distribution-Simple-Program.html#t:Program">Program</a></code> is a static notion of a known program. A- <code><a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a></code> is a <code><a href="Distribution-Simple-Program.html#t:Program">Program</a></code> that has been found on the current- machine and is ready to be run (possibly with some user-supplied default- args). Configuring a program involves finding its location and if necessary- finding its version. There is also a <code><a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></code> type which holds- configured and not-yet configured programs. It is the parameter to lots of- actions elsewhere in Cabal that need to look up and run programs. If we had- a Cabal monad, the <code><a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></code> would probably be a reader or- state component of it.</p><p>The module also defines all the known built-in <code><a href="Distribution-Simple-Program.html#t:Program">Program</a></code>s and the- <code><a href="Distribution-Simple-Program.html#v:defaultProgramDb">defaultProgramDb</a></code> which contains them all.</p><p>One nice thing about using it is that any program that is- registered with Cabal will get some "configure" and ".cabal"- helpers like --with-foo-args --foo-path= and extra-foo-args.</p><p>There's also good default behavior for trying to find "foo" in- PATH, being able to override its location, etc.</p><p>There's also a hook for adding programs in a Setup.lhs script. See- hookedPrograms in <code><a href="Distribution-Simple.html#v:UserHooks">UserHooks</a></code>. This gives a- hook user the ability to get the above flags and such so that they- don't have to write all the PATH logic inside Setup.lhs.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:Program">Program</a> = <a href="#v:Program">Program</a> {<ul class="subs"><li><a href="#v:programName">programName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:programFindLocation">programFindLocation</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:ProgramSearchPath">ProgramSearchPath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]))</li><li><a href="#v:programFindVersion">programFindVersion</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>)</li><li><a href="#v:programPostConf">programPostConf</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a></li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:ProgramSearchPath">ProgramSearchPath</a> = [<a href="Distribution-Simple-Program.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a><ul class="subs"><li>= <a href="#v:ProgramSearchPathDir">ProgramSearchPathDir</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li>| <a href="#v:ProgramSearchPathDefault">ProgramSearchPathDefault</a></li></ul></li><li class="src short"><a href="#v:simpleProgram">simpleProgram</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:findProgramOnSearchPath">findProgramOnSearchPath</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:ProgramSearchPath">ProgramSearchPath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]))</li><li class="src short"><a href="#v:defaultProgramSearchPath">defaultProgramSearchPath</a> :: <a href="Distribution-Simple-Program.html#t:ProgramSearchPath">ProgramSearchPath</a></li><li class="src short"><a href="#v:findProgramVersion">findProgramVersion</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>) -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>)</li><li class="src short"><span class="keyword">data</span> <a href="#t:ConfiguredProgram">ConfiguredProgram</a> = <a href="#v:ConfiguredProgram">ConfiguredProgram</a> {<ul class="subs"><li><a href="#v:programId">programId</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:programVersion">programVersion</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a></li><li><a href="#v:programDefaultArgs">programDefaultArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:programOverrideArgs">programOverrideArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:programOverrideEnv">programOverrideEnv</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</li><li><a href="#v:programProperties">programProperties</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:programLocation">programLocation</a> :: <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a></li><li><a href="#v:programMonitorFiles">programMonitorFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li></ul>}</li><li class="src short"><a href="#v:programPath">programPath</a> :: <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:ProgArg">ProgArg</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:ProgramLocation">ProgramLocation</a><ul class="subs"><li>= <a href="#v:UserSpecified">UserSpecified</a> { <ul class="subs"><li><a href="#v:locationPath">locationPath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li></ul> }</li><li>| <a href="#v:FoundOnSystem">FoundOnSystem</a> { <ul class="subs"><li><a href="#v:locationPath">locationPath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li></ul> }</li></ul></li><li class="src short"><a href="#v:runProgram">runProgram</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:getProgramOutput">getProgramOutput</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:suppressOverrideArgs">suppressOverrideArgs</a> :: <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:ProgramInvocation">ProgramInvocation</a> = <a href="#v:ProgramInvocation">ProgramInvocation</a> {<ul class="subs"><li><a href="#v:progInvokePath">progInvokePath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:progInvokeArgs">progInvokeArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:progInvokeEnv">progInvokeEnv</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</li><li><a href="#v:progInvokePathEnv">progInvokePathEnv</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:progInvokeCwd">progInvokeCwd</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:progInvokeInput">progInvokeInput</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:progInvokeInputEncoding">progInvokeInputEncoding</a> :: <a href="Distribution-Simple-Program-Run.html#t:IOEncoding">IOEncoding</a></li><li><a href="#v:progInvokeOutputEncoding">progInvokeOutputEncoding</a> :: <a href="Distribution-Simple-Program-Run.html#t:IOEncoding">IOEncoding</a></li></ul>}</li><li class="src short"><a href="#v:emptyProgramInvocation">emptyProgramInvocation</a> :: <a href="Distribution-Simple-Program.html#t:ProgramInvocation">ProgramInvocation</a></li><li class="src short"><a href="#v:simpleProgramInvocation">simpleProgramInvocation</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Simple-Program.html#t:ProgramInvocation">ProgramInvocation</a></li><li class="src short"><a href="#v:programInvocation">programInvocation</a> :: <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Simple-Program.html#t:ProgramInvocation">ProgramInvocation</a></li><li class="src short"><a href="#v:runProgramInvocation">runProgramInvocation</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:ProgramInvocation">ProgramInvocation</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:getProgramInvocationOutput">getProgramInvocationOutput</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:ProgramInvocation">ProgramInvocation</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:builtinPrograms">builtinPrograms</a> :: [<a href="Distribution-Simple-Program.html#t:Program">Program</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:defaultProgramDb">defaultProgramDb</a> :: <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:emptyProgramDb">emptyProgramDb</a> :: <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:restoreProgramDb">restoreProgramDb</a> :: [<a href="Distribution-Simple-Program.html#t:Program">Program</a>] -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:addKnownProgram">addKnownProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:addKnownPrograms">addKnownPrograms</a> :: [<a href="Distribution-Simple-Program.html#t:Program">Program</a>] -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:lookupKnownProgram">lookupKnownProgram</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:knownPrograms">knownPrograms</a> :: <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> [(<a href="Distribution-Simple-Program.html#t:Program">Program</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a>)]</li><li class="src short"><a href="#v:getProgramSearchPath">getProgramSearchPath</a> :: <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program.html#t:ProgramSearchPath">ProgramSearchPath</a></li><li class="src short"><a href="#v:setProgramSearchPath">setProgramSearchPath</a> :: <a href="Distribution-Simple-Program.html#t:ProgramSearchPath">ProgramSearchPath</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:userSpecifyPath">userSpecifyPath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:userSpecifyPaths">userSpecifyPaths</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:userMaybeSpecifyPath">userMaybeSpecifyPath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:userSpecifyArgs">userSpecifyArgs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>] -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:userSpecifyArgss">userSpecifyArgss</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>])] -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:userSpecifiedArgs">userSpecifiedArgs</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>]</li><li class="src short"><a href="#v:lookupProgram">lookupProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a></li><li class="src short"><a href="#v:lookupProgramVersion">lookupProgramVersion</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:Program">Program</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> (<a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a>, <a href="Distribution-Version.html#t:Version">Version</a>, <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a>))</li><li class="src short"><a href="#v:updateProgram">updateProgram</a> :: <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:configureProgram">configureProgram</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:configureAllKnownPrograms">configureAllKnownPrograms</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:reconfigurePrograms">reconfigurePrograms</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>])] -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:requireProgram">requireProgram</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a>, <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a>)</li><li class="src short"><a href="#v:requireProgramVersion">requireProgramVersion</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:Program">Program</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a>, <a href="Distribution-Version.html#t:Version">Version</a>, <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a>)</li><li class="src short"><a href="#v:runDbProgram">runDbProgram</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:getDbProgramOutput">getDbProgramOutput</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:ghcProgram">ghcProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:ghcPkgProgram">ghcPkgProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:ghcjsProgram">ghcjsProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:ghcjsPkgProgram">ghcjsPkgProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:lhcProgram">lhcProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:lhcPkgProgram">lhcPkgProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:hmakeProgram">hmakeProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:jhcProgram">jhcProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:uhcProgram">uhcProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:gccProgram">gccProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:arProgram">arProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:stripProgram">stripProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:happyProgram">happyProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:alexProgram">alexProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:hsc2hsProgram">hsc2hsProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:c2hsProgram">c2hsProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:cpphsProgram">cpphsProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:hscolourProgram">hscolourProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:doctestProgram">doctestProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:haddockProgram">haddockProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:greencardProgram">greencardProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:ldProgram">ldProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:tarProgram">tarProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:cppProgram">cppProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:pkgConfigProgram">pkgConfigProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><a href="#v:hpcProgram">hpcProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:ProgramConfiguration">ProgramConfiguration</a> = <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></li><li class="src short"><a href="#v:emptyProgramConfiguration">emptyProgramConfiguration</a> :: <a href="Distribution-Simple-Program.html#t:ProgramConfiguration">ProgramConfiguration</a></li><li class="src short"><a href="#v:defaultProgramConfiguration">defaultProgramConfiguration</a> :: <a href="Distribution-Simple-Program.html#t:ProgramConfiguration">ProgramConfiguration</a></li><li class="src short"><a href="#v:restoreProgramConfiguration">restoreProgramConfiguration</a> :: [<a href="Distribution-Simple-Program.html#t:Program">Program</a>] -> <a href="Distribution-Simple-Program.html#t:ProgramConfiguration">ProgramConfiguration</a> -> <a href="Distribution-Simple-Program.html#t:ProgramConfiguration">ProgramConfiguration</a></li><li class="src short"><a href="#v:rawSystemProgram">rawSystemProgram</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:rawSystemProgramStdout">rawSystemProgramStdout</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:rawSystemProgramConf">rawSystemProgramConf</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program.html#t:ProgramConfiguration">ProgramConfiguration</a> -> [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:rawSystemProgramStdoutConf">rawSystemProgramStdoutConf</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program.html#t:ProgramConfiguration">ProgramConfiguration</a> -> [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:findProgramOnPath">findProgramOnPath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)</li><li class="src short"><a href="#v:findProgramLocation">findProgramLocation</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)</li></ul></div><div id="interface"><h1 id="g:1">Program and functions for constructing them</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Program" class="def">Program</a> <a href="#t:Program" class="selflink">#</a></p><div class="doc"><p>Represents a program which can be configured.</p><p>Note: rather than constructing this directly, start with <code><a href="Distribution-Simple-Program.html#v:simpleProgram">simpleProgram</a></code> and- override any extra fields.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Program" class="def">Program</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:programName" class="def">programName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>The simple name of the program, eg. ghc</p></div></li><li><dfn class="src"><a id="v:programFindLocation" class="def">programFindLocation</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:ProgramSearchPath">ProgramSearchPath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]))</dfn><div class="doc"><p>A function to search for the program if its location was not- specified by the user. Usually this will just be a call to- <code><a href="Distribution-Simple-Program.html#v:findProgramOnSearchPath">findProgramOnSearchPath</a></code>.</p><p>It is supplied with the prevailing search path which will typically- just be used as-is, but can be extended or ignored as needed.</p><p>For the purpose of change monitoring, in addition to the location- where the program was found, it returns all the other places that- were tried.</p></div></li><li><dfn class="src"><a id="v:programFindVersion" class="def">programFindVersion</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>)</dfn><div class="doc"><p>Try to find the version of the program. For many programs this is- not possible or is not necessary so it's OK to return Nothing.</p></div></li><li><dfn class="src"><a id="v:programPostConf" class="def">programPostConf</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a></dfn><div class="doc"><p>A function to do any additional configuration after we have- located the program (and perhaps identified its version). For example- it could add args, or environment vars.</p></div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:Program" class="caption collapser" onclick="toggleSection('i:Program')">Instances</p><div id="section.i:Program" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Program:Show:1" class="instance expander" onclick="toggleSection('i:id:Program:Show:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Program.html#t:Program">Program</a></span> <a href="#t:Program" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Program:Show:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Program.html#t:Program">Program</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Program.html#t:Program">Program</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:ProgramSearchPath" class="def">ProgramSearchPath</a> = [<a href="Distribution-Simple-Program.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a>] <a href="#t:ProgramSearchPath" class="selflink">#</a></p><div class="doc"><p>A search path to use when locating executables. This is analogous- to the unix <code>$PATH</code> or win32 <code>%PATH%</code> but with the ability to use- the system default method for finding executables (<code>findExecutable</code> which- on unix is simply looking on the <code>$PATH</code> but on win32 is a bit more- complicated).</p><p>The default to use is <code>[ProgSearchPathDefault]</code> but you can add extra dirs- either before, after or instead of the default, e.g. here we add an extra- dir to search after the usual ones.</p><pre>['ProgramSearchPathDefault', 'ProgramSearchPathDir' dir]</pre></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ProgramSearchPathEntry" class="def">ProgramSearchPathEntry</a> <a href="#t:ProgramSearchPathEntry" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ProgramSearchPathDir" class="def">ProgramSearchPathDir</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>A specific dir</p></td></tr><tr><td class="src"><a id="v:ProgramSearchPathDefault" class="def">ProgramSearchPathDefault</a></td><td class="doc"><p>The system default</p></td></tr></table></div><div class="subs instances"><p id="control.i:ProgramSearchPathEntry" class="caption collapser" onclick="toggleSection('i:ProgramSearchPathEntry')">Instances</p><div id="section.i:ProgramSearchPathEntry" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramSearchPathEntry:Eq:1" class="instance expander" onclick="toggleSection('i:id:ProgramSearchPathEntry:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Program.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a></span> <a href="#t:ProgramSearchPathEntry" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramSearchPathEntry:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Program.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> -> <a href="Distribution-Simple-Program.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Program.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> -> <a href="Distribution-Simple-Program.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramSearchPathEntry:Generic:2" class="instance expander" onclick="toggleSection('i:id:ProgramSearchPathEntry:Generic:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Program.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a></span> <a href="#t:ProgramSearchPathEntry" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramSearchPathEntry:Generic:2" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Program.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> x -> <a href="Distribution-Simple-Program.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramSearchPathEntry:Binary:3" class="instance expander" onclick="toggleSection('i:id:ProgramSearchPathEntry:Binary:3')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-Program.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a></span> <a href="#t:ProgramSearchPathEntry" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramSearchPathEntry:Binary:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-Program.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-Program.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-Program.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramSearchPathEntry:Rep:4" class="instance expander" onclick="toggleSection('i:id:ProgramSearchPathEntry:Rep:4')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a></span> <a href="#t:ProgramSearchPathEntry" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramSearchPathEntry:Rep:4" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ProgramSearchPathEntry" "Distribution.Simple.Program.Find" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ProgramSearchPathDir" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ProgramSearchPathDefault" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:simpleProgram" class="def">simpleProgram</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:simpleProgram" class="selflink">#</a></p><div class="doc"><p>Make a simple named program.</p><p>By default we'll just search for it in the path and not try to find the- version name. You can override these behaviours if necessary, eg:</p><pre>(simpleProgram "foo") { programFindLocation = ... , programFindVersion ... }</pre></div></div><div class="top"><p class="src"><a id="v:findProgramOnSearchPath" class="def">findProgramOnSearchPath</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:ProgramSearchPath">ProgramSearchPath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])) <a href="#v:findProgramOnSearchPath" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:defaultProgramSearchPath" class="def">defaultProgramSearchPath</a> :: <a href="Distribution-Simple-Program.html#t:ProgramSearchPath">ProgramSearchPath</a> <a href="#v:defaultProgramSearchPath" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:findProgramVersion" class="def">findProgramVersion</a> <a href="#v:findProgramVersion" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>version args</p></td></tr><tr><td class="src">-> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)</td><td class="doc"><p>function to select version- number from program output</p></td></tr><tr><td class="src">-> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>location</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>)</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Look for a program and try to find it's version number. It can accept- either an absolute path or the name of a program binary, in which case we- will look for the program on the path.</p></div></div><h1 id="g:2">Configured program and related functions</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ConfiguredProgram" class="def">ConfiguredProgram</a> <a href="#t:ConfiguredProgram" class="selflink">#</a></p><div class="doc"><p>Represents a program which has been configured and is thus ready to be run.</p><p>These are usually made by configuring a <code><a href="Distribution-Simple-Program.html#t:Program">Program</a></code>, but if you have to- construct one directly then start with <code><a href="Distribution-Simple-Program-Types.html#v:simpleConfiguredProgram">simpleConfiguredProgram</a></code> and- override any extra fields.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ConfiguredProgram" class="def">ConfiguredProgram</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:programId" class="def">programId</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>Just the name again</p></div></li><li><dfn class="src"><a id="v:programVersion" class="def">programVersion</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a></dfn><div class="doc"><p>The version of this program, if it is known.</p></div></li><li><dfn class="src"><a id="v:programDefaultArgs" class="def">programDefaultArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc"><p>Default command-line args for this program.- These flags will appear first on the command line, so they can be- overridden by subsequent flags.</p></div></li><li><dfn class="src"><a id="v:programOverrideArgs" class="def">programOverrideArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc"><p>Override command-line args for this program.- These flags will appear last on the command line, so they override- all earlier flags.</p></div></li><li><dfn class="src"><a id="v:programOverrideEnv" class="def">programOverrideEnv</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</dfn><div class="doc"><p>Override environment variables for this program.- These env vars will extend/override the prevailing environment of- the current to form the environment for the new process.</p></div></li><li><dfn class="src"><a id="v:programProperties" class="def">programProperties</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>A key-value map listing various properties of the program, useful- for feature detection. Populated during the configuration step, key- names depend on the specific program.</p></div></li><li><dfn class="src"><a id="v:programLocation" class="def">programLocation</a> :: <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a></dfn><div class="doc"><p>Location of the program. eg. <code>/usr/bin/ghc-6.4</code></p></div></li><li><dfn class="src"><a id="v:programMonitorFiles" class="def">programMonitorFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc"><p>In addition to the <code><a href="Distribution-Simple-Program.html#v:programLocation">programLocation</a></code> where the program was found,- these are additional locations that were looked at. The combination- of ths found location and these not-found locations can be used to- monitor to detect when the re-configuring the program might give a- different result (e.g. found in a different location).</p></div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:ConfiguredProgram" class="caption collapser" onclick="toggleSection('i:ConfiguredProgram')">Instances</p><div id="section.i:ConfiguredProgram" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfiguredProgram:Eq:1" class="instance expander" onclick="toggleSection('i:id:ConfiguredProgram:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a></span> <a href="#t:ConfiguredProgram" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfiguredProgram:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfiguredProgram:Read:2" class="instance expander" onclick="toggleSection('i:id:ConfiguredProgram:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a></span> <a href="#t:ConfiguredProgram" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfiguredProgram:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfiguredProgram:Show:3" class="instance expander" onclick="toggleSection('i:id:ConfiguredProgram:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a></span> <a href="#t:ConfiguredProgram" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfiguredProgram:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfiguredProgram:Generic:4" class="instance expander" onclick="toggleSection('i:id:ConfiguredProgram:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a></span> <a href="#t:ConfiguredProgram" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfiguredProgram:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> x -> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfiguredProgram:Binary:5" class="instance expander" onclick="toggleSection('i:id:ConfiguredProgram:Binary:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a></span> <a href="#t:ConfiguredProgram" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfiguredProgram:Binary:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfiguredProgram:Rep:6" class="instance expander" onclick="toggleSection('i:id:ConfiguredProgram:Rep:6')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a></span> <a href="#t:ConfiguredProgram" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfiguredProgram:Rep:6" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ConfiguredProgram" "Distribution.Simple.Program.Types" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ConfiguredProgram" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "programId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "programVersion") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "programDefaultArgs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "programOverrideArgs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "programOverrideEnv") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "programProperties") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "programLocation") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "programMonitorFiles") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:programPath" class="def">programPath</a> :: <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:programPath" class="selflink">#</a></p><div class="doc"><p>The full path of a configured program.</p></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:ProgArg" class="def">ProgArg</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#t:ProgArg" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ProgramLocation" class="def">ProgramLocation</a> <a href="#t:ProgramLocation" class="selflink">#</a></p><div class="doc"><p>Where a program was found. Also tells us whether it's specified by user or- not. This includes not just the path, but the program as well.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:UserSpecified" class="def">UserSpecified</a></td><td class="doc"><p>The user gave the path to this program,- eg. --ghc-path=/usr/bin/ghc-6.6</p></td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:locationPath" class="def">locationPath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr><tr><td class="src"><a id="v:FoundOnSystem" class="def">FoundOnSystem</a></td><td class="doc"><p>The program was found automatically.</p></td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:locationPath" class="def">locationPath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:ProgramLocation" class="caption collapser" onclick="toggleSection('i:ProgramLocation')">Instances</p><div id="section.i:ProgramLocation" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramLocation:Eq:1" class="instance expander" onclick="toggleSection('i:id:ProgramLocation:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a></span> <a href="#t:ProgramLocation" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramLocation:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a> -> <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a> -> <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramLocation:Read:2" class="instance expander" onclick="toggleSection('i:id:ProgramLocation:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a></span> <a href="#t:ProgramLocation" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramLocation:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramLocation:Show:3" class="instance expander" onclick="toggleSection('i:id:ProgramLocation:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a></span> <a href="#t:ProgramLocation" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramLocation:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramLocation:Generic:4" class="instance expander" onclick="toggleSection('i:id:ProgramLocation:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a></span> <a href="#t:ProgramLocation" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramLocation:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a> x -> <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramLocation:Binary:5" class="instance expander" onclick="toggleSection('i:id:ProgramLocation:Binary:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a></span> <a href="#t:ProgramLocation" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramLocation:Binary:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramLocation:Rep:6" class="instance expander" onclick="toggleSection('i:id:ProgramLocation:Rep:6')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a></span> <a href="#t:ProgramLocation" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ProgramLocation:Rep:6" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Program.html#t:ProgramLocation">ProgramLocation</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ProgramLocation" "Distribution.Simple.Program.Types" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "UserSpecified" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "locationPath") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "FoundOnSystem" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "locationPath") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:runProgram" class="def">runProgram</a> <a href="#v:runProgram" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc"><p>Verbosity</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a></td><td class="doc"><p>The program to run</p></td></tr><tr><td class="src">-> [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>]</td><td class="doc"><p>Any <em>extra</em> arguments to add</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Runs the given configured program.</p></div></div><div class="top"><p class="src"><a id="v:getProgramOutput" class="def">getProgramOutput</a> <a href="#v:getProgramOutput" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc"><p>Verbosity</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a></td><td class="doc"><p>The program to run</p></td></tr><tr><td class="src">-> [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>]</td><td class="doc"><p>Any <em>extra</em> arguments to add</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Runs the given configured program and gets the output.</p></div></div><div class="top"><p class="src"><a id="v:suppressOverrideArgs" class="def">suppressOverrideArgs</a> :: <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> <a href="#v:suppressOverrideArgs" class="selflink">#</a></p><div class="doc"><p>Suppress any extra arguments added by the user.</p></div></div><h1 id="g:3">Program invocations</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ProgramInvocation" class="def">ProgramInvocation</a> <a href="#t:ProgramInvocation" class="selflink">#</a></p><div class="doc"><p>Represents a specific invocation of a specific program.</p><p>This is used as an intermediate type between deciding how to call a program- and actually doing it. This provides the opportunity to the caller to- adjust how the program will be called. These invocations can either be run- directly or turned into shell or batch scripts.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ProgramInvocation" class="def">ProgramInvocation</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:progInvokePath" class="def">progInvokePath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:progInvokeArgs" class="def">progInvokeArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:progInvokeEnv" class="def">progInvokeEnv</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:progInvokePathEnv" class="def">progInvokePathEnv</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:progInvokeCwd" class="def">progInvokeCwd</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:progInvokeInput" class="def">progInvokeInput</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:progInvokeInputEncoding" class="def">progInvokeInputEncoding</a> :: <a href="Distribution-Simple-Program-Run.html#t:IOEncoding">IOEncoding</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:progInvokeOutputEncoding" class="def">progInvokeOutputEncoding</a> :: <a href="Distribution-Simple-Program-Run.html#t:IOEncoding">IOEncoding</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div></div><div class="top"><p class="src"><a id="v:emptyProgramInvocation" class="def">emptyProgramInvocation</a> :: <a href="Distribution-Simple-Program.html#t:ProgramInvocation">ProgramInvocation</a> <a href="#v:emptyProgramInvocation" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:simpleProgramInvocation" class="def">simpleProgramInvocation</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Simple-Program.html#t:ProgramInvocation">ProgramInvocation</a> <a href="#v:simpleProgramInvocation" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:programInvocation" class="def">programInvocation</a> :: <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Simple-Program.html#t:ProgramInvocation">ProgramInvocation</a> <a href="#v:programInvocation" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:runProgramInvocation" class="def">runProgramInvocation</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:ProgramInvocation">ProgramInvocation</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:runProgramInvocation" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getProgramInvocationOutput" class="def">getProgramInvocationOutput</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:ProgramInvocation">ProgramInvocation</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:getProgramInvocationOutput" class="selflink">#</a></p></div><h1 id="g:4">The collection of unconfigured and configured programs</h1><div class="top"><p class="src"><a id="v:builtinPrograms" class="def">builtinPrograms</a> :: [<a href="Distribution-Simple-Program.html#t:Program">Program</a>] <a href="#v:builtinPrograms" class="selflink">#</a></p><div class="doc"><p>The default list of programs.- These programs are typically used internally to Cabal.</p></div></div><h1 id="g:5">The collection of configured programs we can run</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ProgramDb" class="def">ProgramDb</a> <a href="#t:ProgramDb" class="selflink">#</a></p><div class="doc"><p>The configuration is a collection of information about programs. It- contains information both about configured programs and also about programs- that we are yet to configure.</p><p>The idea is that we start from a collection of unconfigured programs and one- by one we try to configure them at which point we move them into the- configured collection. For unconfigured programs we record not just the- <code><a href="Distribution-Simple-Program.html#t:Program">Program</a></code> but also any user-provided arguments and location for the program.</p></div><div class="subs instances"><p id="control.i:ProgramDb" class="caption collapser" onclick="toggleSection('i:ProgramDb')">Instances</p><div id="section.i:ProgramDb" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramDb:Read:1" class="instance expander" onclick="toggleSection('i:id:ProgramDb:Read:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></span> <a href="#t:ProgramDb" class="selflink">#</a></td><td class="doc"><p>Note that this instance does not preserve the known <code><a href="Distribution-Simple-Program.html#t:Program">Program</a></code>s.- See <code><a href="Distribution-Simple-Program.html#v:restoreProgramDb">restoreProgramDb</a></code> for details.</p></td></tr><tr><td colspan="2"><div id="section.i:id:ProgramDb:Read:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramDb:Show:2" class="instance expander" onclick="toggleSection('i:id:ProgramDb:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></span> <a href="#t:ProgramDb" class="selflink">#</a></td><td class="doc"><p>Note that this instance does not preserve the known <code><a href="Distribution-Simple-Program.html#t:Program">Program</a></code>s.- See <code><a href="Distribution-Simple-Program.html#v:restoreProgramDb">restoreProgramDb</a></code> for details.</p></td></tr><tr><td colspan="2"><div id="section.i:id:ProgramDb:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ProgramDb:Binary:3" class="instance expander" onclick="toggleSection('i:id:ProgramDb:Binary:3')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></span> <a href="#t:ProgramDb" class="selflink">#</a></td><td class="doc"><p>Note that this instance does not preserve the known <code><a href="Distribution-Simple-Program.html#t:Program">Program</a></code>s.- See <code><a href="Distribution-Simple-Program.html#v:restoreProgramDb">restoreProgramDb</a></code> for details.</p></td></tr><tr><td colspan="2"><div id="section.i:id:ProgramDb:Binary:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:defaultProgramDb" class="def">defaultProgramDb</a> :: <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> <a href="#v:defaultProgramDb" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:emptyProgramDb" class="def">emptyProgramDb</a> :: <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> <a href="#v:emptyProgramDb" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:restoreProgramDb" class="def">restoreProgramDb</a> :: [<a href="Distribution-Simple-Program.html#t:Program">Program</a>] -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> <a href="#v:restoreProgramDb" class="selflink">#</a></p><div class="doc"><p>The 'Read'\/'Show' and <code><a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a></code> instances do not preserve all the- unconfigured <code>Programs</code> because <code><a href="Distribution-Simple-Program.html#t:Program">Program</a></code> is not in 'Read'\/'Show' because- it contains functions. So to fully restore a deserialised <code><a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></code> use- this function to add back all the known <code><a href="Distribution-Simple-Program.html#t:Program">Program</a></code>s.</p><ul><li>It does not add the default programs, but you probably want them, use- <code><a href="Distribution-Simple-Program.html#v:builtinPrograms">builtinPrograms</a></code> in addition to any extra you might need.</li></ul></div></div><div class="top"><p class="src"><a id="v:addKnownProgram" class="def">addKnownProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> <a href="#v:addKnownProgram" class="selflink">#</a></p><div class="doc"><p>Add a known program that we may configure later</p></div></div><div class="top"><p class="src"><a id="v:addKnownPrograms" class="def">addKnownPrograms</a> :: [<a href="Distribution-Simple-Program.html#t:Program">Program</a>] -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> <a href="#v:addKnownPrograms" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:lookupKnownProgram" class="def">lookupKnownProgram</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:lookupKnownProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:knownPrograms" class="def">knownPrograms</a> :: <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> [(<a href="Distribution-Simple-Program.html#t:Program">Program</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a>)] <a href="#v:knownPrograms" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getProgramSearchPath" class="def">getProgramSearchPath</a> :: <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program.html#t:ProgramSearchPath">ProgramSearchPath</a> <a href="#v:getProgramSearchPath" class="selflink">#</a></p><div class="doc"><p>Get the current <code><a href="Distribution-Simple-Program.html#t:ProgramSearchPath">ProgramSearchPath</a></code> used by the <code><a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></code>.- This is the default list of locations where programs are looked for when- configuring them. This can be overridden for specific programs (with- <code><a href="Distribution-Simple-Program.html#v:userSpecifyPath">userSpecifyPath</a></code>), and specific known programs can modify or ignore this- search path in their own configuration code.</p></div></div><div class="top"><p class="src"><a id="v:setProgramSearchPath" class="def">setProgramSearchPath</a> :: <a href="Distribution-Simple-Program.html#t:ProgramSearchPath">ProgramSearchPath</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> <a href="#v:setProgramSearchPath" class="selflink">#</a></p><div class="doc"><p>Change the current <code><a href="Distribution-Simple-Program.html#t:ProgramSearchPath">ProgramSearchPath</a></code> used by the <code><a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></code>.- This will affect programs that are configured from here on, so you- should usually set it before configuring any programs.</p></div></div><div class="top"><p class="src"><a id="v:userSpecifyPath" class="def">userSpecifyPath</a> <a href="#v:userSpecifyPath" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>Program name</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>user-specified path to the program</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>User-specify this path. Basically override any path information- for this program in the configuration. If it's not a known- program ignore it.</p></div></div><div class="top"><p class="src"><a id="v:userSpecifyPaths" class="def">userSpecifyPaths</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> <a href="#v:userSpecifyPaths" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Distribution-Simple-Program.html#v:userSpecifyPath">userSpecifyPath</a></code> but for a list of progs and their paths.</p></div></div><div class="top"><p class="src"><a id="v:userMaybeSpecifyPath" class="def">userMaybeSpecifyPath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> <a href="#v:userMaybeSpecifyPath" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:userSpecifyArgs" class="def">userSpecifyArgs</a> <a href="#v:userSpecifyArgs" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>Program name</p></td></tr><tr><td class="src">-> [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>]</td><td class="doc"><p>user-specified args</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>User-specify the arguments for this program. Basically override- any args information for this program in the configuration. If it's- not a known program, ignore it..</p></div></div><div class="top"><p class="src"><a id="v:userSpecifyArgss" class="def">userSpecifyArgss</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>])] -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> <a href="#v:userSpecifyArgss" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Distribution-Simple-Program.html#v:userSpecifyPath">userSpecifyPath</a></code> but for a list of progs and their args.</p></div></div><div class="top"><p class="src"><a id="v:userSpecifiedArgs" class="def">userSpecifiedArgs</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>] <a href="#v:userSpecifiedArgs" class="selflink">#</a></p><div class="doc"><p>Get any extra args that have been previously specified for a program.</p></div></div><div class="top"><p class="src"><a id="v:lookupProgram" class="def">lookupProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> <a href="#v:lookupProgram" class="selflink">#</a></p><div class="doc"><p>Try to find a configured program</p></div></div><div class="top"><p class="src"><a id="v:lookupProgramVersion" class="def">lookupProgramVersion</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:Program">Program</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> (<a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a>, <a href="Distribution-Version.html#t:Version">Version</a>, <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a>)) <a href="#v:lookupProgramVersion" class="selflink">#</a></p><div class="doc"><p>Check that a program is configured and available to be run.</p><p>Additionally check that the program version number is suitable and return- it. For example you could require <code><a href="Distribution-Version.html#v:AnyVersion">AnyVersion</a></code> or <code><code><a href="Distribution-Version.html#v:orLaterVersion">orLaterVersion</a></code>- (<code><a href="Distribution-Version.html#t:Version">Version</a></code> [1,0] [])</code></p><p>It returns the configured program, its version number and a possibly updated- <code><a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></code>. If the program could not be configured or the version is- unsuitable, it returns an error value.</p></div></div><div class="top"><p class="src"><a id="v:updateProgram" class="def">updateProgram</a> :: <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> <a href="#v:updateProgram" class="selflink">#</a></p><div class="doc"><p>Update a configured program in the database.</p></div></div><div class="top"><p class="src"><a id="v:configureProgram" class="def">configureProgram</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> <a href="#v:configureProgram" class="selflink">#</a></p><div class="doc"><p>Try to configure a specific program. If the program is already included in- the collection of unconfigured programs then we use any user-supplied- location and arguments. If the program gets configured successfully it gets- added to the configured collection.</p><p>Note that it is not a failure if the program cannot be configured. It's only- a failure if the user supplied a location and the program could not be found- at that location.</p><p>The reason for it not being a failure at this stage is that we don't know up- front all the programs we will need, so we try to configure them all.- To verify that a program was actually successfully configured use- <code><a href="Distribution-Simple-Program.html#v:requireProgram">requireProgram</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:configureAllKnownPrograms" class="def">configureAllKnownPrograms</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> <a href="#v:configureAllKnownPrograms" class="selflink">#</a></p><div class="doc"><p>Try to configure all the known programs that have not yet been configured.</p></div></div><div class="top"><p class="src"><a id="v:reconfigurePrograms" class="def">reconfigurePrograms</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>])] -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> <a href="#v:reconfigurePrograms" class="selflink">#</a></p><div class="doc"><p>reconfigure a bunch of programs given new user-specified args. It takes- the same inputs as <code><a href="Distribution-Simple-Program.html#v:userSpecifyPath">userSpecifyPath</a></code> and <code><a href="Distribution-Simple-Program.html#v:userSpecifyArgs">userSpecifyArgs</a></code> and for all progs- with a new path it calls <code><a href="Distribution-Simple-Program.html#v:configureProgram">configureProgram</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:requireProgram" class="def">requireProgram</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a>, <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a>) <a href="#v:requireProgram" class="selflink">#</a></p><div class="doc"><p>Check that a program is configured and available to be run.</p><p>It raises an exception if the program could not be configured, otherwise- it returns the configured program.</p></div></div><div class="top"><p class="src"><a id="v:requireProgramVersion" class="def">requireProgramVersion</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:Program">Program</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a>, <a href="Distribution-Version.html#t:Version">Version</a>, <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a>) <a href="#v:requireProgramVersion" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Distribution-Simple-Program.html#v:lookupProgramVersion">lookupProgramVersion</a></code>, but raises an exception in case of error- instead of returning 'Left errMsg'.</p></div></div><div class="top"><p class="src"><a id="v:runDbProgram" class="def">runDbProgram</a> <a href="#v:runDbProgram" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc"><p>verbosity</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Program.html#t:Program">Program</a></td><td class="doc"><p>The program to run</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></td><td class="doc"><p>look up the program here</p></td></tr><tr><td class="src">-> [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>]</td><td class="doc"><p>Any <em>extra</em> arguments to add</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Looks up the given program in the program database and runs it.</p></div></div><div class="top"><p class="src"><a id="v:getDbProgramOutput" class="def">getDbProgramOutput</a> <a href="#v:getDbProgramOutput" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc"><p>verbosity</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Program.html#t:Program">Program</a></td><td class="doc"><p>The program to run</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a></td><td class="doc"><p>look up the program here</p></td></tr><tr><td class="src">-> [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>]</td><td class="doc"><p>Any <em>extra</em> arguments to add</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Looks up the given program in the program database and runs it.</p></div></div><h1 id="g:6">Programs that Cabal knows about</h1><div class="top"><p class="src"><a id="v:ghcProgram" class="def">ghcProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:ghcProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:ghcPkgProgram" class="def">ghcPkgProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:ghcPkgProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:ghcjsProgram" class="def">ghcjsProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:ghcjsProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:ghcjsPkgProgram" class="def">ghcjsPkgProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:ghcjsPkgProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:lhcProgram" class="def">lhcProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:lhcProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:lhcPkgProgram" class="def">lhcPkgProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:lhcPkgProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:hmakeProgram" class="def">hmakeProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:hmakeProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:jhcProgram" class="def">jhcProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:jhcProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:uhcProgram" class="def">uhcProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:uhcProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:gccProgram" class="def">gccProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:gccProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:arProgram" class="def">arProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:arProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:stripProgram" class="def">stripProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:stripProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:happyProgram" class="def">happyProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:happyProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:alexProgram" class="def">alexProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:alexProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:hsc2hsProgram" class="def">hsc2hsProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:hsc2hsProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:c2hsProgram" class="def">c2hsProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:c2hsProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:cpphsProgram" class="def">cpphsProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:cpphsProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:hscolourProgram" class="def">hscolourProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:hscolourProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:doctestProgram" class="def">doctestProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:doctestProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:haddockProgram" class="def">haddockProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:haddockProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:greencardProgram" class="def">greencardProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:greencardProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:ldProgram" class="def">ldProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:ldProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:tarProgram" class="def">tarProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:tarProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:cppProgram" class="def">cppProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:cppProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:pkgConfigProgram" class="def">pkgConfigProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:pkgConfigProgram" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:hpcProgram" class="def">hpcProgram</a> :: <a href="Distribution-Simple-Program.html#t:Program">Program</a> <a href="#v:hpcProgram" class="selflink">#</a></p></div><h1 id="g:7">deprecated</h1><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:ProgramConfiguration" class="def">ProgramConfiguration</a> = <a href="Distribution-Simple-Program.html#t:ProgramDb">ProgramDb</a> <a href="#t:ProgramConfiguration" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: use ProgramDb instead</p></div></div></div><div class="top"><p class="src"><a id="v:emptyProgramConfiguration" class="def">emptyProgramConfiguration</a> :: <a href="Distribution-Simple-Program.html#t:ProgramConfiguration">ProgramConfiguration</a> <a href="#v:emptyProgramConfiguration" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: use emptyProgramDb instead</p></div></div></div><div class="top"><p class="src"><a id="v:defaultProgramConfiguration" class="def">defaultProgramConfiguration</a> :: <a href="Distribution-Simple-Program.html#t:ProgramConfiguration">ProgramConfiguration</a> <a href="#v:defaultProgramConfiguration" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: use defaultProgramDb instead</p></div></div></div><div class="top"><p class="src"><a id="v:restoreProgramConfiguration" class="def">restoreProgramConfiguration</a> :: [<a href="Distribution-Simple-Program.html#t:Program">Program</a>] -> <a href="Distribution-Simple-Program.html#t:ProgramConfiguration">ProgramConfiguration</a> -> <a href="Distribution-Simple-Program.html#t:ProgramConfiguration">ProgramConfiguration</a> <a href="#v:restoreProgramConfiguration" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: use restoreProgramDb instead</p></div></div></div><div class="top"><p class="src"><a id="v:rawSystemProgram" class="def">rawSystemProgram</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:rawSystemProgram" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: use runProgram instead</p></div></div></div><div class="top"><p class="src"><a id="v:rawSystemProgramStdout" class="def">rawSystemProgramStdout</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">ConfiguredProgram</a> -> [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:rawSystemProgramStdout" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: use getProgramOutput instead</p></div></div></div><div class="top"><p class="src"><a id="v:rawSystemProgramConf" class="def">rawSystemProgramConf</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program.html#t:ProgramConfiguration">ProgramConfiguration</a> -> [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:rawSystemProgramConf" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: use runDbProgram instead</p></div></div></div><div class="top"><p class="src"><a id="v:rawSystemProgramStdoutConf" class="def">rawSystemProgramStdoutConf</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program.html#t:Program">Program</a> -> <a href="Distribution-Simple-Program.html#t:ProgramConfiguration">ProgramConfiguration</a> -> [<a href="Distribution-Simple-Program.html#t:ProgArg">ProgArg</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:rawSystemProgramStdoutConf" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: use getDbProgramOutput instead</p></div></div></div><div class="top"><p class="src"><a id="v:findProgramOnPath" class="def">findProgramOnPath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) <a href="#v:findProgramOnPath" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: use findProgramOnSearchPath instead</p></div></div></div><div class="top"><p class="src"><a id="v:findProgramLocation" class="def">findProgramLocation</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) <a href="#v:findProgramLocation" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: No longer used within Cabal, try findProgramOnSearchPath</p></div><p>Look for a program on the path.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,27 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Register</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2004</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Register</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module deals with registering and unregistering packages. There are a- couple ways it can do this, one is to do it directly. Another is to generate- a script that can be run later to do it. The idea here being that the user- is shielded from the details of what command to use for package registration- for a particular compiler. In practice this aspect was not especially- popular so we also provide a way to simply generate the package registration- file which then must be manually passed to <code>ghc-pkg</code>. It is possible to- generate registration information for where the package is to be installed,- or alternatively to register the package in place in the build tree. The- latter is occasionally handy, and will become more important when we try to- build multi-package systems.</p><p>This module does not delegate anything to the per-compiler modules but just- mixes it all in in this module, which is rather unsatisfactory. The script- generation and the unregister feature are not well used or tested.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:register">register</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:unregister">unregister</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:internalPackageDBPath">internalPackageDBPath</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:initPackageDB">initPackageDB</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:doesPackageDBExist">doesPackageDBExist</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:createPackageDB">createPackageDB</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:deletePackageDB">deletePackageDB</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> ()</li><li class="src short"><a href="#v:abiHash">abiHash</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a></li><li class="src short"><a href="#v:invokeHcPkg">invokeHcPkg</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:registerPackage">registerPackage</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-Register.html#t:RegisterOptions">RegisterOptions</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><span class="keyword">data</span> <a href="#t:RegisterOptions">RegisterOptions</a> = <a href="#v:RegisterOptions">RegisterOptions</a> {<ul class="subs"><li><a href="#v:registerAllowOverwrite">registerAllowOverwrite</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:registerMultiInstance">registerMultiInstance</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:registerSuppressFilesCheck">registerSuppressFilesCheck</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul>}</li><li class="src short"><a href="#v:defaultRegisterOptions">defaultRegisterOptions</a> :: <a href="Distribution-Simple-Register.html#t:RegisterOptions">RegisterOptions</a></li><li class="src short"><a href="#v:generateRegistrationInfo">generateRegistrationInfo</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></li><li class="src short"><a href="#v:inplaceInstalledPackageInfo">inplaceInstalledPackageInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></li><li class="src short"><a href="#v:absoluteInstalledPackageInfo">absoluteInstalledPackageInfo</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></li><li class="src short"><a href="#v:generalInstalledPackageInfo">generalInstalledPackageInfo</a> :: ([<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:register" class="def">register</a> <a href="#v:register" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a></td><td class="doc"><p>Install in the user's database?; verbose</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div></div><div class="top"><p class="src"><a id="v:unregister" class="def">unregister</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:unregister" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:internalPackageDBPath" class="def">internalPackageDBPath</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:internalPackageDBPath" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:initPackageDB" class="def">initPackageDB</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:initPackageDB" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:doesPackageDBExist" class="def">doesPackageDBExist</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:doesPackageDBExist" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:createPackageDB" class="def">createPackageDB</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:createPackageDB" class="selflink">#</a></p><div class="doc"><p>Create an empty package DB at the specified location.</p></div></div><div class="top"><p class="src"><a id="v:deletePackageDB" class="def">deletePackageDB</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> () <a href="#v:deletePackageDB" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:abiHash" class="def">abiHash</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> <a href="#v:abiHash" class="selflink">#</a></p><div class="doc"><p>Compute the <code><a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a></code> of a library that we built inplace.</p></div></div><div class="top"><p class="src"><a id="v:invokeHcPkg" class="def">invokeHcPkg</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:invokeHcPkg" class="selflink">#</a></p><div class="doc"><p>Run <code>hc-pkg</code> using a given package DB stack, directly forwarding the- provided command-line arguments to it.</p></div></div><div class="top"><p class="src"><a id="v:registerPackage" class="def">registerPackage</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Simple-Register.html#t:RegisterOptions">RegisterOptions</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:registerPackage" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:RegisterOptions" class="def">RegisterOptions</a> <a href="#t:RegisterOptions" class="selflink">#</a></p><div class="doc"><p>Additional variations in the behaviour for <code><a href="Distribution-Simple-Program-HcPkg.html#v:register">register</a></code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:RegisterOptions" class="def">RegisterOptions</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:registerAllowOverwrite" class="def">registerAllowOverwrite</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Allows re-registering / overwriting an existing package</p></div></li><li><dfn class="src"><a id="v:registerMultiInstance" class="def">registerMultiInstance</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Insist on the ability to register multiple instances of a- single version of a single package. This will fail if the <code>hc-pkg</code>- does not support it, see <code><a href="Distribution-Simple-Program-HcPkg.html#v:nativeMultiInstance">nativeMultiInstance</a></code> and- <code><a href="Distribution-Simple-Program-HcPkg.html#v:recacheMultiInstance">recacheMultiInstance</a></code>.</p></div></li><li><dfn class="src"><a id="v:registerSuppressFilesCheck" class="def">registerSuppressFilesCheck</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Require that no checks are performed on the existence of package- files mentioned in the registration info. This must be used if- registering prior to putting the files in their final place. This will- fail if the <code>hc-pkg</code> does not support it, see <code><a href="Distribution-Simple-Program-HcPkg.html#v:suppressFilesCheck">suppressFilesCheck</a></code>.</p></div></li></ul></div></td></tr></table></div></div><div class="top"><p class="src"><a id="v:defaultRegisterOptions" class="def">defaultRegisterOptions</a> :: <a href="Distribution-Simple-Register.html#t:RegisterOptions">RegisterOptions</a> <a href="#v:defaultRegisterOptions" class="selflink">#</a></p><div class="doc"><p>Defaults are <code>True</code>, <code>False</code> and <code>False</code></p></div></div><div class="top"><p class="src"><a id="v:generateRegistrationInfo" class="def">generateRegistrationInfo</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:generateRegistrationInfo" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:inplaceInstalledPackageInfo" class="def">inplaceInstalledPackageInfo</a> <a href="#v:inplaceInstalledPackageInfo" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>top of the build tree</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>location of the dist tree</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-Library.html#t:Library">Library</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Construct <code><a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></code> for a library that is in place in the- build tree.</p><p>This function knows about the layout of in place packages.</p></div></div><div class="top"><p class="src"><a id="v:absoluteInstalledPackageInfo" class="def">absoluteInstalledPackageInfo</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> <a href="#v:absoluteInstalledPackageInfo" class="selflink">#</a></p><div class="doc"><p>Construct <code><a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></code> for the final install location of a- library package.</p><p>This function knows about the layout of installed packages.</p></div></div><div class="top"><p class="src"><a id="v:generalInstalledPackageInfo" class="def">generalInstalledPackageInfo</a> <a href="#v:generalInstalledPackageInfo" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: ([<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])</td><td class="doc"><p>Translate relative include dir paths to- absolute paths.</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-Library.html#t:Library">Library</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Construct <code><a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></code> for a library in a package, given a set- of installation directories.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,56 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Setup</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2004<br />Duncan Coutts 2007</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Setup</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This is a big module, but not very complicated. The code is very regular- and repetitive. It defines the command line interface for all the Cabal- commands. For each command (like <code>configure</code>, <code>build</code> etc) it defines a type- that holds all the flags, the default set of flags and a <code><a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a></code> that- maps command line flags to and from the corresponding flags type.</p><p>All the flags types are instances of <code><a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a></code>, see- <a href="http://www.haskell.org/pipermail/cabal-devel/2007-December/001509.html">http://www.haskell.org/pipermail/cabal-devel/2007-December/001509.html</a>- for an explanation.</p><p>The types defined here get used in the front end and especially in- <code>cabal-install</code> which has to do quite a bit of manipulating sets of command- line flags.</p><p>This is actually relatively nice, it works quite well. The main change it- needs is to unify it with the code for managing sets of fields that can be- read and written from files. This would allow us to save configure flags in- config files.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:GlobalFlags">GlobalFlags</a> = <a href="#v:GlobalFlags">GlobalFlags</a> {<ul class="subs"><li><a href="#v:globalVersion">globalVersion</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:globalNumericVersion">globalNumericVersion</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul>}</li><li class="src short"><a href="#v:emptyGlobalFlags">emptyGlobalFlags</a> :: <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a></li><li class="src short"><a href="#v:defaultGlobalFlags">defaultGlobalFlags</a> :: <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a></li><li class="src short"><a href="#v:globalCommand">globalCommand</a> :: [<a href="Distribution-Simple-Command.html#t:Command">Command</a> action] -> <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:ConfigFlags">ConfigFlags</a> = <a href="#v:ConfigFlags">ConfigFlags</a> {<ul class="subs"><li><a href="#v:configArgs">configArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:configPrograms_">configPrograms_</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></li><li><a href="#v:configProgramPaths">configProgramPaths</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)]</li><li><a href="#v:configProgramArgs">configProgramArgs</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]</li><li><a href="#v:configProgramPathExtra">configProgramPathExtra</a> :: <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:configHcFlavor">configHcFlavor</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a></li><li><a href="#v:configHcPath">configHcPath</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:configHcPkg">configHcPkg</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:configVanillaLib">configVanillaLib</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:configProfLib">configProfLib</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:configSharedLib">configSharedLib</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:configDynExe">configDynExe</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:configProfExe">configProfExe</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:configProf">configProf</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:configProfDetail">configProfDetail</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a></li><li><a href="#v:configProfLibDetail">configProfLibDetail</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a></li><li><a href="#v:configConfigureArgs">configConfigureArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:configOptimization">configOptimization</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a></li><li><a href="#v:configProgPrefix">configProgPrefix</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></li><li><a href="#v:configProgSuffix">configProgSuffix</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></li><li><a href="#v:configInstallDirs">configInstallDirs</a> :: <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>)</li><li><a href="#v:configScratchDir">configScratchDir</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:configExtraLibDirs">configExtraLibDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:configExtraFrameworkDirs">configExtraFrameworkDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:configExtraIncludeDirs">configExtraIncludeDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:configIPID">configIPID</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:configCID">configCID</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></li><li><a href="#v:configDeterministic">configDeterministic</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:configDistPref">configDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:configCabalFilePath">configCabalFilePath</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:configVerbosity">configVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li><a href="#v:configUserInstall">configUserInstall</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:configPackageDBs">configPackageDBs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a>]</li><li><a href="#v:configGHCiLib">configGHCiLib</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:configSplitObjs">configSplitObjs</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:configStripExes">configStripExes</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:configStripLibs">configStripLibs</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:configConstraints">configConstraints</a> :: [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>]</li><li><a href="#v:configDependencies">configDependencies</a> :: [(<a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>, <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>)]</li><li><a href="#v:configInstantiateWith">configInstantiateWith</a> :: [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Types-Module.html#t:Module">Module</a>)]</li><li><a href="#v:configConfigurationsFlags">configConfigurationsFlags</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a></li><li><a href="#v:configTests">configTests</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:configBenchmarks">configBenchmarks</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:configCoverage">configCoverage</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:configLibCoverage">configLibCoverage</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:configExactConfiguration">configExactConfiguration</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:configFlagError">configFlagError</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:configRelocatable">configRelocatable</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:configDebugInfo">configDebugInfo</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a></li><li><a href="#v:configAllowOlder">configAllowOlder</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a></li><li><a href="#v:configAllowNewer">configAllowNewer</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a></li></ul>}</li><li class="src short"><a href="#v:emptyConfigFlags">emptyConfigFlags</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a></li><li class="src short"><a href="#v:defaultConfigFlags">defaultConfigFlags</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a></li><li class="src short"><a href="#v:configureCommand">configureCommand</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a></li><li class="src short"><a href="#v:configPrograms">configPrograms</a> :: <a href="Distribution-Compat-Stack.html#t:WithCallStack">WithCallStack</a> (<a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>)</li><li class="src short"><span class="keyword">data</span> <a href="#t:RelaxDeps">RelaxDeps</a><ul class="subs"><li>= <a href="#v:RelaxDepsNone">RelaxDepsNone</a></li><li>| <a href="#v:RelaxDepsSome">RelaxDepsSome</a> [<a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a>]</li><li>| <a href="#v:RelaxDepsAll">RelaxDepsAll</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:RelaxedDep">RelaxedDep</a><ul class="subs"><li>= <a href="#v:RelaxedDep">RelaxedDep</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></li><li>| <a href="#v:RelaxedDepScoped">RelaxedDepScoped</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></li></ul></li><li class="src short"><a href="#v:isRelaxDeps">isRelaxDeps</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><span class="keyword">newtype</span> <a href="#t:AllowNewer">AllowNewer</a> = <a href="#v:AllowNewer">AllowNewer</a> {<ul class="subs"><li><a href="#v:unAllowNewer">unAllowNewer</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a></li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:AllowOlder">AllowOlder</a> = <a href="#v:AllowOlder">AllowOlder</a> {<ul class="subs"><li><a href="#v:unAllowOlder">unAllowOlder</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a></li></ul>}</li><li class="src short"><a href="#v:configAbsolutePaths">configAbsolutePaths</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a></li><li class="src short"><a href="#v:readPackageDbList">readPackageDbList</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a>]</li><li class="src short"><a href="#v:showPackageDbList">showPackageDbList</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:CopyFlags">CopyFlags</a> = <a href="#v:CopyFlags">CopyFlags</a> {<ul class="subs"><li><a href="#v:copyDest">copyDest</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Setup.html#t:CopyDest">CopyDest</a></li><li><a href="#v:copyDistPref">copyDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:copyVerbosity">copyVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li><a href="#v:copyArgs">copyArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li></ul>}</li><li class="src short"><a href="#v:emptyCopyFlags">emptyCopyFlags</a> :: <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a></li><li class="src short"><a href="#v:defaultCopyFlags">defaultCopyFlags</a> :: <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a></li><li class="src short"><a href="#v:copyCommand">copyCommand</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:InstallFlags">InstallFlags</a> = <a href="#v:InstallFlags">InstallFlags</a> {<ul class="subs"><li><a href="#v:installPackageDB">installPackageDB</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a></li><li><a href="#v:installDistPref">installDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:installUseWrapper">installUseWrapper</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:installInPlace">installInPlace</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:installVerbosity">installVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li></ul>}</li><li class="src short"><a href="#v:emptyInstallFlags">emptyInstallFlags</a> :: <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a></li><li class="src short"><a href="#v:defaultInstallFlags">defaultInstallFlags</a> :: <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a></li><li class="src short"><a href="#v:installCommand">installCommand</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:DoctestFlags">DoctestFlags</a> = <a href="#v:DoctestFlags">DoctestFlags</a> {<ul class="subs"><li><a href="#v:doctestProgramPaths">doctestProgramPaths</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)]</li><li><a href="#v:doctestProgramArgs">doctestProgramArgs</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]</li><li><a href="#v:doctestDistPref">doctestDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:doctestVerbosity">doctestVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li></ul>}</li><li class="src short"><a href="#v:emptyDoctestFlags">emptyDoctestFlags</a> :: <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a></li><li class="src short"><a href="#v:defaultDoctestFlags">defaultDoctestFlags</a> :: <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a></li><li class="src short"><a href="#v:doctestCommand">doctestCommand</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:HaddockTarget">HaddockTarget</a><ul class="subs"><li>= <a href="#v:ForHackage">ForHackage</a></li><li>| <a href="#v:ForDevelopment">ForDevelopment</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:HaddockFlags">HaddockFlags</a> = <a href="#v:HaddockFlags">HaddockFlags</a> {<ul class="subs"><li><a href="#v:haddockProgramPaths">haddockProgramPaths</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)]</li><li><a href="#v:haddockProgramArgs">haddockProgramArgs</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]</li><li><a href="#v:haddockHoogle">haddockHoogle</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:haddockHtml">haddockHtml</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:haddockHtmlLocation">haddockHtmlLocation</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:haddockForHackage">haddockForHackage</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a></li><li><a href="#v:haddockExecutables">haddockExecutables</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:haddockTestSuites">haddockTestSuites</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:haddockBenchmarks">haddockBenchmarks</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:haddockForeignLibs">haddockForeignLibs</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:haddockInternal">haddockInternal</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:haddockCss">haddockCss</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:haddockHscolour">haddockHscolour</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:haddockHscolourCss">haddockHscolourCss</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:haddockContents">haddockContents</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></li><li><a href="#v:haddockDistPref">haddockDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:haddockKeepTempFiles">haddockKeepTempFiles</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:haddockVerbosity">haddockVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li></ul>}</li><li class="src short"><a href="#v:emptyHaddockFlags">emptyHaddockFlags</a> :: <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a></li><li class="src short"><a href="#v:defaultHaddockFlags">defaultHaddockFlags</a> :: <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a></li><li class="src short"><a href="#v:haddockCommand">haddockCommand</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:HscolourFlags">HscolourFlags</a> = <a href="#v:HscolourFlags">HscolourFlags</a> {<ul class="subs"><li><a href="#v:hscolourCSS">hscolourCSS</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:hscolourExecutables">hscolourExecutables</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:hscolourTestSuites">hscolourTestSuites</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:hscolourBenchmarks">hscolourBenchmarks</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:hscolourForeignLibs">hscolourForeignLibs</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:hscolourDistPref">hscolourDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:hscolourVerbosity">hscolourVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li></ul>}</li><li class="src short"><a href="#v:emptyHscolourFlags">emptyHscolourFlags</a> :: <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a></li><li class="src short"><a href="#v:defaultHscolourFlags">defaultHscolourFlags</a> :: <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a></li><li class="src short"><a href="#v:hscolourCommand">hscolourCommand</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:BuildFlags">BuildFlags</a> = <a href="#v:BuildFlags">BuildFlags</a> {<ul class="subs"><li><a href="#v:buildProgramPaths">buildProgramPaths</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)]</li><li><a href="#v:buildProgramArgs">buildProgramArgs</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]</li><li><a href="#v:buildDistPref">buildDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:buildVerbosity">buildVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li><a href="#v:buildNumJobs">buildNumJobs</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>)</li><li><a href="#v:buildArgs">buildArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li></ul>}</li><li class="src short"><a href="#v:emptyBuildFlags">emptyBuildFlags</a> :: <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a></li><li class="src short"><a href="#v:defaultBuildFlags">defaultBuildFlags</a> :: <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a></li><li class="src short"><a href="#v:buildCommand">buildCommand</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a></li><li class="src short"><a href="#v:buildVerbose">buildVerbose</a> :: <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:ReplFlags">ReplFlags</a> = <a href="#v:ReplFlags">ReplFlags</a> {<ul class="subs"><li><a href="#v:replProgramPaths">replProgramPaths</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)]</li><li><a href="#v:replProgramArgs">replProgramArgs</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]</li><li><a href="#v:replDistPref">replDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:replVerbosity">replVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li><a href="#v:replReload">replReload</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul>}</li><li class="src short"><a href="#v:defaultReplFlags">defaultReplFlags</a> :: <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a></li><li class="src short"><a href="#v:replCommand">replCommand</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:CleanFlags">CleanFlags</a> = <a href="#v:CleanFlags">CleanFlags</a> {<ul class="subs"><li><a href="#v:cleanSaveConf">cleanSaveConf</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:cleanDistPref">cleanDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:cleanVerbosity">cleanVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li></ul>}</li><li class="src short"><a href="#v:emptyCleanFlags">emptyCleanFlags</a> :: <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a></li><li class="src short"><a href="#v:defaultCleanFlags">defaultCleanFlags</a> :: <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a></li><li class="src short"><a href="#v:cleanCommand">cleanCommand</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:RegisterFlags">RegisterFlags</a> = <a href="#v:RegisterFlags">RegisterFlags</a> {<ul class="subs"><li><a href="#v:regPackageDB">regPackageDB</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a></li><li><a href="#v:regGenScript">regGenScript</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:regGenPkgConf">regGenPkgConf</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)</li><li><a href="#v:regInPlace">regInPlace</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:regDistPref">regDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:regPrintId">regPrintId</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:regVerbosity">regVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li><a href="#v:regArgs">regArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li></ul>}</li><li class="src short"><a href="#v:emptyRegisterFlags">emptyRegisterFlags</a> :: <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a></li><li class="src short"><a href="#v:defaultRegisterFlags">defaultRegisterFlags</a> :: <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a></li><li class="src short"><a href="#v:registerCommand">registerCommand</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a></li><li class="src short"><a href="#v:unregisterCommand">unregisterCommand</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:SDistFlags">SDistFlags</a> = <a href="#v:SDistFlags">SDistFlags</a> {<ul class="subs"><li><a href="#v:sDistSnapshot">sDistSnapshot</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:sDistDirectory">sDistDirectory</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:sDistDistPref">sDistDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:sDistListSources">sDistListSources</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:sDistVerbosity">sDistVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li></ul>}</li><li class="src short"><a href="#v:emptySDistFlags">emptySDistFlags</a> :: <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a></li><li class="src short"><a href="#v:defaultSDistFlags">defaultSDistFlags</a> :: <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a></li><li class="src short"><a href="#v:sdistCommand">sdistCommand</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:TestFlags">TestFlags</a> = <a href="#v:TestFlags">TestFlags</a> {<ul class="subs"><li><a href="#v:testDistPref">testDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:testVerbosity">testVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li><a href="#v:testHumanLog">testHumanLog</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></li><li><a href="#v:testMachineLog">testMachineLog</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></li><li><a href="#v:testShowDetails">testShowDetails</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a></li><li><a href="#v:testKeepTix">testKeepTix</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:testOptions">testOptions</a> :: [<a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>]</li></ul>}</li><li class="src short"><a href="#v:emptyTestFlags">emptyTestFlags</a> :: <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a></li><li class="src short"><a href="#v:defaultTestFlags">defaultTestFlags</a> :: <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a></li><li class="src short"><a href="#v:testCommand">testCommand</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:TestShowDetails">TestShowDetails</a><ul class="subs"><li>= <a href="#v:Never">Never</a></li><li>| <a href="#v:Failures">Failures</a></li><li>| <a href="#v:Always">Always</a></li><li>| <a href="#v:Streaming">Streaming</a></li><li>| <a href="#v:Direct">Direct</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:BenchmarkFlags">BenchmarkFlags</a> = <a href="#v:BenchmarkFlags">BenchmarkFlags</a> {<ul class="subs"><li><a href="#v:benchmarkDistPref">benchmarkDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:benchmarkVerbosity">benchmarkVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li><a href="#v:benchmarkOptions">benchmarkOptions</a> :: [<a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>]</li></ul>}</li><li class="src short"><a href="#v:emptyBenchmarkFlags">emptyBenchmarkFlags</a> :: <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a></li><li class="src short"><a href="#v:defaultBenchmarkFlags">defaultBenchmarkFlags</a> :: <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a></li><li class="src short"><a href="#v:benchmarkCommand">benchmarkCommand</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:CopyDest">CopyDest</a><ul class="subs"><li>= <a href="#v:NoCopyDest">NoCopyDest</a></li><li>| <a href="#v:CopyTo">CopyTo</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li></ul></li><li class="src short"><a href="#v:configureArgs">configureArgs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li class="src short"><a href="#v:configureOptions">configureOptions</a> :: <a href="Distribution-Simple-Command.html#t:ShowOrParseArgs">ShowOrParseArgs</a> -> [<a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a>]</li><li class="src short"><a href="#v:configureCCompiler">configureCCompiler</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])</li><li class="src short"><a href="#v:configureLinker">configureLinker</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])</li><li class="src short"><a href="#v:buildOptions">buildOptions</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Command.html#t:ShowOrParseArgs">ShowOrParseArgs</a> -> [<a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a>]</li><li class="src short"><a href="#v:haddockOptions">haddockOptions</a> :: <a href="Distribution-Simple-Command.html#t:ShowOrParseArgs">ShowOrParseArgs</a> -> [<a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a>]</li><li class="src short"><a href="#v:installDirsOptions">installDirsOptions</a> :: [<a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> (<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>))]</li><li class="src short"><a href="#v:programDbOptions">programDbOptions</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Command.html#t:ShowOrParseArgs">ShowOrParseArgs</a> -> (flags -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]) -> ([(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])] -> flags -> flags) -> [<a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> flags]</li><li class="src short"><a href="#v:programDbPaths-39-">programDbPaths'</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>) -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Command.html#t:ShowOrParseArgs">ShowOrParseArgs</a> -> (flags -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)]) -> ([(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] -> flags -> flags) -> [<a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> flags]</li><li class="src short"><a href="#v:programConfigurationOptions">programConfigurationOptions</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Command.html#t:ShowOrParseArgs">ShowOrParseArgs</a> -> (flags -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]) -> ([(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])] -> flags -> flags) -> [<a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> flags]</li><li class="src short"><a href="#v:programConfigurationPaths-39-">programConfigurationPaths'</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>) -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Command.html#t:ShowOrParseArgs">ShowOrParseArgs</a> -> (flags -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)]) -> ([(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] -> flags -> flags) -> [<a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> flags]</li><li class="src short"><a href="#v:splitArgs">splitArgs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li class="src short"><a href="#v:defaultDistPref">defaultDistPref</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:optionDistPref">optionDistPref</a> :: (flags -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) -> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> flags -> flags) -> <a href="Distribution-Simple-Command.html#t:ShowOrParseArgs">ShowOrParseArgs</a> -> <a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> flags</li><li class="src short"><span class="keyword">data</span> <a href="#t:Flag">Flag</a> a<ul class="subs"><li>= <a href="#v:Flag">Flag</a> a</li><li>| <a href="#v:NoFlag">NoFlag</a></li></ul></li><li class="src short"><a href="#v:toFlag">toFlag</a> :: a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a</li><li class="src short"><a href="#v:fromFlag">fromFlag</a> :: <a href="Distribution-Compat-Stack.html#t:WithCallStack">WithCallStack</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> a)</li><li class="src short"><a href="#v:fromFlagOrDefault">fromFlagOrDefault</a> :: a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> a</li><li class="src short"><a href="#v:flagToMaybe">flagToMaybe</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:flagToList">flagToList</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> [a]</li><li class="src short"><a href="#v:maybeToFlag">maybeToFlag</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a</li><li class="src short"><span class="keyword">class</span> <a href="#t:BooleanFlag">BooleanFlag</a> a <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><a href="#v:boolOpt">boolOpt</a> :: <a href="Distribution-Simple-Command.html#t:SFlags">SFlags</a> -> <a href="Distribution-Simple-Command.html#t:SFlags">SFlags</a> -> <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> a -> a) a</li><li class="src short"><a href="#v:boolOpt-39-">boolOpt'</a> :: <a href="Distribution-Simple-Command.html#t:OptFlags">OptFlags</a> -> <a href="Distribution-Simple-Command.html#t:OptFlags">OptFlags</a> -> <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> a -> a) a</li><li class="src short"><a href="#v:trueArg">trueArg</a> :: <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> a -> a) a</li><li class="src short"><a href="#v:falseArg">falseArg</a> :: <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> a -> a) a</li><li class="src short"><a href="#v:optionVerbosity">optionVerbosity</a> :: (flags -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>) -> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> flags -> flags) -> <a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> flags</li><li class="src short"><a href="#v:optionNumJobs">optionNumJobs</a> :: (flags -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>)) -> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> flags -> flags) -> <a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> flags</li><li class="src short"><a href="#v:readPToMaybe">readPToMaybe</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> a a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:GlobalFlags" class="def">GlobalFlags</a> <a href="#t:GlobalFlags" class="selflink">#</a></p><div class="doc"><p>Flags that apply at the top level, not to any sub-command.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:GlobalFlags" class="def">GlobalFlags</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:globalVersion" class="def">globalVersion</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:globalNumericVersion" class="def">globalNumericVersion</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:GlobalFlags" class="caption collapser" onclick="toggleSection('i:GlobalFlags')">Instances</p><div id="section.i:GlobalFlags" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GlobalFlags:Generic:1" class="instance expander" onclick="toggleSection('i:id:GlobalFlags:Generic:1')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a></span> <a href="#t:GlobalFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GlobalFlags:Generic:1" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> x -> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GlobalFlags:Semigroup:2" class="instance expander" onclick="toggleSection('i:id:GlobalFlags:Semigroup:2')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a></span> <a href="#t:GlobalFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GlobalFlags:Semigroup:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> -> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> -> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> -> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> -> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GlobalFlags:Monoid:3" class="instance expander" onclick="toggleSection('i:id:GlobalFlags:Monoid:3')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a></span> <a href="#t:GlobalFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GlobalFlags:Monoid:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> -> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> -> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GlobalFlags:Rep:4" class="instance expander" onclick="toggleSection('i:id:GlobalFlags:Rep:4')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a></span> <a href="#t:GlobalFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GlobalFlags:Rep:4" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "GlobalFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "GlobalFlags" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "globalVersion") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "globalNumericVersion") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyGlobalFlags" class="def">emptyGlobalFlags</a> :: <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> <a href="#v:emptyGlobalFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:defaultGlobalFlags" class="def">defaultGlobalFlags</a> :: <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> <a href="#v:defaultGlobalFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:globalCommand" class="def">globalCommand</a> :: [<a href="Distribution-Simple-Command.html#t:Command">Command</a> action] -> <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:GlobalFlags">GlobalFlags</a> <a href="#v:globalCommand" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ConfigFlags" class="def">ConfigFlags</a> <a href="#t:ConfigFlags" class="selflink">#</a></p><div class="doc"><p>Flags to <code>configure</code> command.</p><p>IMPORTANT: every time a new flag is added, <code><a href="D-C-Setup.html#v:filterConfigureFlags">filterConfigureFlags</a></code>- should be updated.- IMPORTANT: every time a new flag is added, it should be added to the Eq instance</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ConfigFlags" class="def">ConfigFlags</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:configArgs" class="def">configArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:configPrograms_" class="def">configPrograms_</a> :: <a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></dfn><div class="doc"><p>All programs that- <code>cabal</code> may run</p></div></li><li><dfn class="src"><a id="v:configProgramPaths" class="def">configProgramPaths</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)]</dfn><div class="doc"><p>user specified programs paths</p></div></li><li><dfn class="src"><a id="v:configProgramArgs" class="def">configProgramArgs</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]</dfn><div class="doc"><p>user specified programs args</p></div></li><li><dfn class="src"><a id="v:configProgramPathExtra" class="def">configProgramPathExtra</a> :: <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>Extend the $PATH</p></div></li><li><dfn class="src"><a id="v:configHcFlavor" class="def">configHcFlavor</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a></dfn><div class="doc"><p>The "flavor" of the- compiler, such as GHC or- JHC.</p></div></li><li><dfn class="src"><a id="v:configHcPath" class="def">configHcPath</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>given compiler location</p></div></li><li><dfn class="src"><a id="v:configHcPkg" class="def">configHcPkg</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>given hc-pkg location</p></div></li><li><dfn class="src"><a id="v:configVanillaLib" class="def">configVanillaLib</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Enable vanilla library</p></div></li><li><dfn class="src"><a id="v:configProfLib" class="def">configProfLib</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Enable profiling in the library</p></div></li><li><dfn class="src"><a id="v:configSharedLib" class="def">configSharedLib</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Build shared library</p></div></li><li><dfn class="src"><a id="v:configDynExe" class="def">configDynExe</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Enable dynamic linking of the- executables.</p></div></li><li><dfn class="src"><a id="v:configProfExe" class="def">configProfExe</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Enable profiling in the- executables.</p></div></li><li><dfn class="src"><a id="v:configProf" class="def">configProf</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Enable profiling in the library- and executables.</p></div></li><li><dfn class="src"><a id="v:configProfDetail" class="def">configProfDetail</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a></dfn><div class="doc"><p>Profiling detail level- in the library and executables.</p></div></li><li><dfn class="src"><a id="v:configProfLibDetail" class="def">configProfLibDetail</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a></dfn><div class="doc"><p>Profiling detail level- in the library</p></div></li><li><dfn class="src"><a id="v:configConfigureArgs" class="def">configConfigureArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc"><p>Extra arguments to <code>configure</code></p></div></li><li><dfn class="src"><a id="v:configOptimization" class="def">configOptimization</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a></dfn><div class="doc"><p>Enable optimization.</p></div></li><li><dfn class="src"><a id="v:configProgPrefix" class="def">configProgPrefix</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></dfn><div class="doc"><p>Installed executable prefix.</p></div></li><li><dfn class="src"><a id="v:configProgSuffix" class="def">configProgSuffix</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></dfn><div class="doc"><p>Installed executable suffix.</p></div></li><li><dfn class="src"><a id="v:configInstallDirs" class="def">configInstallDirs</a> :: <a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>)</dfn><div class="doc"><p>Installation- paths</p></div></li><li><dfn class="src"><a id="v:configScratchDir" class="def">configScratchDir</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:configExtraLibDirs" class="def">configExtraLibDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc"><p>path to search for extra libraries</p></div></li><li><dfn class="src"><a id="v:configExtraFrameworkDirs" class="def">configExtraFrameworkDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc"><p>path to search for extra- frameworks (OS X only)</p></div></li><li><dfn class="src"><a id="v:configExtraIncludeDirs" class="def">configExtraIncludeDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc"><p>path to search for header files</p></div></li><li><dfn class="src"><a id="v:configIPID" class="def">configIPID</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>explicit IPID to be used</p></div></li><li><dfn class="src"><a id="v:configCID" class="def">configCID</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></dfn><div class="doc"><p>explicit CID to be used</p></div></li><li><dfn class="src"><a id="v:configDeterministic" class="def">configDeterministic</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>be as deterministic as possible- (e.g., invariant over GHC, database,- etc). Used by the test suite</p></div></li><li><dfn class="src"><a id="v:configDistPref" class="def">configDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>"dist" prefix</p></div></li><li><dfn class="src"><a id="v:configCabalFilePath" class="def">configCabalFilePath</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>Cabal file to use</p></div></li><li><dfn class="src"><a id="v:configVerbosity" class="def">configVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></dfn><div class="doc"><p>verbosity level</p></div></li><li><dfn class="src"><a id="v:configUserInstall" class="def">configUserInstall</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>The --user/--global flag</p></div></li><li><dfn class="src"><a id="v:configPackageDBs" class="def">configPackageDBs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a>]</dfn><div class="doc"><p>Which package DBs to use</p></div></li><li><dfn class="src"><a id="v:configGHCiLib" class="def">configGHCiLib</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Enable compiling library for GHCi</p></div></li><li><dfn class="src"><a id="v:configSplitObjs" class="def">configSplitObjs</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Enable -split-objs with GHC</p></div></li><li><dfn class="src"><a id="v:configStripExes" class="def">configStripExes</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Enable executable stripping</p></div></li><li><dfn class="src"><a id="v:configStripLibs" class="def">configStripLibs</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Enable library stripping</p></div></li><li><dfn class="src"><a id="v:configConstraints" class="def">configConstraints</a> :: [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>]</dfn><div class="doc"><p>Additional constraints for- dependencies.</p></div></li><li><dfn class="src"><a id="v:configDependencies" class="def">configDependencies</a> :: [(<a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>, <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>)]</dfn><div class="doc"><p>The packages depended on.</p></div></li><li><dfn class="src"><a id="v:configInstantiateWith" class="def">configInstantiateWith</a> :: [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Types-Module.html#t:Module">Module</a>)]</dfn><div class="doc"><p>The requested Backpack instantiation. If empty, either this- package does not use Backpack, or we just want to typecheck- the indefinite package.</p></div></li><li><dfn class="src"><a id="v:configConfigurationsFlags" class="def">configConfigurationsFlags</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:configTests" class="def">configTests</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Enable test suite compilation</p></div></li><li><dfn class="src"><a id="v:configBenchmarks" class="def">configBenchmarks</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Enable benchmark compilation</p></div></li><li><dfn class="src"><a id="v:configCoverage" class="def">configCoverage</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Enable program coverage</p></div></li><li><dfn class="src"><a id="v:configLibCoverage" class="def">configLibCoverage</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Enable program coverage (deprecated)</p></div></li><li><dfn class="src"><a id="v:configExactConfiguration" class="def">configExactConfiguration</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>All direct dependencies and flags are provided on the command line by- the user via the '--dependency' and '--flags' options.</p></div></li><li><dfn class="src"><a id="v:configFlagError" class="def">configFlagError</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>Halt and show an error message indicating an error in flag assignment</p></div></li><li><dfn class="src"><a id="v:configRelocatable" class="def">configRelocatable</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Enable relocatable package built</p></div></li><li><dfn class="src"><a id="v:configDebugInfo" class="def">configDebugInfo</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a></dfn><div class="doc"><p>Emit debug info.</p></div></li><li><dfn class="src"><a id="v:configAllowOlder" class="def">configAllowOlder</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a></dfn><div class="doc"><p>dual to <code><a href="Distribution-Simple-Setup.html#v:configAllowNewer">configAllowNewer</a></code></p></div></li><li><dfn class="src"><a id="v:configAllowNewer" class="def">configAllowNewer</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a></dfn><div class="doc"><p>Ignore upper bounds on all or some dependencies. Wrapped in <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> to- distinguish between "default" and "explicitly disabled".</p></div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:ConfigFlags" class="caption collapser" onclick="toggleSection('i:ConfigFlags')">Instances</p><div id="section.i:ConfigFlags" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfigFlags:Eq:1" class="instance expander" onclick="toggleSection('i:id:ConfigFlags:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a></span> <a href="#t:ConfigFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfigFlags:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfigFlags:Read:2" class="instance expander" onclick="toggleSection('i:id:ConfigFlags:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a></span> <a href="#t:ConfigFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfigFlags:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfigFlags:Show:3" class="instance expander" onclick="toggleSection('i:id:ConfigFlags:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a></span> <a href="#t:ConfigFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfigFlags:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfigFlags:Generic:4" class="instance expander" onclick="toggleSection('i:id:ConfigFlags:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a></span> <a href="#t:ConfigFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfigFlags:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> x -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfigFlags:Semigroup:5" class="instance expander" onclick="toggleSection('i:id:ConfigFlags:Semigroup:5')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a></span> <a href="#t:ConfigFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfigFlags:Semigroup:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfigFlags:Monoid:6" class="instance expander" onclick="toggleSection('i:id:ConfigFlags:Monoid:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a></span> <a href="#t:ConfigFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfigFlags:Monoid:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfigFlags:Binary:7" class="instance expander" onclick="toggleSection('i:id:ConfigFlags:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a></span> <a href="#t:ConfigFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfigFlags:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfigFlags:Rep:8" class="instance expander" onclick="toggleSection('i:id:ConfigFlags:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a></span> <a href="#t:ConfigFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfigFlags:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ConfigFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ConfigFlags" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configArgs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configPrograms_") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Compat-Semigroup.html#t:Last-39-">Last'</a> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configProgramPaths") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configProgramArgs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configProgramPathExtra") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configHcFlavor") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configHcPath") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configHcPkg") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configVanillaLib") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configProfLib") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configSharedLib") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configDynExe") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configProfExe") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configProf") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configProfDetail") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configProfLibDetail") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configConfigureArgs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configOptimization") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configProgPrefix") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configProgSuffix") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configInstallDirs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configScratchDir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configExtraLibDirs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configExtraFrameworkDirs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configExtraIncludeDirs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]))))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configIPID") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configCID") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configDeterministic") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configDistPref") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configCabalFilePath") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configVerbosity") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configUserInstall") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configPackageDBs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configGHCiLib") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configSplitObjs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configStripExes") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configStripLibs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configConstraints") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>])))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configDependencies") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>, <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configInstantiateWith") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Types-Module.html#t:Module">Module</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configConfigurationsFlags") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configTests") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configBenchmarks") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configCoverage") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configLibCoverage") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configExactConfiguration") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configFlagError") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configRelocatable") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configDebugInfo") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configAllowOlder") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configAllowNewer") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a>))))))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyConfigFlags" class="def">emptyConfigFlags</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> <a href="#v:emptyConfigFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:defaultConfigFlags" class="def">defaultConfigFlags</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> <a href="#v:defaultConfigFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:configureCommand" class="def">configureCommand</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> <a href="#v:configureCommand" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:configPrograms" class="def">configPrograms</a> :: <a href="Distribution-Compat-Stack.html#t:WithCallStack">WithCallStack</a> (<a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>) <a href="#v:configPrograms" class="selflink">#</a></p><div class="doc"><p>More convenient version of <code><a href="Distribution-Simple-Setup.html#v:configPrograms">configPrograms</a></code>. Results in an- <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#v:error">error</a></code> if internal invariant is violated.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:RelaxDeps" class="def">RelaxDeps</a> <a href="#t:RelaxDeps" class="selflink">#</a></p><div class="doc"><p>Generic data type for policy when relaxing bounds in dependencies.- Don't use this directly: use <code><a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a></code> or <code><a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a></code> depending- on whether or not you are relaxing an lower or upper bound- (respectively).</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:RelaxDepsNone" class="def">RelaxDepsNone</a></td><td class="doc"><p>Default: honor the upper bounds in all dependencies, never choose- versions newer than allowed.</p></td></tr><tr><td class="src"><a id="v:RelaxDepsSome" class="def">RelaxDepsSome</a> [<a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a>]</td><td class="doc"><p>Ignore upper bounds in dependencies on the given packages.</p></td></tr><tr><td class="src"><a id="v:RelaxDepsAll" class="def">RelaxDepsAll</a></td><td class="doc"><p>Ignore upper bounds in dependencies on all packages.</p></td></tr></table></div><div class="subs instances"><p id="control.i:RelaxDeps" class="caption collapser" onclick="toggleSection('i:RelaxDeps')">Instances</p><div id="section.i:RelaxDeps" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RelaxDeps:Eq:1" class="instance expander" onclick="toggleSection('i:id:RelaxDeps:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a></span> <a href="#t:RelaxDeps" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RelaxDeps:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RelaxDeps:Read:2" class="instance expander" onclick="toggleSection('i:id:RelaxDeps:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a></span> <a href="#t:RelaxDeps" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RelaxDeps:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RelaxDeps:Show:3" class="instance expander" onclick="toggleSection('i:id:RelaxDeps:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a></span> <a href="#t:RelaxDeps" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RelaxDeps:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RelaxDeps:Generic:4" class="instance expander" onclick="toggleSection('i:id:RelaxDeps:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a></span> <a href="#t:RelaxDeps" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RelaxDeps:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> x -> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RelaxDeps:Semigroup:5" class="instance expander" onclick="toggleSection('i:id:RelaxDeps:Semigroup:5')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a></span> <a href="#t:RelaxDeps" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RelaxDeps:Semigroup:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RelaxDeps:Monoid:6" class="instance expander" onclick="toggleSection('i:id:RelaxDeps:Monoid:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a></span> <a href="#t:RelaxDeps" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RelaxDeps:Monoid:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a>] -> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RelaxDeps:Binary:7" class="instance expander" onclick="toggleSection('i:id:RelaxDeps:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a></span> <a href="#t:RelaxDeps" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RelaxDeps:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RelaxDeps:Rep:8" class="instance expander" onclick="toggleSection('i:id:RelaxDeps:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a></span> <a href="#t:RelaxDeps" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RelaxDeps:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "RelaxDeps" "Distribution.Simple.Setup" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "RelaxDepsNone" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "RelaxDepsSome" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "RelaxDepsAll" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:RelaxedDep" class="def">RelaxedDep</a> <a href="#t:RelaxedDep" class="selflink">#</a></p><div class="doc"><p>Dependencies can be relaxed either for all packages in the install plan, or- only for some packages.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:RelaxedDep" class="def">RelaxedDep</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:RelaxedDepScoped" class="def">RelaxedDepScoped</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:RelaxedDep" class="caption collapser" onclick="toggleSection('i:RelaxedDep')">Instances</p><div id="section.i:RelaxedDep" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RelaxedDep:Eq:1" class="instance expander" onclick="toggleSection('i:id:RelaxedDep:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a></span> <a href="#t:RelaxedDep" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RelaxedDep:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a> -> <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a> -> <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RelaxedDep:Read:2" class="instance expander" onclick="toggleSection('i:id:RelaxedDep:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a></span> <a href="#t:RelaxedDep" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RelaxedDep:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RelaxedDep:Show:3" class="instance expander" onclick="toggleSection('i:id:RelaxedDep:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a></span> <a href="#t:RelaxedDep" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RelaxedDep:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RelaxedDep:Generic:4" class="instance expander" onclick="toggleSection('i:id:RelaxedDep:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a></span> <a href="#t:RelaxedDep" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RelaxedDep:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a> x -> <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RelaxedDep:Binary:5" class="instance expander" onclick="toggleSection('i:id:RelaxedDep:Binary:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a></span> <a href="#t:RelaxedDep" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RelaxedDep:Binary:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RelaxedDep:Text:6" class="instance expander" onclick="toggleSection('i:id:RelaxedDep:Text:6')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a></span> <a href="#t:RelaxedDep" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RelaxedDep:Text:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RelaxedDep:Rep:7" class="instance expander" onclick="toggleSection('i:id:RelaxedDep:Rep:7')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a></span> <a href="#t:RelaxedDep" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RelaxedDep:Rep:7" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "RelaxedDep" "Distribution.Simple.Setup" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "RelaxedDep" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "RelaxedDepScoped" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:isRelaxDeps" class="def">isRelaxDeps</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isRelaxDeps" class="selflink">#</a></p><div class="doc"><p>Convert <code><a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a></code> to a boolean.</p></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:AllowNewer" class="def">AllowNewer</a> <a href="#t:AllowNewer" class="selflink">#</a></p><div class="doc"><p><code><a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a></code> in the context of upper bounds (i.e. for <code>--allow-newer</code> flag)</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:AllowNewer" class="def">AllowNewer</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:unAllowNewer" class="def">unAllowNewer</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:AllowNewer" class="caption collapser" onclick="toggleSection('i:AllowNewer')">Instances</p><div id="section.i:AllowNewer" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AllowNewer:Eq:1" class="instance expander" onclick="toggleSection('i:id:AllowNewer:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a></span> <a href="#t:AllowNewer" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AllowNewer:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> -> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> -> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AllowNewer:Read:2" class="instance expander" onclick="toggleSection('i:id:AllowNewer:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a></span> <a href="#t:AllowNewer" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AllowNewer:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AllowNewer:Show:3" class="instance expander" onclick="toggleSection('i:id:AllowNewer:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a></span> <a href="#t:AllowNewer" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AllowNewer:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AllowNewer:Generic:4" class="instance expander" onclick="toggleSection('i:id:AllowNewer:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a></span> <a href="#t:AllowNewer" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AllowNewer:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> x -> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AllowNewer:Semigroup:5" class="instance expander" onclick="toggleSection('i:id:AllowNewer:Semigroup:5')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a></span> <a href="#t:AllowNewer" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AllowNewer:Semigroup:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> -> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> -> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> -> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> -> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AllowNewer:Monoid:6" class="instance expander" onclick="toggleSection('i:id:AllowNewer:Monoid:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a></span> <a href="#t:AllowNewer" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AllowNewer:Monoid:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> -> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> -> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a>] -> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AllowNewer:Binary:7" class="instance expander" onclick="toggleSection('i:id:AllowNewer:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a></span> <a href="#t:AllowNewer" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AllowNewer:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AllowNewer:Rep:8" class="instance expander" onclick="toggleSection('i:id:AllowNewer:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a></span> <a href="#t:AllowNewer" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AllowNewer:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:AllowNewer">AllowNewer</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "AllowNewer" "Distribution.Simple.Setup" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "AllowNewer" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "unAllowNewer") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a>)))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:AllowOlder" class="def">AllowOlder</a> <a href="#t:AllowOlder" class="selflink">#</a></p><div class="doc"><p><code><a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a></code> in the context of lower bounds (i.e. for <code>--allow-older</code> flag)</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:AllowOlder" class="def">AllowOlder</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:unAllowOlder" class="def">unAllowOlder</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:AllowOlder" class="caption collapser" onclick="toggleSection('i:AllowOlder')">Instances</p><div id="section.i:AllowOlder" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AllowOlder:Eq:1" class="instance expander" onclick="toggleSection('i:id:AllowOlder:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a></span> <a href="#t:AllowOlder" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AllowOlder:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> -> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> -> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AllowOlder:Read:2" class="instance expander" onclick="toggleSection('i:id:AllowOlder:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a></span> <a href="#t:AllowOlder" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AllowOlder:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AllowOlder:Show:3" class="instance expander" onclick="toggleSection('i:id:AllowOlder:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a></span> <a href="#t:AllowOlder" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AllowOlder:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AllowOlder:Generic:4" class="instance expander" onclick="toggleSection('i:id:AllowOlder:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a></span> <a href="#t:AllowOlder" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AllowOlder:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> x -> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AllowOlder:Semigroup:5" class="instance expander" onclick="toggleSection('i:id:AllowOlder:Semigroup:5')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a></span> <a href="#t:AllowOlder" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AllowOlder:Semigroup:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> -> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> -> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> -> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> -> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AllowOlder:Monoid:6" class="instance expander" onclick="toggleSection('i:id:AllowOlder:Monoid:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a></span> <a href="#t:AllowOlder" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AllowOlder:Monoid:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> -> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> -> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a>] -> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AllowOlder:Binary:7" class="instance expander" onclick="toggleSection('i:id:AllowOlder:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a></span> <a href="#t:AllowOlder" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AllowOlder:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AllowOlder:Rep:8" class="instance expander" onclick="toggleSection('i:id:AllowOlder:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a></span> <a href="#t:AllowOlder" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AllowOlder:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:AllowOlder">AllowOlder</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "AllowOlder" "Distribution.Simple.Setup" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "AllowOlder" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "unAllowOlder") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-Setup.html#t:RelaxDeps">RelaxDeps</a>)))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:configAbsolutePaths" class="def">configAbsolutePaths</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> <a href="#v:configAbsolutePaths" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:readPackageDbList" class="def">readPackageDbList</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a>] <a href="#v:readPackageDbList" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:showPackageDbList" class="def">showPackageDbList</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#v:showPackageDbList" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:CopyFlags" class="def">CopyFlags</a> <a href="#t:CopyFlags" class="selflink">#</a></p><div class="doc"><p>Flags to <code>copy</code>: (destdir, copy-prefix (backwards compat), verbosity)</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:CopyFlags" class="def">CopyFlags</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:copyDest" class="def">copyDest</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Setup.html#t:CopyDest">CopyDest</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:copyDistPref" class="def">copyDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:copyVerbosity" class="def">copyVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:copyArgs" class="def">copyArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:CopyFlags" class="caption collapser" onclick="toggleSection('i:CopyFlags')">Instances</p><div id="section.i:CopyFlags" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CopyFlags:Show:1" class="instance expander" onclick="toggleSection('i:id:CopyFlags:Show:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a></span> <a href="#t:CopyFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CopyFlags:Show:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CopyFlags:Generic:2" class="instance expander" onclick="toggleSection('i:id:CopyFlags:Generic:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a></span> <a href="#t:CopyFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CopyFlags:Generic:2" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> x -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CopyFlags:Semigroup:3" class="instance expander" onclick="toggleSection('i:id:CopyFlags:Semigroup:3')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a></span> <a href="#t:CopyFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CopyFlags:Semigroup:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CopyFlags:Monoid:4" class="instance expander" onclick="toggleSection('i:id:CopyFlags:Monoid:4')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a></span> <a href="#t:CopyFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CopyFlags:Monoid:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CopyFlags:Rep:5" class="instance expander" onclick="toggleSection('i:id:CopyFlags:Rep:5')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a></span> <a href="#t:CopyFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CopyFlags:Rep:5" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "CopyFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CopyFlags" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "copyDest") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Setup.html#t:CopyDest">CopyDest</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "copyDistPref") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "copyVerbosity") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "copyArgs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyCopyFlags" class="def">emptyCopyFlags</a> :: <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> <a href="#v:emptyCopyFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:defaultCopyFlags" class="def">defaultCopyFlags</a> :: <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> <a href="#v:defaultCopyFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:copyCommand" class="def">copyCommand</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> <a href="#v:copyCommand" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:InstallFlags" class="def">InstallFlags</a> <a href="#t:InstallFlags" class="selflink">#</a></p><div class="doc"><p>Flags to <code>install</code>: (package db, verbosity)</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:InstallFlags" class="def">InstallFlags</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:installPackageDB" class="def">installPackageDB</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:installDistPref" class="def">installDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:installUseWrapper" class="def">installUseWrapper</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:installInPlace" class="def">installInPlace</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:installVerbosity" class="def">installVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:InstallFlags" class="caption collapser" onclick="toggleSection('i:InstallFlags')">Instances</p><div id="section.i:InstallFlags" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstallFlags:Show:1" class="instance expander" onclick="toggleSection('i:id:InstallFlags:Show:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a></span> <a href="#t:InstallFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstallFlags:Show:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstallFlags:Generic:2" class="instance expander" onclick="toggleSection('i:id:InstallFlags:Generic:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a></span> <a href="#t:InstallFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstallFlags:Generic:2" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> x -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstallFlags:Semigroup:3" class="instance expander" onclick="toggleSection('i:id:InstallFlags:Semigroup:3')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a></span> <a href="#t:InstallFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstallFlags:Semigroup:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstallFlags:Monoid:4" class="instance expander" onclick="toggleSection('i:id:InstallFlags:Monoid:4')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a></span> <a href="#t:InstallFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstallFlags:Monoid:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:InstallFlags:Rep:5" class="instance expander" onclick="toggleSection('i:id:InstallFlags:Rep:5')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a></span> <a href="#t:InstallFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:InstallFlags:Rep:5" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "InstallFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "InstallFlags" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "installPackageDB") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "installDistPref") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "installUseWrapper") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "installInPlace") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "installVerbosity") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>)))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyInstallFlags" class="def">emptyInstallFlags</a> :: <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> <a href="#v:emptyInstallFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:defaultInstallFlags" class="def">defaultInstallFlags</a> :: <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> <a href="#v:defaultInstallFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:installCommand" class="def">installCommand</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> <a href="#v:installCommand" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:DoctestFlags" class="def">DoctestFlags</a> <a href="#t:DoctestFlags" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:DoctestFlags" class="def">DoctestFlags</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:doctestProgramPaths" class="def">doctestProgramPaths</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:doctestProgramArgs" class="def">doctestProgramArgs</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:doctestDistPref" class="def">doctestDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:doctestVerbosity" class="def">doctestVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:DoctestFlags" class="caption collapser" onclick="toggleSection('i:DoctestFlags')">Instances</p><div id="section.i:DoctestFlags" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DoctestFlags:Show:1" class="instance expander" onclick="toggleSection('i:id:DoctestFlags:Show:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a></span> <a href="#t:DoctestFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DoctestFlags:Show:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DoctestFlags:Generic:2" class="instance expander" onclick="toggleSection('i:id:DoctestFlags:Generic:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a></span> <a href="#t:DoctestFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DoctestFlags:Generic:2" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> x -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DoctestFlags:Semigroup:3" class="instance expander" onclick="toggleSection('i:id:DoctestFlags:Semigroup:3')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a></span> <a href="#t:DoctestFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DoctestFlags:Semigroup:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DoctestFlags:Monoid:4" class="instance expander" onclick="toggleSection('i:id:DoctestFlags:Monoid:4')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a></span> <a href="#t:DoctestFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DoctestFlags:Monoid:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DoctestFlags:Rep:5" class="instance expander" onclick="toggleSection('i:id:DoctestFlags:Rep:5')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a></span> <a href="#t:DoctestFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DoctestFlags:Rep:5" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "DoctestFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DoctestFlags" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "doctestProgramPaths") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "doctestProgramArgs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "doctestDistPref") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "doctestVerbosity") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyDoctestFlags" class="def">emptyDoctestFlags</a> :: <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> <a href="#v:emptyDoctestFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:defaultDoctestFlags" class="def">defaultDoctestFlags</a> :: <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> <a href="#v:defaultDoctestFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:doctestCommand" class="def">doctestCommand</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> <a href="#v:doctestCommand" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:HaddockTarget" class="def">HaddockTarget</a> <a href="#t:HaddockTarget" class="selflink">#</a></p><div class="doc"><p>When we build haddock documentation, there are two cases:</p><ol><li>We build haddocks only for the current development version,- intended for local use and not for distribution. In this case,- we store the generated documentation in <code><a href="dist">dist</a><em>doc</em>html/<a href="package">name</a></code>.</li><li>We build haddocks for intended for uploading them to hackage.- In this case, we need to follow the layout that hackage expects- from documentation tarballs, and we might also want to use different- flags than for development builds, so in this case we store the generated- documentation in <code><a href="dist">dist</a><em>doc</em>html/<a href="package">id</a>-docs</code>.</li></ol></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ForHackage" class="def">ForHackage</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:ForDevelopment" class="def">ForDevelopment</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:HaddockTarget" class="caption collapser" onclick="toggleSection('i:HaddockTarget')">Instances</p><div id="section.i:HaddockTarget" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:HaddockTarget:Eq:1" class="instance expander" onclick="toggleSection('i:id:HaddockTarget:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a></span> <a href="#t:HaddockTarget" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:HaddockTarget:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:HaddockTarget:Show:2" class="instance expander" onclick="toggleSection('i:id:HaddockTarget:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a></span> <a href="#t:HaddockTarget" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:HaddockTarget:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:HaddockTarget:Generic:3" class="instance expander" onclick="toggleSection('i:id:HaddockTarget:Generic:3')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a></span> <a href="#t:HaddockTarget" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:HaddockTarget:Generic:3" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a> x -> <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:HaddockTarget:Rep:4" class="instance expander" onclick="toggleSection('i:id:HaddockTarget:Rep:4')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a></span> <a href="#t:HaddockTarget" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:HaddockTarget:Rep:4" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "HaddockTarget" "Distribution.Simple.Setup" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ForHackage" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ForDevelopment" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:HaddockFlags" class="def">HaddockFlags</a> <a href="#t:HaddockFlags" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:HaddockFlags" class="def">HaddockFlags</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:haddockProgramPaths" class="def">haddockProgramPaths</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:haddockProgramArgs" class="def">haddockProgramArgs</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:haddockHoogle" class="def">haddockHoogle</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:haddockHtml" class="def">haddockHtml</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:haddockHtmlLocation" class="def">haddockHtmlLocation</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:haddockForHackage" class="def">haddockForHackage</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:haddockExecutables" class="def">haddockExecutables</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:haddockTestSuites" class="def">haddockTestSuites</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:haddockBenchmarks" class="def">haddockBenchmarks</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:haddockForeignLibs" class="def">haddockForeignLibs</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:haddockInternal" class="def">haddockInternal</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:haddockCss" class="def">haddockCss</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:haddockHscolour" class="def">haddockHscolour</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:haddockHscolourCss" class="def">haddockHscolourCss</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:haddockContents" class="def">haddockContents</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:haddockDistPref" class="def">haddockDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:haddockKeepTempFiles" class="def">haddockKeepTempFiles</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:haddockVerbosity" class="def">haddockVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:HaddockFlags" class="caption collapser" onclick="toggleSection('i:HaddockFlags')">Instances</p><div id="section.i:HaddockFlags" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:HaddockFlags:Show:1" class="instance expander" onclick="toggleSection('i:id:HaddockFlags:Show:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a></span> <a href="#t:HaddockFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:HaddockFlags:Show:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:HaddockFlags:Generic:2" class="instance expander" onclick="toggleSection('i:id:HaddockFlags:Generic:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a></span> <a href="#t:HaddockFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:HaddockFlags:Generic:2" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> x -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:HaddockFlags:Semigroup:3" class="instance expander" onclick="toggleSection('i:id:HaddockFlags:Semigroup:3')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a></span> <a href="#t:HaddockFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:HaddockFlags:Semigroup:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:HaddockFlags:Monoid:4" class="instance expander" onclick="toggleSection('i:id:HaddockFlags:Monoid:4')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a></span> <a href="#t:HaddockFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:HaddockFlags:Monoid:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:HaddockFlags:Rep:5" class="instance expander" onclick="toggleSection('i:id:HaddockFlags:Rep:5')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a></span> <a href="#t:HaddockFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:HaddockFlags:Rep:5" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "HaddockFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "HaddockFlags" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "haddockProgramPaths") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "haddockProgramArgs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "haddockHoogle") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "haddockHtml") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "haddockHtmlLocation") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "haddockForHackage") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Setup.html#t:HaddockTarget">HaddockTarget</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "haddockExecutables") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "haddockTestSuites") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "haddockBenchmarks") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "haddockForeignLibs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "haddockInternal") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "haddockCss") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "haddockHscolour") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "haddockHscolourCss") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "haddockContents") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "haddockDistPref") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "haddockKeepTempFiles") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "haddockVerbosity") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>)))))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyHaddockFlags" class="def">emptyHaddockFlags</a> :: <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> <a href="#v:emptyHaddockFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:defaultHaddockFlags" class="def">defaultHaddockFlags</a> :: <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> <a href="#v:defaultHaddockFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:haddockCommand" class="def">haddockCommand</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> <a href="#v:haddockCommand" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:HscolourFlags" class="def">HscolourFlags</a> <a href="#t:HscolourFlags" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:HscolourFlags" class="def">HscolourFlags</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:hscolourCSS" class="def">hscolourCSS</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:hscolourExecutables" class="def">hscolourExecutables</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:hscolourTestSuites" class="def">hscolourTestSuites</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:hscolourBenchmarks" class="def">hscolourBenchmarks</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:hscolourForeignLibs" class="def">hscolourForeignLibs</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:hscolourDistPref" class="def">hscolourDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:hscolourVerbosity" class="def">hscolourVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:HscolourFlags" class="caption collapser" onclick="toggleSection('i:HscolourFlags')">Instances</p><div id="section.i:HscolourFlags" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:HscolourFlags:Show:1" class="instance expander" onclick="toggleSection('i:id:HscolourFlags:Show:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a></span> <a href="#t:HscolourFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:HscolourFlags:Show:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:HscolourFlags:Generic:2" class="instance expander" onclick="toggleSection('i:id:HscolourFlags:Generic:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a></span> <a href="#t:HscolourFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:HscolourFlags:Generic:2" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> x -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:HscolourFlags:Semigroup:3" class="instance expander" onclick="toggleSection('i:id:HscolourFlags:Semigroup:3')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a></span> <a href="#t:HscolourFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:HscolourFlags:Semigroup:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:HscolourFlags:Monoid:4" class="instance expander" onclick="toggleSection('i:id:HscolourFlags:Monoid:4')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a></span> <a href="#t:HscolourFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:HscolourFlags:Monoid:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:HscolourFlags:Rep:5" class="instance expander" onclick="toggleSection('i:id:HscolourFlags:Rep:5')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a></span> <a href="#t:HscolourFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:HscolourFlags:Rep:5" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "HscolourFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "HscolourFlags" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "hscolourCSS") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "hscolourExecutables") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "hscolourTestSuites") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "hscolourBenchmarks") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "hscolourForeignLibs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "hscolourDistPref") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "hscolourVerbosity") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>)))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyHscolourFlags" class="def">emptyHscolourFlags</a> :: <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> <a href="#v:emptyHscolourFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:defaultHscolourFlags" class="def">defaultHscolourFlags</a> :: <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> <a href="#v:defaultHscolourFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:hscolourCommand" class="def">hscolourCommand</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> <a href="#v:hscolourCommand" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:BuildFlags" class="def">BuildFlags</a> <a href="#t:BuildFlags" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:BuildFlags" class="def">BuildFlags</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:buildProgramPaths" class="def">buildProgramPaths</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:buildProgramArgs" class="def">buildProgramArgs</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:buildDistPref" class="def">buildDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:buildVerbosity" class="def">buildVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:buildNumJobs" class="def">buildNumJobs</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>)</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:buildArgs" class="def">buildArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:BuildFlags" class="caption collapser" onclick="toggleSection('i:BuildFlags')">Instances</p><div id="section.i:BuildFlags" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildFlags:Read:1" class="instance expander" onclick="toggleSection('i:id:BuildFlags:Read:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a></span> <a href="#t:BuildFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildFlags:Read:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildFlags:Show:2" class="instance expander" onclick="toggleSection('i:id:BuildFlags:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a></span> <a href="#t:BuildFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildFlags:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildFlags:Generic:3" class="instance expander" onclick="toggleSection('i:id:BuildFlags:Generic:3')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a></span> <a href="#t:BuildFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildFlags:Generic:3" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> x -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildFlags:Semigroup:4" class="instance expander" onclick="toggleSection('i:id:BuildFlags:Semigroup:4')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a></span> <a href="#t:BuildFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildFlags:Semigroup:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildFlags:Monoid:5" class="instance expander" onclick="toggleSection('i:id:BuildFlags:Monoid:5')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a></span> <a href="#t:BuildFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildFlags:Monoid:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildFlags:Rep:6" class="instance expander" onclick="toggleSection('i:id:BuildFlags:Rep:6')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a></span> <a href="#t:BuildFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildFlags:Rep:6" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "BuildFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BuildFlags" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "buildProgramPaths") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "buildProgramArgs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "buildDistPref") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "buildVerbosity") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "buildNumJobs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "buildArgs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyBuildFlags" class="def">emptyBuildFlags</a> :: <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> <a href="#v:emptyBuildFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:defaultBuildFlags" class="def">defaultBuildFlags</a> :: <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> <a href="#v:defaultBuildFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:buildCommand" class="def">buildCommand</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> <a href="#v:buildCommand" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:buildVerbose" class="def">buildVerbose</a> :: <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:buildVerbose" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: Use buildVerbosity instead</p></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ReplFlags" class="def">ReplFlags</a> <a href="#t:ReplFlags" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ReplFlags" class="def">ReplFlags</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:replProgramPaths" class="def">replProgramPaths</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:replProgramArgs" class="def">replProgramArgs</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:replDistPref" class="def">replDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:replVerbosity" class="def">replVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:replReload" class="def">replReload</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:ReplFlags" class="caption collapser" onclick="toggleSection('i:ReplFlags')">Instances</p><div id="section.i:ReplFlags" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ReplFlags:Show:1" class="instance expander" onclick="toggleSection('i:id:ReplFlags:Show:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a></span> <a href="#t:ReplFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ReplFlags:Show:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ReplFlags:Generic:2" class="instance expander" onclick="toggleSection('i:id:ReplFlags:Generic:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a></span> <a href="#t:ReplFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ReplFlags:Generic:2" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> x -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ReplFlags:Semigroup:3" class="instance expander" onclick="toggleSection('i:id:ReplFlags:Semigroup:3')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a></span> <a href="#t:ReplFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ReplFlags:Semigroup:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ReplFlags:Monoid:4" class="instance expander" onclick="toggleSection('i:id:ReplFlags:Monoid:4')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a></span> <a href="#t:ReplFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ReplFlags:Monoid:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ReplFlags:Rep:5" class="instance expander" onclick="toggleSection('i:id:ReplFlags:Rep:5')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a></span> <a href="#t:ReplFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ReplFlags:Rep:5" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ReplFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ReplFlags" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "replProgramPaths") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "replProgramArgs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "replDistPref") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "replVerbosity") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "replReload") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:defaultReplFlags" class="def">defaultReplFlags</a> :: <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> <a href="#v:defaultReplFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:replCommand" class="def">replCommand</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> <a href="#v:replCommand" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:CleanFlags" class="def">CleanFlags</a> <a href="#t:CleanFlags" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:CleanFlags" class="def">CleanFlags</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:cleanSaveConf" class="def">cleanSaveConf</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:cleanDistPref" class="def">cleanDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:cleanVerbosity" class="def">cleanVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:CleanFlags" class="caption collapser" onclick="toggleSection('i:CleanFlags')">Instances</p><div id="section.i:CleanFlags" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CleanFlags:Show:1" class="instance expander" onclick="toggleSection('i:id:CleanFlags:Show:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a></span> <a href="#t:CleanFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CleanFlags:Show:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CleanFlags:Generic:2" class="instance expander" onclick="toggleSection('i:id:CleanFlags:Generic:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a></span> <a href="#t:CleanFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CleanFlags:Generic:2" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> x -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CleanFlags:Semigroup:3" class="instance expander" onclick="toggleSection('i:id:CleanFlags:Semigroup:3')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a></span> <a href="#t:CleanFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CleanFlags:Semigroup:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CleanFlags:Monoid:4" class="instance expander" onclick="toggleSection('i:id:CleanFlags:Monoid:4')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a></span> <a href="#t:CleanFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CleanFlags:Monoid:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CleanFlags:Rep:5" class="instance expander" onclick="toggleSection('i:id:CleanFlags:Rep:5')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a></span> <a href="#t:CleanFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CleanFlags:Rep:5" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "CleanFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CleanFlags" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "cleanSaveConf") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "cleanDistPref") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "cleanVerbosity") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyCleanFlags" class="def">emptyCleanFlags</a> :: <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> <a href="#v:emptyCleanFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:defaultCleanFlags" class="def">defaultCleanFlags</a> :: <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> <a href="#v:defaultCleanFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:cleanCommand" class="def">cleanCommand</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> <a href="#v:cleanCommand" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:RegisterFlags" class="def">RegisterFlags</a> <a href="#t:RegisterFlags" class="selflink">#</a></p><div class="doc"><p>Flags to <code>register</code> and <code>unregister</code>: (user package, gen-script,- in-place, verbosity)</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:RegisterFlags" class="def">RegisterFlags</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:regPackageDB" class="def">regPackageDB</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:regGenScript" class="def">regGenScript</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:regGenPkgConf" class="def">regGenPkgConf</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:regInPlace" class="def">regInPlace</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:regDistPref" class="def">regDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:regPrintId" class="def">regPrintId</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:regVerbosity" class="def">regVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:regArgs" class="def">regArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:RegisterFlags" class="caption collapser" onclick="toggleSection('i:RegisterFlags')">Instances</p><div id="section.i:RegisterFlags" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RegisterFlags:Show:1" class="instance expander" onclick="toggleSection('i:id:RegisterFlags:Show:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a></span> <a href="#t:RegisterFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RegisterFlags:Show:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RegisterFlags:Generic:2" class="instance expander" onclick="toggleSection('i:id:RegisterFlags:Generic:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a></span> <a href="#t:RegisterFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RegisterFlags:Generic:2" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> x -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RegisterFlags:Semigroup:3" class="instance expander" onclick="toggleSection('i:id:RegisterFlags:Semigroup:3')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a></span> <a href="#t:RegisterFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RegisterFlags:Semigroup:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RegisterFlags:Monoid:4" class="instance expander" onclick="toggleSection('i:id:RegisterFlags:Monoid:4')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a></span> <a href="#t:RegisterFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RegisterFlags:Monoid:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RegisterFlags:Rep:5" class="instance expander" onclick="toggleSection('i:id:RegisterFlags:Rep:5')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a></span> <a href="#t:RegisterFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RegisterFlags:Rep:5" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "RegisterFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "RegisterFlags" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "regPackageDB") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB">PackageDB</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "regGenScript") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "regGenPkgConf") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "regInPlace") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "regDistPref") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "regPrintId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "regVerbosity") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "regArgs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyRegisterFlags" class="def">emptyRegisterFlags</a> :: <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> <a href="#v:emptyRegisterFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:defaultRegisterFlags" class="def">defaultRegisterFlags</a> :: <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> <a href="#v:defaultRegisterFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:registerCommand" class="def">registerCommand</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> <a href="#v:registerCommand" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:unregisterCommand" class="def">unregisterCommand</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> <a href="#v:unregisterCommand" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:SDistFlags" class="def">SDistFlags</a> <a href="#t:SDistFlags" class="selflink">#</a></p><div class="doc"><p>Flags to <code>sdist</code>: (snapshot, verbosity)</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:SDistFlags" class="def">SDistFlags</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:sDistSnapshot" class="def">sDistSnapshot</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:sDistDirectory" class="def">sDistDirectory</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:sDistDistPref" class="def">sDistDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:sDistListSources" class="def">sDistListSources</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:sDistVerbosity" class="def">sDistVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:SDistFlags" class="caption collapser" onclick="toggleSection('i:SDistFlags')">Instances</p><div id="section.i:SDistFlags" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SDistFlags:Show:1" class="instance expander" onclick="toggleSection('i:id:SDistFlags:Show:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a></span> <a href="#t:SDistFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SDistFlags:Show:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SDistFlags:Generic:2" class="instance expander" onclick="toggleSection('i:id:SDistFlags:Generic:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a></span> <a href="#t:SDistFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SDistFlags:Generic:2" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> x -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SDistFlags:Semigroup:3" class="instance expander" onclick="toggleSection('i:id:SDistFlags:Semigroup:3')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a></span> <a href="#t:SDistFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SDistFlags:Semigroup:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SDistFlags:Monoid:4" class="instance expander" onclick="toggleSection('i:id:SDistFlags:Monoid:4')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a></span> <a href="#t:SDistFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SDistFlags:Monoid:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SDistFlags:Rep:5" class="instance expander" onclick="toggleSection('i:id:SDistFlags:Rep:5')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a></span> <a href="#t:SDistFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SDistFlags:Rep:5" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "SDistFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "SDistFlags" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "sDistSnapshot") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "sDistDirectory") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "sDistDistPref") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "sDistListSources") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "sDistVerbosity") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>)))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptySDistFlags" class="def">emptySDistFlags</a> :: <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> <a href="#v:emptySDistFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:defaultSDistFlags" class="def">defaultSDistFlags</a> :: <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> <a href="#v:defaultSDistFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sdistCommand" class="def">sdistCommand</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> <a href="#v:sdistCommand" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:TestFlags" class="def">TestFlags</a> <a href="#t:TestFlags" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:TestFlags" class="def">TestFlags</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:testDistPref" class="def">testDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:testVerbosity" class="def">testVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:testHumanLog" class="def">testHumanLog</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:testMachineLog" class="def">testMachineLog</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:testShowDetails" class="def">testShowDetails</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:testKeepTix" class="def">testKeepTix</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:testOptions" class="def">testOptions</a> :: [<a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>]</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:TestFlags" class="caption collapser" onclick="toggleSection('i:TestFlags')">Instances</p><div id="section.i:TestFlags" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestFlags:Generic:1" class="instance expander" onclick="toggleSection('i:id:TestFlags:Generic:1')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a></span> <a href="#t:TestFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestFlags:Generic:1" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> x -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestFlags:Semigroup:2" class="instance expander" onclick="toggleSection('i:id:TestFlags:Semigroup:2')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a></span> <a href="#t:TestFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestFlags:Semigroup:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestFlags:Monoid:3" class="instance expander" onclick="toggleSection('i:id:TestFlags:Monoid:3')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a></span> <a href="#t:TestFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestFlags:Monoid:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestFlags:Rep:4" class="instance expander" onclick="toggleSection('i:id:TestFlags:Rep:4')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a></span> <a href="#t:TestFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestFlags:Rep:4" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "TestFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TestFlags" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "testDistPref") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "testVerbosity") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "testHumanLog") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "testMachineLog") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "testShowDetails") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "testKeepTix") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "testOptions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>]))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyTestFlags" class="def">emptyTestFlags</a> :: <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> <a href="#v:emptyTestFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:defaultTestFlags" class="def">defaultTestFlags</a> :: <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> <a href="#v:defaultTestFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:testCommand" class="def">testCommand</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> <a href="#v:testCommand" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:TestShowDetails" class="def">TestShowDetails</a> <a href="#t:TestShowDetails" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Never" class="def">Never</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Failures" class="def">Failures</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Always" class="def">Always</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Streaming" class="def">Streaming</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Direct" class="def">Direct</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:TestShowDetails" class="caption collapser" onclick="toggleSection('i:TestShowDetails')">Instances</p><div id="section.i:TestShowDetails" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestShowDetails:Bounded:1" class="instance expander" onclick="toggleSection('i:id:TestShowDetails:Bounded:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Bounded">Bounded</a> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a></span> <a href="#t:TestShowDetails" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestShowDetails:Bounded:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:minBound">minBound</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> <a href="#v:minBound" class="selflink">#</a></p><p class="src"><a href="#v:maxBound">maxBound</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> <a href="#v:maxBound" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestShowDetails:Enum:2" class="instance expander" onclick="toggleSection('i:id:TestShowDetails:Enum:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Enum">Enum</a> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a></span> <a href="#t:TestShowDetails" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestShowDetails:Enum:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:succ">succ</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> <a href="#v:succ" class="selflink">#</a></p><p class="src"><a href="#v:pred">pred</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> <a href="#v:pred" class="selflink">#</a></p><p class="src"><a href="#v:toEnum">toEnum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> <a href="#v:toEnum" class="selflink">#</a></p><p class="src"><a href="#v:fromEnum">fromEnum</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:fromEnum" class="selflink">#</a></p><p class="src"><a href="#v:enumFrom">enumFrom</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> [<a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a>] <a href="#v:enumFrom" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThen">enumFromThen</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> [<a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a>] <a href="#v:enumFromThen" class="selflink">#</a></p><p class="src"><a href="#v:enumFromTo">enumFromTo</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> [<a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a>] <a href="#v:enumFromTo" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThenTo">enumFromThenTo</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> [<a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a>] <a href="#v:enumFromThenTo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestShowDetails:Eq:3" class="instance expander" onclick="toggleSection('i:id:TestShowDetails:Eq:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a></span> <a href="#t:TestShowDetails" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestShowDetails:Eq:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestShowDetails:Ord:4" class="instance expander" onclick="toggleSection('i:id:TestShowDetails:Ord:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a></span> <a href="#t:TestShowDetails" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestShowDetails:Ord:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestShowDetails:Show:5" class="instance expander" onclick="toggleSection('i:id:TestShowDetails:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a></span> <a href="#t:TestShowDetails" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestShowDetails:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestShowDetails:Semigroup:6" class="instance expander" onclick="toggleSection('i:id:TestShowDetails:Semigroup:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a></span> <a href="#t:TestShowDetails" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestShowDetails:Semigroup:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestShowDetails:Monoid:7" class="instance expander" onclick="toggleSection('i:id:TestShowDetails:Monoid:7')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a></span> <a href="#t:TestShowDetails" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestShowDetails:Monoid:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a>] -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestShowDetails:Text:8" class="instance expander" onclick="toggleSection('i:id:TestShowDetails:Text:8')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a></span> <a href="#t:TestShowDetails" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestShowDetails:Text:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:BenchmarkFlags" class="def">BenchmarkFlags</a> <a href="#t:BenchmarkFlags" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:BenchmarkFlags" class="def">BenchmarkFlags</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:benchmarkDistPref" class="def">benchmarkDistPref</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:benchmarkVerbosity" class="def">benchmarkVerbosity</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:benchmarkOptions" class="def">benchmarkOptions</a> :: [<a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>]</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:BenchmarkFlags" class="caption collapser" onclick="toggleSection('i:BenchmarkFlags')">Instances</p><div id="section.i:BenchmarkFlags" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkFlags:Generic:1" class="instance expander" onclick="toggleSection('i:id:BenchmarkFlags:Generic:1')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a></span> <a href="#t:BenchmarkFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkFlags:Generic:1" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> x -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkFlags:Semigroup:2" class="instance expander" onclick="toggleSection('i:id:BenchmarkFlags:Semigroup:2')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a></span> <a href="#t:BenchmarkFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkFlags:Semigroup:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkFlags:Monoid:3" class="instance expander" onclick="toggleSection('i:id:BenchmarkFlags:Monoid:3')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a></span> <a href="#t:BenchmarkFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkFlags:Monoid:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a>] -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkFlags:Rep:4" class="instance expander" onclick="toggleSection('i:id:BenchmarkFlags:Rep:4')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a></span> <a href="#t:BenchmarkFlags" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkFlags:Rep:4" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "BenchmarkFlags" "Distribution.Simple.Setup" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BenchmarkFlags" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "benchmarkDistPref") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "benchmarkVerbosity") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "benchmarkOptions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>])))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyBenchmarkFlags" class="def">emptyBenchmarkFlags</a> :: <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> <a href="#v:emptyBenchmarkFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:defaultBenchmarkFlags" class="def">defaultBenchmarkFlags</a> :: <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> <a href="#v:defaultBenchmarkFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:benchmarkCommand" class="def">benchmarkCommand</a> :: <a href="Distribution-Simple-Command.html#t:CommandUI">CommandUI</a> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> <a href="#v:benchmarkCommand" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:CopyDest" class="def">CopyDest</a> <a href="#t:CopyDest" class="selflink">#</a></p><div class="doc"><p>The location prefix for the <em>copy</em> command.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:NoCopyDest" class="def">NoCopyDest</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CopyTo" class="def">CopyTo</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:CopyDest" class="caption collapser" onclick="toggleSection('i:CopyDest')">Instances</p><div id="section.i:CopyDest" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CopyDest:Eq:1" class="instance expander" onclick="toggleSection('i:id:CopyDest:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Setup.html#t:CopyDest">CopyDest</a></span> <a href="#t:CopyDest" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CopyDest:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Setup.html#t:CopyDest">CopyDest</a> -> <a href="Distribution-Simple-Setup.html#t:CopyDest">CopyDest</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Setup.html#t:CopyDest">CopyDest</a> -> <a href="Distribution-Simple-Setup.html#t:CopyDest">CopyDest</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CopyDest:Show:2" class="instance expander" onclick="toggleSection('i:id:CopyDest:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Setup.html#t:CopyDest">CopyDest</a></span> <a href="#t:CopyDest" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CopyDest:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Setup.html#t:CopyDest">CopyDest</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Setup.html#t:CopyDest">CopyDest</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Setup.html#t:CopyDest">CopyDest</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:configureArgs" class="def">configureArgs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#v:configureArgs" class="selflink">#</a></p><div class="doc"><p>Arguments to pass to a <code>configure</code> script, e.g. generated by- <code>autoconf</code>.</p></div></div><div class="top"><p class="src"><a id="v:configureOptions" class="def">configureOptions</a> :: <a href="Distribution-Simple-Command.html#t:ShowOrParseArgs">ShowOrParseArgs</a> -> [<a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a>] <a href="#v:configureOptions" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:configureCCompiler" class="def">configureCCompiler</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]) <a href="#v:configureCCompiler" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:configureLinker" class="def">configureLinker</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]) <a href="#v:configureLinker" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:buildOptions" class="def">buildOptions</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Command.html#t:ShowOrParseArgs">ShowOrParseArgs</a> -> [<a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a>] <a href="#v:buildOptions" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:haddockOptions" class="def">haddockOptions</a> :: <a href="Distribution-Simple-Command.html#t:ShowOrParseArgs">ShowOrParseArgs</a> -> [<a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a>] <a href="#v:haddockOptions" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:installDirsOptions" class="def">installDirsOptions</a> :: [<a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> (<a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">InstallDirs</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>))] <a href="#v:installDirsOptions" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:programDbOptions" class="def">programDbOptions</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Command.html#t:ShowOrParseArgs">ShowOrParseArgs</a> -> (flags -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]) -> ([(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])] -> flags -> flags) -> [<a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> flags] <a href="#v:programDbOptions" class="selflink">#</a></p><div class="doc"><p>For each known program <code>PROG</code> in <code>progDb</code>, produce a <code>PROG-options</code>- <code><a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:programDbPaths-39-" class="def">programDbPaths'</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>) -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Command.html#t:ShowOrParseArgs">ShowOrParseArgs</a> -> (flags -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)]) -> ([(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] -> flags -> flags) -> [<a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> flags] <a href="#v:programDbPaths-39-" class="selflink">#</a></p><div class="doc"><p>Like <code>programDbPaths</code>, but allows to customise the option name.</p></div></div><div class="top"><p class="src"><a id="v:programConfigurationOptions" class="def">programConfigurationOptions</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Command.html#t:ShowOrParseArgs">ShowOrParseArgs</a> -> (flags -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]) -> ([(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])] -> flags -> flags) -> [<a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> flags] <a href="#v:programConfigurationOptions" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: Use programDbOptions instead</p></div><p>For each known program <code>PROG</code> in <code>progDb</code>, produce a <code>PROG-options</code>- <code><a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:programConfigurationPaths-39-" class="def">programConfigurationPaths'</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>) -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Command.html#t:ShowOrParseArgs">ShowOrParseArgs</a> -> (flags -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)]) -> ([(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] -> flags -> flags) -> [<a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> flags] <a href="#v:programConfigurationPaths-39-" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: Use programDbPaths' instead</p></div><p>Like <code>programDbPaths</code>, but allows to customise the option name.</p></div></div><div class="top"><p class="src"><a id="v:splitArgs" class="def">splitArgs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#v:splitArgs" class="selflink">#</a></p><div class="doc"><p>Helper function to split a string into a list of arguments.- It's supposed to handle quoted things sensibly, eg:</p><pre>splitArgs "--foo=\"C:/Program Files/Bar/" --baz"- = ["--foo=C:/Program Files/Bar", "--baz"]</pre><pre>splitArgs "\"-DMSGSTR=\\\"foo bar\\\"\" --baz"- = ["-DMSGSTR=\"foo bar\"","--baz"]</pre></div></div><div class="top"><p class="src"><a id="v:defaultDistPref" class="def">defaultDistPref</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:defaultDistPref" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:optionDistPref" class="def">optionDistPref</a> :: (flags -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) -> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> flags -> flags) -> <a href="Distribution-Simple-Command.html#t:ShowOrParseArgs">ShowOrParseArgs</a> -> <a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> flags <a href="#v:optionDistPref" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Flag" class="def">Flag</a> a <a href="#t:Flag" class="selflink">#</a></p><div class="doc"><p>All flags are monoids, they come in two flavours:</p><ol><li>list flags eg</li></ol><pre>--ghc-option=foo --ghc-option=bar</pre><p>gives us all the values ["foo", "bar"]</p><ol><li>singular value flags, eg:</li></ol><pre>--enable-foo --disable-foo</pre><p>gives us Just False- So this Flag type is for the latter singular kind of flag.- Its monoid instance gives us the behaviour where it starts out as- <code><a href="Distribution-Simple-Setup.html#v:NoFlag">NoFlag</a></code> and later flags override earlier ones.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Flag" class="def">Flag</a> a</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:NoFlag" class="def">NoFlag</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Flag" class="caption collapser" onclick="toggleSection('i:Flag')">Instances</p><div id="section.i:Flag" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Functor:1" class="instance expander" onclick="toggleSection('i:id:Flag:Functor:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor.html#t:Functor">Functor</a> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a></span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -> b) -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(<$)</a> :: a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> b -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Bounded:2" class="instance expander" onclick="toggleSection('i:id:Flag:Bounded:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Bounded">Bounded</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Bounded">Bounded</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a)</span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Bounded:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:minBound">minBound</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a <a href="#v:minBound" class="selflink">#</a></p><p class="src"><a href="#v:maxBound">maxBound</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a <a href="#v:maxBound" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Enum:3" class="instance expander" onclick="toggleSection('i:id:Flag:Enum:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Enum">Enum</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Enum">Enum</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a)</span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Enum:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:succ">succ</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a <a href="#v:succ" class="selflink">#</a></p><p class="src"><a href="#v:pred">pred</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a <a href="#v:pred" class="selflink">#</a></p><p class="src"><a href="#v:toEnum">toEnum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a <a href="#v:toEnum" class="selflink">#</a></p><p class="src"><a href="#v:fromEnum">fromEnum</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:fromEnum" class="selflink">#</a></p><p class="src"><a href="#v:enumFrom">enumFrom</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> [<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a] <a href="#v:enumFrom" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThen">enumFromThen</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> [<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a] <a href="#v:enumFromThen" class="selflink">#</a></p><p class="src"><a href="#v:enumFromTo">enumFromTo</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> [<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a] <a href="#v:enumFromTo" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThenTo">enumFromThenTo</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> [<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a] <a href="#v:enumFromThenTo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Eq:4" class="instance expander" onclick="toggleSection('i:id:Flag:Eq:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a)</span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Eq:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Read:5" class="instance expander" onclick="toggleSection('i:id:Flag:Read:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a)</span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Read:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a) <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a) <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Show:6" class="instance expander" onclick="toggleSection('i:id:Flag:Show:6')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a)</span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Show:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Generic:7" class="instance expander" onclick="toggleSection('i:id:Flag:Generic:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a)</span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Generic:7" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a) :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a) x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a) x -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Semigroup:8" class="instance expander" onclick="toggleSection('i:id:Flag:Semigroup:8')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a)</span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Semigroup:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a) -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Monoid:9" class="instance expander" onclick="toggleSection('i:id:Flag:Monoid:9')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a)</span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Monoid:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a] -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Binary:10" class="instance expander" onclick="toggleSection('i:id:Flag:Binary:10')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> a => <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a)</span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Binary:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a) <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Rep:11" class="instance expander" onclick="toggleSection('i:id:Flag:Rep:11')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a)</span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Rep:11" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a) = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Flag" "Distribution.Simple.Setup" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Flag" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> a))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "NoFlag" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:toFlag" class="def">toFlag</a> :: a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a <a href="#v:toFlag" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fromFlag" class="def">fromFlag</a> :: <a href="Distribution-Compat-Stack.html#t:WithCallStack">WithCallStack</a> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> a) <a href="#v:fromFlag" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fromFlagOrDefault" class="def">fromFlagOrDefault</a> :: a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> a <a href="#v:fromFlagOrDefault" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:flagToMaybe" class="def">flagToMaybe</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="#v:flagToMaybe" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:flagToList" class="def">flagToList</a> :: <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a -> [a] <a href="#v:flagToList" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:maybeToFlag" class="def">maybeToFlag</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> a <a href="#v:maybeToFlag" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:BooleanFlag" class="def">BooleanFlag</a> a <span class="keyword">where</span> <a href="#t:BooleanFlag" class="selflink">#</a></p><div class="doc"><p>Types that represent boolean flags.</p></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Distribution-Simple-Setup.html#v:asBool">asBool</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:asBool" class="def">asBool</a> :: a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:asBool" class="selflink">#</a></p></div><div class="subs instances"><p id="control.i:BooleanFlag" class="caption collapser" onclick="toggleSection('i:BooleanFlag')">Instances</p><div id="section.i:BooleanFlag" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:BooleanFlag:BooleanFlag:1" class="instance expander" onclick="toggleSection('i:ic:BooleanFlag:BooleanFlag:1')"></span> <a href="Distribution-Simple-Setup.html#t:BooleanFlag">BooleanFlag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></span> <a href="#t:BooleanFlag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:BooleanFlag:BooleanFlag:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:asBool">asBool</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:asBool" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:boolOpt" class="def">boolOpt</a> :: <a href="Distribution-Simple-Command.html#t:SFlags">SFlags</a> -> <a href="Distribution-Simple-Command.html#t:SFlags">SFlags</a> -> <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> a -> a) a <a href="#v:boolOpt" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:boolOpt-39-" class="def">boolOpt'</a> :: <a href="Distribution-Simple-Command.html#t:OptFlags">OptFlags</a> -> <a href="Distribution-Simple-Command.html#t:OptFlags">OptFlags</a> -> <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> a -> a) a <a href="#v:boolOpt-39-" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:trueArg" class="def">trueArg</a> :: <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> a -> a) a <a href="#v:trueArg" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:falseArg" class="def">falseArg</a> :: <a href="Distribution-Simple-Command.html#t:MkOptDescr">MkOptDescr</a> (a -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> a -> a) a <a href="#v:falseArg" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:optionVerbosity" class="def">optionVerbosity</a> :: (flags -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>) -> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> flags -> flags) -> <a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> flags <a href="#v:optionVerbosity" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:optionNumJobs" class="def">optionNumJobs</a> :: (flags -> <a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>)) -> (<a href="Distribution-Simple-Setup.html#t:Flag">Flag</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> flags -> flags) -> <a href="Distribution-Simple-Command.html#t:OptionField">OptionField</a> flags <a href="#v:optionNumJobs" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:readPToMaybe" class="def">readPToMaybe</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> a a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="#v:readPToMaybe" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,19 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.SrcDist</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Simon Marlow 2004</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.SrcDist</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">The top level action</a><ul><li><a href="#g:2">Parts of <code>sdist</code></a></li><li><a href="#g:3">Snapshots</a></li></ul></li><li><a href="#g:4">Extracting the source files</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This handles the <code>sdist</code> command. The module exports an <code><a href="Distribution-Simple-SrcDist.html#v:sdist">sdist</a></code> action but- also some of the phases that make it up so that other tools can use just the- bits they need. In particular the preparation of the tree of files to go- into the source tarball is separated from actually building the source- tarball.</p><p>The <code><a href="Distribution-Simple-SrcDist.html#v:createArchive">createArchive</a></code> action uses the external <code>tar</code> program and assumes that- it accepts the <code>-z</code> flag. Neither of these assumptions are valid on Windows.- The <code><a href="Distribution-Simple-SrcDist.html#v:sdist">sdist</a></code> action now also does some distribution QA checks.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:sdist">sdist</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) -> [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:printPackageProblems">printPackageProblems</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:prepareTree">prepareTree</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:createArchive">createArchive</a> :: CreateArchiveFun</li><li class="src short"><a href="#v:prepareSnapshotTree">prepareSnapshotTree</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:snapshotPackage">snapshotPackage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/time-1.8.0.2/Data-Time-Clock.html#t:UTCTime">UTCTime</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></li><li class="src short"><a href="#v:snapshotVersion">snapshotVersion</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/time-1.8.0.2/Data-Time-Clock.html#t:UTCTime">UTCTime</a> -> <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a></li><li class="src short"><a href="#v:dateToSnapshotNumber">dateToSnapshotNumber</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/time-1.8.0.2/Data-Time-Clock.html#t:UTCTime">UTCTime</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:listPackageSources">listPackageSources</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ([<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>], [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])</li></ul></div><div id="interface"><h1 id="g:1">The top level action</h1><div class="top"><p class="src"><a id="v:sdist" class="def">sdist</a> <a href="#v:sdist" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc"><p>information from the tarball</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc"><p>Information from configure</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a></td><td class="doc"><p>verbosity & snapshot</p></td></tr><tr><td class="src">-> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)</td><td class="doc"><p>build prefix (temp dir)</p></td></tr><tr><td class="src">-> [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>]</td><td class="doc"><p>extra preprocessors (includes suffixes)</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Create a source distribution.</p></div></div><h2 id="g:2">Parts of <code><a href="Distribution-Simple-SrcDist.html#v:sdist">sdist</a></code></h2><div class="top"><p class="src"><a id="v:printPackageProblems" class="def">printPackageProblems</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:printPackageProblems" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:prepareTree" class="def">prepareTree</a> <a href="#v:prepareTree" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc"><p>verbosity</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc"><p>info from the cabal file</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>source tree to populate</p></td></tr><tr><td class="src">-> [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>]</td><td class="doc"><p>extra preprocessors (includes suffixes)</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Prepare a directory tree of source files.</p></div></div><div class="top"><p class="src"><a id="v:createArchive" class="def">createArchive</a> :: CreateArchiveFun <a href="#v:createArchive" class="selflink">#</a></p><div class="doc"><p>Create an archive from a tree of source files, and clean up the tree.</p></div></div><h2 id="g:3">Snapshots</h2><div class="top"><p class="src"><a id="v:prepareSnapshotTree" class="def">prepareSnapshotTree</a> <a href="#v:prepareSnapshotTree" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc"><p>verbosity</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc"><p>info from the cabal file</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>source tree to populate</p></td></tr><tr><td class="src">-> [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>]</td><td class="doc"><p>extra preprocessors (includes- suffixes)</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Prepare a directory tree of source files for a snapshot version.- It is expected that the appropriate snapshot version has already been set- in the package description, eg using <code><a href="Distribution-Simple-SrcDist.html#v:snapshotPackage">snapshotPackage</a></code> or <code><a href="Distribution-Simple-SrcDist.html#v:snapshotVersion">snapshotVersion</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:snapshotPackage" class="def">snapshotPackage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/time-1.8.0.2/Data-Time-Clock.html#t:UTCTime">UTCTime</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:snapshotPackage" class="selflink">#</a></p><div class="doc"><p>Modifies a <code><a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></code> by appending a snapshot number- corresponding to the given date.</p></div></div><div class="top"><p class="src"><a id="v:snapshotVersion" class="def">snapshotVersion</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/time-1.8.0.2/Data-Time-Clock.html#t:UTCTime">UTCTime</a> -> <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:snapshotVersion" class="selflink">#</a></p><div class="doc"><p>Modifies a <code><a href="Distribution-Version.html#t:Version">Version</a></code> by appending a snapshot number corresponding- to the given date.</p></div></div><div class="top"><p class="src"><a id="v:dateToSnapshotNumber" class="def">dateToSnapshotNumber</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/time-1.8.0.2/Data-Time-Clock.html#t:UTCTime">UTCTime</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:dateToSnapshotNumber" class="selflink">#</a></p><div class="doc"><p>Given a date produce a corresponding integer representation.- For example given a date <code>18<em>03</em>2008</code> produce the number <code>20080318</code>.</p></div></div><h1 id="g:4">Extracting the source files</h1><div class="top"><p class="src"><a id="v:listPackageSources" class="def">listPackageSources</a> <a href="#v:listPackageSources" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc"><p>verbosity</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc"><p>info from the cabal file</p></td></tr><tr><td class="src">-> [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>]</td><td class="doc"><p>extra preprocessors (include- suffixes)</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ([<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>], [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>List all source files of a package. Returns a tuple of lists: first- component is a list of ordinary files, second one is a list of those files- that may be executable.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Test.ExeV10</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Test.ExeV10</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:runTest" class="def">runTest</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a> <a href="#v:runTest" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,10 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Test.LibV09</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Test.LibV09</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:runTest">runTest</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a></li><li class="src short"><a href="#v:simpleTestStub">simpleTestStub</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:stubFilePath">stubFilePath</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:stubMain">stubMain</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="Distribution-TestSuite.html#t:Test">Test</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:stubName">stubName</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:stubWriteLog">stubWriteLog</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> ()</li><li class="src short"><a href="#v:writeSimpleTestStub">writeSimpleTestStub</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> ()</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:runTest" class="def">runTest</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a> <a href="#v:runTest" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:simpleTestStub" class="def">simpleTestStub</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:simpleTestStub" class="selflink">#</a></p><div class="doc"><p>Source code for library test suite stub executable</p></div></div><div class="top"><p class="src"><a id="v:stubFilePath" class="def">stubFilePath</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:stubFilePath" class="selflink">#</a></p><div class="doc"><p>The filename of the source file for the stub executable associated with a- library <code>TestSuite</code>.</p></div></div><div class="top"><p class="src"><a id="v:stubMain" class="def">stubMain</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="Distribution-TestSuite.html#t:Test">Test</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:stubMain" class="selflink">#</a></p><div class="doc"><p>Main function for test stubs. Once, it was written directly into the stub,- but minimizing the amount of code actually in the stub maximizes the number- of detectable errors when Cabal is compiled.</p></div></div><div class="top"><p class="src"><a id="v:stubName" class="def">stubName</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:stubName" class="selflink">#</a></p><div class="doc"><p>The name of the stub executable associated with a library <code>TestSuite</code>.</p></div></div><div class="top"><p class="src"><a id="v:stubWriteLog" class="def">stubWriteLog</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> () <a href="#v:stubWriteLog" class="selflink">#</a></p><div class="doc"><p>From a test stub, write the <code><a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a></code> to temporary file for the calling- Cabal process to read.</p></div></div><div class="top"><p class="src"><a id="v:writeSimpleTestStub" class="def">writeSimpleTestStub</a> <a href="#v:writeSimpleTestStub" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a></td><td class="doc"><p>library <code>TestSuite</code> for which a stub- is being created</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>path to directory where stub source- should be located</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Write the source file for a library <code>TestSuite</code> stub executable.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,11 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Test.Log</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Test.Log</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:PackageLog">PackageLog</a> = <a href="#v:PackageLog">PackageLog</a> {<ul class="subs"><li><a href="#v:package">package</a> :: <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a></li><li><a href="#v:compiler">compiler</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a></li><li><a href="#v:platform">platform</a> :: <a href="Distribution-System.html#t:Platform">Platform</a></li><li><a href="#v:testSuites">testSuites</a> :: [<a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a>]</li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:TestLogs">TestLogs</a><ul class="subs"><li>= <a href="#v:TestLog">TestLog</a> { <ul class="subs"><li><a href="#v:testName">testName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:testOptionsReturned">testOptionsReturned</a> :: <a href="Distribution-TestSuite.html#t:Options">Options</a></li><li><a href="#v:testResult">testResult</a> :: <a href="Distribution-TestSuite.html#t:Result">Result</a></li></ul> }</li><li>| <a href="#v:GroupLogs">GroupLogs</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> [<a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a>]</li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:TestSuiteLog">TestSuiteLog</a> = <a href="#v:TestSuiteLog">TestSuiteLog</a> {<ul class="subs"><li><a href="#v:testSuiteName">testSuiteName</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li><a href="#v:testLogs">testLogs</a> :: <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a></li><li><a href="#v:logFile">logFile</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li></ul>}</li><li class="src short"><a href="#v:countTestResults">countTestResults</a> :: <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>)</li><li class="src short"><a href="#v:localPackageLog">localPackageLog</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-Test-Log.html#t:PackageLog">PackageLog</a></li><li class="src short"><a href="#v:summarizePackage">summarizePackage</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Test-Log.html#t:PackageLog">PackageLog</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:summarizeSuiteFinish">summarizeSuiteFinish</a> :: <a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:summarizeSuiteStart">summarizeSuiteStart</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:summarizeTest">summarizeTest</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:suiteError">suiteError</a> :: <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:suiteFailed">suiteFailed</a> :: <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:suitePassed">suitePassed</a> :: <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:testSuiteLogPath">testSuiteLogPath</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:PackageLog" class="def">PackageLog</a> <a href="#t:PackageLog" class="selflink">#</a></p><div class="doc"><p>Logs all test results for a package, broken down first by test suite and- then by test case.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:PackageLog" class="def">PackageLog</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:package" class="def">package</a> :: <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:compiler" class="def">compiler</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:platform" class="def">platform</a> :: <a href="Distribution-System.html#t:Platform">Platform</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:testSuites" class="def">testSuites</a> :: [<a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a>]</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:PackageLog" class="caption collapser" onclick="toggleSection('i:PackageLog')">Instances</p><div id="section.i:PackageLog" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageLog:Eq:1" class="instance expander" onclick="toggleSection('i:id:PackageLog:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Test-Log.html#t:PackageLog">PackageLog</a></span> <a href="#t:PackageLog" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageLog:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Test-Log.html#t:PackageLog">PackageLog</a> -> <a href="Distribution-Simple-Test-Log.html#t:PackageLog">PackageLog</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Test-Log.html#t:PackageLog">PackageLog</a> -> <a href="Distribution-Simple-Test-Log.html#t:PackageLog">PackageLog</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageLog:Read:2" class="instance expander" onclick="toggleSection('i:id:PackageLog:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-Test-Log.html#t:PackageLog">PackageLog</a></span> <a href="#t:PackageLog" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageLog:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-Test-Log.html#t:PackageLog">PackageLog</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-Test-Log.html#t:PackageLog">PackageLog</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-Test-Log.html#t:PackageLog">PackageLog</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-Test-Log.html#t:PackageLog">PackageLog</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageLog:Show:3" class="instance expander" onclick="toggleSection('i:id:PackageLog:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Test-Log.html#t:PackageLog">PackageLog</a></span> <a href="#t:PackageLog" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageLog:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Test-Log.html#t:PackageLog">PackageLog</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Test-Log.html#t:PackageLog">PackageLog</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Test-Log.html#t:PackageLog">PackageLog</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:TestLogs" class="def">TestLogs</a> <a href="#t:TestLogs" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:TestLog" class="def">TestLog</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:testName" class="def">testName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:testOptionsReturned" class="def">testOptionsReturned</a> :: <a href="Distribution-TestSuite.html#t:Options">Options</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:testResult" class="def">testResult</a> :: <a href="Distribution-TestSuite.html#t:Result">Result</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr><tr><td class="src"><a id="v:GroupLogs" class="def">GroupLogs</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> [<a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a>]</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:TestLogs" class="caption collapser" onclick="toggleSection('i:TestLogs')">Instances</p><div id="section.i:TestLogs" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestLogs:Eq:1" class="instance expander" onclick="toggleSection('i:id:TestLogs:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a></span> <a href="#t:TestLogs" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestLogs:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a> -> <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a> -> <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestLogs:Read:2" class="instance expander" onclick="toggleSection('i:id:TestLogs:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a></span> <a href="#t:TestLogs" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestLogs:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestLogs:Show:3" class="instance expander" onclick="toggleSection('i:id:TestLogs:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a></span> <a href="#t:TestLogs" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestLogs:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:TestSuiteLog" class="def">TestSuiteLog</a> <a href="#t:TestSuiteLog" class="selflink">#</a></p><div class="doc"><p>Logs test suite results, itemized by test case.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:TestSuiteLog" class="def">TestSuiteLog</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:testSuiteName" class="def">testSuiteName</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:testLogs" class="def">testLogs</a> :: <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:logFile" class="def">logFile</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:TestSuiteLog" class="caption collapser" onclick="toggleSection('i:TestSuiteLog')">Instances</p><div id="section.i:TestSuiteLog" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuiteLog:Eq:1" class="instance expander" onclick="toggleSection('i:id:TestSuiteLog:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a></span> <a href="#t:TestSuiteLog" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuiteLog:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a> -> <a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a> -> <a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuiteLog:Read:2" class="instance expander" onclick="toggleSection('i:id:TestSuiteLog:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a></span> <a href="#t:TestSuiteLog" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuiteLog:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuiteLog:Show:3" class="instance expander" onclick="toggleSection('i:id:TestSuiteLog:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a></span> <a href="#t:TestSuiteLog" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuiteLog:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:countTestResults" class="def">countTestResults</a> <a href="#v:countTestResults" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>)</td><td class="doc"><p>Passes, fails, and errors,- respectively.</p></td></tr></table></div><div class="doc"><p>Count the number of pass, fail, and error test results in a <code><a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a></code>- tree.</p></div></div><div class="top"><p class="src"><a id="v:localPackageLog" class="def">localPackageLog</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-Test-Log.html#t:PackageLog">PackageLog</a> <a href="#v:localPackageLog" class="selflink">#</a></p><div class="doc"><p>A <code><a href="Distribution-Simple-Test-Log.html#t:PackageLog">PackageLog</a></code> with package and platform information specified.</p></div></div><div class="top"><p class="src"><a id="v:summarizePackage" class="def">summarizePackage</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Test-Log.html#t:PackageLog">PackageLog</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:summarizePackage" class="selflink">#</a></p><div class="doc"><p>Print a summary to the console after all test suites have been run- indicating the number of successful test suites and cases. Returns <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a></code> if- all test suites passed and <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a></code> otherwise.</p></div></div><div class="top"><p class="src"><a id="v:summarizeSuiteFinish" class="def">summarizeSuiteFinish</a> :: <a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:summarizeSuiteFinish" class="selflink">#</a></p><div class="doc"><p>Print a summary of the test suite's results on the console, suppressing- output for certain verbosity or test filter levels.</p></div></div><div class="top"><p class="src"><a id="v:summarizeSuiteStart" class="def">summarizeSuiteStart</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:summarizeSuiteStart" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:summarizeTest" class="def">summarizeTest</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:summarizeTest" class="selflink">#</a></p><div class="doc"><p>Print a summary of a single test case's result to the console, supressing- output for certain verbosity or test filter levels.</p></div></div><div class="top"><p class="src"><a id="v:suiteError" class="def">suiteError</a> :: <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:suiteError" class="selflink">#</a></p><div class="doc"><p>From a <code><a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a></code>, determine if the test suite encountered errors.</p></div></div><div class="top"><p class="src"><a id="v:suiteFailed" class="def">suiteFailed</a> :: <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:suiteFailed" class="selflink">#</a></p><div class="doc"><p>From a <code><a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a></code>, determine if the test suite failed.</p></div></div><div class="top"><p class="src"><a id="v:suitePassed" class="def">suitePassed</a> :: <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:suitePassed" class="selflink">#</a></p><div class="doc"><p>From a <code><a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">TestSuiteLog</a></code>, determine if the test suite passed.</p></div></div><div class="top"><p class="src"><a id="v:testSuiteLogPath" class="def">testSuiteLogPath</a> <a href="#v:testSuiteLogPath" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>test suite name</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Test-Log.html#t:TestLogs">TestLogs</a></td><td class="doc"><p>test suite results</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc empty"> </td></tr></table></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,6 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Test</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Thomas Tuegel 2010</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Test</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This is the entry point into testing a built package. It performs the- "<code>./setup test</code>" action. It runs test suites designated in the package- description and reports on the results.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:test">test</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:test" class="def">test</a> <a href="#v:test" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a></td><td class="doc"><p>positional command-line arguments</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc"><p>information from the .cabal file</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></td><td class="doc"><p>information from the configure step</p></td></tr><tr><td class="src">-> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a></td><td class="doc"><p>flags sent to test</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Perform the "<code>./setup test</code>" action.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,7 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.UHC</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Andres Loeh 2009</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.UHC</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module contains most of the UHC-specific code for configuring, building- and installing packages.</p><p>Thanks to the authors of the other implementation-specific files, in- particular to Isaac Jones, Duncan Coutts and Henning Thielemann, for- inspiration on how to design this module.</p></div></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:configure" class="def">configure</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-System.html#t:Platform">Platform</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>) <a href="#v:configure" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getInstalledPackages" class="def">getInstalledPackages</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a> <a href="#v:getInstalledPackages" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:buildLib" class="def">buildLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:buildLib" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:buildExe" class="def">buildExe</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:buildExe" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:installLib" class="def">installLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:installLib" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:registerPackage" class="def">registerPackage</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a> -> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a> -> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a> -> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:registerPackage" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:inplacePackageDbPath" class="def">inplacePackageDbPath</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:inplacePackageDbPath" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,21 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.UserHooks</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2005</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.UserHooks</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This defines the API that <code>Setup.hs</code> scripts can use to customise the way- the build works. This module just defines the <code><a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a></code> type. The- predefined sets of hooks that implement the <code>Simple</code>, <code>Make</code> and <code>Configure</code>- build systems are defined in <a href="Distribution-Simple.html">Distribution.Simple</a>. The <code><a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a></code> is a big- record of functions. There are 3 for each action, a pre, post and the action- itself. There are few other miscellaneous hooks, ones to extend the set of- programs and preprocessors and one to override the function used to read the- <code>.cabal</code> file.</p><p>This hooks type is widely agreed to not be the right solution. Partly this- is because changes to it usually break custom <code>Setup.hs</code> files and yet many- internal code changes do require changes to the hooks. For example we cannot- pass any extra parameters to most of the functions that implement the- various phases because it would involve changing the types of the- corresponding hook. At some point it will have to be replaced.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:UserHooks">UserHooks</a> = <a href="#v:UserHooks">UserHooks</a> {<ul class="subs"><li><a href="#v:runTests">runTests</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:readDesc">readDesc</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a>)</li><li><a href="#v:hookedPreProcessors">hookedPreProcessors</a> :: [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>]</li><li><a href="#v:hookedPrograms">hookedPrograms</a> :: [<a href="Distribution-Simple-Program-Types.html#t:Program">Program</a>]</li><li><a href="#v:preConf">preConf</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:confHook">confHook</a> :: (<a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a>, <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a>) -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></li><li><a href="#v:postConf">postConf</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preBuild">preBuild</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:buildHook">buildHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postBuild">postBuild</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preRepl">preRepl</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:replHook">replHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postRepl">postRepl</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preClean">preClean</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:cleanHook">cleanHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> () -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postClean">postClean</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> () -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preCopy">preCopy</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:copyHook">copyHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postCopy">postCopy</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preInst">preInst</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:instHook">instHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postInst">postInst</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preSDist">preSDist</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:sDistHook">sDistHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postSDist">postSDist</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preReg">preReg</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:regHook">regHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postReg">postReg</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preUnreg">preUnreg</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:unregHook">unregHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postUnreg">postUnreg</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preHscolour">preHscolour</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:hscolourHook">hscolourHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postHscolour">postHscolour</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preDoctest">preDoctest</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:doctestHook">doctestHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postDoctest">postDoctest</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preHaddock">preHaddock</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:haddockHook">haddockHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postHaddock">postHaddock</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preTest">preTest</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:testHook">testHook</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postTest">postTest</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preBench">preBench</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:benchHook">benchHook</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postBench">postBench</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:Args">Args</a> = [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li class="src short"><a href="#v:emptyUserHooks">emptyUserHooks</a> :: <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:UserHooks" class="def">UserHooks</a> <a href="#t:UserHooks" class="selflink">#</a></p><div class="doc"><p>Hooks allow authors to add specific functionality before and after a- command is run, and also to specify additional preprocessors.</p><ul><li>WARNING: The hooks interface is under rather constant flux as we try to- understand users needs. Setup files that depend on this interface may- break in future releases.</li></ul></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:UserHooks" class="def">UserHooks</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:runTests" class="def">runTests</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><div class="warning"><p>Deprecated: Please use the new testing interface instead!</p></div><p>Used for <code>./setup test</code></p></div></li><li><dfn class="src"><a id="v:readDesc" class="def">readDesc</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a>)</dfn><div class="doc"><p>Read the description file</p></div></li><li><dfn class="src"><a id="v:hookedPreProcessors" class="def">hookedPreProcessors</a> :: [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>]</dfn><div class="doc"><p>Custom preprocessors in addition to and overriding <code><a href="Distribution-Simple-PreProcess.html#v:knownSuffixHandlers">knownSuffixHandlers</a></code>.</p></div></li><li><dfn class="src"><a id="v:hookedPrograms" class="def">hookedPrograms</a> :: [<a href="Distribution-Simple-Program-Types.html#t:Program">Program</a>]</dfn><div class="doc"><p>These programs are detected at configure time. Arguments for them are- added to the configure command.</p></div></li><li><dfn class="src"><a id="v:preConf" class="def">preConf</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before configure command</p></div></li><li><dfn class="src"><a id="v:confHook" class="def">confHook</a> :: (<a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a>, <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a>) -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></dfn><div class="doc"><p>Over-ride this hook to get different behavior during configure.</p></div></li><li><dfn class="src"><a id="v:postConf" class="def">postConf</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after configure command</p></div></li><li><dfn class="src"><a id="v:preBuild" class="def">preBuild</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before build command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:buildHook" class="def">buildHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during build.</p></div></li><li><dfn class="src"><a id="v:postBuild" class="def">postBuild</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after build command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:preRepl" class="def">preRepl</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before repl command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:replHook" class="def">replHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during interpretation.</p></div></li><li><dfn class="src"><a id="v:postRepl" class="def">postRepl</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after repl command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:preClean" class="def">preClean</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before clean command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:cleanHook" class="def">cleanHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> () -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during clean.</p></div></li><li><dfn class="src"><a id="v:postClean" class="def">postClean</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> () -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after clean command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:preCopy" class="def">preCopy</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before copy command</p></div></li><li><dfn class="src"><a id="v:copyHook" class="def">copyHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during copy.</p></div></li><li><dfn class="src"><a id="v:postCopy" class="def">postCopy</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after copy command</p></div></li><li><dfn class="src"><a id="v:preInst" class="def">preInst</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before install command</p></div></li><li><dfn class="src"><a id="v:instHook" class="def">instHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during install.</p></div></li><li><dfn class="src"><a id="v:postInst" class="def">postInst</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after install command. postInst should be run- on the target, not on the build machine.</p></div></li><li><dfn class="src"><a id="v:preSDist" class="def">preSDist</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before sdist command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:sDistHook" class="def">sDistHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during sdist.</p></div></li><li><dfn class="src"><a id="v:postSDist" class="def">postSDist</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after sdist command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:preReg" class="def">preReg</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before register command</p></div></li><li><dfn class="src"><a id="v:regHook" class="def">regHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during registration.</p></div></li><li><dfn class="src"><a id="v:postReg" class="def">postReg</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after register command</p></div></li><li><dfn class="src"><a id="v:preUnreg" class="def">preUnreg</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before unregister command</p></div></li><li><dfn class="src"><a id="v:unregHook" class="def">unregHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during unregistration.</p></div></li><li><dfn class="src"><a id="v:postUnreg" class="def">postUnreg</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after unregister command</p></div></li><li><dfn class="src"><a id="v:preHscolour" class="def">preHscolour</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before hscolour command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:hscolourHook" class="def">hscolourHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during hscolour.</p></div></li><li><dfn class="src"><a id="v:postHscolour" class="def">postHscolour</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after hscolour command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:preDoctest" class="def">preDoctest</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before doctest command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:doctestHook" class="def">doctestHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during doctest.</p></div></li><li><dfn class="src"><a id="v:postDoctest" class="def">postDoctest</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after doctest command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:preHaddock" class="def">preHaddock</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before haddock command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:haddockHook" class="def">haddockHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during haddock.</p></div></li><li><dfn class="src"><a id="v:postHaddock" class="def">postHaddock</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after haddock command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:preTest" class="def">preTest</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before test command.</p></div></li><li><dfn class="src"><a id="v:testHook" class="def">testHook</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during test.</p></div></li><li><dfn class="src"><a id="v:postTest" class="def">postTest</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after test command.</p></div></li><li><dfn class="src"><a id="v:preBench" class="def">preBench</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before bench command.</p></div></li><li><dfn class="src"><a id="v:benchHook" class="def">benchHook</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during bench.</p></div></li><li><dfn class="src"><a id="v:postBench" class="def">postBench</a> :: <a href="Distribution-Simple-UserHooks.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after bench command.</p></div></li></ul></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:Args" class="def">Args</a> = [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#t:Args" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:emptyUserHooks" class="def">emptyUserHooks</a> :: <a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a> <a href="#v:emptyUserHooks" class="selflink">#</a></p><div class="doc"><p>Empty <code><a href="Distribution-Simple-UserHooks.html#t:UserHooks">UserHooks</a></code> which do nothing.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,116 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.Utils</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones Simon Marlow 2003-2004</td></tr><tr><th>License</th><td>BSD3- portions Copyright (c) 2007, Galois Inc.</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.Utils</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">logging and errors</a></li><li><a href="#g:2">exceptions</a></li><li><a href="#g:3">running programs</a></li><li><a href="#g:4">copying files</a></li><li><a href="#g:5">installing files</a></li><li><a href="#g:6">File permissions</a></li><li><a href="#g:7">file names</a></li><li><a href="#g:8">finding files</a></li><li><a href="#g:9">environment variables</a></li><li><a href="#g:10">simple file globbing</a></li><li><a href="#g:11">modification time</a></li><li><a href="#g:12">temp files and dirs</a></li><li><a href="#g:13">.cabal and .buildinfo files</a></li><li><a href="#g:14">reading and writing files safely</a></li><li><a href="#g:15">Unicode</a></li><li><a href="#g:16">BOM</a></li><li><a href="#g:17">generic utils</a></li><li><a href="#g:18">FilePath stuff</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>A large and somewhat miscellaneous collection of utility functions used- throughout the rest of the Cabal lib and in other tools that use the Cabal- lib like <code>cabal-install</code>. It has a very simple set of logging actions. It- has low level functions for running programs, a bunch of wrappers for- various directory and file functions that do extra logging.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:cabalVersion">cabalVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a></li><li class="src short"><a href="#v:die">die</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:dieWithLocation">dieWithLocation</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:dieNoVerbosity">dieNoVerbosity</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:die-39-">die'</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:dieWithLocation-39-">dieWithLocation'</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:dieNoWrap">dieNoWrap</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:topHandler">topHandler</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:topHandlerWith">topHandlerWith</a> :: <span class="keyword">forall</span> a. (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Exception-Base.html#t:SomeException">SomeException</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:warn">warn</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:notice">notice</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:noticeNoWrap">noticeNoWrap</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:noticeDoc">noticeDoc</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:setupMessage">setupMessage</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:info">info</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:infoNoWrap">infoNoWrap</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:debug">debug</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:debugNoWrap">debugNoWrap</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:chattyTry">chattyTry</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:annotateIO">annotateIO</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:printRawCommandAndArgs">printRawCommandAndArgs</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:printRawCommandAndArgsAndEnv">printRawCommandAndArgsAndEnv</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:handleDoesNotExist">handleDoesNotExist</a> :: a -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> a -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> a</li><li class="src short"><a href="#v:rawSystemExit">rawSystemExit</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:rawSystemExitCode">rawSystemExitCode</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-Exit.html#t:ExitCode">ExitCode</a></li><li class="src short"><a href="#v:rawSystemExitWithEnv">rawSystemExitWithEnv</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:rawSystemStdout">rawSystemStdout</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:rawSystemStdInOut">rawSystemStdInOut</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-Exit.html#t:ExitCode">ExitCode</a>)</li><li class="src short"><a href="#v:rawSystemIOWithEnv">rawSystemIOWithEnv</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-IO-Handle.html#t:Handle">Handle</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-IO-Handle.html#t:Handle">Handle</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-IO-Handle.html#t:Handle">Handle</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-Exit.html#t:ExitCode">ExitCode</a></li><li class="src short"><a href="#v:createProcessWithEnv">createProcessWithEnv</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/process-1.6.1.0/System-Process.html#t:StdStream">StdStream</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/process-1.6.1.0/System-Process.html#t:StdStream">StdStream</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/process-1.6.1.0/System-Process.html#t:StdStream">StdStream</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-IO-Handle.html#t:Handle">Handle</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-IO-Handle.html#t:Handle">Handle</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-IO-Handle.html#t:Handle">Handle</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/process-1.6.1.0/System-Process.html#t:ProcessHandle">ProcessHandle</a>)</li><li class="src short"><a href="#v:maybeExit">maybeExit</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-Exit.html#t:ExitCode">ExitCode</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:xargs">xargs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> ([<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:findProgramLocation">findProgramLocation</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)</li><li class="src short"><a href="#v:findProgramVersion">findProgramVersion</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>) -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>)</li><li class="src short"><a href="#v:smartCopySources">smartCopySources</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:createDirectoryIfMissingVerbose">createDirectoryIfMissingVerbose</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:copyFileVerbose">copyFileVerbose</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:copyDirectoryRecursiveVerbose">copyDirectoryRecursiveVerbose</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:copyFiles">copyFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:copyFileTo">copyFileTo</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:installOrdinaryFile">installOrdinaryFile</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:installExecutableFile">installExecutableFile</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:installMaybeExecutableFile">installMaybeExecutableFile</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:installOrdinaryFiles">installOrdinaryFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:installExecutableFiles">installExecutableFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:installMaybeExecutableFiles">installMaybeExecutableFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:installDirectoryContents">installDirectoryContents</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:copyDirectoryRecursive">copyDirectoryRecursive</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:doesExecutableExist">doesExecutableExist</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:setFileOrdinary">setFileOrdinary</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> ()</li><li class="src short"><a href="#v:setFileExecutable">setFileExecutable</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> ()</li><li class="src short"><a href="#v:currentDir">currentDir</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:shortRelativePath">shortRelativePath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:dropExeExtension">dropExeExtension</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:exeExtensions">exeExtensions</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li class="src short"><a href="#v:findFile">findFile</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:findFirstFile">findFirstFile</a> :: (a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) -> [a] -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)</li><li class="src short"><a href="#v:findFileWithExtension">findFileWithExtension</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)</li><li class="src short"><a href="#v:findFileWithExtension-39-">findFileWithExtension'</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))</li><li class="src short"><a href="#v:findAllFilesWithExtension">findAllFilesWithExtension</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li class="src short"><a href="#v:findModuleFile">findModuleFile</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)</li><li class="src short"><a href="#v:findModuleFiles">findModuleFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)]</li><li class="src short"><a href="#v:getDirectoryContentsRecursive">getDirectoryContentsRecursive</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li class="src short"><a href="#v:isInSearchPath">isInSearchPath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:addLibraryPath">addLibraryPath</a> :: <a href="Distribution-System.html#t:OS">OS</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)] -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</li><li class="src short"><a href="#v:matchFileGlob">matchFileGlob</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li class="src short"><a href="#v:matchDirFileGlob">matchDirFileGlob</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li class="src short"><a href="#v:parseFileGlob">parseFileGlob</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Utils.html#t:FileGlob">FileGlob</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:FileGlob">FileGlob</a><ul class="subs"><li>= <a href="#v:NoGlob">NoGlob</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li>| <a href="#v:FileGlob">FileGlob</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><a href="#v:moreRecentFile">moreRecentFile</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:existsAndIsMoreRecentThan">existsAndIsMoreRecentThan</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:TempFileOptions">TempFileOptions</a> = <a href="#v:TempFileOptions">TempFileOptions</a> {<ul class="subs"><li><a href="#v:optKeepTempFiles">optKeepTempFiles</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul>}</li><li class="src short"><a href="#v:defaultTempFileOptions">defaultTempFileOptions</a> :: <a href="Distribution-Simple-Utils.html#t:TempFileOptions">TempFileOptions</a></li><li class="src short"><a href="#v:withTempFile">withTempFile</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-IO-Handle.html#t:Handle">Handle</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:withTempFileEx">withTempFileEx</a> :: <a href="Distribution-Simple-Utils.html#t:TempFileOptions">TempFileOptions</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-IO-Handle.html#t:Handle">Handle</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:withTempDirectory">withTempDirectory</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:withTempDirectoryEx">withTempDirectoryEx</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Utils.html#t:TempFileOptions">TempFileOptions</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:defaultPackageDesc">defaultPackageDesc</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:findPackageDesc">findPackageDesc</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)</li><li class="src short"><a href="#v:tryFindPackageDesc">tryFindPackageDesc</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:defaultHookedPackageDesc">defaultHookedPackageDesc</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)</li><li class="src short"><a href="#v:findHookedPackageDesc">findHookedPackageDesc</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)</li><li class="src short"><a href="#v:withFileContents">withFileContents</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> a) -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> a</li><li class="src short"><a href="#v:writeFileAtomic">writeFileAtomic</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> ()</li><li class="src short"><a href="#v:rewriteFile">rewriteFile</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:rewriteFileEx">rewriteFileEx</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:fromUTF8">fromUTF8</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:fromUTF8BS">fromUTF8BS</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString.html#t:ByteString">ByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:fromUTF8LBS">fromUTF8LBS</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:toUTF8">toUTF8</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:readUTF8File">readUTF8File</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:withUTF8FileContents">withUTF8FileContents</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:writeUTF8File">writeUTF8File</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> ()</li><li class="src short"><a href="#v:normaliseLineEndings">normaliseLineEndings</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:startsWithBOM">startsWithBOM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:fileHasBOM">fileHasBOM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:ignoreBOM">ignoreBOM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:dropWhileEndLE">dropWhileEndLE</a> :: (a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> [a] -> [a]</li><li class="src short"><a href="#v:takeWhileEndLE">takeWhileEndLE</a> :: (a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> [a] -> [a]</li><li class="src short"><a href="#v:equating">equating</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a => (b -> a) -> b -> b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:comparing">comparing</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => (b -> a) -> b -> b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a></li><li class="src short"><a href="#v:isInfixOf">isInfixOf</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a => [a] -> [a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:intercalate">intercalate</a> :: [a] -> [[a]] -> [a]</li><li class="src short"><a href="#v:lowercase">lowercase</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:listUnion">listUnion</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> [a] -> [a]</li><li class="src short"><a href="#v:listUnionRight">listUnionRight</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> [a] -> [a]</li><li class="src short"><a href="#v:ordNub">ordNub</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> [a]</li><li class="src short"><a href="#v:ordNubBy">ordNubBy</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> b => (a -> b) -> [a] -> [a]</li><li class="src short"><a href="#v:ordNubRight">ordNubRight</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> [a]</li><li class="src short"><a href="#v:safeTail">safeTail</a> :: [a] -> [a]</li><li class="src short"><a href="#v:unintersperse">unintersperse</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li class="src short"><a href="#v:wrapText">wrapText</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:wrapLine">wrapLine</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> [[<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]]</li><li class="src short"><a href="#v:isAbsoluteOnAnyPlatform">isAbsoluteOnAnyPlatform</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isRelativeOnAnyPlatform">isRelativeOnAnyPlatform</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:cabalVersion" class="def">cabalVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:cabalVersion" class="selflink">#</a></p></div><h1 id="g:1">logging and errors</h1><div class="top"><p class="src"><a id="v:die" class="def">die</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a <a href="#v:die" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: Messages thrown with die can't be controlled with Verbosity; use die' instead, or dieNoVerbosity if Verbosity truly is not available</p></div></div></div><div class="top"><p class="src"><a id="v:dieWithLocation" class="def">dieWithLocation</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a <a href="#v:dieWithLocation" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: Messages thrown with dieWithLocation can't be controlled with Verbosity; use dieWithLocation' instead</p></div></div></div><div class="top"><p class="src"><a id="v:dieNoVerbosity" class="def">dieNoVerbosity</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a <a href="#v:dieNoVerbosity" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:die-39-" class="def">die'</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a <a href="#v:die-39-" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:dieWithLocation-39-" class="def">dieWithLocation'</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a <a href="#v:dieWithLocation-39-" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:dieNoWrap" class="def">dieNoWrap</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a <a href="#v:dieNoWrap" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:topHandler" class="def">topHandler</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a <a href="#v:topHandler" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:topHandlerWith" class="def">topHandlerWith</a> :: <span class="keyword">forall</span> a. (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Exception-Base.html#t:SomeException">SomeException</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a <a href="#v:topHandlerWith" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:warn" class="def">warn</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:warn" class="selflink">#</a></p><div class="doc"><p>Non fatal conditions that may be indicative of an error or problem.</p><p>We display these at the <code><a href="Distribution-Verbosity.html#v:normal">normal</a></code> verbosity level.</p></div></div><div class="top"><p class="src"><a id="v:notice" class="def">notice</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:notice" class="selflink">#</a></p><div class="doc"><p>Useful status messages.</p><p>We display these at the <code><a href="Distribution-Verbosity.html#v:normal">normal</a></code> verbosity level.</p><p>This is for the ordinary helpful status messages that users see. Just- enough information to know that things are working but not floods of detail.</p></div></div><div class="top"><p class="src"><a id="v:noticeNoWrap" class="def">noticeNoWrap</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:noticeNoWrap" class="selflink">#</a></p><div class="doc"><p>Display a message at <code><a href="Distribution-Verbosity.html#v:normal">normal</a></code> verbosity level, but without- wrapping.</p></div></div><div class="top"><p class="src"><a id="v:noticeDoc" class="def">noticeDoc</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:noticeDoc" class="selflink">#</a></p><div class="doc"><p>Pretty-print a <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a></code> status message at <code><a href="Distribution-Verbosity.html#v:normal">normal</a></code> verbosity- level. Use this if you need fancy formatting.</p></div></div><div class="top"><p class="src"><a id="v:setupMessage" class="def">setupMessage</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:setupMessage" class="selflink">#</a></p><div class="doc"><p>Display a "setup status message". Prefer using setupMessage'- if possible.</p></div></div><div class="top"><p class="src"><a id="v:info" class="def">info</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:info" class="selflink">#</a></p><div class="doc"><p>More detail on the operation of some action.</p><p>We display these messages when the verbosity level is <code><a href="Distribution-Verbosity.html#v:verbose">verbose</a></code></p></div></div><div class="top"><p class="src"><a id="v:infoNoWrap" class="def">infoNoWrap</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:infoNoWrap" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:debug" class="def">debug</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:debug" class="selflink">#</a></p><div class="doc"><p>Detailed internal debugging information</p><p>We display these messages when the verbosity level is <code><a href="Distribution-Verbosity.html#v:deafening">deafening</a></code></p></div></div><div class="top"><p class="src"><a id="v:debugNoWrap" class="def">debugNoWrap</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:debugNoWrap" class="selflink">#</a></p><div class="doc"><p>A variant of <code><a href="Distribution-Simple-Utils.html#v:debug">debug</a></code> that doesn't perform the automatic line- wrapping. Produces better output in some cases.</p></div></div><div class="top"><p class="src"><a id="v:chattyTry" class="def">chattyTry</a> <a href="#v:chattyTry" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>a description of the action we were attempting</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc"><p>the action itself</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Perform an IO action, catching any IO exceptions and printing an error- if one occurs.</p></div></div><div class="top"><p class="src"><a id="v:annotateIO" class="def">annotateIO</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a <a href="#v:annotateIO" class="selflink">#</a></p><div class="doc"><p>Given a block of IO code that may raise an exception, annotate- it with the metadata from the current scope. Use this as close- to external code that raises IO exceptions as possible, since- this function unconditionally wraps the error message with a trace- (so it is NOT idempotent.)</p></div></div><div class="top"><p class="src"><a id="v:printRawCommandAndArgs" class="def">printRawCommandAndArgs</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:printRawCommandAndArgs" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:printRawCommandAndArgsAndEnv" class="def">printRawCommandAndArgsAndEnv</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:printRawCommandAndArgsAndEnv" class="selflink">#</a></p></div><h1 id="g:2">exceptions</h1><div class="top"><p class="src"><a id="v:handleDoesNotExist" class="def">handleDoesNotExist</a> :: a -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> a -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> a <a href="#v:handleDoesNotExist" class="selflink">#</a></p><div class="doc"><p>Run an IO computation, returning <code>e</code> if it raises a "file- does not exist" error.</p></div></div><h1 id="g:3">running programs</h1><div class="top"><p class="src"><a id="v:rawSystemExit" class="def">rawSystemExit</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:rawSystemExit" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:rawSystemExitCode" class="def">rawSystemExitCode</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-Exit.html#t:ExitCode">ExitCode</a> <a href="#v:rawSystemExitCode" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:rawSystemExitWithEnv" class="def">rawSystemExitWithEnv</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:rawSystemExitWithEnv" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:rawSystemStdout" class="def">rawSystemStdout</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:rawSystemStdout" class="selflink">#</a></p><div class="doc"><p>Run a command and return its output.</p><p>The output is assumed to be text in the locale encoding.</p></div></div><div class="top"><p class="src"><a id="v:rawSystemStdInOut" class="def">rawSystemStdInOut</a> <a href="#v:rawSystemStdInOut" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Program location</p></td></tr><tr><td class="src">-> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</td><td class="doc"><p>Arguments</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>New working dir or inherit</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</td><td class="doc"><p>New environment or inherit</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)</td><td class="doc"><p>input text and binary mode</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></td><td class="doc"><p>output in binary mode</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-Exit.html#t:ExitCode">ExitCode</a>)</td><td class="doc"><p>output, errors, exit</p></td></tr></table></div><div class="doc"><p>Run a command and return its output, errors and exit status. Optionally- also supply some input. Also provides control over whether the binary/text- mode of the input and output.</p></div></div><div class="top"><p class="src"><a id="v:rawSystemIOWithEnv" class="def">rawSystemIOWithEnv</a> <a href="#v:rawSystemIOWithEnv" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>New working dir or inherit</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</td><td class="doc"><p>New environment or inherit</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-IO-Handle.html#t:Handle">Handle</a></td><td class="doc"><p>stdin</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-IO-Handle.html#t:Handle">Handle</a></td><td class="doc"><p>stdout</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-IO-Handle.html#t:Handle">Handle</a></td><td class="doc"><p>stderr</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-Exit.html#t:ExitCode">ExitCode</a></td><td class="doc empty"> </td></tr></table></div></div><div class="top"><p class="src"><a id="v:createProcessWithEnv" class="def">createProcessWithEnv</a> <a href="#v:createProcessWithEnv" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>New working dir or inherit</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</td><td class="doc"><p>New environment or inherit</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/process-1.6.1.0/System-Process.html#t:StdStream">StdStream</a></td><td class="doc"><p>stdin</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/process-1.6.1.0/System-Process.html#t:StdStream">StdStream</a></td><td class="doc"><p>stdout</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/process-1.6.1.0/System-Process.html#t:StdStream">StdStream</a></td><td class="doc"><p>stderr</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-IO-Handle.html#t:Handle">Handle</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-IO-Handle.html#t:Handle">Handle</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-IO-Handle.html#t:Handle">Handle</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/process-1.6.1.0/System-Process.html#t:ProcessHandle">ProcessHandle</a>)</td><td class="doc"><p>Any handles created for stdin, stdout, or stderr- with <code>CreateProcess</code>, and a handle to the process.</p></td></tr></table></div></div><div class="top"><p class="src"><a id="v:maybeExit" class="def">maybeExit</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-Exit.html#t:ExitCode">ExitCode</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:maybeExit" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:xargs" class="def">xargs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> ([<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:xargs" class="selflink">#</a></p><div class="doc"><p>Like the Unix xargs program. Useful for when we've got very long command- lines that might overflow an OS limit on command line length and so you- need to invoke a command multiple times to get all the args in.</p><p>Use it with either of the rawSystem variants above. For example:</p><pre>xargs (32*1024) (rawSystemExit verbosity) prog fixedArgs bigArgs</pre></div></div><div class="top"><p class="src"><a id="v:findProgramLocation" class="def">findProgramLocation</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) <a href="#v:findProgramLocation" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: No longer used within Cabal, try findProgramOnSearchPath</p></div><p>Look for a program on the path.</p></div></div><div class="top"><p class="src"><a id="v:findProgramVersion" class="def">findProgramVersion</a> <a href="#v:findProgramVersion" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>version args</p></td></tr><tr><td class="src">-> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)</td><td class="doc"><p>function to select version- number from program output</p></td></tr><tr><td class="src">-> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>location</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>)</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Look for a program and try to find it's version number. It can accept- either an absolute path or the name of a program binary, in which case we- will look for the program on the path.</p></div></div><h1 id="g:4">copying files</h1><div class="top"><p class="src"><a id="v:smartCopySources" class="def">smartCopySources</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:smartCopySources" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: Use findModuleFiles and copyFiles or installOrdinaryFiles</p></div></div></div><div class="top"><p class="src"><a id="v:createDirectoryIfMissingVerbose" class="def">createDirectoryIfMissingVerbose</a> <a href="#v:createDirectoryIfMissingVerbose" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></td><td class="doc"><p>Create its parents too?</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Same as <code>createDirectoryIfMissing</code> but logs at higher verbosity levels.</p></div></div><div class="top"><p class="src"><a id="v:copyFileVerbose" class="def">copyFileVerbose</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:copyFileVerbose" class="selflink">#</a></p><div class="doc"><p>Copies a file without copying file permissions. The target file is created- with default permissions. Any existing target file is replaced.</p><p>At higher verbosity levels it logs an info message.</p></div></div><div class="top"><p class="src"><a id="v:copyDirectoryRecursiveVerbose" class="def">copyDirectoryRecursiveVerbose</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:copyDirectoryRecursiveVerbose" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: You probably want installDirectoryContents instead</p></div></div></div><div class="top"><p class="src"><a id="v:copyFiles" class="def">copyFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:copyFiles" class="selflink">#</a></p><div class="doc"><p>Copies a bunch of files to a target directory, preserving the directory- structure in the target location. The target directories are created if they- do not exist.</p><p>The files are identified by a pair of base directory and a path relative to- that base. It is only the relative part that is preserved in the- destination.</p><p>For example:</p><pre>copyFiles normal "dist/src"- [("", "src/Foo.hs"), ("dist/build/", "src/Bar.hs")]</pre><p>This would copy "src/Foo.hs" to "dist/src/src/Foo.hs" and- copy "dist/build/src/Bar.hs" to "dist/src/src/Bar.hs".</p><p>This operation is not atomic. Any IO failure during the copy (including any- missing source files) leaves the target in an unknown state so it is best to- use it with a freshly created directory so that it can be simply deleted if- anything goes wrong.</p></div></div><div class="top"><p class="src"><a id="v:copyFileTo" class="def">copyFileTo</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:copyFileTo" class="selflink">#</a></p><div class="doc"><p>Given a relative path to a file, copy it to the given directory, preserving- the relative path and creating the parent directories if needed.</p></div></div><h1 id="g:5">installing files</h1><div class="top"><p class="src"><a id="v:installOrdinaryFile" class="def">installOrdinaryFile</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:installOrdinaryFile" class="selflink">#</a></p><div class="doc"><p>Install an ordinary file. This is like a file copy but the permissions- are set appropriately for an installed file. On Unix it is "-rw-r--r--"- while on Windows it uses the default permissions for the target directory.</p></div></div><div class="top"><p class="src"><a id="v:installExecutableFile" class="def">installExecutableFile</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:installExecutableFile" class="selflink">#</a></p><div class="doc"><p>Install an executable file. This is like a file copy but the permissions- are set appropriately for an installed file. On Unix it is "-rwxr-xr-x"- while on Windows it uses the default permissions for the target directory.</p></div></div><div class="top"><p class="src"><a id="v:installMaybeExecutableFile" class="def">installMaybeExecutableFile</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:installMaybeExecutableFile" class="selflink">#</a></p><div class="doc"><p>Install a file that may or not be executable, preserving permissions.</p></div></div><div class="top"><p class="src"><a id="v:installOrdinaryFiles" class="def">installOrdinaryFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:installOrdinaryFiles" class="selflink">#</a></p><div class="doc"><p>This is like <code><a href="Distribution-Simple-Utils.html#v:copyFiles">copyFiles</a></code> but uses <code><a href="Distribution-Simple-Utils.html#v:installOrdinaryFile">installOrdinaryFile</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:installExecutableFiles" class="def">installExecutableFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:installExecutableFiles" class="selflink">#</a></p><div class="doc"><p>This is like <code><a href="Distribution-Simple-Utils.html#v:copyFiles">copyFiles</a></code> but uses <code><a href="Distribution-Simple-Utils.html#v:installExecutableFile">installExecutableFile</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:installMaybeExecutableFiles" class="def">installMaybeExecutableFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:installMaybeExecutableFiles" class="selflink">#</a></p><div class="doc"><p>This is like <code><a href="Distribution-Simple-Utils.html#v:copyFiles">copyFiles</a></code> but uses <code><a href="Distribution-Simple-Utils.html#v:installMaybeExecutableFile">installMaybeExecutableFile</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:installDirectoryContents" class="def">installDirectoryContents</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:installDirectoryContents" class="selflink">#</a></p><div class="doc"><p>This installs all the files in a directory to a target location,- preserving the directory layout. All the files are assumed to be ordinary- rather than executable files.</p></div></div><div class="top"><p class="src"><a id="v:copyDirectoryRecursive" class="def">copyDirectoryRecursive</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:copyDirectoryRecursive" class="selflink">#</a></p><div class="doc"><p>Recursively copy the contents of one directory to another path.</p></div></div><h1 id="g:6">File permissions</h1><div class="top"><p class="src"><a id="v:doesExecutableExist" class="def">doesExecutableExist</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:doesExecutableExist" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/directory-1.3.0.2/System-Directory.html#v:doesFileExist">doesFileExist</a></code>, but also checks that the file is executable.</p></div></div><div class="top"><p class="src"><a id="v:setFileOrdinary" class="def">setFileOrdinary</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> () <a href="#v:setFileOrdinary" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:setFileExecutable" class="def">setFileExecutable</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> () <a href="#v:setFileExecutable" class="selflink">#</a></p></div><h1 id="g:7">file names</h1><div class="top"><p class="src"><a id="v:currentDir" class="def">currentDir</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:currentDir" class="selflink">#</a></p><div class="doc"><p>The path name that represents the current directory.- In Unix, it's <code>"."</code>, but this is system-specific.- (E.g. AmigaOS uses the empty string <code>""</code> for the current directory.)</p></div></div><div class="top"><p class="src"><a id="v:shortRelativePath" class="def">shortRelativePath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:shortRelativePath" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:dropExeExtension" class="def">dropExeExtension</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:dropExeExtension" class="selflink">#</a></p><div class="doc"><p>Drop the extension if it's one of <code><a href="Distribution-Simple-Utils.html#v:exeExtensions">exeExtensions</a></code>, or return the path- unchanged.</p></div></div><div class="top"><p class="src"><a id="v:exeExtensions" class="def">exeExtensions</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#v:exeExtensions" class="selflink">#</a></p><div class="doc"><p>List of possible executable file extensions on the current platform.</p></div></div><h1 id="g:8">finding files</h1><div class="top"><p class="src"><a id="v:findFile" class="def">findFile</a> <a href="#v:findFile" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</td><td class="doc"><p>search locations</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>File Name</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Find a file by looking in a search path. The file path must match exactly.</p></div></div><div class="top"><p class="src"><a id="v:findFirstFile" class="def">findFirstFile</a> :: (a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) -> [a] -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a) <a href="#v:findFirstFile" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:findFileWithExtension" class="def">findFileWithExtension</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) <a href="#v:findFileWithExtension" class="selflink">#</a></p><div class="doc"><p>Find a file by looking in a search path with one of a list of possible- file extensions. The file base name should be given and it will be tried- with each of the extensions in each element of the search path.</p></div></div><div class="top"><p class="src"><a id="v:findFileWithExtension-39-" class="def">findFileWithExtension'</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)) <a href="#v:findFileWithExtension-39-" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Distribution-Simple-Utils.html#v:findFileWithExtension">findFileWithExtension</a></code> but returns which element of the search path- the file was found in, and the file path relative to that base directory.</p></div></div><div class="top"><p class="src"><a id="v:findAllFilesWithExtension" class="def">findAllFilesWithExtension</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] <a href="#v:findAllFilesWithExtension" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:findModuleFile" class="def">findModuleFile</a> <a href="#v:findModuleFile" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</td><td class="doc"><p>build prefix (location of objects)</p></td></tr><tr><td class="src">-> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</td><td class="doc"><p>search suffixes</p></td></tr><tr><td class="src">-> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></td><td class="doc"><p>module</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Find the file corresponding to a Haskell module name.</p><p>This is similar to <code><a href="Distribution-Simple-Utils.html#v:findFileWithExtension-39-">findFileWithExtension'</a></code> but specialised to a module- name. The function fails if the file corresponding to the module is missing.</p></div></div><div class="top"><p class="src"><a id="v:findModuleFiles" class="def">findModuleFiles</a> <a href="#v:findModuleFiles" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</td><td class="doc"><p>build prefix (location of objects)</p></td></tr><tr><td class="src">-> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</td><td class="doc"><p>search suffixes</p></td></tr><tr><td class="src">-> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</td><td class="doc"><p>modules</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)]</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Finds the files corresponding to a list of Haskell module names.</p><p>As <code><a href="Distribution-Simple-Utils.html#v:findModuleFile">findModuleFile</a></code> but for a list of module names.</p></div></div><div class="top"><p class="src"><a id="v:getDirectoryContentsRecursive" class="def">getDirectoryContentsRecursive</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] <a href="#v:getDirectoryContentsRecursive" class="selflink">#</a></p><div class="doc"><p>List all the files in a directory and all subdirectories.</p><p>The order places files in sub-directories after all the files in their- parent directories. The list is generated lazily so is not well defined if- the source directory structure changes before the list is used.</p></div></div><h1 id="g:9">environment variables</h1><div class="top"><p class="src"><a id="v:isInSearchPath" class="def">isInSearchPath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isInSearchPath" class="selflink">#</a></p><div class="doc"><p>Is this directory in the system search path?</p></div></div><div class="top"><p class="src"><a id="v:addLibraryPath" class="def">addLibraryPath</a> :: <a href="Distribution-System.html#t:OS">OS</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)] -> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)] <a href="#v:addLibraryPath" class="selflink">#</a></p></div><h1 id="g:10">simple file globbing</h1><div class="top"><p class="src"><a id="v:matchFileGlob" class="def">matchFileGlob</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] <a href="#v:matchFileGlob" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:matchDirFileGlob" class="def">matchDirFileGlob</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>] <a href="#v:matchDirFileGlob" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:parseFileGlob" class="def">parseFileGlob</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Simple-Utils.html#t:FileGlob">FileGlob</a> <a href="#v:parseFileGlob" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:FileGlob" class="def">FileGlob</a> <a href="#t:FileGlob" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:NoGlob" class="def">NoGlob</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>No glob at all, just an ordinary file</p></td></tr><tr><td class="src"><a id="v:FileGlob" class="def">FileGlob</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>dir prefix and extension, like <code>"foo/bar/*.baz"</code> corresponds to- <code>FileGlob "foo/bar" ".baz"</code></p></td></tr></table></div></div><h1 id="g:11">modification time</h1><div class="top"><p class="src"><a id="v:moreRecentFile" class="def">moreRecentFile</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:moreRecentFile" class="selflink">#</a></p><div class="doc"><p>Compare the modification times of two files to see if the first is newer- than the second. The first file must exist but the second need not.- The expected use case is when the second file is generated using the first.- In this use case, if the result is True then the second file is out of date.</p></div></div><div class="top"><p class="src"><a id="v:existsAndIsMoreRecentThan" class="def">existsAndIsMoreRecentThan</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:existsAndIsMoreRecentThan" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Distribution-Simple-Utils.html#v:moreRecentFile">moreRecentFile</a></code>, but also checks that the first file exists.</p></div></div><h1 id="g:12">temp files and dirs</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:TempFileOptions" class="def">TempFileOptions</a> <a href="#t:TempFileOptions" class="selflink">#</a></p><div class="doc"><p>Advanced options for <code><a href="Distribution-Simple-Utils.html#v:withTempFile">withTempFile</a></code> and <code><a href="Distribution-Simple-Utils.html#v:withTempDirectory">withTempDirectory</a></code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:TempFileOptions" class="def">TempFileOptions</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:optKeepTempFiles" class="def">optKeepTempFiles</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Keep temporary files?</p></div></li></ul></div></td></tr></table></div></div><div class="top"><p class="src"><a id="v:defaultTempFileOptions" class="def">defaultTempFileOptions</a> :: <a href="Distribution-Simple-Utils.html#t:TempFileOptions">TempFileOptions</a> <a href="#v:defaultTempFileOptions" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:withTempFile" class="def">withTempFile</a> <a href="#v:withTempFile" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Temp dir to create the file in</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>File name template. See <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#v:openTempFile">openTempFile</a></code>.</p></td></tr><tr><td class="src">-> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-IO-Handle.html#t:Handle">Handle</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a)</td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Use a temporary filename that doesn't already exist.</p></div></div><div class="top"><p class="src"><a id="v:withTempFileEx" class="def">withTempFileEx</a> <a href="#v:withTempFileEx" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Simple-Utils.html#t:TempFileOptions">TempFileOptions</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Temp dir to create the file in</p></td></tr><tr><td class="src">-> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>File name template. See <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#v:openTempFile">openTempFile</a></code>.</p></td></tr><tr><td class="src">-> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-IO-Handle.html#t:Handle">Handle</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a)</td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>A version of <code><a href="Distribution-Simple-Utils.html#v:withTempFile">withTempFile</a></code> that additionally takes a <code><a href="Distribution-Simple-Utils.html#t:TempFileOptions">TempFileOptions</a></code>- argument.</p></div></div><div class="top"><p class="src"><a id="v:withTempDirectory" class="def">withTempDirectory</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a <a href="#v:withTempDirectory" class="selflink">#</a></p><div class="doc"><p>Create and use a temporary directory.</p><p>Creates a new temporary directory inside the given directory, making use- of the template. The temp directory is deleted after use. For example:</p><pre>withTempDirectory verbosity "src" "sdist." $ \tmpDir -> do ...</pre><p>The <code>tmpDir</code> will be a new subdirectory of the given directory, e.g.- <code>src/sdist.342</code>.</p></div></div><div class="top"><p class="src"><a id="v:withTempDirectoryEx" class="def">withTempDirectoryEx</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Simple-Utils.html#t:TempFileOptions">TempFileOptions</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a <a href="#v:withTempDirectoryEx" class="selflink">#</a></p><div class="doc"><p>A version of <code><a href="Distribution-Simple-Utils.html#v:withTempDirectory">withTempDirectory</a></code> that additionally takes a- <code><a href="Distribution-Simple-Utils.html#t:TempFileOptions">TempFileOptions</a></code> argument.</p></div></div><h1 id="g:13">.cabal and .buildinfo files</h1><div class="top"><p class="src"><a id="v:defaultPackageDesc" class="def">defaultPackageDesc</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:defaultPackageDesc" class="selflink">#</a></p><div class="doc"><p>Package description file (<em>pkgname</em><code>.cabal</code>)</p></div></div><div class="top"><p class="src"><a id="v:findPackageDesc" class="def">findPackageDesc</a> <a href="#v:findPackageDesc" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Where to look</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)</td><td class="doc"><p><a href="pkgname">pkgname</a>.cabal</p></td></tr></table></div><div class="doc"><p>Find a package description file in the given directory. Looks for- <code>.cabal</code> files.</p></div></div><div class="top"><p class="src"><a id="v:tryFindPackageDesc" class="def">tryFindPackageDesc</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> <a href="#v:tryFindPackageDesc" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Distribution-Simple-Utils.html#v:findPackageDesc">findPackageDesc</a></code>, but calls <code><a href="Distribution-Simple-Utils.html#v:die">die</a></code> in case of error.</p></div></div><div class="top"><p class="src"><a id="v:defaultHookedPackageDesc" class="def">defaultHookedPackageDesc</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) <a href="#v:defaultHookedPackageDesc" class="selflink">#</a></p><div class="doc"><p>Optional auxiliary package information file (<em>pkgname</em><code>.buildinfo</code>)</p></div></div><div class="top"><p class="src"><a id="v:findHookedPackageDesc" class="def">findHookedPackageDesc</a> <a href="#v:findHookedPackageDesc" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Directory to search</p></td></tr><tr><td class="src">-> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)</td><td class="doc"><p><em>dir</em><code>/</code><em>pkgname</em><code>.buildinfo</code>, if present</p></td></tr></table></div><div class="doc"><p>Find auxiliary package information in the given directory.- Looks for <code>.buildinfo</code> files.</p></div></div><h1 id="g:14">reading and writing files safely</h1><div class="top"><p class="src"><a id="v:withFileContents" class="def">withFileContents</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> a) -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> a <a href="#v:withFileContents" class="selflink">#</a></p><div class="doc"><p>Gets the contents of a file, but guarantee that it gets closed.</p><p>The file is read lazily but if it is not fully consumed by the action then- the remaining input is truncated and the file is closed.</p></div></div><div class="top"><p class="src"><a id="v:writeFileAtomic" class="def">writeFileAtomic</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> () <a href="#v:writeFileAtomic" class="selflink">#</a></p><div class="doc"><p>Writes a file atomically.</p><p>The file is either written successfully or an IO exception is raised and- the original file is left unchanged.</p><p>On windows it is not possible to delete a file that is open by a process.- This case will give an IO exception but the atomic property is not affected.</p></div></div><div class="top"><p class="src"><a id="v:rewriteFile" class="def">rewriteFile</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:rewriteFile" class="selflink">#</a></p><div class="doc"><p>See <code><a href="Distribution-Simple-Utils.html#v:rewriteFileEx">rewriteFileEx</a></code></p><p>This function is provided for backwards-compatibility</p></div></div><div class="top"><p class="src"><a id="v:rewriteFileEx" class="def">rewriteFileEx</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:rewriteFileEx" class="selflink">#</a></p><div class="doc"><p>Write a file but only if it would have new content. If we would be writing- the same as the existing content then leave the file as is so that we do not- update the file's modification time.</p><p>NB: the file is assumed to be ASCII-encoded.</p></div></div><h1 id="g:15">Unicode</h1><div class="top"><p class="src"><a id="v:fromUTF8" class="def">fromUTF8</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:fromUTF8" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fromUTF8BS" class="def">fromUTF8BS</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString.html#t:ByteString">ByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:fromUTF8BS" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fromUTF8LBS" class="def">fromUTF8LBS</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:fromUTF8LBS" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:toUTF8" class="def">toUTF8</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:toUTF8" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:readUTF8File" class="def">readUTF8File</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:readUTF8File" class="selflink">#</a></p><div class="doc"><p>Reads a UTF8 encoded text file as a Unicode String</p><p>Reads lazily using ordinary <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#v:readFile">readFile</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:withUTF8FileContents" class="def">withUTF8FileContents</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a <a href="#v:withUTF8FileContents" class="selflink">#</a></p><div class="doc"><p>Reads a UTF8 encoded text file as a Unicode String</p><p>Same behaviour as <code><a href="Distribution-Simple-Utils.html#v:withFileContents">withFileContents</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:writeUTF8File" class="def">writeUTF8File</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> () <a href="#v:writeUTF8File" class="selflink">#</a></p><div class="doc"><p>Writes a Unicode String as a UTF8 encoded text file.</p><p>Uses <code><a href="Distribution-Simple-Utils.html#v:writeFileAtomic">writeFileAtomic</a></code>, so provides the same guarantees.</p></div></div><div class="top"><p class="src"><a id="v:normaliseLineEndings" class="def">normaliseLineEndings</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:normaliseLineEndings" class="selflink">#</a></p><div class="doc"><p>Fix different systems silly line ending conventions</p></div></div><h1 id="g:16">BOM</h1><div class="top"><p class="src"><a id="v:startsWithBOM" class="def">startsWithBOM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:startsWithBOM" class="selflink">#</a></p><div class="doc"><p>Whether BOM is at the beginning of the input</p></div></div><div class="top"><p class="src"><a id="v:fileHasBOM" class="def">fileHasBOM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:fileHasBOM" class="selflink">#</a></p><div class="doc"><p>Check whether a file has Unicode byte order mark (BOM).</p></div></div><div class="top"><p class="src"><a id="v:ignoreBOM" class="def">ignoreBOM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:ignoreBOM" class="selflink">#</a></p><div class="doc"><p>Ignore a Unicode byte order mark (BOM) at the beginning of the input</p></div></div><h1 id="g:17">generic utils</h1><div class="top"><p class="src"><a id="v:dropWhileEndLE" class="def">dropWhileEndLE</a> :: (a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> [a] -> [a] <a href="#v:dropWhileEndLE" class="selflink">#</a></p><div class="doc"><p><code>dropWhileEndLE p</code> is equivalent to <code>reverse . dropWhile p . reverse</code>, but- quite a bit faster. The difference between "Data.List.dropWhileEnd" and this- version is that the one in <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List.html">Data.List</a> is strict in elements, but spine-lazy,- while this one is spine-strict but lazy in elements. That's what <code>LE</code> stands- for - "lazy in elements".</p><p>Example:</p><pre>> tail $ Data.List.dropWhileEnd (<3) [undefined, 5, 4, 3, 2, 1]-*** Exception: Prelude.undefined-> tail $ dropWhileEndLE (<3) [undefined, 5, 4, 3, 2, 1]-[5,4,3]-> take 3 $ Data.List.dropWhileEnd (<3) [5, 4, 3, 2, 1, undefined]-[5,4,3]-> take 3 $ dropWhileEndLE (<3) [5, 4, 3, 2, 1, undefined]-*** Exception: Prelude.undefined-</pre></div></div><div class="top"><p class="src"><a id="v:takeWhileEndLE" class="def">takeWhileEndLE</a> :: (a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> [a] -> [a] <a href="#v:takeWhileEndLE" class="selflink">#</a></p><div class="doc"><p><code>takeWhileEndLE p</code> is equivalent to <code>reverse . takeWhile p . reverse</code>, but- is usually faster (as well as being easier to read).</p></div></div><div class="top"><p class="src"><a id="v:equating" class="def">equating</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a => (b -> a) -> b -> b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:equating" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:comparing" class="def">comparing</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => (b -> a) -> b -> b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:comparing" class="selflink">#</a></p><div class="doc"><pre>comparing p x y = compare (p x) (p y)</pre><p>Useful combinator for use in conjunction with the <code>xxxBy</code> family- of functions from <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List.html">Data.List</a>, for example:</p><pre> ... sortBy (comparing fst) ...</pre></div></div><div class="top"><p class="src"><a id="v:isInfixOf" class="def">isInfixOf</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a => [a] -> [a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isInfixOf" class="selflink">#</a></p><div class="doc"><p>The <code><a href="Distribution-Simple-Utils.html#v:isInfixOf">isInfixOf</a></code> function takes two lists and returns <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a></code>- iff the first list is contained, wholly and intact,- anywhere within the second.</p><p>Example:</p><pre>isInfixOf "Haskell" "I really like Haskell." == True-isInfixOf "Ial" "I really like Haskell." == False</pre></div></div><div class="top"><p class="src"><a id="v:intercalate" class="def">intercalate</a> :: [a] -> [[a]] -> [a] <a href="#v:intercalate" class="selflink">#</a></p><div class="doc"><p><code><a href="Distribution-Simple-Utils.html#v:intercalate">intercalate</a></code> <code>xs xss</code> is equivalent to <code>(<code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-OldList.html#v:concat">concat</a></code> (<code><a href="Distribution-Compat-Prelude-Internal.html#v:intersperse">intersperse</a></code> xs xss))</code>.- It inserts the list <code>xs</code> in between the lists in <code>xss</code> and concatenates the- result.</p></div></div><div class="top"><p class="src"><a id="v:lowercase" class="def">lowercase</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:lowercase" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:listUnion" class="def">listUnion</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> [a] -> [a] <a href="#v:listUnion" class="selflink">#</a></p><div class="doc"><p>Like "Data.List.union", but has <code>O(n log n)</code> complexity instead of- <code>O(n^2)</code>.</p></div></div><div class="top"><p class="src"><a id="v:listUnionRight" class="def">listUnionRight</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> [a] -> [a] <a href="#v:listUnionRight" class="selflink">#</a></p><div class="doc"><p>A right-biased version of <code><a href="Distribution-Simple-Utils.html#v:listUnion">listUnion</a></code>.</p><p>Example:</p><pre>> listUnion [1,2,3,4,3] [2,1,1]-[1,2,3,4,3]-> listUnionRight [1,2,3,4,3] [2,1,1]-[4,3,2,1,1]-</pre></div></div><div class="top"><p class="src"><a id="v:ordNub" class="def">ordNub</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> [a] <a href="#v:ordNub" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List.html#v:nub">nub</a></code>, but has <code>O(n log n)</code> complexity instead of- <code>O(n^2)</code>. Code for <code><a href="Distribution-Simple-Utils.html#v:ordNub">ordNub</a></code> and <code><a href="Distribution-Simple-Utils.html#v:listUnion">listUnion</a></code> taken from Niklas Hambüchen's- <a href="http://github.com/nh2/haskell-ordnub">ordnub</a> package.</p></div></div><div class="top"><p class="src"><a id="v:ordNubBy" class="def">ordNubBy</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> b => (a -> b) -> [a] -> [a] <a href="#v:ordNubBy" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Distribution-Simple-Utils.html#v:ordNub">ordNub</a></code> and <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List.html#v:nubBy">nubBy</a></code>. Selects a key for each element and- takes the nub based on that key.</p></div></div><div class="top"><p class="src"><a id="v:ordNubRight" class="def">ordNubRight</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> [a] <a href="#v:ordNubRight" class="selflink">#</a></p><div class="doc"><p>A right-biased version of <code><a href="Distribution-Simple-Utils.html#v:ordNub">ordNub</a></code>.</p><p>Example:</p><pre>> ordNub [1,2,1]-[1,2]-> ordNubRight [1,2,1]-[2,1]-</pre></div></div><div class="top"><p class="src"><a id="v:safeTail" class="def">safeTail</a> :: [a] -> [a] <a href="#v:safeTail" class="selflink">#</a></p><div class="doc"><p>A total variant of <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-OldList.html#v:tail">tail</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:unintersperse" class="def">unintersperse</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#v:unintersperse" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:wrapText" class="def">wrapText</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:wrapText" class="selflink">#</a></p><div class="doc"><p>Wraps text to the default line width. Existing newlines are preserved.</p></div></div><div class="top"><p class="src"><a id="v:wrapLine" class="def">wrapLine</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> [[<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]] <a href="#v:wrapLine" class="selflink">#</a></p><div class="doc"><p>Wraps a list of words to a list of lines of words of a particular width.</p></div></div><h1 id="g:18">FilePath stuff</h1><div class="top"><p class="src"><a id="v:isAbsoluteOnAnyPlatform" class="def">isAbsoluteOnAnyPlatform</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isAbsoluteOnAnyPlatform" class="selflink">#</a></p><div class="doc"><p><code><a href="Distribution-Simple-Utils.html#v:isAbsoluteOnAnyPlatform">isAbsoluteOnAnyPlatform</a></code> and <code><a href="Distribution-Simple-Utils.html#v:isRelativeOnAnyPlatform">isRelativeOnAnyPlatform</a></code> are like- <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/filepath-1.4.1.2/System-FilePath.html#v:isAbsolute">isAbsolute</a></code> and <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/filepath-1.4.1.2/System-FilePath.html#v:isRelative">isRelative</a></code> but have- platform independent heuristics.- The System.FilePath exists in two versions, Windows and Posix. The two- versions don't agree on what is a relative path and we don't know if we're- given Windows or Posix paths.- This results in false positives when running on Posix and inspecting- Windows paths, like the hackage server does.- System.FilePath.Posix.isAbsolute "C:\hello" == False- System.FilePath.Windows.isAbsolute "/hello" == False- This means that we would treat paths that start with "/" to be absolute.- On Posix they are indeed absolute, while on Windows they are not.</p><p>The portable versions should be used when we might deal with paths that- are from another OS than the host OS. For example, the Hackage Server- deals with both Windows and Posix paths while performing the- PackageDescription checks. In contrast, when we run 'cabal configure' we- do expect the paths to be correct for our OS and we should not have to use- the platform independent heuristics.</p></div></div><div class="top"><p class="src"><a id="v:isRelativeOnAnyPlatform" class="def">isRelativeOnAnyPlatform</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isRelativeOnAnyPlatform" class="selflink">#</a></p><div class="doc"><pre>isRelativeOnAnyPlatform = not . <code><a href="Distribution-Simple-Utils.html#v:isAbsoluteOnAnyPlatform">isAbsoluteOnAnyPlatform</a></code></pre></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,29 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2005</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Simple interface</a></li><li><a href="#g:2">Customization</a><ul><li><a href="#g:3">Standard sets of hooks</a></li><li><a href="#g:4">Utils</a></li></ul></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This is the command line front end to the Simple build system. When given- the parsed command-line args and package information, is able to perform- basic commands like configure, build, install, register, etc.</p><p>This module exports the main functions that Setup.hs scripts use. It- re-exports the <code><a href="Distribution-Simple.html#t:UserHooks">UserHooks</a></code> type, the standard entry points like- <code><a href="Distribution-Simple.html#v:defaultMain">defaultMain</a></code> and <code><a href="Distribution-Simple.html#v:defaultMainWithHooks">defaultMainWithHooks</a></code> and the predefined sets of- <code><a href="Distribution-Simple.html#t:UserHooks">UserHooks</a></code> that custom <code>Setup.hs</code> scripts can extend to add their own- behaviour.</p><p>This module isn't called "Simple" because it's simple. Far from- it. It's called "Simple" because it does complicated things to- simple software.</p><p>The original idea was that there could be different build systems that all- presented the same compatible command line interfaces. There is still a- <a href="Distribution-Make.html">Distribution.Make</a> system but in practice no packages use it.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short">module <a href="Distribution-Package.html">Distribution.Package</a></li><li class="src short">module <a href="Distribution-Version.html">Distribution.Version</a></li><li class="src short">module <a href="Distribution-License.html">Distribution.License</a></li><li class="src short">module <a href="Distribution-Simple-Compiler.html">Distribution.Simple.Compiler</a></li><li class="src short">module <a href="Language-Haskell-Extension.html">Language.Haskell.Extension</a></li><li class="src short"><a href="#v:defaultMain">defaultMain</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:defaultMainNoRead">defaultMainNoRead</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:defaultMainArgs">defaultMainArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><span class="keyword">data</span> <a href="#t:UserHooks">UserHooks</a> = <a href="#v:UserHooks">UserHooks</a> {<ul class="subs"><li><a href="#v:runTests">runTests</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:readDesc">readDesc</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a>)</li><li><a href="#v:hookedPreProcessors">hookedPreProcessors</a> :: [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>]</li><li><a href="#v:hookedPrograms">hookedPrograms</a> :: [<a href="Distribution-Simple-Program-Types.html#t:Program">Program</a>]</li><li><a href="#v:preConf">preConf</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:confHook">confHook</a> :: (<a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a>, <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a>) -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></li><li><a href="#v:postConf">postConf</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preBuild">preBuild</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:buildHook">buildHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postBuild">postBuild</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preRepl">preRepl</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:replHook">replHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postRepl">postRepl</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preClean">preClean</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:cleanHook">cleanHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> () -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postClean">postClean</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> () -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preCopy">preCopy</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:copyHook">copyHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postCopy">postCopy</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preInst">preInst</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:instHook">instHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postInst">postInst</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preSDist">preSDist</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:sDistHook">sDistHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postSDist">postSDist</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preReg">preReg</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:regHook">regHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postReg">postReg</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preUnreg">preUnreg</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:unregHook">unregHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postUnreg">postUnreg</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preHscolour">preHscolour</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:hscolourHook">hscolourHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postHscolour">postHscolour</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preDoctest">preDoctest</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:doctestHook">doctestHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postDoctest">postDoctest</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preHaddock">preHaddock</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:haddockHook">haddockHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postHaddock">postHaddock</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preTest">preTest</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:testHook">testHook</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postTest">postTest</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:preBench">preBench</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li><a href="#v:benchHook">benchHook</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li><a href="#v:postBench">postBench</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:Args">Args</a> = [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li class="src short"><a href="#v:defaultMainWithHooks">defaultMainWithHooks</a> :: <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:defaultMainWithHooksArgs">defaultMainWithHooksArgs</a> :: <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:defaultMainWithHooksNoRead">defaultMainWithHooksNoRead</a> :: <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:simpleUserHooks">simpleUserHooks</a> :: <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a></li><li class="src short"><a href="#v:autoconfUserHooks">autoconfUserHooks</a> :: <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a></li><li class="src short"><a href="#v:defaultUserHooks">defaultUserHooks</a> :: <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a></li><li class="src short"><a href="#v:emptyUserHooks">emptyUserHooks</a> :: <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a></li><li class="src short"><a href="#v:defaultHookedPackageDesc">defaultHookedPackageDesc</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src">module <a href="Distribution-Package.html">Distribution.Package</a></p></div><div class="top"><p class="src">module <a href="Distribution-Version.html">Distribution.Version</a></p></div><div class="top"><p class="src">module <a href="Distribution-License.html">Distribution.License</a></p></div><div class="top"><p class="src">module <a href="Distribution-Simple-Compiler.html">Distribution.Simple.Compiler</a></p></div><div class="top"><p class="src">module <a href="Language-Haskell-Extension.html">Language.Haskell.Extension</a></p></div><h1 id="g:1">Simple interface</h1><div class="top"><p class="src"><a id="v:defaultMain" class="def">defaultMain</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:defaultMain" class="selflink">#</a></p><div class="doc"><p>A simple implementation of <code>main</code> for a Cabal setup script.- It reads the package description file using IO, and performs the- action specified on the command line.</p></div></div><div class="top"><p class="src"><a id="v:defaultMainNoRead" class="def">defaultMainNoRead</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:defaultMainNoRead" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Distribution-Simple.html#v:defaultMain">defaultMain</a></code>, but accepts the package description as input- rather than using IO to read it.</p></div></div><div class="top"><p class="src"><a id="v:defaultMainArgs" class="def">defaultMainArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:defaultMainArgs" class="selflink">#</a></p><div class="doc"><p>A version of <code><a href="Distribution-Simple.html#v:defaultMain">defaultMain</a></code> that is passed the command line- arguments, rather than getting them from the environment.</p></div></div><h1 id="g:2">Customization</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:UserHooks" class="def">UserHooks</a> <a href="#t:UserHooks" class="selflink">#</a></p><div class="doc"><p>Hooks allow authors to add specific functionality before and after a- command is run, and also to specify additional preprocessors.</p><ul><li>WARNING: The hooks interface is under rather constant flux as we try to- understand users needs. Setup files that depend on this interface may- break in future releases.</li></ul></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:UserHooks" class="def">UserHooks</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:runTests" class="def">runTests</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><div class="warning"><p>Deprecated: Please use the new testing interface instead!</p></div><p>Used for <code>./setup test</code></p></div></li><li><dfn class="src"><a id="v:readDesc" class="def">readDesc</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a>)</dfn><div class="doc"><p>Read the description file</p></div></li><li><dfn class="src"><a id="v:hookedPreProcessors" class="def">hookedPreProcessors</a> :: [<a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">PPSuffixHandler</a>]</dfn><div class="doc"><p>Custom preprocessors in addition to and overriding <code><a href="Distribution-Simple-PreProcess.html#v:knownSuffixHandlers">knownSuffixHandlers</a></code>.</p></div></li><li><dfn class="src"><a id="v:hookedPrograms" class="def">hookedPrograms</a> :: [<a href="Distribution-Simple-Program-Types.html#t:Program">Program</a>]</dfn><div class="doc"><p>These programs are detected at configure time. Arguments for them are- added to the configure command.</p></div></li><li><dfn class="src"><a id="v:preConf" class="def">preConf</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before configure command</p></div></li><li><dfn class="src"><a id="v:confHook" class="def">confHook</a> :: (<a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a>, <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a>) -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></dfn><div class="doc"><p>Over-ride this hook to get different behavior during configure.</p></div></li><li><dfn class="src"><a id="v:postConf" class="def">postConf</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after configure command</p></div></li><li><dfn class="src"><a id="v:preBuild" class="def">preBuild</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before build command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:buildHook" class="def">buildHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during build.</p></div></li><li><dfn class="src"><a id="v:postBuild" class="def">postBuild</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:BuildFlags">BuildFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after build command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:preRepl" class="def">preRepl</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before repl command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:replHook" class="def">replHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during interpretation.</p></div></li><li><dfn class="src"><a id="v:postRepl" class="def">postRepl</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:ReplFlags">ReplFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after repl command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:preClean" class="def">preClean</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before clean command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:cleanHook" class="def">cleanHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> () -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during clean.</p></div></li><li><dfn class="src"><a id="v:postClean" class="def">postClean</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:CleanFlags">CleanFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> () -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after clean command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:preCopy" class="def">preCopy</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before copy command</p></div></li><li><dfn class="src"><a id="v:copyHook" class="def">copyHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during copy.</p></div></li><li><dfn class="src"><a id="v:postCopy" class="def">postCopy</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:CopyFlags">CopyFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after copy command</p></div></li><li><dfn class="src"><a id="v:preInst" class="def">preInst</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before install command</p></div></li><li><dfn class="src"><a id="v:instHook" class="def">instHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during install.</p></div></li><li><dfn class="src"><a id="v:postInst" class="def">postInst</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:InstallFlags">InstallFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after install command. postInst should be run- on the target, not on the build machine.</p></div></li><li><dfn class="src"><a id="v:preSDist" class="def">preSDist</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before sdist command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:sDistHook" class="def">sDistHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during sdist.</p></div></li><li><dfn class="src"><a id="v:postSDist" class="def">postSDist</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:SDistFlags">SDistFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after sdist command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:preReg" class="def">preReg</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before register command</p></div></li><li><dfn class="src"><a id="v:regHook" class="def">regHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during registration.</p></div></li><li><dfn class="src"><a id="v:postReg" class="def">postReg</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after register command</p></div></li><li><dfn class="src"><a id="v:preUnreg" class="def">preUnreg</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before unregister command</p></div></li><li><dfn class="src"><a id="v:unregHook" class="def">unregHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during unregistration.</p></div></li><li><dfn class="src"><a id="v:postUnreg" class="def">postUnreg</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:RegisterFlags">RegisterFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after unregister command</p></div></li><li><dfn class="src"><a id="v:preHscolour" class="def">preHscolour</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before hscolour command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:hscolourHook" class="def">hscolourHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during hscolour.</p></div></li><li><dfn class="src"><a id="v:postHscolour" class="def">postHscolour</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:HscolourFlags">HscolourFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after hscolour command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:preDoctest" class="def">preDoctest</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before doctest command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:doctestHook" class="def">doctestHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during doctest.</p></div></li><li><dfn class="src"><a id="v:postDoctest" class="def">postDoctest</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:DoctestFlags">DoctestFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after doctest command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:preHaddock" class="def">preHaddock</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before haddock command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:haddockHook" class="def">haddockHook</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during haddock.</p></div></li><li><dfn class="src"><a id="v:postHaddock" class="def">postHaddock</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:HaddockFlags">HaddockFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after haddock command. Second arg indicates verbosity level.</p></div></li><li><dfn class="src"><a id="v:preTest" class="def">preTest</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before test command.</p></div></li><li><dfn class="src"><a id="v:testHook" class="def">testHook</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during test.</p></div></li><li><dfn class="src"><a id="v:postTest" class="def">postTest</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:TestFlags">TestFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after test command.</p></div></li><li><dfn class="src"><a id="v:preBench" class="def">preBench</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></dfn><div class="doc"><p>Hook to run before bench command.</p></div></li><li><dfn class="src"><a id="v:benchHook" class="def">benchHook</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Over-ride this hook to get different behavior during bench.</p></div></li><li><dfn class="src"><a id="v:postBench" class="def">postBench</a> :: <a href="Distribution-Simple.html#t:Args">Args</a> -> <a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">BenchmarkFlags</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</dfn><div class="doc"><p>Hook to run after bench command.</p></div></li></ul></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:Args" class="def">Args</a> = [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#t:Args" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:defaultMainWithHooks" class="def">defaultMainWithHooks</a> :: <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:defaultMainWithHooks" class="selflink">#</a></p><div class="doc"><p>A customizable version of <code><a href="Distribution-Simple.html#v:defaultMain">defaultMain</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:defaultMainWithHooksArgs" class="def">defaultMainWithHooksArgs</a> :: <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:defaultMainWithHooksArgs" class="selflink">#</a></p><div class="doc"><p>A customizable version of <code><a href="Distribution-Simple.html#v:defaultMain">defaultMain</a></code> that also takes the command- line arguments.</p></div></div><div class="top"><p class="src"><a id="v:defaultMainWithHooksNoRead" class="def">defaultMainWithHooksNoRead</a> :: <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:defaultMainWithHooksNoRead" class="selflink">#</a></p><div class="doc"><p>A customizable version of <code><a href="Distribution-Simple.html#v:defaultMainNoRead">defaultMainNoRead</a></code>.</p></div></div><h2 id="g:3">Standard sets of hooks</h2><div class="top"><p class="src"><a id="v:simpleUserHooks" class="def">simpleUserHooks</a> :: <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> <a href="#v:simpleUserHooks" class="selflink">#</a></p><div class="doc"><p>Hooks that correspond to a plain instantiation of the- "simple" build system</p></div></div><div class="top"><p class="src"><a id="v:autoconfUserHooks" class="def">autoconfUserHooks</a> :: <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> <a href="#v:autoconfUserHooks" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:defaultUserHooks" class="def">defaultUserHooks</a> :: <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> <a href="#v:defaultUserHooks" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: Use simpleUserHooks or autoconfUserHooks, unless you need Cabal-1.2- compatibility in which case you must stick with defaultUserHooks</p></div><p>Basic autoconf <code><a href="Distribution-Simple.html#t:UserHooks">UserHooks</a></code>:</p><ul><li><code><a href="Distribution-Simple.html#v:postConf">postConf</a></code> runs <code>./configure</code>, if present.</li><li>the pre-hooks <code><a href="Distribution-Simple.html#v:preBuild">preBuild</a></code>, <code><a href="Distribution-Simple.html#v:preClean">preClean</a></code>, <code><a href="Distribution-Simple.html#v:preCopy">preCopy</a></code>, <code><a href="Distribution-Simple.html#v:preInst">preInst</a></code>,- <code><a href="Distribution-Simple.html#v:preReg">preReg</a></code> and <code><a href="Distribution-Simple.html#v:preUnreg">preUnreg</a></code> read additional build information from- <em>package</em><code>.buildinfo</code>, if present.</li></ul><p>Thus <code>configure</code> can use local system information to generate- <em>package</em><code>.buildinfo</code> and possibly other files.</p></div></div><div class="top"><p class="src"><a id="v:emptyUserHooks" class="def">emptyUserHooks</a> :: <a href="Distribution-Simple.html#t:UserHooks">UserHooks</a> <a href="#v:emptyUserHooks" class="selflink">#</a></p><div class="doc"><p>Empty <code><a href="Distribution-Simple.html#t:UserHooks">UserHooks</a></code> which do nothing.</p></div></div><h2 id="g:4">Utils</h2><div class="top"><p class="src"><a id="v:defaultHookedPackageDesc" class="def">defaultHookedPackageDesc</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>) <a href="#v:defaultHookedPackageDesc" class="selflink">#</a></p><div class="doc"><p>Optional auxiliary package information file (<em>pkgname</em><code>.buildinfo</code>)</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,33 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.System</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Duncan Coutts 2007-2008</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.System</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Operating System</a></li><li><a href="#g:2">Machine Architecture</a></li><li><a href="#g:3">Platform is a pair of arch and OS</a></li><li><a href="#g:4">Internal</a></li><li><a href="#g:5">Classification</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Cabal often needs to do slightly different things on specific platforms. You- probably know about the <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-Info.html#v:os">os</a></code> however using that is very- inconvenient because it is a string and different Haskell implementations- do not agree on using the same strings for the same platforms! (In- particular see the controversy over "windows" vs "mingw32"). So to make it- more consistent and easy to use we have an <code><a href="Distribution-System.html#t:OS">OS</a></code> enumeration.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:OS">OS</a><ul class="subs"><li>= <a href="#v:Linux">Linux</a></li><li>| <a href="#v:Windows">Windows</a></li><li>| <a href="#v:OSX">OSX</a></li><li>| <a href="#v:FreeBSD">FreeBSD</a></li><li>| <a href="#v:OpenBSD">OpenBSD</a></li><li>| <a href="#v:NetBSD">NetBSD</a></li><li>| <a href="#v:DragonFly">DragonFly</a></li><li>| <a href="#v:Solaris">Solaris</a></li><li>| <a href="#v:AIX">AIX</a></li><li>| <a href="#v:HPUX">HPUX</a></li><li>| <a href="#v:IRIX">IRIX</a></li><li>| <a href="#v:HaLVM">HaLVM</a></li><li>| <a href="#v:Hurd">Hurd</a></li><li>| <a href="#v:IOS">IOS</a></li><li>| <a href="#v:Android">Android</a></li><li>| <a href="#v:Ghcjs">Ghcjs</a></li><li>| <a href="#v:OtherOS">OtherOS</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><a href="#v:buildOS">buildOS</a> :: <a href="Distribution-System.html#t:OS">OS</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:Arch">Arch</a><ul class="subs"><li>= <a href="#v:I386">I386</a></li><li>| <a href="#v:X86_64">X86_64</a></li><li>| <a href="#v:PPC">PPC</a></li><li>| <a href="#v:PPC64">PPC64</a></li><li>| <a href="#v:Sparc">Sparc</a></li><li>| <a href="#v:Arm">Arm</a></li><li>| <a href="#v:Mips">Mips</a></li><li>| <a href="#v:SH">SH</a></li><li>| <a href="#v:IA64">IA64</a></li><li>| <a href="#v:S390">S390</a></li><li>| <a href="#v:Alpha">Alpha</a></li><li>| <a href="#v:Hppa">Hppa</a></li><li>| <a href="#v:Rs6000">Rs6000</a></li><li>| <a href="#v:M68k">M68k</a></li><li>| <a href="#v:Vax">Vax</a></li><li>| <a href="#v:JavaScript">JavaScript</a></li><li>| <a href="#v:OtherArch">OtherArch</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><a href="#v:buildArch">buildArch</a> :: <a href="Distribution-System.html#t:Arch">Arch</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:Platform">Platform</a> = <a href="#v:Platform">Platform</a> <a href="Distribution-System.html#t:Arch">Arch</a> <a href="Distribution-System.html#t:OS">OS</a></li><li class="src short"><a href="#v:buildPlatform">buildPlatform</a> :: <a href="Distribution-System.html#t:Platform">Platform</a></li><li class="src short"><a href="#v:platformFromTriple">platformFromTriple</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-System.html#t:Platform">Platform</a></li><li class="src short"><a href="#v:knownOSs">knownOSs</a> :: [<a href="Distribution-System.html#t:OS">OS</a>]</li><li class="src short"><a href="#v:knownArches">knownArches</a> :: [<a href="Distribution-System.html#t:Arch">Arch</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:ClassificationStrictness">ClassificationStrictness</a><ul class="subs"><li>= <a href="#v:Permissive">Permissive</a></li><li>| <a href="#v:Compat">Compat</a></li><li>| <a href="#v:Strict">Strict</a></li></ul></li><li class="src short"><a href="#v:classifyOS">classifyOS</a> :: <a href="Distribution-System.html#t:ClassificationStrictness">ClassificationStrictness</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-System.html#t:OS">OS</a></li><li class="src short"><a href="#v:classifyArch">classifyArch</a> :: <a href="Distribution-System.html#t:ClassificationStrictness">ClassificationStrictness</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-System.html#t:Arch">Arch</a></li></ul></div><div id="interface"><h1 id="g:1">Operating System</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:OS" class="def">OS</a> <a href="#t:OS" class="selflink">#</a></p><div class="doc"><p>These are the known OS names: Linux, Windows, OSX- ,FreeBSD, OpenBSD, NetBSD, DragonFly- ,Solaris, AIX, HPUX, IRIX- ,HaLVM ,Hurd ,IOS, Android,Ghcjs</p><p>The following aliases can also be used:,- * Windows aliases: mingw32, win32, cygwin32- * OSX alias: darwin- * Hurd alias: gnu- * FreeBSD alias: kfreebsdgnu- * Solaris alias: solaris2</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Linux" class="def">Linux</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Windows" class="def">Windows</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:OSX" class="def">OSX</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:FreeBSD" class="def">FreeBSD</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:OpenBSD" class="def">OpenBSD</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:NetBSD" class="def">NetBSD</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:DragonFly" class="def">DragonFly</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Solaris" class="def">Solaris</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:AIX" class="def">AIX</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:HPUX" class="def">HPUX</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:IRIX" class="def">IRIX</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:HaLVM" class="def">HaLVM</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Hurd" class="def">Hurd</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:IOS" class="def">IOS</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Android" class="def">Android</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Ghcjs" class="def">Ghcjs</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:OtherOS" class="def">OtherOS</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:OS" class="caption collapser" onclick="toggleSection('i:OS')">Instances</p><div id="section.i:OS" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OS:Eq:1" class="instance expander" onclick="toggleSection('i:id:OS:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-System.html#t:OS">OS</a></span> <a href="#t:OS" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OS:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-System.html#t:OS">OS</a> -> <a href="Distribution-System.html#t:OS">OS</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-System.html#t:OS">OS</a> -> <a href="Distribution-System.html#t:OS">OS</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OS:Data:2" class="instance expander" onclick="toggleSection('i:id:OS:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-System.html#t:OS">OS</a></span> <a href="#t:OS" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OS:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-System.html#t:OS">OS</a> -> c <a href="Distribution-System.html#t:OS">OS</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-System.html#t:OS">OS</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-System.html#t:OS">OS</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-System.html#t:OS">OS</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-System.html#t:OS">OS</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-System.html#t:OS">OS</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-System.html#t:OS">OS</a> -> <a href="Distribution-System.html#t:OS">OS</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-System.html#t:OS">OS</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-System.html#t:OS">OS</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-System.html#t:OS">OS</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-System.html#t:OS">OS</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-System.html#t:OS">OS</a> -> m <a href="Distribution-System.html#t:OS">OS</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-System.html#t:OS">OS</a> -> m <a href="Distribution-System.html#t:OS">OS</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-System.html#t:OS">OS</a> -> m <a href="Distribution-System.html#t:OS">OS</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OS:Ord:3" class="instance expander" onclick="toggleSection('i:id:OS:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-System.html#t:OS">OS</a></span> <a href="#t:OS" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OS:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-System.html#t:OS">OS</a> -> <a href="Distribution-System.html#t:OS">OS</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-System.html#t:OS">OS</a> -> <a href="Distribution-System.html#t:OS">OS</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-System.html#t:OS">OS</a> -> <a href="Distribution-System.html#t:OS">OS</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-System.html#t:OS">OS</a> -> <a href="Distribution-System.html#t:OS">OS</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-System.html#t:OS">OS</a> -> <a href="Distribution-System.html#t:OS">OS</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-System.html#t:OS">OS</a> -> <a href="Distribution-System.html#t:OS">OS</a> -> <a href="Distribution-System.html#t:OS">OS</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-System.html#t:OS">OS</a> -> <a href="Distribution-System.html#t:OS">OS</a> -> <a href="Distribution-System.html#t:OS">OS</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OS:Read:4" class="instance expander" onclick="toggleSection('i:id:OS:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-System.html#t:OS">OS</a></span> <a href="#t:OS" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OS:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-System.html#t:OS">OS</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-System.html#t:OS">OS</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-System.html#t:OS">OS</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-System.html#t:OS">OS</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OS:Show:5" class="instance expander" onclick="toggleSection('i:id:OS:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-System.html#t:OS">OS</a></span> <a href="#t:OS" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OS:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-System.html#t:OS">OS</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-System.html#t:OS">OS</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-System.html#t:OS">OS</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OS:Generic:6" class="instance expander" onclick="toggleSection('i:id:OS:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-System.html#t:OS">OS</a></span> <a href="#t:OS" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OS:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-System.html#t:OS">OS</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-System.html#t:OS">OS</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-System.html#t:OS">OS</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-System.html#t:OS">OS</a> x -> <a href="Distribution-System.html#t:OS">OS</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OS:Binary:7" class="instance expander" onclick="toggleSection('i:id:OS:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-System.html#t:OS">OS</a></span> <a href="#t:OS" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OS:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-System.html#t:OS">OS</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-System.html#t:OS">OS</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-System.html#t:OS">OS</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OS:Text:8" class="instance expander" onclick="toggleSection('i:id:OS:Text:8')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-System.html#t:OS">OS</a></span> <a href="#t:OS" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OS:Text:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-System.html#t:OS">OS</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-System.html#t:OS">OS</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OS:Rep:9" class="instance expander" onclick="toggleSection('i:id:OS:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-System.html#t:OS">OS</a></span> <a href="#t:OS" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OS:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-System.html#t:OS">OS</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "OS" "Distribution.System" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Linux" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Windows" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "OSX" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "FreeBSD" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "OpenBSD" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "NetBSD" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DragonFly" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Solaris" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "AIX" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "HPUX" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "IRIX" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "HaLVM" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Hurd" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "IOS" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Android" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Ghcjs" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "OtherOS" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:buildOS" class="def">buildOS</a> :: <a href="Distribution-System.html#t:OS">OS</a> <a href="#v:buildOS" class="selflink">#</a></p></div><h1 id="g:2">Machine Architecture</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Arch" class="def">Arch</a> <a href="#t:Arch" class="selflink">#</a></p><div class="doc"><p>These are the known Arches: I386, X86_64, PPC, PPC64, Sparc- ,Arm, Mips, SH, IA64, S39, Alpha, Hppa, Rs6000, M68k, Vax- and JavaScript.</p><p>The following aliases can also be used:- * PPC alias: powerpc- * PPC64 alias : powerpc64- * Sparc aliases: sparc64, sun4- * Mips aliases: mipsel, mipseb- * Arm aliases: armeb, armel</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:I386" class="def">I386</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:X86_64" class="def">X86_64</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:PPC" class="def">PPC</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:PPC64" class="def">PPC64</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Sparc" class="def">Sparc</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Arm" class="def">Arm</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Mips" class="def">Mips</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:SH" class="def">SH</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:IA64" class="def">IA64</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:S390" class="def">S390</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Alpha" class="def">Alpha</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Hppa" class="def">Hppa</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Rs6000" class="def">Rs6000</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:M68k" class="def">M68k</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Vax" class="def">Vax</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:JavaScript" class="def">JavaScript</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:OtherArch" class="def">OtherArch</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Arch" class="caption collapser" onclick="toggleSection('i:Arch')">Instances</p><div id="section.i:Arch" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Arch:Eq:1" class="instance expander" onclick="toggleSection('i:id:Arch:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-System.html#t:Arch">Arch</a></span> <a href="#t:Arch" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Arch:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Arch:Data:2" class="instance expander" onclick="toggleSection('i:id:Arch:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-System.html#t:Arch">Arch</a></span> <a href="#t:Arch" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Arch:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-System.html#t:Arch">Arch</a> -> c <a href="Distribution-System.html#t:Arch">Arch</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-System.html#t:Arch">Arch</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-System.html#t:Arch">Arch</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-System.html#t:Arch">Arch</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="Distribution-System.html#t:Arch">Arch</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-System.html#t:Arch">Arch</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-System.html#t:Arch">Arch</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-System.html#t:Arch">Arch</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-System.html#t:Arch">Arch</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-System.html#t:Arch">Arch</a> -> m <a href="Distribution-System.html#t:Arch">Arch</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-System.html#t:Arch">Arch</a> -> m <a href="Distribution-System.html#t:Arch">Arch</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-System.html#t:Arch">Arch</a> -> m <a href="Distribution-System.html#t:Arch">Arch</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Arch:Ord:3" class="instance expander" onclick="toggleSection('i:id:Arch:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-System.html#t:Arch">Arch</a></span> <a href="#t:Arch" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Arch:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="Distribution-System.html#t:Arch">Arch</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="Distribution-System.html#t:Arch">Arch</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Arch:Read:4" class="instance expander" onclick="toggleSection('i:id:Arch:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-System.html#t:Arch">Arch</a></span> <a href="#t:Arch" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Arch:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-System.html#t:Arch">Arch</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-System.html#t:Arch">Arch</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-System.html#t:Arch">Arch</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-System.html#t:Arch">Arch</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Arch:Show:5" class="instance expander" onclick="toggleSection('i:id:Arch:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-System.html#t:Arch">Arch</a></span> <a href="#t:Arch" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Arch:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-System.html#t:Arch">Arch</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Arch:Generic:6" class="instance expander" onclick="toggleSection('i:id:Arch:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-System.html#t:Arch">Arch</a></span> <a href="#t:Arch" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Arch:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-System.html#t:Arch">Arch</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-System.html#t:Arch">Arch</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-System.html#t:Arch">Arch</a> x -> <a href="Distribution-System.html#t:Arch">Arch</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Arch:Binary:7" class="instance expander" onclick="toggleSection('i:id:Arch:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-System.html#t:Arch">Arch</a></span> <a href="#t:Arch" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Arch:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-System.html#t:Arch">Arch</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-System.html#t:Arch">Arch</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Arch:Text:8" class="instance expander" onclick="toggleSection('i:id:Arch:Text:8')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-System.html#t:Arch">Arch</a></span> <a href="#t:Arch" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Arch:Text:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-System.html#t:Arch">Arch</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Arch:Rep:9" class="instance expander" onclick="toggleSection('i:id:Arch:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-System.html#t:Arch">Arch</a></span> <a href="#t:Arch" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Arch:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-System.html#t:Arch">Arch</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Arch" "Distribution.System" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "I386" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "X86_64" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PPC" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PPC64" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Sparc" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Arm" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Mips" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "SH" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "IA64" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "S390" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Alpha" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Hppa" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Rs6000" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "M68k" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Vax" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "JavaScript" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "OtherArch" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:buildArch" class="def">buildArch</a> :: <a href="Distribution-System.html#t:Arch">Arch</a> <a href="#v:buildArch" class="selflink">#</a></p></div><h1 id="g:3">Platform is a pair of arch and OS</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Platform" class="def">Platform</a> <a href="#t:Platform" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Platform" class="def">Platform</a> <a href="Distribution-System.html#t:Arch">Arch</a> <a href="Distribution-System.html#t:OS">OS</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Platform" class="caption collapser" onclick="toggleSection('i:Platform')">Instances</p><div id="section.i:Platform" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Platform:Eq:1" class="instance expander" onclick="toggleSection('i:id:Platform:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-System.html#t:Platform">Platform</a></span> <a href="#t:Platform" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Platform:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Platform:Data:2" class="instance expander" onclick="toggleSection('i:id:Platform:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-System.html#t:Platform">Platform</a></span> <a href="#t:Platform" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Platform:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-System.html#t:Platform">Platform</a> -> c <a href="Distribution-System.html#t:Platform">Platform</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-System.html#t:Platform">Platform</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-System.html#t:Platform">Platform</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-System.html#t:Platform">Platform</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-System.html#t:Platform">Platform</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-System.html#t:Platform">Platform</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-System.html#t:Platform">Platform</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-System.html#t:Platform">Platform</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-System.html#t:Platform">Platform</a> -> m <a href="Distribution-System.html#t:Platform">Platform</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-System.html#t:Platform">Platform</a> -> m <a href="Distribution-System.html#t:Platform">Platform</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-System.html#t:Platform">Platform</a> -> m <a href="Distribution-System.html#t:Platform">Platform</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Platform:Ord:3" class="instance expander" onclick="toggleSection('i:id:Platform:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-System.html#t:Platform">Platform</a></span> <a href="#t:Platform" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Platform:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Platform:Read:4" class="instance expander" onclick="toggleSection('i:id:Platform:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-System.html#t:Platform">Platform</a></span> <a href="#t:Platform" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Platform:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-System.html#t:Platform">Platform</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-System.html#t:Platform">Platform</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-System.html#t:Platform">Platform</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-System.html#t:Platform">Platform</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Platform:Show:5" class="instance expander" onclick="toggleSection('i:id:Platform:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-System.html#t:Platform">Platform</a></span> <a href="#t:Platform" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Platform:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-System.html#t:Platform">Platform</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Platform:Generic:6" class="instance expander" onclick="toggleSection('i:id:Platform:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-System.html#t:Platform">Platform</a></span> <a href="#t:Platform" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Platform:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-System.html#t:Platform">Platform</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-System.html#t:Platform">Platform</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-System.html#t:Platform">Platform</a> x -> <a href="Distribution-System.html#t:Platform">Platform</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Platform:Binary:7" class="instance expander" onclick="toggleSection('i:id:Platform:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-System.html#t:Platform">Platform</a></span> <a href="#t:Platform" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Platform:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-System.html#t:Platform">Platform</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-System.html#t:Platform">Platform</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Platform:Text:8" class="instance expander" onclick="toggleSection('i:id:Platform:Text:8')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-System.html#t:Platform">Platform</a></span> <a href="#t:Platform" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Platform:Text:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-System.html#t:Platform">Platform</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Platform:Rep:9" class="instance expander" onclick="toggleSection('i:id:Platform:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-System.html#t:Platform">Platform</a></span> <a href="#t:Platform" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Platform:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-System.html#t:Platform">Platform</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Platform" "Distribution.System" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Platform" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-System.html#t:Arch">Arch</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-System.html#t:OS">OS</a>))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:buildPlatform" class="def">buildPlatform</a> :: <a href="Distribution-System.html#t:Platform">Platform</a> <a href="#v:buildPlatform" class="selflink">#</a></p><div class="doc"><p>The platform Cabal was compiled on. In most cases,- <code>LocalBuildInfo.hostPlatform</code> should be used instead (the platform we're- targeting).</p></div></div><div class="top"><p class="src"><a id="v:platformFromTriple" class="def">platformFromTriple</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-System.html#t:Platform">Platform</a> <a href="#v:platformFromTriple" class="selflink">#</a></p></div><h1 id="g:4">Internal</h1><div class="top"><p class="src"><a id="v:knownOSs" class="def">knownOSs</a> :: [<a href="Distribution-System.html#t:OS">OS</a>] <a href="#v:knownOSs" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:knownArches" class="def">knownArches</a> :: [<a href="Distribution-System.html#t:Arch">Arch</a>] <a href="#v:knownArches" class="selflink">#</a></p></div><h1 id="g:5">Classification</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ClassificationStrictness" class="def">ClassificationStrictness</a> <a href="#t:ClassificationStrictness" class="selflink">#</a></p><div class="doc"><p>How strict to be when classifying strings into the <code><a href="Distribution-System.html#t:OS">OS</a></code> and <code><a href="Distribution-System.html#t:Arch">Arch</a></code> enums.</p><p>The reason we have multiple ways to do the classification is because there- are two situations where we need to do it.</p><p>For parsing OS and arch names in .cabal files we really want everyone to be- referring to the same or or arch by the same name. Variety is not a virtue- in this case. We don't mind about case though.</p><p>For the System.Info.os/arch different Haskell implementations use different- names for the same or/arch. Also they tend to distinguish versions of an- OS/arch which we just don't care about.</p><p>The <code><a href="Distribution-System.html#v:Compat">Compat</a></code> classification allows us to recognise aliases that are already- in common use but it allows us to distinguish them from the canonical name- which enables us to warn about such deprecated aliases.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Permissive" class="def">Permissive</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Compat" class="def">Compat</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Strict" class="def">Strict</a></td><td class="doc empty"> </td></tr></table></div></div><div class="top"><p class="src"><a id="v:classifyOS" class="def">classifyOS</a> :: <a href="Distribution-System.html#t:ClassificationStrictness">ClassificationStrictness</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-System.html#t:OS">OS</a> <a href="#v:classifyOS" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:classifyArch" class="def">classifyArch</a> :: <a href="Distribution-System.html#t:ClassificationStrictness">ClassificationStrictness</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-System.html#t:Arch">Arch</a> <a href="#v:classifyArch" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,19 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.TestSuite</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Thomas Tuegel 2010</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.TestSuite</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module defines the detailed test suite interface which makes it- possible to expose individual tests to Cabal or other test agents.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:TestInstance">TestInstance</a> = <a href="#v:TestInstance">TestInstance</a> {<ul class="subs"><li><a href="#v:run">run</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-TestSuite.html#t:Progress">Progress</a></li><li><a href="#v:name">name</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:tags">tags</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:options">options</a> :: [<a href="Distribution-TestSuite.html#t:OptionDescr">OptionDescr</a>]</li><li><a href="#v:setOption">setOption</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="Distribution-TestSuite.html#t:TestInstance">TestInstance</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:OptionDescr">OptionDescr</a> = <a href="#v:OptionDescr">OptionDescr</a> {<ul class="subs"><li><a href="#v:optionName">optionName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:optionDescription">optionDescription</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:optionType">optionType</a> :: <a href="Distribution-TestSuite.html#t:OptionType">OptionType</a></li><li><a href="#v:optionDefault">optionDefault</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:OptionType">OptionType</a><ul class="subs"><li>= <a href="#v:OptionFile">OptionFile</a> { <ul class="subs"><li><a href="#v:optionFileMustExist">optionFileMustExist</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:optionFileIsDir">optionFileIsDir</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:optionFileExtensions">optionFileExtensions</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li></ul> }</li><li>| <a href="#v:OptionString">OptionString</a> { <ul class="subs"><li><a href="#v:optionStringMultiline">optionStringMultiline</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul> }</li><li>| <a href="#v:OptionNumber">OptionNumber</a> { <ul class="subs"><li><a href="#v:optionNumberIsInt">optionNumberIsInt</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:optionNumberBounds">optionNumberBounds</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)</li></ul> }</li><li>| <a href="#v:OptionBool">OptionBool</a></li><li>| <a href="#v:OptionEnum">OptionEnum</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li>| <a href="#v:OptionSet">OptionSet</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li>| <a href="#v:OptionRngSeed">OptionRngSeed</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:Test">Test</a><ul class="subs"><li>= <a href="#v:Test">Test</a> <a href="Distribution-TestSuite.html#t:TestInstance">TestInstance</a></li><li>| <a href="#v:Group">Group</a> { <ul class="subs"><li><a href="#v:groupName">groupName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:concurrently">concurrently</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:groupTests">groupTests</a> :: [<a href="Distribution-TestSuite.html#t:Test">Test</a>]</li></ul> }</li><li>| <a href="#v:ExtraOptions">ExtraOptions</a> [<a href="Distribution-TestSuite.html#t:OptionDescr">OptionDescr</a>] <a href="Distribution-TestSuite.html#t:Test">Test</a></li></ul></li><li class="src short"><span class="keyword">type</span> <a href="#t:Options">Options</a> = [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</li><li class="src short"><span class="keyword">data</span> <a href="#t:Progress">Progress</a><ul class="subs"><li>= <a href="#v:Finished">Finished</a> <a href="Distribution-TestSuite.html#t:Result">Result</a></li><li>| <a href="#v:Progress">Progress</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-TestSuite.html#t:Progress">Progress</a>)</li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:Result">Result</a><ul class="subs"><li>= <a href="#v:Pass">Pass</a></li><li>| <a href="#v:Fail">Fail</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li>| <a href="#v:Error">Error</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><a href="#v:testGroup">testGroup</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> [<a href="Distribution-TestSuite.html#t:Test">Test</a>] -> <a href="Distribution-TestSuite.html#t:Test">Test</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:TestInstance" class="def">TestInstance</a> <a href="#t:TestInstance" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:TestInstance" class="def">TestInstance</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:run" class="def">run</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-TestSuite.html#t:Progress">Progress</a></dfn><div class="doc"><p>Perform the test.</p></div></li><li><dfn class="src"><a id="v:name" class="def">name</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>A name for the test, unique within a- test suite.</p></div></li><li><dfn class="src"><a id="v:tags" class="def">tags</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc"><p>Users can select groups of tests by- their tags.</p></div></li><li><dfn class="src"><a id="v:options" class="def">options</a> :: [<a href="Distribution-TestSuite.html#t:OptionDescr">OptionDescr</a>]</dfn><div class="doc"><p>Descriptions of the options recognized- by this test.</p></div></li><li><dfn class="src"><a id="v:setOption" class="def">setOption</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="Distribution-TestSuite.html#t:TestInstance">TestInstance</a></dfn><div class="doc"><p>Try to set the named option to the given value. Returns an error- message if the option is not supported or the value could not be- correctly parsed; otherwise, a <code><a href="Distribution-TestSuite.html#t:TestInstance">TestInstance</a></code> with the option set to- the given value is returned.</p></div></li></ul></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:OptionDescr" class="def">OptionDescr</a> <a href="#t:OptionDescr" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:OptionDescr" class="def">OptionDescr</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:optionName" class="def">optionName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:optionDescription" class="def">optionDescription</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>A human-readable description of the- option to guide the user setting it.</p></div></li><li><dfn class="src"><a id="v:optionType" class="def">optionType</a> :: <a href="Distribution-TestSuite.html#t:OptionType">OptionType</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:optionDefault" class="def">optionDefault</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:OptionDescr" class="caption collapser" onclick="toggleSection('i:OptionDescr')">Instances</p><div id="section.i:OptionDescr" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OptionDescr:Eq:1" class="instance expander" onclick="toggleSection('i:id:OptionDescr:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-TestSuite.html#t:OptionDescr">OptionDescr</a></span> <a href="#t:OptionDescr" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OptionDescr:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-TestSuite.html#t:OptionDescr">OptionDescr</a> -> <a href="Distribution-TestSuite.html#t:OptionDescr">OptionDescr</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-TestSuite.html#t:OptionDescr">OptionDescr</a> -> <a href="Distribution-TestSuite.html#t:OptionDescr">OptionDescr</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OptionDescr:Read:2" class="instance expander" onclick="toggleSection('i:id:OptionDescr:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-TestSuite.html#t:OptionDescr">OptionDescr</a></span> <a href="#t:OptionDescr" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OptionDescr:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-TestSuite.html#t:OptionDescr">OptionDescr</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-TestSuite.html#t:OptionDescr">OptionDescr</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-TestSuite.html#t:OptionDescr">OptionDescr</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-TestSuite.html#t:OptionDescr">OptionDescr</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OptionDescr:Show:3" class="instance expander" onclick="toggleSection('i:id:OptionDescr:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-TestSuite.html#t:OptionDescr">OptionDescr</a></span> <a href="#t:OptionDescr" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OptionDescr:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-TestSuite.html#t:OptionDescr">OptionDescr</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-TestSuite.html#t:OptionDescr">OptionDescr</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-TestSuite.html#t:OptionDescr">OptionDescr</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:OptionType" class="def">OptionType</a> <a href="#t:OptionType" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:OptionFile" class="def">OptionFile</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:optionFileMustExist" class="def">optionFileMustExist</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:optionFileIsDir" class="def">optionFileIsDir</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:optionFileExtensions" class="def">optionFileExtensions</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc empty"> </div></li></ul></div></td></tr><tr><td class="src"><a id="v:OptionString" class="def">OptionString</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:optionStringMultiline" class="def">optionStringMultiline</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr><tr><td class="src"><a id="v:OptionNumber" class="def">OptionNumber</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:optionNumberIsInt" class="def">optionNumberIsInt</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:optionNumberBounds" class="def">optionNumberBounds</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)</dfn><div class="doc empty"> </div></li></ul></div></td></tr><tr><td class="src"><a id="v:OptionBool" class="def">OptionBool</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:OptionEnum" class="def">OptionEnum</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:OptionSet" class="def">OptionSet</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:OptionRngSeed" class="def">OptionRngSeed</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:OptionType" class="caption collapser" onclick="toggleSection('i:OptionType')">Instances</p><div id="section.i:OptionType" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OptionType:Eq:1" class="instance expander" onclick="toggleSection('i:id:OptionType:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-TestSuite.html#t:OptionType">OptionType</a></span> <a href="#t:OptionType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OptionType:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-TestSuite.html#t:OptionType">OptionType</a> -> <a href="Distribution-TestSuite.html#t:OptionType">OptionType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-TestSuite.html#t:OptionType">OptionType</a> -> <a href="Distribution-TestSuite.html#t:OptionType">OptionType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OptionType:Read:2" class="instance expander" onclick="toggleSection('i:id:OptionType:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-TestSuite.html#t:OptionType">OptionType</a></span> <a href="#t:OptionType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OptionType:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-TestSuite.html#t:OptionType">OptionType</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-TestSuite.html#t:OptionType">OptionType</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-TestSuite.html#t:OptionType">OptionType</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-TestSuite.html#t:OptionType">OptionType</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:OptionType:Show:3" class="instance expander" onclick="toggleSection('i:id:OptionType:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-TestSuite.html#t:OptionType">OptionType</a></span> <a href="#t:OptionType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:OptionType:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-TestSuite.html#t:OptionType">OptionType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-TestSuite.html#t:OptionType">OptionType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-TestSuite.html#t:OptionType">OptionType</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Test" class="def">Test</a> <a href="#t:Test" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Test" class="def">Test</a> <a href="Distribution-TestSuite.html#t:TestInstance">TestInstance</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Group" class="def">Group</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:groupName" class="def">groupName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:concurrently" class="def">concurrently</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>If true, then children of this group may be run in parallel.- Note that this setting is not inherited by children. In- particular, consider a group F with "concurrently = False" that- has some children, including a group T with "concurrently =- True". The children of group T may be run concurrently with each- other, as long as none are run at the same time as any of the- direct children of group F.</p></div></li><li><dfn class="src"><a id="v:groupTests" class="def">groupTests</a> :: [<a href="Distribution-TestSuite.html#t:Test">Test</a>]</dfn><div class="doc empty"> </div></li></ul></div></td></tr><tr><td class="src"><a id="v:ExtraOptions" class="def">ExtraOptions</a> [<a href="Distribution-TestSuite.html#t:OptionDescr">OptionDescr</a>] <a href="Distribution-TestSuite.html#t:Test">Test</a></td><td class="doc empty"> </td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:Options" class="def">Options</a> = [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)] <a href="#t:Options" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Progress" class="def">Progress</a> <a href="#t:Progress" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Finished" class="def">Finished</a> <a href="Distribution-TestSuite.html#t:Result">Result</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Progress" class="def">Progress</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> <a href="Distribution-TestSuite.html#t:Progress">Progress</a>)</td><td class="doc empty"> </td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Result" class="def">Result</a> <a href="#t:Result" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Pass" class="def">Pass</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Fail" class="def">Fail</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Error" class="def">Error</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Result" class="caption collapser" onclick="toggleSection('i:Result')">Instances</p><div id="section.i:Result" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Result:Eq:1" class="instance expander" onclick="toggleSection('i:id:Result:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-TestSuite.html#t:Result">Result</a></span> <a href="#t:Result" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Result:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-TestSuite.html#t:Result">Result</a> -> <a href="Distribution-TestSuite.html#t:Result">Result</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-TestSuite.html#t:Result">Result</a> -> <a href="Distribution-TestSuite.html#t:Result">Result</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Result:Read:2" class="instance expander" onclick="toggleSection('i:id:Result:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-TestSuite.html#t:Result">Result</a></span> <a href="#t:Result" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Result:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-TestSuite.html#t:Result">Result</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-TestSuite.html#t:Result">Result</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-TestSuite.html#t:Result">Result</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-TestSuite.html#t:Result">Result</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Result:Show:3" class="instance expander" onclick="toggleSection('i:id:Result:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-TestSuite.html#t:Result">Result</a></span> <a href="#t:Result" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Result:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-TestSuite.html#t:Result">Result</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-TestSuite.html#t:Result">Result</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-TestSuite.html#t:Result">Result</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:testGroup" class="def">testGroup</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> [<a href="Distribution-TestSuite.html#t:Test">Test</a>] -> <a href="Distribution-TestSuite.html#t:Test">Test</a> <a href="#v:testGroup" class="selflink">#</a></p><div class="doc"><p>Create a named group of tests, which are assumed to be safe to run in- parallel.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,10 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Text</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Duncan Coutts 2007</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Text</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This defines a <code><a href="Distribution-Text.html#t:Text">Text</a></code> class which is a bit like the <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a></code> and <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a></code>- classes. The difference is that is uses a modern pretty printer and parser- system and the format is not expected to be Haskell concrete syntax but- rather the external human readable representation used by Cabal.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">class</span> <a href="#t:Text">Text</a> a <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><a href="#v:defaultStyle">defaultStyle</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint-Annotated.html#t:Style">Style</a></li><li class="src short"><a href="#v:display">display</a> :: <a href="Distribution-Text.html#t:Text">Text</a> a => a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:flatStyle">flatStyle</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint-Annotated.html#t:Style">Style</a></li><li class="src short"><a href="#v:simpleParse">simpleParse</a> :: <a href="Distribution-Text.html#t:Text">Text</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:stdParse">stdParse</a> :: <a href="Distribution-Text.html#t:Text">Text</a> ver => (ver -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> res) -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r res</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:Text" class="def">Text</a> a <span class="keyword">where</span> <a href="#t:Text" class="selflink">#</a></p><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Distribution-Text.html#v:disp">disp</a>, <a href="Distribution-Text.html#v:parse">parse</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:disp" class="def">disp</a> :: a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a id="v:parse" class="def">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r a <a href="#v:parse" class="selflink">#</a></p></div><div class="subs instances"><p id="control.i:Text" class="caption collapser" onclick="toggleSection('i:Text')">Instances</p><div id="section.i:Text" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:1" class="instance expander" onclick="toggleSection('i:ic:Text:Text:1')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:2" class="instance expander" onclick="toggleSection('i:ic:Text:Text:2')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:3" class="instance expander" onclick="toggleSection('i:ic:Text:Text:3')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Version.html#t:Version">Version</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Version.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Version.html#t:Version">Version</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:4" class="instance expander" onclick="toggleSection('i:ic:Text:Text:4')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-System.html#t:Platform">Platform</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-System.html#t:Platform">Platform</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-System.html#t:Platform">Platform</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:5" class="instance expander" onclick="toggleSection('i:ic:Text:Text:5')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-System.html#t:Arch">Arch</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-System.html#t:Arch">Arch</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-System.html#t:Arch">Arch</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:6" class="instance expander" onclick="toggleSection('i:ic:Text:Text:6')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-System.html#t:OS">OS</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-System.html#t:OS">OS</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-System.html#t:OS">OS</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:7" class="instance expander" onclick="toggleSection('i:ic:Text:Text:7')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:8" class="instance expander" onclick="toggleSection('i:ic:Text:Text:8')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:9" class="instance expander" onclick="toggleSection('i:ic:Text:Text:9')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:10" class="instance expander" onclick="toggleSection('i:ic:Text:Text:10')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:11" class="instance expander" onclick="toggleSection('i:ic:Text:Text:11')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:11" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:12" class="instance expander" onclick="toggleSection('i:ic:Text:Text:12')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:12" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:13" class="instance expander" onclick="toggleSection('i:ic:Text:Text:13')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:13" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:14" class="instance expander" onclick="toggleSection('i:ic:Text:Text:14')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:14" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:15" class="instance expander" onclick="toggleSection('i:ic:Text:Text:15')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:15" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:16" class="instance expander" onclick="toggleSection('i:ic:Text:Text:16')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:16" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:17" class="instance expander" onclick="toggleSection('i:ic:Text:Text:17')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:17" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:18" class="instance expander" onclick="toggleSection('i:ic:Text:Text:18')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:18" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:19" class="instance expander" onclick="toggleSection('i:ic:Text:Text:19')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:19" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:20" class="instance expander" onclick="toggleSection('i:ic:Text:Text:20')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Version.html#t:Version">Version</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:20" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:21" class="instance expander" onclick="toggleSection('i:ic:Text:Text:21')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:21" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:22" class="instance expander" onclick="toggleSection('i:ic:Text:Text:22')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:22" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:23" class="instance expander" onclick="toggleSection('i:ic:Text:Text:23')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:23" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:24" class="instance expander" onclick="toggleSection('i:ic:Text:Text:24')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-License.html#t:License">License</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:24" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-License.html#t:License">License</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-License.html#t:License">License</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:25" class="instance expander" onclick="toggleSection('i:ic:Text:Text:25')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:25" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:26" class="instance expander" onclick="toggleSection('i:ic:Text:Text:26')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:26" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:27" class="instance expander" onclick="toggleSection('i:ic:Text:Text:27')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:27" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Language-Haskell-Extension.html#t:Language">Language</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:28" class="instance expander" onclick="toggleSection('i:ic:Text:Text:28')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:28" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Compiler.html#t:AbiTag">AbiTag</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:29" class="instance expander" onclick="toggleSection('i:ic:Text:Text:29')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:29" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Compiler.html#t:CompilerId">CompilerId</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:30" class="instance expander" onclick="toggleSection('i:ic:Text:Text:30')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:30" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:31" class="instance expander" onclick="toggleSection('i:ic:Text:Text:31')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:31" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:32" class="instance expander" onclick="toggleSection('i:ic:Text:Text:32')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:32" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:33" class="instance expander" onclick="toggleSection('i:ic:Text:Text:33')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:33" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:34" class="instance expander" onclick="toggleSection('i:ic:Text:Text:34')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:34" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:35" class="instance expander" onclick="toggleSection('i:ic:Text:Text:35')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:35" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:36" class="instance expander" onclick="toggleSection('i:ic:Text:Text:36')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc"><p>The textual format for <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> coincides with the format- GHC accepts for <code>-package-id</code>.</p></td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:36" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:37" class="instance expander" onclick="toggleSection('i:ic:Text:Text:37')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-Module.html#t:Module">Module</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:37" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-Module.html#t:Module">Module</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:38" class="instance expander" onclick="toggleSection('i:ic:Text:Text:38')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:38" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:39" class="instance expander" onclick="toggleSection('i:ic:Text:Text:39')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:39" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:40" class="instance expander" onclick="toggleSection('i:ic:Text:Text:40')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:40" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:41" class="instance expander" onclick="toggleSection('i:ic:Text:Text:41')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:41" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:42" class="instance expander" onclick="toggleSection('i:ic:Text:Text:42')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:42" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:43" class="instance expander" onclick="toggleSection('i:ic:Text:Text:43')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:43" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:44" class="instance expander" onclick="toggleSection('i:ic:Text:Text:44')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:44" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:45" class="instance expander" onclick="toggleSection('i:ic:Text:Text:45')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:45" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:46" class="instance expander" onclick="toggleSection('i:ic:Text:Text:46')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:46" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:47" class="instance expander" onclick="toggleSection('i:ic:Text:Text:47')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:47" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:48" class="instance expander" onclick="toggleSection('i:ic:Text:Text:48')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:48" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">AbiDependency</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:49" class="instance expander" onclick="toggleSection('i:ic:Text:Text:49')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:49" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:50" class="instance expander" onclick="toggleSection('i:ic:Text:Text:50')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:50" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Simple-Setup.html#t:TestShowDetails">TestShowDetails</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Text:Text:51" class="instance expander" onclick="toggleSection('i:ic:Text:Text:51')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a></span> <a href="#t:Text" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:ic:Text:Text:51" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Simple-Setup.html#t:RelaxedDep">RelaxedDep</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:defaultStyle" class="def">defaultStyle</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint-Annotated.html#t:Style">Style</a> <a href="#v:defaultStyle" class="selflink">#</a></p><div class="doc"><p>The default rendering style used in Cabal for console- output. It has a fixed page width and adds line breaks- automatically.</p></div></div><div class="top"><p class="src"><a id="v:display" class="def">display</a> :: <a href="Distribution-Text.html#t:Text">Text</a> a => a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:display" class="selflink">#</a></p><div class="doc"><p>Pretty-prints with the default style.</p></div></div><div class="top"><p class="src"><a id="v:flatStyle" class="def">flatStyle</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint-Annotated.html#t:Style">Style</a> <a href="#v:flatStyle" class="selflink">#</a></p><div class="doc"><p>A style for rendering all on one line.</p></div></div><div class="top"><p class="src"><a id="v:simpleParse" class="def">simpleParse</a> :: <a href="Distribution-Text.html#t:Text">Text</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="#v:simpleParse" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:stdParse" class="def">stdParse</a> :: <a href="Distribution-Text.html#t:Text">Text</a> ver => (ver -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> res) -> <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r res <a href="#v:stdParse" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,6 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.AbiHash</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.AbiHash</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:AbiHash">AbiHash</a></li><li class="src short"><a href="#v:unAbiHash">unAbiHash</a> :: <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:mkAbiHash">mkAbiHash</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:AbiHash" class="def">AbiHash</a> <a href="#t:AbiHash" class="selflink">#</a></p><div class="doc"><p>ABI Hashes</p><p>Use <code><a href="Distribution-Types-AbiHash.html#v:mkAbiHash">mkAbiHash</a></code> and <code><a href="Distribution-Types-AbiHash.html#v:unAbiHash">unAbiHash</a></code> to convert from/to a- <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code>.</p><p>This type is opaque since <code>Cabal-2.0</code></p><p><em>Since: 2.0.0.2</em></p></div><div class="subs instances"><p id="control.i:AbiHash" class="caption collapser" onclick="toggleSection('i:AbiHash')">Instances</p><div id="section.i:AbiHash" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AbiHash:Eq:1" class="instance expander" onclick="toggleSection('i:id:AbiHash:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a></span> <a href="#t:AbiHash" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AbiHash:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> -> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> -> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AbiHash:Read:2" class="instance expander" onclick="toggleSection('i:id:AbiHash:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a></span> <a href="#t:AbiHash" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AbiHash:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AbiHash:Show:3" class="instance expander" onclick="toggleSection('i:id:AbiHash:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a></span> <a href="#t:AbiHash" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AbiHash:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AbiHash:IsString:4" class="instance expander" onclick="toggleSection('i:id:AbiHash:IsString:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:IsString">IsString</a> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a></span> <a href="#t:AbiHash" class="selflink">#</a></td><td class="doc"><p><code><a href="Distribution-Types-AbiHash.html#v:mkAbiHash">mkAbiHash</a></code></p><p><em>Since: 2.0.0.2</em></p></td></tr><tr><td colspan="2"><div id="section.i:id:AbiHash:IsString:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fromString">fromString</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> <a href="#v:fromString" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AbiHash:Generic:5" class="instance expander" onclick="toggleSection('i:id:AbiHash:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a></span> <a href="#t:AbiHash" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AbiHash:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> x -> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AbiHash:Binary:6" class="instance expander" onclick="toggleSection('i:id:AbiHash:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a></span> <a href="#t:AbiHash" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AbiHash:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AbiHash:Text:7" class="instance expander" onclick="toggleSection('i:id:AbiHash:Text:7')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a></span> <a href="#t:AbiHash" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AbiHash:Text:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AbiHash:Rep:8" class="instance expander" onclick="toggleSection('i:id:AbiHash:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a></span> <a href="#t:AbiHash" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AbiHash:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "AbiHash" "Distribution.Types.AbiHash" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "AbiHash" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a>)))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:unAbiHash" class="def">unAbiHash</a> :: <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:unAbiHash" class="selflink">#</a></p><div class="doc"><p>Construct a <code><a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a></code> from a <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code></p><p><code><a href="Distribution-Types-AbiHash.html#v:mkAbiHash">mkAbiHash</a></code> is the inverse to <code><a href="Distribution-Types-AbiHash.html#v:unAbiHash">unAbiHash</a></code></p><p>Note: No validations are performed to ensure that the resulting- <code><a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a></code> is valid</p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:mkAbiHash" class="def">mkAbiHash</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a> <a href="#v:mkAbiHash" class="selflink">#</a></p><div class="doc"><p>Convert <code><a href="Distribution-Types-AbiHash.html#t:AbiHash">AbiHash</a></code> to <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code></p><p><em>Since: 2.0.0.2</em></p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,6 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.AnnotatedId</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.AnnotatedId</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:AnnotatedId">AnnotatedId</a> id = <a href="#v:AnnotatedId">AnnotatedId</a> {<ul class="subs"><li><a href="#v:ann_pid">ann_pid</a> :: <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a></li><li><a href="#v:ann_cname">ann_cname</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></li><li><a href="#v:ann_id">ann_id</a> :: id</li></ul>}</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:AnnotatedId" class="def">AnnotatedId</a> id <a href="#t:AnnotatedId" class="selflink">#</a></p><div class="doc"><p>An <code><a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a></code> is a <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code>, <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code>, etc.- which is annotated with some other useful information- that is useful for printing to users, etc.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:AnnotatedId" class="def">AnnotatedId</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:ann_pid" class="def">ann_pid</a> :: <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:ann_cname" class="def">ann_cname</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:ann_id" class="def">ann_id</a> :: id</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:AnnotatedId" class="caption collapser" onclick="toggleSection('i:AnnotatedId')">Instances</p><div id="section.i:AnnotatedId" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AnnotatedId:Functor:1" class="instance expander" onclick="toggleSection('i:id:AnnotatedId:Functor:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor.html#t:Functor">Functor</a> <a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a></span> <a href="#t:AnnotatedId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AnnotatedId:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -> b) -> <a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> a -> <a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(<$)</a> :: a -> <a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> b -> <a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AnnotatedId:Show:2" class="instance expander" onclick="toggleSection('i:id:AnnotatedId:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> id => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> id)</span> <a href="#t:AnnotatedId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AnnotatedId:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> id -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> id -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> id] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:AnnotatedId:Package:3" class="instance expander" onclick="toggleSection('i:id:AnnotatedId:Package:3')"></span> <a href="Distribution-Package.html#t:Package">Package</a> (<a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> id)</span> <a href="#t:AnnotatedId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:AnnotatedId:Package:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:packageId">packageId</a> :: <a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> id -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:packageId" class="selflink">#</a></p></div></div></td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,5 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.Benchmark</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.Benchmark</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:Benchmark">Benchmark</a> = <a href="#v:Benchmark">Benchmark</a> {<ul class="subs"><li><a href="#v:benchmarkName">benchmarkName</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li><a href="#v:benchmarkInterface">benchmarkInterface</a> :: <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a></li><li><a href="#v:benchmarkBuildInfo">benchmarkBuildInfo</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></li></ul>}</li><li class="src short"><a href="#v:emptyBenchmark">emptyBenchmark</a> :: <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a></li><li class="src short"><a href="#v:benchmarkType">benchmarkType</a> :: <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a></li><li class="src short"><a href="#v:benchmarkModules">benchmarkModules</a> :: <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li class="src short"><a href="#v:benchmarkModulesAutogen">benchmarkModulesAutogen</a> :: <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Benchmark" class="def">Benchmark</a> <a href="#t:Benchmark" class="selflink">#</a></p><div class="doc"><p>A "benchmark" stanza in a cabal file.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Benchmark" class="def">Benchmark</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:benchmarkName" class="def">benchmarkName</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:benchmarkInterface" class="def">benchmarkInterface</a> :: <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:benchmarkBuildInfo" class="def">benchmarkBuildInfo</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:Benchmark" class="caption collapser" onclick="toggleSection('i:Benchmark')">Instances</p><div id="section.i:Benchmark" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Benchmark:Eq:1" class="instance expander" onclick="toggleSection('i:id:Benchmark:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a></span> <a href="#t:Benchmark" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Benchmark:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Benchmark:Data:2" class="instance expander" onclick="toggleSection('i:id:Benchmark:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a></span> <a href="#t:Benchmark" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Benchmark:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> c <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> m <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> m <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> m <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Benchmark:Read:3" class="instance expander" onclick="toggleSection('i:id:Benchmark:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a></span> <a href="#t:Benchmark" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Benchmark:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Benchmark:Show:4" class="instance expander" onclick="toggleSection('i:id:Benchmark:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a></span> <a href="#t:Benchmark" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Benchmark:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Benchmark:Generic:5" class="instance expander" onclick="toggleSection('i:id:Benchmark:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a></span> <a href="#t:Benchmark" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Benchmark:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> x -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Benchmark:Semigroup:6" class="instance expander" onclick="toggleSection('i:id:Benchmark:Semigroup:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a></span> <a href="#t:Benchmark" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Benchmark:Semigroup:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Benchmark:Monoid:7" class="instance expander" onclick="toggleSection('i:id:Benchmark:Monoid:7')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a></span> <a href="#t:Benchmark" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Benchmark:Monoid:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a>] -> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Benchmark:Binary:8" class="instance expander" onclick="toggleSection('i:id:Benchmark:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a></span> <a href="#t:Benchmark" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Benchmark:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Benchmark:Rep:9" class="instance expander" onclick="toggleSection('i:id:Benchmark:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a></span> <a href="#t:Benchmark" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Benchmark:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Benchmark" "Distribution.Types.Benchmark" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Benchmark" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "benchmarkName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "benchmarkInterface") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "benchmarkBuildInfo") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyBenchmark" class="def">emptyBenchmark</a> :: <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> <a href="#v:emptyBenchmark" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:benchmarkType" class="def">benchmarkType</a> :: <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:benchmarkType" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:benchmarkModules" class="def">benchmarkModules</a> :: <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] <a href="#v:benchmarkModules" class="selflink">#</a></p><div class="doc"><p>Get all the module names from a benchmark.</p></div></div><div class="top"><p class="src"><a id="v:benchmarkModulesAutogen" class="def">benchmarkModulesAutogen</a> :: <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] <a href="#v:benchmarkModulesAutogen" class="selflink">#</a></p><div class="doc"><p>Get all the auto generated module names from a benchmark.- This are a subset of <code><a href="Distribution-Types-Benchmark.html#v:benchmarkModules">benchmarkModules</a></code>.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,11 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.BenchmarkInterface</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.BenchmarkInterface</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:BenchmarkInterface">BenchmarkInterface</a><ul class="subs"><li>= <a href="#v:BenchmarkExeV10">BenchmarkExeV10</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li>| <a href="#v:BenchmarkUnsupported">BenchmarkUnsupported</a> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a></li></ul></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:BenchmarkInterface" class="def">BenchmarkInterface</a> <a href="#t:BenchmarkInterface" class="selflink">#</a></p><div class="doc"><p>The benchmark interfaces that are currently defined. Each- benchmark must specify which interface it supports.</p><p>More interfaces may be defined in future, either new revisions or- totally new interfaces.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:BenchmarkExeV10" class="def">BenchmarkExeV10</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Benchmark interface "exitcode-stdio-1.0". The benchmark- takes the form of an executable. It returns a zero exit code- for success, non-zero for failure. The stdout and stderr- channels may be logged. It takes no command line parameters- and nothing on stdin.</p></td></tr><tr><td class="src"><a id="v:BenchmarkUnsupported" class="def">BenchmarkUnsupported</a> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a></td><td class="doc"><p>A benchmark that does not conform to one of the above- interfaces for the given reason (e.g. unknown benchmark type).</p></td></tr></table></div><div class="subs instances"><p id="control.i:BenchmarkInterface" class="caption collapser" onclick="toggleSection('i:BenchmarkInterface')">Instances</p><div id="section.i:BenchmarkInterface" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkInterface:Eq:1" class="instance expander" onclick="toggleSection('i:id:BenchmarkInterface:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a></span> <a href="#t:BenchmarkInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkInterface:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkInterface:Data:2" class="instance expander" onclick="toggleSection('i:id:BenchmarkInterface:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a></span> <a href="#t:BenchmarkInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkInterface:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> c <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> m <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> m <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> m <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkInterface:Read:3" class="instance expander" onclick="toggleSection('i:id:BenchmarkInterface:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a></span> <a href="#t:BenchmarkInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkInterface:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkInterface:Show:4" class="instance expander" onclick="toggleSection('i:id:BenchmarkInterface:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a></span> <a href="#t:BenchmarkInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkInterface:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkInterface:Generic:5" class="instance expander" onclick="toggleSection('i:id:BenchmarkInterface:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a></span> <a href="#t:BenchmarkInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkInterface:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> x -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkInterface:Semigroup:6" class="instance expander" onclick="toggleSection('i:id:BenchmarkInterface:Semigroup:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a></span> <a href="#t:BenchmarkInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkInterface:Semigroup:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkInterface:Monoid:7" class="instance expander" onclick="toggleSection('i:id:BenchmarkInterface:Monoid:7')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a></span> <a href="#t:BenchmarkInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkInterface:Monoid:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a>] -> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkInterface:Binary:8" class="instance expander" onclick="toggleSection('i:id:BenchmarkInterface:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a></span> <a href="#t:BenchmarkInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkInterface:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkInterface:Rep:9" class="instance expander" onclick="toggleSection('i:id:BenchmarkInterface:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a></span> <a href="#t:BenchmarkInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkInterface:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">BenchmarkInterface</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "BenchmarkInterface" "Distribution.Types.BenchmarkInterface" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BenchmarkExeV10" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BenchmarkUnsupported" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a>))))</div></div></td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.BenchmarkType</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.BenchmarkType</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:BenchmarkType">BenchmarkType</a><ul class="subs"><li>= <a href="#v:BenchmarkTypeExe">BenchmarkTypeExe</a> <a href="Distribution-Version.html#t:Version">Version</a></li><li>| <a href="#v:BenchmarkTypeUnknown">BenchmarkTypeUnknown</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="Distribution-Version.html#t:Version">Version</a></li></ul></li><li class="src short"><a href="#v:knownBenchmarkTypes">knownBenchmarkTypes</a> :: [<a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a>]</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:BenchmarkType" class="def">BenchmarkType</a> <a href="#t:BenchmarkType" class="selflink">#</a></p><div class="doc"><p>The "benchmark-type" field in the benchmark stanza.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:BenchmarkTypeExe" class="def">BenchmarkTypeExe</a> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc"><p>"type: exitcode-stdio-x.y"</p></td></tr><tr><td class="src"><a id="v:BenchmarkTypeUnknown" class="def">BenchmarkTypeUnknown</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc"><p>Some unknown benchmark type e.g. "type: foo"</p></td></tr></table></div><div class="subs instances"><p id="control.i:BenchmarkType" class="caption collapser" onclick="toggleSection('i:BenchmarkType')">Instances</p><div id="section.i:BenchmarkType" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkType:Eq:1" class="instance expander" onclick="toggleSection('i:id:BenchmarkType:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a></span> <a href="#t:BenchmarkType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkType:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> -> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> -> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkType:Data:2" class="instance expander" onclick="toggleSection('i:id:BenchmarkType:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a></span> <a href="#t:BenchmarkType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkType:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> -> c <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> -> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> -> m <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> -> m <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> -> m <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkType:Read:3" class="instance expander" onclick="toggleSection('i:id:BenchmarkType:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a></span> <a href="#t:BenchmarkType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkType:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkType:Show:4" class="instance expander" onclick="toggleSection('i:id:BenchmarkType:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a></span> <a href="#t:BenchmarkType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkType:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkType:Generic:5" class="instance expander" onclick="toggleSection('i:id:BenchmarkType:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a></span> <a href="#t:BenchmarkType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkType:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> x -> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkType:Binary:6" class="instance expander" onclick="toggleSection('i:id:BenchmarkType:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a></span> <a href="#t:BenchmarkType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkType:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkType:Text:7" class="instance expander" onclick="toggleSection('i:id:BenchmarkType:Text:7')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a></span> <a href="#t:BenchmarkType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkType:Text:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BenchmarkType:Rep:8" class="instance expander" onclick="toggleSection('i:id:BenchmarkType:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a></span> <a href="#t:BenchmarkType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BenchmarkType:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "BenchmarkType" "Distribution.Types.BenchmarkType" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BenchmarkTypeExe" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BenchmarkTypeUnknown" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:knownBenchmarkTypes" class="def">knownBenchmarkTypes</a> :: [<a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">BenchmarkType</a>] <a href="#v:knownBenchmarkTypes" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,11 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.BuildInfo</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.BuildInfo</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:BuildInfo">BuildInfo</a> = <a href="#v:BuildInfo">BuildInfo</a> {<ul class="subs"><li><a href="#v:buildable">buildable</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:buildTools">buildTools</a> :: [<a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a>]</li><li><a href="#v:buildToolDepends">buildToolDepends</a> :: [<a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a>]</li><li><a href="#v:cppOptions">cppOptions</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:ccOptions">ccOptions</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:ldOptions">ldOptions</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:pkgconfigDepends">pkgconfigDepends</a> :: [<a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a>]</li><li><a href="#v:frameworks">frameworks</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:extraFrameworkDirs">extraFrameworkDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:cSources">cSources</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:jsSources">jsSources</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:hsSourceDirs">hsSourceDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:otherModules">otherModules</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li><a href="#v:autogenModules">autogenModules</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li><a href="#v:defaultLanguage">defaultLanguage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a></li><li><a href="#v:otherLanguages">otherLanguages</a> :: [<a href="Language-Haskell-Extension.html#t:Language">Language</a>]</li><li><a href="#v:defaultExtensions">defaultExtensions</a> :: [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</li><li><a href="#v:otherExtensions">otherExtensions</a> :: [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</li><li><a href="#v:oldExtensions">oldExtensions</a> :: [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</li><li><a href="#v:extraLibs">extraLibs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:extraGHCiLibs">extraGHCiLibs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:extraLibDirs">extraLibDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:includeDirs">includeDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:includes">includes</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:installIncludes">installIncludes</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:options">options</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]</li><li><a href="#v:profOptions">profOptions</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]</li><li><a href="#v:sharedOptions">sharedOptions</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]</li><li><a href="#v:customFieldsBI">customFieldsBI</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</li><li><a href="#v:targetBuildDepends">targetBuildDepends</a> :: [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>]</li><li><a href="#v:mixins">mixins</a> :: [<a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a>]</li></ul>}</li><li class="src short"><a href="#v:emptyBuildInfo">emptyBuildInfo</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></li><li class="src short"><a href="#v:allLanguages">allLanguages</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> [<a href="Language-Haskell-Extension.html#t:Language">Language</a>]</li><li class="src short"><a href="#v:allExtensions">allExtensions</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</li><li class="src short"><a href="#v:usedExtensions">usedExtensions</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</li><li class="src short"><a href="#v:hcOptions">hcOptions</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li class="src short"><a href="#v:hcProfOptions">hcProfOptions</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li class="src short"><a href="#v:hcSharedOptions">hcSharedOptions</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:BuildInfo" class="def">BuildInfo</a> <a href="#t:BuildInfo" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:BuildInfo" class="def">BuildInfo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:buildable" class="def">buildable</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>component is buildable here</p></div></li><li><dfn class="src"><a id="v:buildTools" class="def">buildTools</a> :: [<a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a>]</dfn><div class="doc"><p>Tools needed to build this bit.</p><p>This is a legacy field that <code><a href="Distribution-Types-BuildInfo.html#v:buildToolDepends">buildToolDepends</a></code> larely supersedes.</p><p>Unless use are very sure what you are doing, use the functions in- <a href="Distribution-Simple-BuildToolDepends.html">Distribution.Simple.BuildToolDepends</a> rather than accessing this- field directly.</p></div></li><li><dfn class="src"><a id="v:buildToolDepends" class="def">buildToolDepends</a> :: [<a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a>]</dfn><div class="doc"><p>Haskell tools needed to build this bit</p><p>This field is better than <code><a href="Distribution-Types-BuildInfo.html#v:buildTools">buildTools</a></code> because it allows one to- precisely specify an executable in a package.</p><p>Unless use are very sure what you are doing, use the functions in- <a href="Distribution-Simple-BuildToolDepends.html">Distribution.Simple.BuildToolDepends</a> rather than accessing this- field directly.</p></div></li><li><dfn class="src"><a id="v:cppOptions" class="def">cppOptions</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc"><p>options for pre-processing Haskell code</p></div></li><li><dfn class="src"><a id="v:ccOptions" class="def">ccOptions</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc"><p>options for C compiler</p></div></li><li><dfn class="src"><a id="v:ldOptions" class="def">ldOptions</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc"><p>options for linker</p></div></li><li><dfn class="src"><a id="v:pkgconfigDepends" class="def">pkgconfigDepends</a> :: [<a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a>]</dfn><div class="doc"><p>pkg-config packages that are used</p></div></li><li><dfn class="src"><a id="v:frameworks" class="def">frameworks</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc"><p>support frameworks for Mac OS X</p></div></li><li><dfn class="src"><a id="v:extraFrameworkDirs" class="def">extraFrameworkDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc"><p>extra locations to find frameworks.</p></div></li><li><dfn class="src"><a id="v:cSources" class="def">cSources</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:jsSources" class="def">jsSources</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:hsSourceDirs" class="def">hsSourceDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc"><p>where to look for the Haskell module hierarchy</p></div></li><li><dfn class="src"><a id="v:otherModules" class="def">otherModules</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</dfn><div class="doc"><p>non-exposed or non-main modules</p></div></li><li><dfn class="src"><a id="v:autogenModules" class="def">autogenModules</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</dfn><div class="doc"><p>not present on sdist, Paths_* or user-generated with a custom Setup.hs</p></div></li><li><dfn class="src"><a id="v:defaultLanguage" class="def">defaultLanguage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a></dfn><div class="doc"><p>language used when not explicitly specified</p></div></li><li><dfn class="src"><a id="v:otherLanguages" class="def">otherLanguages</a> :: [<a href="Language-Haskell-Extension.html#t:Language">Language</a>]</dfn><div class="doc"><p>other languages used within the package</p></div></li><li><dfn class="src"><a id="v:defaultExtensions" class="def">defaultExtensions</a> :: [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</dfn><div class="doc"><p>language extensions used by all modules</p></div></li><li><dfn class="src"><a id="v:otherExtensions" class="def">otherExtensions</a> :: [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</dfn><div class="doc"><p>other language extensions used within the package</p></div></li><li><dfn class="src"><a id="v:oldExtensions" class="def">oldExtensions</a> :: [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</dfn><div class="doc"><p>the old extensions field, treated same as <code><a href="Distribution-Types-BuildInfo.html#v:defaultExtensions">defaultExtensions</a></code></p></div></li><li><dfn class="src"><a id="v:extraLibs" class="def">extraLibs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc"><p>what libraries to link with when compiling a program that uses your package</p></div></li><li><dfn class="src"><a id="v:extraGHCiLibs" class="def">extraGHCiLibs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc"><p>if present, overrides extraLibs when package is loaded with GHCi.</p></div></li><li><dfn class="src"><a id="v:extraLibDirs" class="def">extraLibDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:includeDirs" class="def">includeDirs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc"><p>directories to find .h files</p></div></li><li><dfn class="src"><a id="v:includes" class="def">includes</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc"><p>The .h files to be found in includeDirs</p></div></li><li><dfn class="src"><a id="v:installIncludes" class="def">installIncludes</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc"><p>.h files to install with the package</p></div></li><li><dfn class="src"><a id="v:options" class="def">options</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:profOptions" class="def">profOptions</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:sharedOptions" class="def">sharedOptions</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:customFieldsBI" class="def">customFieldsBI</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</dfn><div class="doc"><p>Custom fields starting- with x-, stored in a- simple assoc-list.</p></div></li><li><dfn class="src"><a id="v:targetBuildDepends" class="def">targetBuildDepends</a> :: [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>]</dfn><div class="doc"><p>Dependencies specific to a library or executable target</p></div></li><li><dfn class="src"><a id="v:mixins" class="def">mixins</a> :: [<a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a>]</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:BuildInfo" class="caption collapser" onclick="toggleSection('i:BuildInfo')">Instances</p><div id="section.i:BuildInfo" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildInfo:Eq:1" class="instance expander" onclick="toggleSection('i:id:BuildInfo:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></span> <a href="#t:BuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildInfo:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildInfo:Data:2" class="instance expander" onclick="toggleSection('i:id:BuildInfo:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></span> <a href="#t:BuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildInfo:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> c <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> m <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> m <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> m <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildInfo:Read:3" class="instance expander" onclick="toggleSection('i:id:BuildInfo:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></span> <a href="#t:BuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildInfo:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildInfo:Show:4" class="instance expander" onclick="toggleSection('i:id:BuildInfo:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></span> <a href="#t:BuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildInfo:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildInfo:Generic:5" class="instance expander" onclick="toggleSection('i:id:BuildInfo:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></span> <a href="#t:BuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildInfo:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> x -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildInfo:Semigroup:6" class="instance expander" onclick="toggleSection('i:id:BuildInfo:Semigroup:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></span> <a href="#t:BuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildInfo:Semigroup:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildInfo:Monoid:7" class="instance expander" onclick="toggleSection('i:id:BuildInfo:Monoid:7')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></span> <a href="#t:BuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildInfo:Monoid:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>] -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildInfo:Binary:8" class="instance expander" onclick="toggleSection('i:id:BuildInfo:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></span> <a href="#t:BuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildInfo:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildInfo:Rep:9" class="instance expander" onclick="toggleSection('i:id:BuildInfo:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></span> <a href="#t:BuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildInfo:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "BuildInfo" "Distribution.Types.BuildInfo" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BuildInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "buildable") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "buildTools") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "buildToolDepends") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a>])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "cppOptions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ccOptions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "ldOptions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "pkgconfigDepends") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a>]))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "frameworks") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "extraFrameworkDirs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "cSources") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "jsSources") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "hsSourceDirs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "otherModules") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "autogenModules") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "defaultLanguage") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a>))))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "otherLanguages") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Language-Haskell-Extension.html#t:Language">Language</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "defaultExtensions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "otherExtensions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "oldExtensions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "extraLibs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "extraGHCiLibs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "extraLibDirs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "includeDirs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "includes") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "installIncludes") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "options") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "profOptions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "sharedOptions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "customFieldsBI") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "targetBuildDepends") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "mixins") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a>]))))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyBuildInfo" class="def">emptyBuildInfo</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:emptyBuildInfo" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:allLanguages" class="def">allLanguages</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> [<a href="Language-Haskell-Extension.html#t:Language">Language</a>] <a href="#v:allLanguages" class="selflink">#</a></p><div class="doc"><p>The <code><a href="Language-Haskell-Extension.html#t:Language">Language</a></code>s used by this component</p></div></div><div class="top"><p class="src"><a id="v:allExtensions" class="def">allExtensions</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>] <a href="#v:allExtensions" class="selflink">#</a></p><div class="doc"><p>The <code><a href="Language-Haskell-Extension.html#t:Extension">Extension</a></code>s that are used somewhere by this component</p></div></div><div class="top"><p class="src"><a id="v:usedExtensions" class="def">usedExtensions</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>] <a href="#v:usedExtensions" class="selflink">#</a></p><div class="doc"><p>The <code>Extensions</code> that are used by all modules in this component</p></div></div><div class="top"><p class="src"><a id="v:hcOptions" class="def">hcOptions</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#v:hcOptions" class="selflink">#</a></p><div class="doc"><p>Select options for a particular Haskell compiler.</p></div></div><div class="top"><p class="src"><a id="v:hcProfOptions" class="def">hcProfOptions</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#v:hcProfOptions" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:hcSharedOptions" class="def">hcSharedOptions</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#v:hcSharedOptions" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,9 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.BuildType</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.BuildType</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:BuildType">BuildType</a><ul class="subs"><li>= <a href="#v:Simple">Simple</a></li><li>| <a href="#v:Configure">Configure</a></li><li>| <a href="#v:Make">Make</a></li><li>| <a href="#v:Custom">Custom</a></li><li>| <a href="#v:UnknownBuildType">UnknownBuildType</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><a href="#v:knownBuildTypes">knownBuildTypes</a> :: [<a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a>]</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:BuildType" class="def">BuildType</a> <a href="#t:BuildType" class="selflink">#</a></p><div class="doc"><p>The type of build system used by this package.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Simple" class="def">Simple</a></td><td class="doc"><p>calls <code>Distribution.Simple.defaultMain</code></p></td></tr><tr><td class="src"><a id="v:Configure" class="def">Configure</a></td><td class="doc"><p>calls <code>Distribution.Simple.defaultMainWithHooks defaultUserHooks</code>,- which invokes <code>configure</code> to generate additional build- information used by later phases.</p></td></tr><tr><td class="src"><a id="v:Make" class="def">Make</a></td><td class="doc"><p>calls <code>Distribution.Make.defaultMain</code></p></td></tr><tr><td class="src"><a id="v:Custom" class="def">Custom</a></td><td class="doc"><p>uses user-supplied <code>Setup.hs</code> or <code>Setup.lhs</code> (default)</p></td></tr><tr><td class="src"><a id="v:UnknownBuildType" class="def">UnknownBuildType</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>a package that uses an unknown build type cannot actually- be built. Doing it this way rather than just giving a- parse error means we get better error messages and allows- you to inspect the rest of the package description.</p></td></tr></table></div><div class="subs instances"><p id="control.i:BuildType" class="caption collapser" onclick="toggleSection('i:BuildType')">Instances</p><div id="section.i:BuildType" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildType:Eq:1" class="instance expander" onclick="toggleSection('i:id:BuildType:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a></span> <a href="#t:BuildType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildType:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> -> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> -> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildType:Data:2" class="instance expander" onclick="toggleSection('i:id:BuildType:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a></span> <a href="#t:BuildType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildType:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> -> c <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> -> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> -> m <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> -> m <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> -> m <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildType:Read:3" class="instance expander" onclick="toggleSection('i:id:BuildType:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a></span> <a href="#t:BuildType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildType:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildType:Show:4" class="instance expander" onclick="toggleSection('i:id:BuildType:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a></span> <a href="#t:BuildType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildType:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildType:Generic:5" class="instance expander" onclick="toggleSection('i:id:BuildType:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a></span> <a href="#t:BuildType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildType:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> x -> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildType:Binary:6" class="instance expander" onclick="toggleSection('i:id:BuildType:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a></span> <a href="#t:BuildType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildType:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildType:Text:7" class="instance expander" onclick="toggleSection('i:id:BuildType:Text:7')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a></span> <a href="#t:BuildType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildType:Text:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:BuildType:Rep:8" class="instance expander" onclick="toggleSection('i:id:BuildType:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a></span> <a href="#t:BuildType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:BuildType:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "BuildType" "Distribution.Types.BuildType" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Simple" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Configure" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Make" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Custom" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "UnknownBuildType" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:knownBuildTypes" class="def">knownBuildTypes</a> :: [<a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a>] <a href="#v:knownBuildTypes" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,6 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.Component</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.Component</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:Component">Component</a><ul class="subs"><li>= <a href="#v:CLib">CLib</a> <a href="Distribution-Types-Library.html#t:Library">Library</a></li><li>| <a href="#v:CFLib">CFLib</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a></li><li>| <a href="#v:CExe">CExe</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a></li><li>| <a href="#v:CTest">CTest</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a></li><li>| <a href="#v:CBench">CBench</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a></li></ul></li><li class="src short"><a href="#v:foldComponent">foldComponent</a> :: (<a href="Distribution-Types-Library.html#t:Library">Library</a> -> a) -> (<a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> a) -> (<a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> a) -> (<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> a) -> (<a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> a) -> <a href="Distribution-Types-Component.html#t:Component">Component</a> -> a</li><li class="src short"><a href="#v:componentBuildInfo">componentBuildInfo</a> :: <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></li><li class="src short"><a href="#v:componentBuildable">componentBuildable</a> :: <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:componentName">componentName</a> :: <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></li><li class="src short"><a href="#v:partitionComponents">partitionComponents</a> :: [<a href="Distribution-Types-Component.html#t:Component">Component</a>] -> ([<a href="Distribution-Types-Library.html#t:Library">Library</a>], [<a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>], [<a href="Distribution-Types-Executable.html#t:Executable">Executable</a>], [<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a>], [<a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a>])</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Component" class="def">Component</a> <a href="#t:Component" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:CLib" class="def">CLib</a> <a href="Distribution-Types-Library.html#t:Library">Library</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CFLib" class="def">CFLib</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CExe" class="def">CExe</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CTest" class="def">CTest</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CBench" class="def">CBench</a> <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Component" class="caption collapser" onclick="toggleSection('i:Component')">Instances</p><div id="section.i:Component" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Component:Eq:1" class="instance expander" onclick="toggleSection('i:id:Component:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-Component.html#t:Component">Component</a></span> <a href="#t:Component" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Component:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Component:Read:2" class="instance expander" onclick="toggleSection('i:id:Component:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-Component.html#t:Component">Component</a></span> <a href="#t:Component" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Component:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-Component.html#t:Component">Component</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-Component.html#t:Component">Component</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-Component.html#t:Component">Component</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-Component.html#t:Component">Component</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Component:Show:3" class="instance expander" onclick="toggleSection('i:id:Component:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-Component.html#t:Component">Component</a></span> <a href="#t:Component" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Component:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-Component.html#t:Component">Component</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Component:Semigroup:4" class="instance expander" onclick="toggleSection('i:id:Component:Semigroup:4')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-Component.html#t:Component">Component</a></span> <a href="#t:Component" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Component:Semigroup:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:foldComponent" class="def">foldComponent</a> :: (<a href="Distribution-Types-Library.html#t:Library">Library</a> -> a) -> (<a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> a) -> (<a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> a) -> (<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> a) -> (<a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> a) -> <a href="Distribution-Types-Component.html#t:Component">Component</a> -> a <a href="#v:foldComponent" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:componentBuildInfo" class="def">componentBuildInfo</a> :: <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a> <a href="#v:componentBuildInfo" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:componentBuildable" class="def">componentBuildable</a> :: <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:componentBuildable" class="selflink">#</a></p><div class="doc"><p>Is a component buildable (i.e., not marked with <code>buildable: False</code>)?- See also this note in- <a href="Distribution-Types-ComponentRequestedSpec.html#buildable_vs_enabled_components">Distribution.Types.ComponentRequestedSpec</a>.</p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:componentName" class="def">componentName</a> :: <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> <a href="#v:componentName" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:partitionComponents" class="def">partitionComponents</a> :: [<a href="Distribution-Types-Component.html#t:Component">Component</a>] -> ([<a href="Distribution-Types-Library.html#t:Library">Library</a>], [<a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>], [<a href="Distribution-Types-Executable.html#t:Executable">Executable</a>], [<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a>], [<a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a>]) <a href="#v:partitionComponents" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,9 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.ComponentId</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.ComponentId</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:ComponentId">ComponentId</a></li><li class="src short"><a href="#v:unComponentId">unComponentId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:mkComponentId">mkComponentId</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ComponentId" class="def">ComponentId</a> <a href="#t:ComponentId" class="selflink">#</a></p><div class="doc"><p>A <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code> uniquely identifies the transitive source- code closure of a component (i.e. libraries, executables).</p><p>For non-Backpack components, this corresponds one to one with- the <code>UnitId</code>, which serves as the basis for install paths,- linker symbols, etc.</p><p>Use <code><a href="Distribution-Types-ComponentId.html#v:mkComponentId">mkComponentId</a></code> and <code><a href="Distribution-Types-ComponentId.html#v:unComponentId">unComponentId</a></code> to convert from/to a- <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code>.</p><p>This type is opaque since <code>Cabal-2.0</code></p><p><em>Since: 2.0.0.2</em></p></div><div class="subs instances"><p id="control.i:ComponentId" class="caption collapser" onclick="toggleSection('i:ComponentId')">Instances</p><div id="section.i:ComponentId" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentId:Eq:1" class="instance expander" onclick="toggleSection('i:id:ComponentId:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></span> <a href="#t:ComponentId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentId:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentId:Data:2" class="instance expander" onclick="toggleSection('i:id:ComponentId:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></span> <a href="#t:ComponentId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentId:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> c <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> m <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> m <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> m <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentId:Ord:3" class="instance expander" onclick="toggleSection('i:id:ComponentId:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></span> <a href="#t:ComponentId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentId:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentId:Read:4" class="instance expander" onclick="toggleSection('i:id:ComponentId:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></span> <a href="#t:ComponentId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentId:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentId:Show:5" class="instance expander" onclick="toggleSection('i:id:ComponentId:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></span> <a href="#t:ComponentId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentId:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentId:IsString:6" class="instance expander" onclick="toggleSection('i:id:ComponentId:IsString:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:IsString">IsString</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></span> <a href="#t:ComponentId" class="selflink">#</a></td><td class="doc"><p><code><a href="Distribution-Types-ComponentId.html#v:mkComponentId">mkComponentId</a></code></p><p><em>Since: 2.0.0.2</em></p></td></tr><tr><td colspan="2"><div id="section.i:id:ComponentId:IsString:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fromString">fromString</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="#v:fromString" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentId:Generic:7" class="instance expander" onclick="toggleSection('i:id:ComponentId:Generic:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></span> <a href="#t:ComponentId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentId:Generic:7" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> x -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentId:Binary:8" class="instance expander" onclick="toggleSection('i:id:ComponentId:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></span> <a href="#t:ComponentId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentId:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentId:NFData:9" class="instance expander" onclick="toggleSection('i:id:ComponentId:NFData:9')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></span> <a href="#t:ComponentId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentId:NFData:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentId:Text:10" class="instance expander" onclick="toggleSection('i:id:ComponentId:Text:10')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></span> <a href="#t:ComponentId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentId:Text:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentId:Rep:11" class="instance expander" onclick="toggleSection('i:id:ComponentId:Rep:11')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></span> <a href="#t:ComponentId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentId:Rep:11" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ComponentId" "Distribution.Types.ComponentId" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ComponentId" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a>)))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:unComponentId" class="def">unComponentId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:unComponentId" class="selflink">#</a></p><div class="doc"><p>Convert <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code> to <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code></p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:mkComponentId" class="def">mkComponentId</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="#v:mkComponentId" class="selflink">#</a></p><div class="doc"><p>Construct a <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code> from a <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code></p><p><code><a href="Distribution-Types-ComponentId.html#v:mkComponentId">mkComponentId</a></code> is the inverse to <code><a href="Distribution-Types-ComponentId.html#v:unComponentId">unComponentId</a></code></p><p>Note: No validations are performed to ensure that the resulting- <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code> is valid</p><p><em>Since: 2.0.0.2</em></p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,5 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.ComponentInclude</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.ComponentInclude</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:ComponentInclude">ComponentInclude</a> id rn = <a href="#v:ComponentInclude">ComponentInclude</a> {<ul class="subs"><li><a href="#v:ci_ann_id">ci_ann_id</a> :: <a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> id</li><li><a href="#v:ci_renaming">ci_renaming</a> :: rn</li><li><a href="#v:ci_implicit">ci_implicit</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul>}</li><li class="src short"><a href="#v:ci_id">ci_id</a> :: <a href="Distribution-Types-ComponentInclude.html#t:ComponentInclude">ComponentInclude</a> id rn -> id</li><li class="src short"><a href="#v:ci_pkgid">ci_pkgid</a> :: <a href="Distribution-Types-ComponentInclude.html#t:ComponentInclude">ComponentInclude</a> id rn -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a></li><li class="src short"><a href="#v:ci_cname">ci_cname</a> :: <a href="Distribution-Types-ComponentInclude.html#t:ComponentInclude">ComponentInclude</a> id rn -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ComponentInclude" class="def">ComponentInclude</a> id rn <a href="#t:ComponentInclude" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ComponentInclude" class="def">ComponentInclude</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:ci_ann_id" class="def">ci_ann_id</a> :: <a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">AnnotatedId</a> id</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:ci_renaming" class="def">ci_renaming</a> :: rn</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:ci_implicit" class="def">ci_implicit</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Did this come from an entry in <code>mixins</code>, or- was implicitly generated by <code>build-depends</code>?</p></div></li></ul></div></td></tr></table></div></div><div class="top"><p class="src"><a id="v:ci_id" class="def">ci_id</a> :: <a href="Distribution-Types-ComponentInclude.html#t:ComponentInclude">ComponentInclude</a> id rn -> id <a href="#v:ci_id" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:ci_pkgid" class="def">ci_pkgid</a> :: <a href="Distribution-Types-ComponentInclude.html#t:ComponentInclude">ComponentInclude</a> id rn -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> <a href="#v:ci_pkgid" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:ci_cname" class="def">ci_cname</a> :: <a href="Distribution-Types-ComponentInclude.html#t:ComponentInclude">ComponentInclude</a> id rn -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> <a href="#v:ci_cname" class="selflink">#</a></p><div class="doc"><p>This should always return <code><a href="Distribution-Types-ComponentName.html#v:CLibName">CLibName</a></code> or <code><a href="Distribution-Types-ComponentName.html#v:CSubLibName">CSubLibName</a></code></p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,91 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.ComponentLocalBuildInfo</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.ComponentLocalBuildInfo</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a><ul class="subs"><li>= <a href="#v:LibComponentLocalBuildInfo">LibComponentLocalBuildInfo</a> { <ul class="subs"><li><a href="#v:componentLocalName">componentLocalName</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></li><li><a href="#v:componentComponentId">componentComponentId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></li><li><a href="#v:componentUnitId">componentUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li><a href="#v:componentIsIndefinite_">componentIsIndefinite_</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:componentInstantiatedWith">componentInstantiatedWith</a> :: [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>)]</li><li><a href="#v:componentPackageDeps">componentPackageDeps</a> :: [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]</li><li><a href="#v:componentIncludes">componentIncludes</a> :: [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]</li><li><a href="#v:componentExeDeps">componentExeDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</li><li><a href="#v:componentInternalDeps">componentInternalDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</li><li><a href="#v:componentCompatPackageKey">componentCompatPackageKey</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:componentCompatPackageName">componentCompatPackageName</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></li><li><a href="#v:componentExposedModules">componentExposedModules</a> :: [<a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a>]</li><li><a href="#v:componentIsPublic">componentIsPublic</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul> }</li><li>| <a href="#v:FLibComponentLocalBuildInfo">FLibComponentLocalBuildInfo</a> { <ul class="subs"><li><a href="#v:componentLocalName">componentLocalName</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></li><li><a href="#v:componentComponentId">componentComponentId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></li><li><a href="#v:componentUnitId">componentUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li><a href="#v:componentPackageDeps">componentPackageDeps</a> :: [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]</li><li><a href="#v:componentIncludes">componentIncludes</a> :: [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]</li><li><a href="#v:componentExeDeps">componentExeDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</li><li><a href="#v:componentInternalDeps">componentInternalDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</li></ul> }</li><li>| <a href="#v:ExeComponentLocalBuildInfo">ExeComponentLocalBuildInfo</a> { <ul class="subs"><li><a href="#v:componentLocalName">componentLocalName</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></li><li><a href="#v:componentComponentId">componentComponentId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></li><li><a href="#v:componentUnitId">componentUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li><a href="#v:componentPackageDeps">componentPackageDeps</a> :: [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]</li><li><a href="#v:componentIncludes">componentIncludes</a> :: [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]</li><li><a href="#v:componentExeDeps">componentExeDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</li><li><a href="#v:componentInternalDeps">componentInternalDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</li></ul> }</li><li>| <a href="#v:TestComponentLocalBuildInfo">TestComponentLocalBuildInfo</a> { <ul class="subs"><li><a href="#v:componentLocalName">componentLocalName</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></li><li><a href="#v:componentComponentId">componentComponentId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></li><li><a href="#v:componentUnitId">componentUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li><a href="#v:componentPackageDeps">componentPackageDeps</a> :: [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]</li><li><a href="#v:componentIncludes">componentIncludes</a> :: [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]</li><li><a href="#v:componentExeDeps">componentExeDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</li><li><a href="#v:componentInternalDeps">componentInternalDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</li></ul> }</li><li>| <a href="#v:BenchComponentLocalBuildInfo">BenchComponentLocalBuildInfo</a> { <ul class="subs"><li><a href="#v:componentLocalName">componentLocalName</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></li><li><a href="#v:componentComponentId">componentComponentId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></li><li><a href="#v:componentUnitId">componentUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li><a href="#v:componentPackageDeps">componentPackageDeps</a> :: [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]</li><li><a href="#v:componentIncludes">componentIncludes</a> :: [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]</li><li><a href="#v:componentExeDeps">componentExeDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</li><li><a href="#v:componentInternalDeps">componentInternalDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</li></ul> }</li></ul></li><li class="src short"><a href="#v:componentIsIndefinite">componentIsIndefinite</a> :: <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:maybeComponentInstantiatedWith">maybeComponentInstantiatedWith</a> :: <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>)]</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ComponentLocalBuildInfo" class="def">ComponentLocalBuildInfo</a> <a href="#t:ComponentLocalBuildInfo" class="selflink">#</a></p><div class="doc"><p>The first five fields are common across all algebraic variants.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:LibComponentLocalBuildInfo" class="def">LibComponentLocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:componentLocalName" class="def">componentLocalName</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></dfn><div class="doc"><p>It would be very convenient to store the literal Library here,- but if we do that, it will get serialized (via the Binary)- instance twice. So instead we just provide the ComponentName,- which can be used to find the Component in the- PackageDescription. NB: eventually, this will NOT uniquely- identify the ComponentLocalBuildInfo.</p></div></li><li><dfn class="src"><a id="v:componentComponentId" class="def">componentComponentId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></dfn><div class="doc"><p>The computed <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code> of this component.</p></div></li><li><dfn class="src"><a id="v:componentUnitId" class="def">componentUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></dfn><div class="doc"><p>The computed <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> which uniquely identifies this- component. Might be hashed.</p></div></li><li><dfn class="src"><a id="v:componentIsIndefinite_" class="def">componentIsIndefinite_</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Is this an indefinite component (i.e. has unfilled holes)?</p></div></li><li><dfn class="src"><a id="v:componentInstantiatedWith" class="def">componentInstantiatedWith</a> :: [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>)]</dfn><div class="doc"><p>How the component was instantiated</p></div></li><li><dfn class="src"><a id="v:componentPackageDeps" class="def">componentPackageDeps</a> :: [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]</dfn><div class="doc"><p>Resolved internal and external package dependencies for this component.- The <code><a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></code> specifies a set of build dependencies that must be- satisfied in terms of version ranges. This field fixes those dependencies- to the specific versions available on this machine for this compiler.</p></div></li><li><dfn class="src"><a id="v:componentIncludes" class="def">componentIncludes</a> :: [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]</dfn><div class="doc"><p>The set of packages that are brought into scope during- compilation, including a <code><a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></code> which may used- to hide or rename modules. This is what gets translated into- <code>-package-id</code> arguments. This is a modernized version of- <code><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentPackageDeps">componentPackageDeps</a></code>, which is kept around for BC purposes.</p></div></li><li><dfn class="src"><a id="v:componentExeDeps" class="def">componentExeDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:componentInternalDeps" class="def">componentInternalDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</dfn><div class="doc"><p>The internal dependencies which induce a graph on the- <code><a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></code> of this package. This does NOT- coincide with <code><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentPackageDeps">componentPackageDeps</a></code> because it ALSO records- 'build-tool' dependencies on executables. Maybe one day- <code>cabal-install</code> will also handle these correctly too!</p></div></li><li><dfn class="src"><a id="v:componentCompatPackageKey" class="def">componentCompatPackageKey</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>Compatibility "package key" that we pass to older versions of GHC.</p></div></li><li><dfn class="src"><a id="v:componentCompatPackageName" class="def">componentCompatPackageName</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></dfn><div class="doc"><p>Compatibility "package name" that we register this component as.</p></div></li><li><dfn class="src"><a id="v:componentExposedModules" class="def">componentExposedModules</a> :: [<a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a>]</dfn><div class="doc"><p>A list of exposed modules (either defined in this component,- or reexported from another component.)</p></div></li><li><dfn class="src"><a id="v:componentIsPublic" class="def">componentIsPublic</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Convenience field, specifying whether or not this is the- "public library" that has the same name as the package.</p></div></li></ul></div></td></tr><tr><td class="src"><a id="v:FLibComponentLocalBuildInfo" class="def">FLibComponentLocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:componentLocalName" class="def">componentLocalName</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></dfn><div class="doc"><p>It would be very convenient to store the literal Library here,- but if we do that, it will get serialized (via the Binary)- instance twice. So instead we just provide the ComponentName,- which can be used to find the Component in the- PackageDescription. NB: eventually, this will NOT uniquely- identify the ComponentLocalBuildInfo.</p></div></li><li><dfn class="src"><a id="v:componentComponentId" class="def">componentComponentId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></dfn><div class="doc"><p>The computed <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code> of this component.</p></div></li><li><dfn class="src"><a id="v:componentUnitId" class="def">componentUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></dfn><div class="doc"><p>The computed <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> which uniquely identifies this- component. Might be hashed.</p></div></li><li><dfn class="src"><a id="v:componentPackageDeps" class="def">componentPackageDeps</a> :: [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]</dfn><div class="doc"><p>Resolved internal and external package dependencies for this component.- The <code><a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></code> specifies a set of build dependencies that must be- satisfied in terms of version ranges. This field fixes those dependencies- to the specific versions available on this machine for this compiler.</p></div></li><li><dfn class="src"><a id="v:componentIncludes" class="def">componentIncludes</a> :: [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]</dfn><div class="doc"><p>The set of packages that are brought into scope during- compilation, including a <code><a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></code> which may used- to hide or rename modules. This is what gets translated into- <code>-package-id</code> arguments. This is a modernized version of- <code><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentPackageDeps">componentPackageDeps</a></code>, which is kept around for BC purposes.</p></div></li><li><dfn class="src"><a id="v:componentExeDeps" class="def">componentExeDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:componentInternalDeps" class="def">componentInternalDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</dfn><div class="doc"><p>The internal dependencies which induce a graph on the- <code><a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></code> of this package. This does NOT- coincide with <code><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentPackageDeps">componentPackageDeps</a></code> because it ALSO records- 'build-tool' dependencies on executables. Maybe one day- <code>cabal-install</code> will also handle these correctly too!</p></div></li></ul></div></td></tr><tr><td class="src"><a id="v:ExeComponentLocalBuildInfo" class="def">ExeComponentLocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:componentLocalName" class="def">componentLocalName</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></dfn><div class="doc"><p>It would be very convenient to store the literal Library here,- but if we do that, it will get serialized (via the Binary)- instance twice. So instead we just provide the ComponentName,- which can be used to find the Component in the- PackageDescription. NB: eventually, this will NOT uniquely- identify the ComponentLocalBuildInfo.</p></div></li><li><dfn class="src"><a id="v:componentComponentId" class="def">componentComponentId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></dfn><div class="doc"><p>The computed <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code> of this component.</p></div></li><li><dfn class="src"><a id="v:componentUnitId" class="def">componentUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></dfn><div class="doc"><p>The computed <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> which uniquely identifies this- component. Might be hashed.</p></div></li><li><dfn class="src"><a id="v:componentPackageDeps" class="def">componentPackageDeps</a> :: [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]</dfn><div class="doc"><p>Resolved internal and external package dependencies for this component.- The <code><a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></code> specifies a set of build dependencies that must be- satisfied in terms of version ranges. This field fixes those dependencies- to the specific versions available on this machine for this compiler.</p></div></li><li><dfn class="src"><a id="v:componentIncludes" class="def">componentIncludes</a> :: [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]</dfn><div class="doc"><p>The set of packages that are brought into scope during- compilation, including a <code><a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></code> which may used- to hide or rename modules. This is what gets translated into- <code>-package-id</code> arguments. This is a modernized version of- <code><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentPackageDeps">componentPackageDeps</a></code>, which is kept around for BC purposes.</p></div></li><li><dfn class="src"><a id="v:componentExeDeps" class="def">componentExeDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:componentInternalDeps" class="def">componentInternalDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</dfn><div class="doc"><p>The internal dependencies which induce a graph on the- <code><a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></code> of this package. This does NOT- coincide with <code><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentPackageDeps">componentPackageDeps</a></code> because it ALSO records- 'build-tool' dependencies on executables. Maybe one day- <code>cabal-install</code> will also handle these correctly too!</p></div></li></ul></div></td></tr><tr><td class="src"><a id="v:TestComponentLocalBuildInfo" class="def">TestComponentLocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:componentLocalName" class="def">componentLocalName</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></dfn><div class="doc"><p>It would be very convenient to store the literal Library here,- but if we do that, it will get serialized (via the Binary)- instance twice. So instead we just provide the ComponentName,- which can be used to find the Component in the- PackageDescription. NB: eventually, this will NOT uniquely- identify the ComponentLocalBuildInfo.</p></div></li><li><dfn class="src"><a id="v:componentComponentId" class="def">componentComponentId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></dfn><div class="doc"><p>The computed <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code> of this component.</p></div></li><li><dfn class="src"><a id="v:componentUnitId" class="def">componentUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></dfn><div class="doc"><p>The computed <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> which uniquely identifies this- component. Might be hashed.</p></div></li><li><dfn class="src"><a id="v:componentPackageDeps" class="def">componentPackageDeps</a> :: [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]</dfn><div class="doc"><p>Resolved internal and external package dependencies for this component.- The <code><a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></code> specifies a set of build dependencies that must be- satisfied in terms of version ranges. This field fixes those dependencies- to the specific versions available on this machine for this compiler.</p></div></li><li><dfn class="src"><a id="v:componentIncludes" class="def">componentIncludes</a> :: [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]</dfn><div class="doc"><p>The set of packages that are brought into scope during- compilation, including a <code><a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></code> which may used- to hide or rename modules. This is what gets translated into- <code>-package-id</code> arguments. This is a modernized version of- <code><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentPackageDeps">componentPackageDeps</a></code>, which is kept around for BC purposes.</p></div></li><li><dfn class="src"><a id="v:componentExeDeps" class="def">componentExeDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:componentInternalDeps" class="def">componentInternalDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</dfn><div class="doc"><p>The internal dependencies which induce a graph on the- <code><a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></code> of this package. This does NOT- coincide with <code><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentPackageDeps">componentPackageDeps</a></code> because it ALSO records- 'build-tool' dependencies on executables. Maybe one day- <code>cabal-install</code> will also handle these correctly too!</p></div></li></ul></div></td></tr><tr><td class="src"><a id="v:BenchComponentLocalBuildInfo" class="def">BenchComponentLocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:componentLocalName" class="def">componentLocalName</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></dfn><div class="doc"><p>It would be very convenient to store the literal Library here,- but if we do that, it will get serialized (via the Binary)- instance twice. So instead we just provide the ComponentName,- which can be used to find the Component in the- PackageDescription. NB: eventually, this will NOT uniquely- identify the ComponentLocalBuildInfo.</p></div></li><li><dfn class="src"><a id="v:componentComponentId" class="def">componentComponentId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></dfn><div class="doc"><p>The computed <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code> of this component.</p></div></li><li><dfn class="src"><a id="v:componentUnitId" class="def">componentUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></dfn><div class="doc"><p>The computed <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> which uniquely identifies this- component. Might be hashed.</p></div></li><li><dfn class="src"><a id="v:componentPackageDeps" class="def">componentPackageDeps</a> :: [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]</dfn><div class="doc"><p>Resolved internal and external package dependencies for this component.- The <code><a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></code> specifies a set of build dependencies that must be- satisfied in terms of version ranges. This field fixes those dependencies- to the specific versions available on this machine for this compiler.</p></div></li><li><dfn class="src"><a id="v:componentIncludes" class="def">componentIncludes</a> :: [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]</dfn><div class="doc"><p>The set of packages that are brought into scope during- compilation, including a <code><a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></code> which may used- to hide or rename modules. This is what gets translated into- <code>-package-id</code> arguments. This is a modernized version of- <code><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentPackageDeps">componentPackageDeps</a></code>, which is kept around for BC purposes.</p></div></li><li><dfn class="src"><a id="v:componentExeDeps" class="def">componentExeDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:componentInternalDeps" class="def">componentInternalDeps</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]</dfn><div class="doc"><p>The internal dependencies which induce a graph on the- <code><a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></code> of this package. This does NOT- coincide with <code><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentPackageDeps">componentPackageDeps</a></code> because it ALSO records- 'build-tool' dependencies on executables. Maybe one day- <code>cabal-install</code> will also handle these correctly too!</p></div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:ComponentLocalBuildInfo" class="caption collapser" onclick="toggleSection('i:ComponentLocalBuildInfo')">Instances</p><div id="section.i:ComponentLocalBuildInfo" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentLocalBuildInfo:Read:1" class="instance expander" onclick="toggleSection('i:id:ComponentLocalBuildInfo:Read:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></span> <a href="#t:ComponentLocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentLocalBuildInfo:Read:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentLocalBuildInfo:Show:2" class="instance expander" onclick="toggleSection('i:id:ComponentLocalBuildInfo:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></span> <a href="#t:ComponentLocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentLocalBuildInfo:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentLocalBuildInfo:Generic:3" class="instance expander" onclick="toggleSection('i:id:ComponentLocalBuildInfo:Generic:3')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></span> <a href="#t:ComponentLocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentLocalBuildInfo:Generic:3" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> x -> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentLocalBuildInfo:Binary:4" class="instance expander" onclick="toggleSection('i:id:ComponentLocalBuildInfo:Binary:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></span> <a href="#t:ComponentLocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentLocalBuildInfo:Binary:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentLocalBuildInfo:IsNode:5" class="instance expander" onclick="toggleSection('i:id:ComponentLocalBuildInfo:IsNode:5')"></span> <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></span> <a href="#t:ComponentLocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentLocalBuildInfo:IsNode:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Key" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:nodeKey">nodeKey</a> :: <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> <a href="#v:nodeKey" class="selflink">#</a></p><p class="src"><a href="#v:nodeNeighbors">nodeNeighbors</a> :: <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> [<a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>] <a href="#v:nodeNeighbors" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentLocalBuildInfo:Rep:6" class="instance expander" onclick="toggleSection('i:id:ComponentLocalBuildInfo:Rep:6')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></span> <a href="#t:ComponentLocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentLocalBuildInfo:Rep:6" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ComponentLocalBuildInfo" "Distribution.Types.ComponentLocalBuildInfo" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "LibComponentLocalBuildInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentLocalName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentComponentId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentUnitId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentIsIndefinite_") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentInstantiatedWith") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentPackageDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentIncludes") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentExeDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentInternalDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentCompatPackageKey") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentCompatPackageName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentExposedModules") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">ExposedModule</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentIsPublic") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "FLibComponentLocalBuildInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentLocalName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentComponentId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentUnitId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentPackageDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentIncludes") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentExeDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentInternalDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>]))))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ExeComponentLocalBuildInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentLocalName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentComponentId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentUnitId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentPackageDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentIncludes") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentExeDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentInternalDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>])))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TestComponentLocalBuildInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentLocalName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentComponentId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentUnitId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentPackageDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentIncludes") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentExeDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentInternalDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>])))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BenchComponentLocalBuildInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentLocalName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentComponentId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentUnitId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentPackageDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentIncludes") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Backpack.html#t:OpenUnitId">OpenUnitId</a>, <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentExeDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentInternalDeps") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>])))))))))</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentLocalBuildInfo:Key:7" class="instance expander" onclick="toggleSection('i:id:ComponentLocalBuildInfo:Key:7')"></span> <span class="keyword">type</span> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></span> <a href="#t:ComponentLocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentLocalBuildInfo:Key:7" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> = <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:componentIsIndefinite" class="def">componentIsIndefinite</a> :: <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:componentIsIndefinite" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:maybeComponentInstantiatedWith" class="def">maybeComponentInstantiatedWith</a> :: <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-Backpack.html#t:OpenModule">OpenModule</a>)] <a href="#v:maybeComponentInstantiatedWith" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,8 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.ComponentName</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.ComponentName</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:ComponentName">ComponentName</a><ul class="subs"><li>= <a href="#v:CLibName">CLibName</a></li><li>| <a href="#v:CSubLibName">CSubLibName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li>| <a href="#v:CFLibName">CFLibName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li>| <a href="#v:CExeName">CExeName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li>| <a href="#v:CTestName">CTestName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li>| <a href="#v:CBenchName">CBenchName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li></ul></li><li class="src short"><a href="#v:defaultLibName">defaultLibName</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></li><li class="src short"><a href="#v:libraryComponentName">libraryComponentName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></li><li class="src short"><a href="#v:showComponentName">showComponentName</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:componentNameStanza">componentNameStanza</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:componentNameString">componentNameString</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ComponentName" class="def">ComponentName</a> <a href="#t:ComponentName" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:CLibName" class="def">CLibName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CSubLibName" class="def">CSubLibName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CFLibName" class="def">CFLibName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CExeName" class="def">CExeName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CTestName" class="def">CTestName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CBenchName" class="def">CBenchName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:ComponentName" class="caption collapser" onclick="toggleSection('i:ComponentName')">Instances</p><div id="section.i:ComponentName" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Eq:1" class="instance expander" onclick="toggleSection('i:id:ComponentName:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Ord:2" class="instance expander" onclick="toggleSection('i:id:ComponentName:Ord:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Ord:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Read:3" class="instance expander" onclick="toggleSection('i:id:ComponentName:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Show:4" class="instance expander" onclick="toggleSection('i:id:ComponentName:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Generic:5" class="instance expander" onclick="toggleSection('i:id:ComponentName:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> x -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Binary:6" class="instance expander" onclick="toggleSection('i:id:ComponentName:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Text:7" class="instance expander" onclick="toggleSection('i:id:ComponentName:Text:7')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Text:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentName:Rep:8" class="instance expander" onclick="toggleSection('i:id:ComponentName:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></span> <a href="#t:ComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentName:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ComponentName" "Distribution.Types.ComponentName" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CLibName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CSubLibName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CFLibName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CExeName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CTestName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CBenchName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:defaultLibName" class="def">defaultLibName</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> <a href="#v:defaultLibName" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:libraryComponentName" class="def">libraryComponentName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> <a href="#v:libraryComponentName" class="selflink">#</a></p><div class="doc"><p>Convert the <code><a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></code> of a library into a- <code><a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:showComponentName" class="def">showComponentName</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:showComponentName" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:componentNameStanza" class="def">componentNameStanza</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:componentNameStanza" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:componentNameString" class="def">componentNameString</a> :: <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:componentNameString" class="selflink">#</a></p><div class="doc"><p>This gets the underlying unqualified component name. In fact, it is- guaranteed to uniquely identify a component, returning- <code>Nothing</code> if the <code><a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></code> was for the public- library.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,30 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.ComponentRequestedSpec</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.ComponentRequestedSpec</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:ComponentRequestedSpec">ComponentRequestedSpec</a><ul class="subs"><li>= <a href="#v:ComponentRequestedSpec">ComponentRequestedSpec</a> { <ul class="subs"><li><a href="#v:testsRequested">testsRequested</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:benchmarksRequested">benchmarksRequested</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul> }</li><li>| <a href="#v:OneComponentRequestedSpec">OneComponentRequestedSpec</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:ComponentDisabledReason">ComponentDisabledReason</a><ul class="subs"><li>= <a href="#v:DisabledComponent">DisabledComponent</a></li><li>| <a href="#v:DisabledAllTests">DisabledAllTests</a></li><li>| <a href="#v:DisabledAllBenchmarks">DisabledAllBenchmarks</a></li><li>| <a href="#v:DisabledAllButOne">DisabledAllButOne</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><a href="#v:defaultComponentRequestedSpec">defaultComponentRequestedSpec</a> :: <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a></li><li class="src short"><a href="#v:componentNameRequested">componentNameRequested</a> :: <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:componentEnabled">componentEnabled</a> :: <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:componentDisabledReason">componentDisabledReason</a> :: <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentDisabledReason">ComponentDisabledReason</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="doc"><p><a id="buildable_vs_enabled_components"></a></p><h1>Note: Buildable versus requested versus enabled components</h1><p>What's the difference between a buildable component (ala- <code><a href="Distribution-Types-Component.html#v:componentBuildable">componentBuildable</a></code>), a requested component- (ala <code><a href="Distribution-Types-ComponentRequestedSpec.html#v:componentNameRequested">componentNameRequested</a></code>), and an enabled component (ala- <code><a href="Distribution-Types-ComponentRequestedSpec.html#v:componentEnabled">componentEnabled</a></code>)?</p><p>A component is <strong>buildable</strong> if, after resolving flags and- conditionals, there is no <code>buildable: False</code> property in it.- This is a <em>static</em> property that arises from the- Cabal file and the package description flattening; once we have- a <code>PackageDescription</code> buildability is known.</p><p>A component is <strong>requested</strong> if a user specified, via a- the flags and arguments passed to configure, that it should be- built. E.g., <code>--enable-tests</code> or <code>--enable-benchmarks</code> request- all tests and benchmarks, if they are provided. What is requested- can be read off directly from <code><a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a></code>. A requested- component is not always buildable; e.g., a user may <code>--enable-tests</code>- but one of the test suites may have <code>buildable: False</code>.</p><p>A component is <strong>enabled</strong> if it is BOTH buildable- and requested. Once we have a <code>LocalBuildInfo</code>, whether or not a- component is enabled is known.</p><p>Generally speaking, most Cabal API code cares if a component- is enabled. (For example, if you want to run a preprocessor on each- component prior to building them, you want to run this on each- <em>enabled</em> component.)</p><p>Note that post-configuration, you will generally not see a- non-buildable <code><a href="Distribution-Types-Component.html#t:Component">Component</a></code>. This is because <code>flattenPD</code> will drop- any such components from <code>PackageDescription</code>. See #3858 for- an example where this causes problems.</p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ComponentRequestedSpec" class="def">ComponentRequestedSpec</a> <a href="#t:ComponentRequestedSpec" class="selflink">#</a></p><div class="doc"><p>Describes what components are enabled by user-interaction.- See also this note in- <a href="Distribution-Types-ComponentRequestedSpec.html#buildable_vs_enabled_components">Distribution.Types.ComponentRequestedSpec</a>.</p><p><em>Since: 2.0.0.2</em></p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ComponentRequestedSpec" class="def">ComponentRequestedSpec</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:testsRequested" class="def">testsRequested</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:benchmarksRequested" class="def">benchmarksRequested</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr><tr><td class="src"><a id="v:OneComponentRequestedSpec" class="def">OneComponentRequestedSpec</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:ComponentRequestedSpec" class="caption collapser" onclick="toggleSection('i:ComponentRequestedSpec')">Instances</p><div id="section.i:ComponentRequestedSpec" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentRequestedSpec:Eq:1" class="instance expander" onclick="toggleSection('i:id:ComponentRequestedSpec:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a></span> <a href="#t:ComponentRequestedSpec" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentRequestedSpec:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> -> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> -> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentRequestedSpec:Read:2" class="instance expander" onclick="toggleSection('i:id:ComponentRequestedSpec:Read:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a></span> <a href="#t:ComponentRequestedSpec" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentRequestedSpec:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentRequestedSpec:Show:3" class="instance expander" onclick="toggleSection('i:id:ComponentRequestedSpec:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a></span> <a href="#t:ComponentRequestedSpec" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentRequestedSpec:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentRequestedSpec:Generic:4" class="instance expander" onclick="toggleSection('i:id:ComponentRequestedSpec:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a></span> <a href="#t:ComponentRequestedSpec" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentRequestedSpec:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> x -> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentRequestedSpec:Binary:5" class="instance expander" onclick="toggleSection('i:id:ComponentRequestedSpec:Binary:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a></span> <a href="#t:ComponentRequestedSpec" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentRequestedSpec:Binary:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ComponentRequestedSpec:Rep:6" class="instance expander" onclick="toggleSection('i:id:ComponentRequestedSpec:Rep:6')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a></span> <a href="#t:ComponentRequestedSpec" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ComponentRequestedSpec:Rep:6" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ComponentRequestedSpec" "Distribution.Types.ComponentRequestedSpec" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ComponentRequestedSpec" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "testsRequested") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "benchmarksRequested") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "OneComponentRequestedSpec" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ComponentDisabledReason" class="def">ComponentDisabledReason</a> <a href="#t:ComponentDisabledReason" class="selflink">#</a></p><div class="doc"><p>A reason explaining why a component is disabled.</p><p><em>Since: 2.0.0.2</em></p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:DisabledComponent" class="def">DisabledComponent</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:DisabledAllTests" class="def">DisabledAllTests</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:DisabledAllBenchmarks" class="def">DisabledAllBenchmarks</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:DisabledAllButOne" class="def">DisabledAllButOne</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr></table></div></div><div class="top"><p class="src"><a id="v:defaultComponentRequestedSpec" class="def">defaultComponentRequestedSpec</a> :: <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> <a href="#v:defaultComponentRequestedSpec" class="selflink">#</a></p><div class="doc"><p>The default set of enabled components. Historically tests and- benchmarks are NOT enabled by default.</p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:componentNameRequested" class="def">componentNameRequested</a> :: <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:componentNameRequested" class="selflink">#</a></p><div class="doc"><p>Is this component name enabled? See also this note in- <a href="Distribution-Types-ComponentRequestedSpec.html#buildable_vs_enabled_components">Distribution.Types.ComponentRequestedSpec</a>.</p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:componentEnabled" class="def">componentEnabled</a> :: <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:componentEnabled" class="selflink">#</a></p><div class="doc"><p>Is this component enabled? See also this note in- <a href="Distribution-Types-ComponentRequestedSpec.html#buildable_vs_enabled_components">Distribution.Types.ComponentRequestedSpec</a>.</p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:componentDisabledReason" class="def">componentDisabledReason</a> :: <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentDisabledReason">ComponentDisabledReason</a> <a href="#v:componentDisabledReason" class="selflink">#</a></p><div class="doc"><p>Is this component disabled, and if so, why?</p><p><em>Since: 2.0.0.2</em></p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,26 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.CondTree</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.CondTree</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:CondTree">CondTree</a> v c a = <a href="#v:CondNode">CondNode</a> {<ul class="subs"><li><a href="#v:condTreeData">condTreeData</a> :: a</li><li><a href="#v:condTreeConstraints">condTreeConstraints</a> :: c</li><li><a href="#v:condTreeComponents">condTreeComponents</a> :: [<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a]</li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:CondBranch">CondBranch</a> v c a = <a href="#v:CondBranch">CondBranch</a> {<ul class="subs"><li><a href="#v:condBranchCondition">condBranchCondition</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v</li><li><a href="#v:condBranchIfTrue">condBranchIfTrue</a> :: <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a</li><li><a href="#v:condBranchIfFalse">condBranchIfFalse</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a)</li></ul>}</li><li class="src short"><a href="#v:condIfThen">condIfThen</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a</li><li class="src short"><a href="#v:condIfThenElse">condIfThenElse</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a</li><li class="src short"><a href="#v:mapCondTree">mapCondTree</a> :: (a -> b) -> (c -> d) -> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> w) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> w d b</li><li class="src short"><a href="#v:mapTreeConstrs">mapTreeConstrs</a> :: (c -> d) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v d a</li><li class="src short"><a href="#v:mapTreeConds">mapTreeConds</a> :: (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> w) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> w c a</li><li class="src short"><a href="#v:mapTreeData">mapTreeData</a> :: (a -> b) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c b</li><li class="src short"><a href="#v:traverseCondTreeV">traverseCondTreeV</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f => (v -> f w) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> f (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> w c a)</li><li class="src short"><a href="#v:traverseCondBranchV">traverseCondBranchV</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f => (v -> f w) -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> f (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> w c a)</li><li class="src short"><a href="#v:extractCondition">extractCondition</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> v => (a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v</li><li class="src short"><a href="#v:simplifyCondTree">simplifyCondTree</a> :: (<a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> a, <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> d) => (v -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> v <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v d a -> (d, a)</li><li class="src short"><a href="#v:ignoreConditions">ignoreConditions</a> :: (<a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> a, <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> c) => <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> (a, c)</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:CondTree" class="def">CondTree</a> v c a <a href="#t:CondTree" class="selflink">#</a></p><div class="doc"><p>A <code><a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a></code> is used to represent the conditional structure of- a Cabal file, reflecting a syntax element subject to constraints,- and then any number of sub-elements which may be enabled subject- to some condition. Both <code>a</code> and <code>c</code> are usually <code><a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a></code>s.</p><p>To be more concrete, consider the following fragment of a <code>Cabal</code>- file:</p><pre>build-depends: base >= 4.0-if flag(extra)- build-depends: base >= 4.2-</pre><p>One way to represent this is to have <code><code><a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a></code> <code>ConfVar</code>- [<code>Dependency</code>] <code>BuildInfo</code></code>. Here, <code><a href="Distribution-Types-CondTree.html#v:condTreeData">condTreeData</a></code> represents- the actual fields which are not behind any conditional, while- <code><a href="Distribution-Types-CondTree.html#v:condTreeComponents">condTreeComponents</a></code> recursively records any further fields- which are behind a conditional. <code><a href="Distribution-Types-CondTree.html#v:condTreeConstraints">condTreeConstraints</a></code> records- the constraints (in this case, <code>base >= 4.0</code>) which would- be applied if you use this syntax; in general, this is- derived off of <code>targetBuildInfo</code> (perhaps a good refactoring- would be to convert this into an opaque type, with a smart- constructor that pre-computes the dependencies.)</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:CondNode" class="def">CondNode</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:condTreeData" class="def">condTreeData</a> :: a</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:condTreeConstraints" class="def">condTreeConstraints</a> :: c</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:condTreeComponents" class="def">condTreeComponents</a> :: [<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a]</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:CondTree" class="caption collapser" onclick="toggleSection('i:CondTree')">Instances</p><div id="section.i:CondTree" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondTree:Functor:1" class="instance expander" onclick="toggleSection('i:id:CondTree:Functor:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c)</span> <a href="#t:CondTree" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondTree:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -> b) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(<$)</a> :: a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c b -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondTree:Foldable:2" class="instance expander" onclick="toggleSection('i:id:CondTree:Foldable:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Foldable">Foldable</a> (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c)</span> <a href="#t:CondTree" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondTree:Foldable:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fold">fold</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> m => <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c m -> m <a href="#v:fold" class="selflink">#</a></p><p class="src"><a href="#v:foldMap">foldMap</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> m => (a -> m) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> m <a href="#v:foldMap" class="selflink">#</a></p><p class="src"><a href="#v:foldr">foldr</a> :: (a -> b -> b) -> b -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> b <a href="#v:foldr" class="selflink">#</a></p><p class="src"><a href="#v:foldr-39-">foldr'</a> :: (a -> b -> b) -> b -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> b <a href="#v:foldr-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldl">foldl</a> :: (b -> a -> b) -> b -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> b <a href="#v:foldl" class="selflink">#</a></p><p class="src"><a href="#v:foldl-39-">foldl'</a> :: (b -> a -> b) -> b -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> b <a href="#v:foldl-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldr1">foldr1</a> :: (a -> a -> a) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> a <a href="#v:foldr1" class="selflink">#</a></p><p class="src"><a href="#v:foldl1">foldl1</a> :: (a -> a -> a) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> a <a href="#v:foldl1" class="selflink">#</a></p><p class="src"><a href="#v:toList">toList</a> :: <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> [a] <a href="#v:toList" class="selflink">#</a></p><p class="src"><a href="#v:null">null</a> :: <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:null" class="selflink">#</a></p><p class="src"><a href="#v:length">length</a> :: <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:length" class="selflink">#</a></p><p class="src"><a href="#v:elem">elem</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a => a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:elem" class="selflink">#</a></p><p class="src"><a href="#v:maximum">maximum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> a <a href="#v:maximum" class="selflink">#</a></p><p class="src"><a href="#v:minimum">minimum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> a <a href="#v:minimum" class="selflink">#</a></p><p class="src"><a href="#v:sum">sum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Num">Num</a> a => <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> a <a href="#v:sum" class="selflink">#</a></p><p class="src"><a href="#v:product">product</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Num">Num</a> a => <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> a <a href="#v:product" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondTree:Traversable:3" class="instance expander" onclick="toggleSection('i:id:CondTree:Traversable:3')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Traversable">Traversable</a> (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c)</span> <a href="#t:CondTree" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondTree:Traversable:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> f (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f => <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c (f a) -> f (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> m (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c b) <a href="#v:mapM" class="selflink">#</a></p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c (m a) -> m (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a) <a href="#v:sequence" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondTree:Eq:4" class="instance expander" onclick="toggleSection('i:id:CondTree:Eq:4')"></span> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> v, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> c, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a) => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a)</span> <a href="#t:CondTree" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondTree:Eq:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondTree:Data:5" class="instance expander" onclick="toggleSection('i:id:CondTree:Data:5')"></span> (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> a, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> c, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> v) => <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a)</span> <a href="#t:CondTree" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondTree:Data:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> c (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a) <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a) <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a)) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a)) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> m (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a) <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> m (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a) <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> m (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a) <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondTree:Show:6" class="instance expander" onclick="toggleSection('i:id:CondTree:Show:6')"></span> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> v, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> c, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> a) => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a)</span> <a href="#t:CondTree" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondTree:Show:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondTree:Generic:7" class="instance expander" onclick="toggleSection('i:id:CondTree:Generic:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a)</span> <a href="#t:CondTree" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondTree:Generic:7" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a) :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a) x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a) x -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondTree:Binary:8" class="instance expander" onclick="toggleSection('i:id:CondTree:Binary:8')"></span> (<a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> v, <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> c, <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> a) => <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a)</span> <a href="#t:CondTree" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondTree:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a) <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondTree:Rep:9" class="instance expander" onclick="toggleSection('i:id:CondTree:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a)</span> <a href="#t:CondTree" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondTree:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a) = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "CondTree" "Distribution.Types.CondTree" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CondNode" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "condTreeData") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> a)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "condTreeConstraints") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> c)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "condTreeComponents") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a])))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:CondBranch" class="def">CondBranch</a> v c a <a href="#t:CondBranch" class="selflink">#</a></p><div class="doc"><p>A <code><a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a></code> represents a conditional branch, e.g., <code>if- flag(foo)</code> on some syntax <code>a</code>. It also has an optional false- branch.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:CondBranch" class="def">CondBranch</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:condBranchCondition" class="def">condBranchCondition</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:condBranchIfTrue" class="def">condBranchIfTrue</a> :: <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:condBranchIfFalse" class="def">condBranchIfFalse</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a)</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:CondBranch" class="caption collapser" onclick="toggleSection('i:CondBranch')">Instances</p><div id="section.i:CondBranch" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondBranch:Functor:1" class="instance expander" onclick="toggleSection('i:id:CondBranch:Functor:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c)</span> <a href="#t:CondBranch" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondBranch:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -> b) -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(<$)</a> :: a -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c b -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondBranch:Foldable:2" class="instance expander" onclick="toggleSection('i:id:CondBranch:Foldable:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Foldable">Foldable</a> (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c)</span> <a href="#t:CondBranch" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondBranch:Foldable:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fold">fold</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> m => <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c m -> m <a href="#v:fold" class="selflink">#</a></p><p class="src"><a href="#v:foldMap">foldMap</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> m => (a -> m) -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> m <a href="#v:foldMap" class="selflink">#</a></p><p class="src"><a href="#v:foldr">foldr</a> :: (a -> b -> b) -> b -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> b <a href="#v:foldr" class="selflink">#</a></p><p class="src"><a href="#v:foldr-39-">foldr'</a> :: (a -> b -> b) -> b -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> b <a href="#v:foldr-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldl">foldl</a> :: (b -> a -> b) -> b -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> b <a href="#v:foldl" class="selflink">#</a></p><p class="src"><a href="#v:foldl-39-">foldl'</a> :: (b -> a -> b) -> b -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> b <a href="#v:foldl-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldr1">foldr1</a> :: (a -> a -> a) -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> a <a href="#v:foldr1" class="selflink">#</a></p><p class="src"><a href="#v:foldl1">foldl1</a> :: (a -> a -> a) -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> a <a href="#v:foldl1" class="selflink">#</a></p><p class="src"><a href="#v:toList">toList</a> :: <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> [a] <a href="#v:toList" class="selflink">#</a></p><p class="src"><a href="#v:null">null</a> :: <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:null" class="selflink">#</a></p><p class="src"><a href="#v:length">length</a> :: <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:length" class="selflink">#</a></p><p class="src"><a href="#v:elem">elem</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a => a -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:elem" class="selflink">#</a></p><p class="src"><a href="#v:maximum">maximum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> a <a href="#v:maximum" class="selflink">#</a></p><p class="src"><a href="#v:minimum">minimum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> a <a href="#v:minimum" class="selflink">#</a></p><p class="src"><a href="#v:sum">sum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Num">Num</a> a => <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> a <a href="#v:sum" class="selflink">#</a></p><p class="src"><a href="#v:product">product</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Num">Num</a> a => <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> a <a href="#v:product" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondBranch:Traversable:3" class="instance expander" onclick="toggleSection('i:id:CondBranch:Traversable:3')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Traversable">Traversable</a> (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c)</span> <a href="#t:CondBranch" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondBranch:Traversable:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> f (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f => <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c (f a) -> f (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> m (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c b) <a href="#v:mapM" class="selflink">#</a></p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c (m a) -> m (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a) <a href="#v:sequence" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondBranch:Eq:4" class="instance expander" onclick="toggleSection('i:id:CondBranch:Eq:4')"></span> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> c, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> v) => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a)</span> <a href="#t:CondBranch" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondBranch:Eq:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondBranch:Data:5" class="instance expander" onclick="toggleSection('i:id:CondBranch:Data:5')"></span> (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> a, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> c, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> v) => <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a)</span> <a href="#t:CondBranch" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondBranch:Data:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> c (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a) <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a) <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a)) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a)) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> m (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a) <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> m (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a) <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> m (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a) <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondBranch:Show:6" class="instance expander" onclick="toggleSection('i:id:CondBranch:Show:6')"></span> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> a, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> c, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> v) => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a)</span> <a href="#t:CondBranch" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondBranch:Show:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondBranch:Generic:7" class="instance expander" onclick="toggleSection('i:id:CondBranch:Generic:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a)</span> <a href="#t:CondBranch" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondBranch:Generic:7" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a) :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a) x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a) x -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondBranch:Binary:8" class="instance expander" onclick="toggleSection('i:id:CondBranch:Binary:8')"></span> (<a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> v, <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> c, <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> a) => <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a)</span> <a href="#t:CondBranch" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondBranch:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a) <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:CondBranch:Rep:9" class="instance expander" onclick="toggleSection('i:id:CondBranch:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a)</span> <a href="#t:CondBranch" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:CondBranch:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a) = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "CondBranch" "Distribution.Types.CondTree" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CondBranch" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "condBranchCondition") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "condBranchIfTrue") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "condBranchIfFalse") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a)))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:condIfThen" class="def">condIfThen</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a <a href="#v:condIfThen" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:condIfThenElse" class="def">condIfThenElse</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a <a href="#v:condIfThenElse" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:mapCondTree" class="def">mapCondTree</a> :: (a -> b) -> (c -> d) -> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> w) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> w d b <a href="#v:mapCondTree" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:mapTreeConstrs" class="def">mapTreeConstrs</a> :: (c -> d) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v d a <a href="#v:mapTreeConstrs" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:mapTreeConds" class="def">mapTreeConds</a> :: (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> w) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> w c a <a href="#v:mapTreeConds" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:mapTreeData" class="def">mapTreeData</a> :: (a -> b) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c b <a href="#v:mapTreeData" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:traverseCondTreeV" class="def">traverseCondTreeV</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f => (v -> f w) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> f (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> w c a) <a href="#v:traverseCondTreeV" class="selflink">#</a></p><div class="doc"><pre>Traversal (CondTree v c a) (CondTree w c a) v w</pre></div></div><div class="top"><p class="src"><a id="v:traverseCondBranchV" class="def">traverseCondBranchV</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f => (v -> f w) -> <a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> v c a -> f (<a href="Distribution-Types-CondTree.html#t:CondBranch">CondBranch</a> w c a) <a href="#v:traverseCondBranchV" class="selflink">#</a></p><div class="doc"><pre>Traversal (CondBranch v c a) (CondBranch w c a) v w</pre></div></div><div class="top"><p class="src"><a id="v:extractCondition" class="def">extractCondition</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> v => (a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v <a href="#v:extractCondition" class="selflink">#</a></p><div class="doc"><p>Extract the condition matched by the given predicate from a cond tree.</p><p>We use this mainly for extracting buildable conditions (see the Note above),- but the function is in fact more general.</p></div></div><div class="top"><p class="src"><a id="v:simplifyCondTree" class="def">simplifyCondTree</a> :: (<a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> a, <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> d) => (v -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> v <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v d a -> (d, a) <a href="#v:simplifyCondTree" class="selflink">#</a></p><div class="doc"><p>Flattens a CondTree using a partial flag assignment. When a condition- cannot be evaluated, both branches are ignored.</p></div></div><div class="top"><p class="src"><a id="v:ignoreConditions" class="def">ignoreConditions</a> :: (<a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> a, <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> c) => <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> v c a -> (a, c) <a href="#v:ignoreConditions" class="selflink">#</a></p><div class="doc"><p>Flatten a CondTree. This will resolve the CondTree by taking all- possible paths into account. Note that since branches represent exclusive- choices this may not result in a "sane" result.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.Condition</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.Condition</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:Condition">Condition</a> c<ul class="subs"><li>= <a href="#v:Var">Var</a> c</li><li>| <a href="#v:Lit">Lit</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li>| <a href="#v:CNot">CNot</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c)</li><li>| <a href="#v:COr">COr</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c) (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c)</li><li>| <a href="#v:CAnd">CAnd</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c) (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c)</li></ul></li><li class="src short"><a href="#v:cNot">cNot</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a</li><li class="src short"><a href="#v:cAnd">cAnd</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a</li><li class="src short"><a href="#v:cOr">cOr</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> v => <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v</li><li class="src short"><a href="#v:simplifyCondition">simplifyCondition</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c -> (c -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> d <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> d, [d])</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Condition" class="def">Condition</a> c <a href="#t:Condition" class="selflink">#</a></p><div class="doc"><p>A boolean expression parameterized over the variable type used.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Var" class="def">Var</a> c</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Lit" class="def">Lit</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CNot" class="def">CNot</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c)</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:COr" class="def">COr</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c) (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c)</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CAnd" class="def">CAnd</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c) (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c)</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Condition" class="caption collapser" onclick="toggleSection('i:Condition')">Instances</p><div id="section.i:Condition" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Monad:1" class="instance expander" onclick="toggleSection('i:id:Condition:Monad:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a></span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Monad:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-62--62--61-">(>>=)</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> (a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> b) -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> b <a href="#v:-62--62--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62--62-">(>>)</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> b -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> b <a href="#v:-62--62-" class="selflink">#</a></p><p class="src"><a href="#v:return">return</a> :: a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:return" class="selflink">#</a></p><p class="src"><a href="#v:fail">fail</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:fail" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Functor:2" class="instance expander" onclick="toggleSection('i:id:Condition:Functor:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor.html#t:Functor">Functor</a> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a></span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Functor:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -> b) -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(<$)</a> :: a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> b -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Applicative:3" class="instance expander" onclick="toggleSection('i:id:Condition:Applicative:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a></span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Applicative:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(<*>)</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> (a -> b) -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:liftA2">liftA2</a> :: (a -> b -> c) -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> b -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c <a href="#v:liftA2" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*>)</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> b -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(<*)</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> b -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:-60--42-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Foldable:4" class="instance expander" onclick="toggleSection('i:id:Condition:Foldable:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Foldable">Foldable</a> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a></span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Foldable:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fold">fold</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> m => <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> m -> m <a href="#v:fold" class="selflink">#</a></p><p class="src"><a href="#v:foldMap">foldMap</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> m => (a -> m) -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> m <a href="#v:foldMap" class="selflink">#</a></p><p class="src"><a href="#v:foldr">foldr</a> :: (a -> b -> b) -> b -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> b <a href="#v:foldr" class="selflink">#</a></p><p class="src"><a href="#v:foldr-39-">foldr'</a> :: (a -> b -> b) -> b -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> b <a href="#v:foldr-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldl">foldl</a> :: (b -> a -> b) -> b -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> b <a href="#v:foldl" class="selflink">#</a></p><p class="src"><a href="#v:foldl-39-">foldl'</a> :: (b -> a -> b) -> b -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> b <a href="#v:foldl-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldr1">foldr1</a> :: (a -> a -> a) -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> a <a href="#v:foldr1" class="selflink">#</a></p><p class="src"><a href="#v:foldl1">foldl1</a> :: (a -> a -> a) -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> a <a href="#v:foldl1" class="selflink">#</a></p><p class="src"><a href="#v:toList">toList</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> [a] <a href="#v:toList" class="selflink">#</a></p><p class="src"><a href="#v:null">null</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:null" class="selflink">#</a></p><p class="src"><a href="#v:length">length</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:length" class="selflink">#</a></p><p class="src"><a href="#v:elem">elem</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a => a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:elem" class="selflink">#</a></p><p class="src"><a href="#v:maximum">maximum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> a <a href="#v:maximum" class="selflink">#</a></p><p class="src"><a href="#v:minimum">minimum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> a <a href="#v:minimum" class="selflink">#</a></p><p class="src"><a href="#v:sum">sum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Num">Num</a> a => <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> a <a href="#v:sum" class="selflink">#</a></p><p class="src"><a href="#v:product">product</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Num">Num</a> a => <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> a <a href="#v:product" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Traversable:5" class="instance expander" onclick="toggleSection('i:id:Condition:Traversable:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Traversable">Traversable</a> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a></span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Traversable:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f => (a -> f b) -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> f (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f => <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> (f a) -> f (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (a -> m b) -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> m (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> b) <a href="#v:mapM" class="selflink">#</a></p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> (m a) -> m (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a) <a href="#v:sequence" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Alternative:6" class="instance expander" onclick="toggleSection('i:id:Condition:Alternative:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Alternative">Alternative</a> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a></span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Alternative:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:empty">empty</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:empty" class="selflink">#</a></p><p class="src"><a href="#v:-60--124--62-">(<|>)</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:-60--124--62-" class="selflink">#</a></p><p class="src"><a href="#v:some">some</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> [a] <a href="#v:some" class="selflink">#</a></p><p class="src"><a href="#v:many">many</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> [a] <a href="#v:many" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:MonadPlus:7" class="instance expander" onclick="toggleSection('i:id:Condition:MonadPlus:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a></span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:MonadPlus:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mzero">mzero</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:mzero" class="selflink">#</a></p><p class="src"><a href="#v:mplus">mplus</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:mplus" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Eq:8" class="instance expander" onclick="toggleSection('i:id:Condition:Eq:8')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> c => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c)</span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Eq:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Data:9" class="instance expander" onclick="toggleSection('i:id:Condition:Data:9')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> c => <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c)</span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Data:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c -> c (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c) <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c) <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c)) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c)) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c -> m (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c) <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c -> m (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c) <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c -> m (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c) <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Show:10" class="instance expander" onclick="toggleSection('i:id:Condition:Show:10')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> c => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c)</span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Show:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Generic:11" class="instance expander" onclick="toggleSection('i:id:Condition:Generic:11')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c)</span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Generic:11" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c) :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c) x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c) x -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Semigroup:12" class="instance expander" onclick="toggleSection('i:id:Condition:Semigroup:12')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a)</span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Semigroup:12" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a) -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Monoid:13" class="instance expander" onclick="toggleSection('i:id:Condition:Monoid:13')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a)</span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Monoid:13" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a] -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Binary:14" class="instance expander" onclick="toggleSection('i:id:Condition:Binary:14')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> c => <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c)</span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Binary:14" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c) <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Condition:Rep:15" class="instance expander" onclick="toggleSection('i:id:Condition:Rep:15')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c)</span> <a href="#t:Condition" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Condition:Rep:15" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c) = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Condition" "Distribution.Types.Condition" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Var" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> c))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Lit" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CNot" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "COr" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CAnd" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c))))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:cNot" class="def">cNot</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:cNot" class="selflink">#</a></p><div class="doc"><p>Boolean negation of a <code><a href="Distribution-Types-Condition.html#t:Condition">Condition</a></code> value.</p></div></div><div class="top"><p class="src"><a id="v:cAnd" class="def">cAnd</a> :: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> a <a href="#v:cAnd" class="selflink">#</a></p><div class="doc"><p>Boolean AND of two <code>Condtion</code> values.</p></div></div><div class="top"><p class="src"><a id="v:cOr" class="def">cOr</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> v => <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v -> <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> v <a href="#v:cOr" class="selflink">#</a></p><div class="doc"><p>Boolean OR of two <code><a href="Distribution-Types-Condition.html#t:Condition">Condition</a></code> values.</p></div></div><div class="top"><p class="src"><a id="v:simplifyCondition" class="def">simplifyCondition</a> <a href="#v:simplifyCondition" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Types-Condition.html#t:Condition">Condition</a> c</td><td class="doc empty"> </td></tr><tr><td class="src">-> (c -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> d <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)</td><td class="doc"><p>(partial) variable assignment</p></td></tr><tr><td class="src">-> (<a href="Distribution-Types-Condition.html#t:Condition">Condition</a> d, [d])</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Simplify the condition and return its free variables.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,5 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.Dependency</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.Dependency</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:Dependency">Dependency</a> = <a href="#v:Dependency">Dependency</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:depPkgName">depPkgName</a> :: <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></li><li class="src short"><a href="#v:depVerRange">depVerRange</a> :: <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:thisPackageVersion">thisPackageVersion</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a></li><li class="src short"><a href="#v:notThisPackageVersion">notThisPackageVersion</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a></li><li class="src short"><a href="#v:simplifyDependency">simplifyDependency</a> :: <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Dependency" class="def">Dependency</a> <a href="#t:Dependency" class="selflink">#</a></p><div class="doc"><p>Describes a dependency on a source package (API)</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Dependency" class="def">Dependency</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Dependency" class="caption collapser" onclick="toggleSection('i:Dependency')">Instances</p><div id="section.i:Dependency" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Dependency:Eq:1" class="instance expander" onclick="toggleSection('i:id:Dependency:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a></span> <a href="#t:Dependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Dependency:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Dependency:Data:2" class="instance expander" onclick="toggleSection('i:id:Dependency:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a></span> <a href="#t:Dependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Dependency:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> c <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> m <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> m <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> m <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Dependency:Read:3" class="instance expander" onclick="toggleSection('i:id:Dependency:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a></span> <a href="#t:Dependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Dependency:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Dependency:Show:4" class="instance expander" onclick="toggleSection('i:id:Dependency:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a></span> <a href="#t:Dependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Dependency:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Dependency:Generic:5" class="instance expander" onclick="toggleSection('i:id:Dependency:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a></span> <a href="#t:Dependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Dependency:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> x -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Dependency:Binary:6" class="instance expander" onclick="toggleSection('i:id:Dependency:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a></span> <a href="#t:Dependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Dependency:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Dependency:NFData:7" class="instance expander" onclick="toggleSection('i:id:Dependency:NFData:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a></span> <a href="#t:Dependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Dependency:NFData:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Dependency:Text:8" class="instance expander" onclick="toggleSection('i:id:Dependency:Text:8')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a></span> <a href="#t:Dependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Dependency:Text:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Dependency:Rep:9" class="instance expander" onclick="toggleSection('i:id:Dependency:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a></span> <a href="#t:Dependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Dependency:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Dependency" "Distribution.Types.Dependency" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Dependency" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:depPkgName" class="def">depPkgName</a> :: <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="#v:depPkgName" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:depVerRange" class="def">depVerRange</a> :: <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:depVerRange" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:thisPackageVersion" class="def">thisPackageVersion</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> <a href="#v:thisPackageVersion" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:notThisPackageVersion" class="def">notThisPackageVersion</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> <a href="#v:notThisPackageVersion" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:simplifyDependency" class="def">simplifyDependency</a> :: <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> -> <a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a> <a href="#v:simplifyDependency" class="selflink">#</a></p><div class="doc"><p>Simplify the <code><a href="Distribution-Version.html#t:VersionRange">VersionRange</a></code> expression in a <code><a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a></code>.- See <code><a href="Distribution-Version.html#v:simplifyVersionRange">simplifyVersionRange</a></code>.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,5 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.DependencyMap</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.DependencyMap</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:DependencyMap">DependencyMap</a></li><li class="src short"><a href="#v:toDepMap">toDepMap</a> :: [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] -> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a></li><li class="src short"><a href="#v:fromDepMap">fromDepMap</a> :: <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> -> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>]</li><li class="src short"><a href="#v:constrainBy">constrainBy</a> :: <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> -> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> -> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:DependencyMap" class="def">DependencyMap</a> <a href="#t:DependencyMap" class="selflink">#</a></p><div class="doc"><p>A map of dependencies. Newtyped since the default monoid instance is not- appropriate. The monoid instance uses <code><a href="Distribution-Version.html#v:intersectVersionRanges">intersectVersionRanges</a></code>.</p></div><div class="subs instances"><p id="control.i:DependencyMap" class="caption collapser" onclick="toggleSection('i:DependencyMap')">Instances</p><div id="section.i:DependencyMap" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DependencyMap:Read:1" class="instance expander" onclick="toggleSection('i:id:DependencyMap:Read:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a></span> <a href="#t:DependencyMap" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DependencyMap:Read:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DependencyMap:Show:2" class="instance expander" onclick="toggleSection('i:id:DependencyMap:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a></span> <a href="#t:DependencyMap" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DependencyMap:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DependencyMap:Semigroup:3" class="instance expander" onclick="toggleSection('i:id:DependencyMap:Semigroup:3')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a></span> <a href="#t:DependencyMap" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DependencyMap:Semigroup:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> -> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> -> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> -> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> -> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DependencyMap:Monoid:4" class="instance expander" onclick="toggleSection('i:id:DependencyMap:Monoid:4')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a></span> <a href="#t:DependencyMap" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DependencyMap:Monoid:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> -> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> -> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a>] -> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:toDepMap" class="def">toDepMap</a> :: [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] -> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> <a href="#v:toDepMap" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fromDepMap" class="def">fromDepMap</a> :: <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a> -> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="#v:fromDepMap" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:constrainBy" class="def">constrainBy</a> <a href="#v:constrainBy" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a></td><td class="doc"><p>Input map</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a></td><td class="doc"><p>Extra constraints</p></td></tr><tr><td class="src">-> <a href="Distribution-Types-DependencyMap.html#t:DependencyMap">DependencyMap</a></td><td class="doc empty"> </td></tr></table></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.ExeDependency</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.ExeDependency</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:ExeDependency">ExeDependency</a> = <a href="#v:ExeDependency">ExeDependency</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:qualifiedExeName">qualifiedExeName</a> :: <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ExeDependency" class="def">ExeDependency</a> <a href="#t:ExeDependency" class="selflink">#</a></p><div class="doc"><p>Describes a dependency on an executable from a package</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ExeDependency" class="def">ExeDependency</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:ExeDependency" class="caption collapser" onclick="toggleSection('i:ExeDependency')">Instances</p><div id="section.i:ExeDependency" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExeDependency:Eq:1" class="instance expander" onclick="toggleSection('i:id:ExeDependency:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a></span> <a href="#t:ExeDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExeDependency:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExeDependency:Data:2" class="instance expander" onclick="toggleSection('i:id:ExeDependency:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a></span> <a href="#t:ExeDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExeDependency:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> c <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> m <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> m <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> m <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExeDependency:Read:3" class="instance expander" onclick="toggleSection('i:id:ExeDependency:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a></span> <a href="#t:ExeDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExeDependency:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExeDependency:Show:4" class="instance expander" onclick="toggleSection('i:id:ExeDependency:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a></span> <a href="#t:ExeDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExeDependency:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExeDependency:Generic:5" class="instance expander" onclick="toggleSection('i:id:ExeDependency:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a></span> <a href="#t:ExeDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExeDependency:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> x -> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExeDependency:Binary:6" class="instance expander" onclick="toggleSection('i:id:ExeDependency:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a></span> <a href="#t:ExeDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExeDependency:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExeDependency:NFData:7" class="instance expander" onclick="toggleSection('i:id:ExeDependency:NFData:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a></span> <a href="#t:ExeDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExeDependency:NFData:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExeDependency:Text:8" class="instance expander" onclick="toggleSection('i:id:ExeDependency:Text:8')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a></span> <a href="#t:ExeDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExeDependency:Text:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExeDependency:Rep:9" class="instance expander" onclick="toggleSection('i:id:ExeDependency:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a></span> <a href="#t:ExeDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExeDependency:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ExeDependency" "Distribution.Types.ExeDependency" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ExeDependency" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:qualifiedExeName" class="def">qualifiedExeName</a> :: <a href="Distribution-Types-ExeDependency.html#t:ExeDependency">ExeDependency</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> <a href="#v:qualifiedExeName" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,5 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.Executable</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.Executable</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:Executable">Executable</a> = <a href="#v:Executable">Executable</a> {<ul class="subs"><li><a href="#v:exeName">exeName</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li><a href="#v:modulePath">modulePath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:exeScope">exeScope</a> :: <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a></li><li><a href="#v:buildInfo">buildInfo</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></li></ul>}</li><li class="src short"><a href="#v:emptyExecutable">emptyExecutable</a> :: <a href="Distribution-Types-Executable.html#t:Executable">Executable</a></li><li class="src short"><a href="#v:exeModules">exeModules</a> :: <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li class="src short"><a href="#v:exeModulesAutogen">exeModulesAutogen</a> :: <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Executable" class="def">Executable</a> <a href="#t:Executable" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Executable" class="def">Executable</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:exeName" class="def">exeName</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:modulePath" class="def">modulePath</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:exeScope" class="def">exeScope</a> :: <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:buildInfo" class="def">buildInfo</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:Executable" class="caption collapser" onclick="toggleSection('i:Executable')">Instances</p><div id="section.i:Executable" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Executable:Eq:1" class="instance expander" onclick="toggleSection('i:id:Executable:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a></span> <a href="#t:Executable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Executable:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Executable:Data:2" class="instance expander" onclick="toggleSection('i:id:Executable:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a></span> <a href="#t:Executable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Executable:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> c <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-Executable.html#t:Executable">Executable</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-Executable.html#t:Executable">Executable</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> m <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> m <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> m <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Executable:Read:3" class="instance expander" onclick="toggleSection('i:id:Executable:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a></span> <a href="#t:Executable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Executable:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-Executable.html#t:Executable">Executable</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-Executable.html#t:Executable">Executable</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Executable:Show:4" class="instance expander" onclick="toggleSection('i:id:Executable:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a></span> <a href="#t:Executable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Executable:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-Executable.html#t:Executable">Executable</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Executable:Generic:5" class="instance expander" onclick="toggleSection('i:id:Executable:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a></span> <a href="#t:Executable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Executable:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> x -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Executable:Semigroup:6" class="instance expander" onclick="toggleSection('i:id:Executable:Semigroup:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a></span> <a href="#t:Executable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Executable:Semigroup:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Executable:Monoid:7" class="instance expander" onclick="toggleSection('i:id:Executable:Monoid:7')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a></span> <a href="#t:Executable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Executable:Monoid:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-Executable.html#t:Executable">Executable</a>] -> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Executable:Binary:8" class="instance expander" onclick="toggleSection('i:id:Executable:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a></span> <a href="#t:Executable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Executable:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-Executable.html#t:Executable">Executable</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Executable:Rep:9" class="instance expander" onclick="toggleSection('i:id:Executable:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a></span> <a href="#t:Executable" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Executable:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Executable" "Distribution.Types.Executable" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Executable" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "exeName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "modulePath") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "exeScope") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "buildInfo") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyExecutable" class="def">emptyExecutable</a> :: <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> <a href="#v:emptyExecutable" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:exeModules" class="def">exeModules</a> :: <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] <a href="#v:exeModules" class="selflink">#</a></p><div class="doc"><p>Get all the module names from an exe</p></div></div><div class="top"><p class="src"><a id="v:exeModulesAutogen" class="def">exeModulesAutogen</a> :: <a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] <a href="#v:exeModulesAutogen" class="selflink">#</a></p><div class="doc"><p>Get all the auto generated module names from an exe- This are a subset of <code><a href="Distribution-Types-Executable.html#v:exeModules">exeModules</a></code>.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.ExecutableScope</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.ExecutableScope</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ExecutableScope" class="def">ExecutableScope</a> <a href="#t:ExecutableScope" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ExecutableScopeUnknown" class="def">ExecutableScopeUnknown</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:ExecutablePublic" class="def">ExecutablePublic</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:ExecutablePrivate" class="def">ExecutablePrivate</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:ExecutableScope" class="caption collapser" onclick="toggleSection('i:ExecutableScope')">Instances</p><div id="section.i:ExecutableScope" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExecutableScope:Eq:1" class="instance expander" onclick="toggleSection('i:id:ExecutableScope:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a></span> <a href="#t:ExecutableScope" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExecutableScope:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExecutableScope:Data:2" class="instance expander" onclick="toggleSection('i:id:ExecutableScope:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a></span> <a href="#t:ExecutableScope" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExecutableScope:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> c <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> m <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> m <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> m <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExecutableScope:Read:3" class="instance expander" onclick="toggleSection('i:id:ExecutableScope:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a></span> <a href="#t:ExecutableScope" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExecutableScope:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExecutableScope:Show:4" class="instance expander" onclick="toggleSection('i:id:ExecutableScope:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a></span> <a href="#t:ExecutableScope" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExecutableScope:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExecutableScope:Generic:5" class="instance expander" onclick="toggleSection('i:id:ExecutableScope:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a></span> <a href="#t:ExecutableScope" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExecutableScope:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> x -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExecutableScope:Semigroup:6" class="instance expander" onclick="toggleSection('i:id:ExecutableScope:Semigroup:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a></span> <a href="#t:ExecutableScope" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExecutableScope:Semigroup:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExecutableScope:Monoid:7" class="instance expander" onclick="toggleSection('i:id:ExecutableScope:Monoid:7')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a></span> <a href="#t:ExecutableScope" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExecutableScope:Monoid:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a>] -> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExecutableScope:Binary:8" class="instance expander" onclick="toggleSection('i:id:ExecutableScope:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a></span> <a href="#t:ExecutableScope" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExecutableScope:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExecutableScope:Text:9" class="instance expander" onclick="toggleSection('i:id:ExecutableScope:Text:9')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a></span> <a href="#t:ExecutableScope" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExecutableScope:Text:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ExecutableScope:Rep:10" class="instance expander" onclick="toggleSection('i:id:ExecutableScope:Rep:10')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a></span> <a href="#t:ExecutableScope" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ExecutableScope:Rep:10" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">ExecutableScope</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ExecutableScope" "Distribution.Types.ExecutableScope" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ExecutableScopeUnknown" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ExecutablePublic" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ExecutablePrivate" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))))</div></div></td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,17 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.ForeignLib</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.ForeignLib</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:ForeignLib">ForeignLib</a> = <a href="#v:ForeignLib">ForeignLib</a> {<ul class="subs"><li><a href="#v:foreignLibName">foreignLibName</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li><a href="#v:foreignLibType">foreignLibType</a> :: <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a></li><li><a href="#v:foreignLibOptions">foreignLibOptions</a> :: [<a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a>]</li><li><a href="#v:foreignLibBuildInfo">foreignLibBuildInfo</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></li><li><a href="#v:foreignLibVersionInfo">foreignLibVersionInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a></li><li><a href="#v:foreignLibVersionLinux">foreignLibVersionLinux</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a></li><li><a href="#v:foreignLibModDefFile">foreignLibModDefFile</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li></ul>}</li><li class="src short"><a href="#v:emptyForeignLib">emptyForeignLib</a> :: <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a></li><li class="src short"><a href="#v:foreignLibModules">foreignLibModules</a> :: <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li class="src short"><a href="#v:foreignLibIsShared">foreignLibIsShared</a> :: <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:foreignLibVersion">foreignLibVersion</a> :: <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-System.html#t:OS">OS</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:LibVersionInfo">LibVersionInfo</a></li><li class="src short"><a href="#v:mkLibVersionInfo">mkLibVersionInfo</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a></li><li class="src short"><a href="#v:libVersionInfoCRA">libVersionInfoCRA</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>)</li><li class="src short"><a href="#v:libVersionNumber">libVersionNumber</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>)</li><li class="src short"><a href="#v:libVersionNumberShow">libVersionNumberShow</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:libVersionMajor">libVersionMajor</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ForeignLib" class="def">ForeignLib</a> <a href="#t:ForeignLib" class="selflink">#</a></p><div class="doc"><p>A foreign library stanza is like a library stanza, except that- the built code is intended for consumption by a non-Haskell client.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ForeignLib" class="def">ForeignLib</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:foreignLibName" class="def">foreignLibName</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></dfn><div class="doc"><p>Name of the foreign library</p></div></li><li><dfn class="src"><a id="v:foreignLibType" class="def">foreignLibType</a> :: <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a></dfn><div class="doc"><p>What kind of foreign library is this (static or dynamic).</p></div></li><li><dfn class="src"><a id="v:foreignLibOptions" class="def">foreignLibOptions</a> :: [<a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a>]</dfn><div class="doc"><p>What options apply to this foreign library (e.g., are we- merging in all foreign dependencies.)</p></div></li><li><dfn class="src"><a id="v:foreignLibBuildInfo" class="def">foreignLibBuildInfo</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></dfn><div class="doc"><p>Build information for this foreign library.</p></div></li><li><dfn class="src"><a id="v:foreignLibVersionInfo" class="def">foreignLibVersionInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a></dfn><div class="doc"><p>Libtool-style version-info data to compute library version.- Refer to the libtool documentation on the- current:revision:age versioning scheme.</p></div></li><li><dfn class="src"><a id="v:foreignLibVersionLinux" class="def">foreignLibVersionLinux</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a></dfn><div class="doc"><p>Linux library version</p></div></li><li><dfn class="src"><a id="v:foreignLibModDefFile" class="def">foreignLibModDefFile</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc"><p>(Windows-specific) module definition files</p><p>This is a list rather than a maybe field so that we can flatten- the condition trees (for instance, when creating an sdist)</p></div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:ForeignLib" class="caption collapser" onclick="toggleSection('i:ForeignLib')">Instances</p><div id="section.i:ForeignLib" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLib:Eq:1" class="instance expander" onclick="toggleSection('i:id:ForeignLib:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a></span> <a href="#t:ForeignLib" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLib:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLib:Data:2" class="instance expander" onclick="toggleSection('i:id:ForeignLib:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a></span> <a href="#t:ForeignLib" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLib:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> c <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> m <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> m <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> m <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLib:Read:3" class="instance expander" onclick="toggleSection('i:id:ForeignLib:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a></span> <a href="#t:ForeignLib" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLib:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLib:Show:4" class="instance expander" onclick="toggleSection('i:id:ForeignLib:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a></span> <a href="#t:ForeignLib" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLib:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLib:Generic:5" class="instance expander" onclick="toggleSection('i:id:ForeignLib:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a></span> <a href="#t:ForeignLib" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLib:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> x -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLib:Semigroup:6" class="instance expander" onclick="toggleSection('i:id:ForeignLib:Semigroup:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a></span> <a href="#t:ForeignLib" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLib:Semigroup:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLib:Monoid:7" class="instance expander" onclick="toggleSection('i:id:ForeignLib:Monoid:7')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a></span> <a href="#t:ForeignLib" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLib:Monoid:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>] -> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLib:Binary:8" class="instance expander" onclick="toggleSection('i:id:ForeignLib:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a></span> <a href="#t:ForeignLib" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLib:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLib:Rep:9" class="instance expander" onclick="toggleSection('i:id:ForeignLib:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a></span> <a href="#t:ForeignLib" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLib:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ForeignLib" "Distribution.Types.ForeignLib" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ForeignLib" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "foreignLibName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "foreignLibType") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "foreignLibOptions") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a>])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "foreignLibBuildInfo") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "foreignLibVersionInfo") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "foreignLibVersionLinux") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "foreignLibModDefFile") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyForeignLib" class="def">emptyForeignLib</a> :: <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> <a href="#v:emptyForeignLib" class="selflink">#</a></p><div class="doc"><p>An empty foreign library.</p></div></div><div class="top"><p class="src"><a id="v:foreignLibModules" class="def">foreignLibModules</a> :: <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] <a href="#v:foreignLibModules" class="selflink">#</a></p><div class="doc"><p>Modules defined by a foreign library.</p></div></div><div class="top"><p class="src"><a id="v:foreignLibIsShared" class="def">foreignLibIsShared</a> :: <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:foreignLibIsShared" class="selflink">#</a></p><div class="doc"><p>Is the foreign library shared?</p></div></div><div class="top"><p class="src"><a id="v:foreignLibVersion" class="def">foreignLibVersion</a> :: <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-System.html#t:OS">OS</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>] <a href="#v:foreignLibVersion" class="selflink">#</a></p><div class="doc"><p>Get a version number for a foreign library.- If we're on Linux, and a Linux version is specified, use that.- If we're on Linux, and libtool-style version-info is specified, translate- that field into appropriate version numbers.- Otherwise, this feature is unsupported so we don't return any version data.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:LibVersionInfo" class="def">LibVersionInfo</a> <a href="#t:LibVersionInfo" class="selflink">#</a></p><div class="subs instances"><p id="control.i:LibVersionInfo" class="caption collapser" onclick="toggleSection('i:LibVersionInfo')">Instances</p><div id="section.i:LibVersionInfo" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LibVersionInfo:Eq:1" class="instance expander" onclick="toggleSection('i:id:LibVersionInfo:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a></span> <a href="#t:LibVersionInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LibVersionInfo:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LibVersionInfo:Data:2" class="instance expander" onclick="toggleSection('i:id:LibVersionInfo:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a></span> <a href="#t:LibVersionInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LibVersionInfo:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> c <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> m <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> m <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> m <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LibVersionInfo:Ord:3" class="instance expander" onclick="toggleSection('i:id:LibVersionInfo:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a></span> <a href="#t:LibVersionInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LibVersionInfo:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LibVersionInfo:Read:4" class="instance expander" onclick="toggleSection('i:id:LibVersionInfo:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a></span> <a href="#t:LibVersionInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LibVersionInfo:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LibVersionInfo:Show:5" class="instance expander" onclick="toggleSection('i:id:LibVersionInfo:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a></span> <a href="#t:LibVersionInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LibVersionInfo:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LibVersionInfo:Generic:6" class="instance expander" onclick="toggleSection('i:id:LibVersionInfo:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a></span> <a href="#t:LibVersionInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LibVersionInfo:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> x -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LibVersionInfo:Binary:7" class="instance expander" onclick="toggleSection('i:id:LibVersionInfo:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a></span> <a href="#t:LibVersionInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LibVersionInfo:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LibVersionInfo:Text:8" class="instance expander" onclick="toggleSection('i:id:LibVersionInfo:Text:8')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a></span> <a href="#t:LibVersionInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LibVersionInfo:Text:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LibVersionInfo:Rep:9" class="instance expander" onclick="toggleSection('i:id:LibVersionInfo:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a></span> <a href="#t:LibVersionInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LibVersionInfo:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "LibVersionInfo" "Distribution.Types.ForeignLib" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "LibVersionInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:mkLibVersionInfo" class="def">mkLibVersionInfo</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) -> <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> <a href="#v:mkLibVersionInfo" class="selflink">#</a></p><div class="doc"><p>Construct <code><a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a></code> from <code>(current, revision, age)</code>- numbers.</p><p>For instance, <code>mkLibVersionInfo (3,0,0)</code> constructs a- <code><a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a></code> representing the version-info <code>3:0:0</code>.</p><p>All version components must be non-negative.</p></div></div><div class="top"><p class="src"><a id="v:libVersionInfoCRA" class="def">libVersionInfoCRA</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) <a href="#v:libVersionInfoCRA" class="selflink">#</a></p><div class="doc"><p>From a given <code><a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a></code>, extract the <code>(current, revision,- age)</code> numbers.</p></div></div><div class="top"><p class="src"><a id="v:libVersionNumber" class="def">libVersionNumber</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>) <a href="#v:libVersionNumber" class="selflink">#</a></p><div class="doc"><p>Given a version-info field, produce a <code>major.minor.build</code> version</p></div></div><div class="top"><p class="src"><a id="v:libVersionNumberShow" class="def">libVersionNumberShow</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:libVersionNumberShow" class="selflink">#</a></p><div class="doc"><p>Given a version-info field, return <code>"major.minor.build"</code> as a- <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code></p></div></div><div class="top"><p class="src"><a id="v:libVersionMajor" class="def">libVersionMajor</a> :: <a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">LibVersionInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:libVersionMajor" class="selflink">#</a></p><div class="doc"><p>Return the <code>major</code> version of a version-info field.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,8 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.ForeignLibOption</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.ForeignLibOption</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ForeignLibOption" class="def">ForeignLibOption</a> <a href="#t:ForeignLibOption" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ForeignLibStandalone" class="def">ForeignLibStandalone</a></td><td class="doc"><p>Merge in all dependent libraries (i.e., use- <code>ghc -shared -static</code> rather than just record- the dependencies, ala <code>ghc -shared -dynamic</code>).- This option is compulsory on Windows and unsupported- on other platforms.</p></td></tr></table></div><div class="subs instances"><p id="control.i:ForeignLibOption" class="caption collapser" onclick="toggleSection('i:ForeignLibOption')">Instances</p><div id="section.i:ForeignLibOption" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLibOption:Eq:1" class="instance expander" onclick="toggleSection('i:id:ForeignLibOption:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a></span> <a href="#t:ForeignLibOption" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLibOption:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> -> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> -> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLibOption:Data:2" class="instance expander" onclick="toggleSection('i:id:ForeignLibOption:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a></span> <a href="#t:ForeignLibOption" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLibOption:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> -> c <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> -> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> -> m <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> -> m <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> -> m <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLibOption:Read:3" class="instance expander" onclick="toggleSection('i:id:ForeignLibOption:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a></span> <a href="#t:ForeignLibOption" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLibOption:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLibOption:Show:4" class="instance expander" onclick="toggleSection('i:id:ForeignLibOption:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a></span> <a href="#t:ForeignLibOption" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLibOption:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLibOption:Generic:5" class="instance expander" onclick="toggleSection('i:id:ForeignLibOption:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a></span> <a href="#t:ForeignLibOption" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLibOption:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> x -> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLibOption:Binary:6" class="instance expander" onclick="toggleSection('i:id:ForeignLibOption:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a></span> <a href="#t:ForeignLibOption" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLibOption:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLibOption:Text:7" class="instance expander" onclick="toggleSection('i:id:ForeignLibOption:Text:7')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a></span> <a href="#t:ForeignLibOption" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLibOption:Text:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLibOption:Rep:8" class="instance expander" onclick="toggleSection('i:id:ForeignLibOption:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a></span> <a href="#t:ForeignLibOption" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLibOption:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">ForeignLibOption</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ForeignLibOption" "Distribution.Types.ForeignLibOption" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ForeignLibStandalone" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))</div></div></td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,5 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.ForeignLibType</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.ForeignLibType</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:ForeignLibType">ForeignLibType</a><ul class="subs"><li>= <a href="#v:ForeignLibNativeShared">ForeignLibNativeShared</a></li><li>| <a href="#v:ForeignLibNativeStatic">ForeignLibNativeStatic</a></li><li>| <a href="#v:ForeignLibTypeUnknown">ForeignLibTypeUnknown</a></li></ul></li><li class="src short"><a href="#v:knownForeignLibTypes">knownForeignLibTypes</a> :: [<a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a>]</li><li class="src short"><a href="#v:foreignLibTypeIsShared">foreignLibTypeIsShared</a> :: <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ForeignLibType" class="def">ForeignLibType</a> <a href="#t:ForeignLibType" class="selflink">#</a></p><div class="doc"><p>What kind of foreign library is to be built?</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ForeignLibNativeShared" class="def">ForeignLibNativeShared</a></td><td class="doc"><p>A native shared library (<code>.so</code> on Linux, <code>.dylib</code> on OSX, or- <code>.dll</code> on Windows).</p></td></tr><tr><td class="src"><a id="v:ForeignLibNativeStatic" class="def">ForeignLibNativeStatic</a></td><td class="doc"><p>A native static library (not currently supported.)</p></td></tr><tr><td class="src"><a id="v:ForeignLibTypeUnknown" class="def">ForeignLibTypeUnknown</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:ForeignLibType" class="caption collapser" onclick="toggleSection('i:ForeignLibType')">Instances</p><div id="section.i:ForeignLibType" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLibType:Eq:1" class="instance expander" onclick="toggleSection('i:id:ForeignLibType:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a></span> <a href="#t:ForeignLibType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLibType:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLibType:Data:2" class="instance expander" onclick="toggleSection('i:id:ForeignLibType:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a></span> <a href="#t:ForeignLibType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLibType:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> c <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> m <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> m <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> m <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLibType:Read:3" class="instance expander" onclick="toggleSection('i:id:ForeignLibType:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a></span> <a href="#t:ForeignLibType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLibType:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLibType:Show:4" class="instance expander" onclick="toggleSection('i:id:ForeignLibType:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a></span> <a href="#t:ForeignLibType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLibType:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLibType:Generic:5" class="instance expander" onclick="toggleSection('i:id:ForeignLibType:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a></span> <a href="#t:ForeignLibType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLibType:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> x -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLibType:Semigroup:6" class="instance expander" onclick="toggleSection('i:id:ForeignLibType:Semigroup:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a></span> <a href="#t:ForeignLibType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLibType:Semigroup:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLibType:Monoid:7" class="instance expander" onclick="toggleSection('i:id:ForeignLibType:Monoid:7')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a></span> <a href="#t:ForeignLibType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLibType:Monoid:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a>] -> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLibType:Binary:8" class="instance expander" onclick="toggleSection('i:id:ForeignLibType:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a></span> <a href="#t:ForeignLibType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLibType:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLibType:Text:9" class="instance expander" onclick="toggleSection('i:id:ForeignLibType:Text:9')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a></span> <a href="#t:ForeignLibType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLibType:Text:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ForeignLibType:Rep:10" class="instance expander" onclick="toggleSection('i:id:ForeignLibType:Rep:10')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a></span> <a href="#t:ForeignLibType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ForeignLibType:Rep:10" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ForeignLibType" "Distribution.Types.ForeignLibType" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ForeignLibNativeShared" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ForeignLibNativeStatic" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ForeignLibTypeUnknown" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:knownForeignLibTypes" class="def">knownForeignLibTypes</a> :: [<a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a>] <a href="#v:knownForeignLibTypes" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:foreignLibTypeIsShared" class="def">foreignLibTypeIsShared</a> :: <a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">ForeignLibType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:foreignLibTypeIsShared" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,9 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.GenericPackageDescription</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.GenericPackageDescription</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:GenericPackageDescription">GenericPackageDescription</a> = <a href="#v:GenericPackageDescription">GenericPackageDescription</a> {<ul class="subs"><li><a href="#v:packageDescription">packageDescription</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></li><li><a href="#v:genPackageFlags">genPackageFlags</a> :: [<a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a>]</li><li><a href="#v:condLibrary">condLibrary</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-Types-Library.html#t:Library">Library</a>)</li><li><a href="#v:condSubLibraries">condSubLibraries</a> :: [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-Types-Library.html#t:Library">Library</a>)]</li><li><a href="#v:condForeignLibs">condForeignLibs</a> :: [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>)]</li><li><a href="#v:condExecutables">condExecutables</a> :: [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-Types-Executable.html#t:Executable">Executable</a>)]</li><li><a href="#v:condTestSuites">condTestSuites</a> :: [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a>)]</li><li><a href="#v:condBenchmarks">condBenchmarks</a> :: [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a>)]</li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:Flag">Flag</a> = <a href="#v:MkFlag">MkFlag</a> {<ul class="subs"><li><a href="#v:flagName">flagName</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a></li><li><a href="#v:flagDescription">flagDescription</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:flagDefault">flagDefault</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:flagManual">flagManual</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul>}</li><li class="src short"><a href="#v:emptyFlag">emptyFlag</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:FlagName">FlagName</a></li><li class="src short"><a href="#v:mkFlagName">mkFlagName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a></li><li class="src short"><a href="#v:unFlagName">unFlagName</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:FlagAssignment">FlagAssignment</a> = [(<a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)]</li><li class="src short"><a href="#v:showFlagValue">showFlagValue</a> :: (<a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:dispFlagAssignment">dispFlagAssignment</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:parseFlagAssignment">parseFlagAssignment</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:ConfVar">ConfVar</a><ul class="subs"><li>= <a href="#v:OS">OS</a> <a href="Distribution-System.html#t:OS">OS</a></li><li>| <a href="#v:Arch">Arch</a> <a href="Distribution-System.html#t:Arch">Arch</a></li><li>| <a href="#v:Flag">Flag</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a></li><li>| <a href="#v:Impl">Impl</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li></ul></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:GenericPackageDescription" class="def">GenericPackageDescription</a> <a href="#t:GenericPackageDescription" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:GenericPackageDescription" class="def">GenericPackageDescription</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:packageDescription" class="def">packageDescription</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:genPackageFlags" class="def">genPackageFlags</a> :: [<a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:condLibrary" class="def">condLibrary</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-Types-Library.html#t:Library">Library</a>)</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:condSubLibraries" class="def">condSubLibraries</a> :: [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-Types-Library.html#t:Library">Library</a>)]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:condForeignLibs" class="def">condForeignLibs</a> :: [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>)]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:condExecutables" class="def">condExecutables</a> :: [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-Types-Executable.html#t:Executable">Executable</a>)]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:condTestSuites" class="def">condTestSuites</a> :: [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a>)]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:condBenchmarks" class="def">condBenchmarks</a> :: [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a>)]</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:GenericPackageDescription" class="caption collapser" onclick="toggleSection('i:GenericPackageDescription')">Instances</p><div id="section.i:GenericPackageDescription" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GenericPackageDescription:Eq:1" class="instance expander" onclick="toggleSection('i:id:GenericPackageDescription:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></span> <a href="#t:GenericPackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GenericPackageDescription:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GenericPackageDescription:Data:2" class="instance expander" onclick="toggleSection('i:id:GenericPackageDescription:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></span> <a href="#t:GenericPackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GenericPackageDescription:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> c <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> m <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> m <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> m <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GenericPackageDescription:Show:3" class="instance expander" onclick="toggleSection('i:id:GenericPackageDescription:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></span> <a href="#t:GenericPackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GenericPackageDescription:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GenericPackageDescription:Generic:4" class="instance expander" onclick="toggleSection('i:id:GenericPackageDescription:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></span> <a href="#t:GenericPackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GenericPackageDescription:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> x -> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GenericPackageDescription:Binary:5" class="instance expander" onclick="toggleSection('i:id:GenericPackageDescription:Binary:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></span> <a href="#t:GenericPackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GenericPackageDescription:Binary:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GenericPackageDescription:Package:6" class="instance expander" onclick="toggleSection('i:id:GenericPackageDescription:Package:6')"></span> <a href="Distribution-Package.html#t:Package">Package</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></span> <a href="#t:GenericPackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GenericPackageDescription:Package:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:packageId">packageId</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:packageId" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:GenericPackageDescription:Rep:7" class="instance expander" onclick="toggleSection('i:id:GenericPackageDescription:Rep:7')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></span> <a href="#t:GenericPackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:GenericPackageDescription:Rep:7" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "GenericPackageDescription" "Distribution.Types.GenericPackageDescription" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "GenericPackageDescription" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "packageDescription") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "genPackageFlags") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "condLibrary") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-Types-Library.html#t:Library">Library</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "condSubLibraries") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-Types-Library.html#t:Library">Library</a>)])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "condForeignLibs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "condExecutables") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-Types-Executable.html#t:Executable">Executable</a>)]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "condTestSuites") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "condBenchmarks") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-Types-CondTree.html#t:CondTree">CondTree</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>] <a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a>)]))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Flag" class="def">Flag</a> <a href="#t:Flag" class="selflink">#</a></p><div class="doc"><p>A flag can represent a feature to be included, or a way of linking- a target against its dependencies, or in fact whatever you can think of.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:MkFlag" class="def">MkFlag</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:flagName" class="def">flagName</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:flagDescription" class="def">flagDescription</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:flagDefault" class="def">flagDefault</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:flagManual" class="def">flagManual</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:Flag" class="caption collapser" onclick="toggleSection('i:Flag')">Instances</p><div id="section.i:Flag" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Eq:1" class="instance expander" onclick="toggleSection('i:id:Flag:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a></span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Data:2" class="instance expander" onclick="toggleSection('i:id:Flag:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a></span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> -> c <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> -> m <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> -> m <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> -> m <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Show:3" class="instance expander" onclick="toggleSection('i:id:Flag:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a></span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Generic:4" class="instance expander" onclick="toggleSection('i:id:Flag:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a></span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> x -> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Binary:5" class="instance expander" onclick="toggleSection('i:id:Flag:Binary:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a></span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Binary:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Flag:Rep:6" class="instance expander" onclick="toggleSection('i:id:Flag:Rep:6')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a></span> <a href="#t:Flag" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Flag:Rep:6" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Flag" "Distribution.Types.GenericPackageDescription" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "MkFlag" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "flagName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "flagDescription") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "flagDefault") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "flagManual") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyFlag" class="def">emptyFlag</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a> <a href="#v:emptyFlag" class="selflink">#</a></p><div class="doc"><p>A <code><a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Flag</a></code> initialized with default parameters.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:FlagName" class="def">FlagName</a> <a href="#t:FlagName" class="selflink">#</a></p><div class="doc"><p>A <code><a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a></code> is the name of a user-defined configuration flag</p><p>Use <code><a href="Distribution-Types-GenericPackageDescription.html#v:mkFlagName">mkFlagName</a></code> and <code><a href="Distribution-Types-GenericPackageDescription.html#v:unFlagName">unFlagName</a></code> to convert from/to a <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code>.</p><p>This type is opaque since <code>Cabal-2.0</code></p><p><em>Since: 2.0.0.2</em></p></div><div class="subs instances"><p id="control.i:FlagName" class="caption collapser" onclick="toggleSection('i:FlagName')">Instances</p><div id="section.i:FlagName" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FlagName:Eq:1" class="instance expander" onclick="toggleSection('i:id:FlagName:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a></span> <a href="#t:FlagName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FlagName:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FlagName:Data:2" class="instance expander" onclick="toggleSection('i:id:FlagName:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a></span> <a href="#t:FlagName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FlagName:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> c <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> m <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> m <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> m <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FlagName:Ord:3" class="instance expander" onclick="toggleSection('i:id:FlagName:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a></span> <a href="#t:FlagName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FlagName:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FlagName:Read:4" class="instance expander" onclick="toggleSection('i:id:FlagName:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a></span> <a href="#t:FlagName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FlagName:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FlagName:Show:5" class="instance expander" onclick="toggleSection('i:id:FlagName:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a></span> <a href="#t:FlagName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FlagName:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FlagName:IsString:6" class="instance expander" onclick="toggleSection('i:id:FlagName:IsString:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:IsString">IsString</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a></span> <a href="#t:FlagName" class="selflink">#</a></td><td class="doc"><p><code><a href="Distribution-Types-GenericPackageDescription.html#v:mkFlagName">mkFlagName</a></code></p><p><em>Since: 2.0.0.2</em></p></td></tr><tr><td colspan="2"><div id="section.i:id:FlagName:IsString:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fromString">fromString</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> <a href="#v:fromString" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FlagName:Generic:7" class="instance expander" onclick="toggleSection('i:id:FlagName:Generic:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a></span> <a href="#t:FlagName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FlagName:Generic:7" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> x -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FlagName:Binary:8" class="instance expander" onclick="toggleSection('i:id:FlagName:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a></span> <a href="#t:FlagName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FlagName:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:FlagName:Rep:9" class="instance expander" onclick="toggleSection('i:id:FlagName:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a></span> <a href="#t:FlagName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:FlagName:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "FlagName" "Distribution.Types.GenericPackageDescription" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "FlagName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a>)))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:mkFlagName" class="def">mkFlagName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> <a href="#v:mkFlagName" class="selflink">#</a></p><div class="doc"><p>Construct a <code><a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a></code> from a <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code></p><p><code><a href="Distribution-Types-GenericPackageDescription.html#v:mkFlagName">mkFlagName</a></code> is the inverse to <code><a href="Distribution-Types-GenericPackageDescription.html#v:unFlagName">unFlagName</a></code></p><p>Note: No validations are performed to ensure that the resulting- <code><a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a></code> is valid</p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:unFlagName" class="def">unFlagName</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:unFlagName" class="selflink">#</a></p><div class="doc"><p>Convert <code><a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a></code> to <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code></p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:FlagAssignment" class="def">FlagAssignment</a> = [(<a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)] <a href="#t:FlagAssignment" class="selflink">#</a></p><div class="doc"><p>A <code><a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a></code> is a total or partial mapping of <code><a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a></code>s to- <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></code> flag values. It represents the flags chosen by the user or- discovered during configuration. For example <code>--flags=foo --flags=-bar</code>- becomes <code>[("foo", True), ("bar", False)]</code></p></div></div><div class="top"><p class="src"><a id="v:showFlagValue" class="def">showFlagValue</a> :: (<a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:showFlagValue" class="selflink">#</a></p><div class="doc"><p>String representation of a flag-value pair.</p></div></div><div class="top"><p class="src"><a id="v:dispFlagAssignment" class="def">dispFlagAssignment</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:dispFlagAssignment" class="selflink">#</a></p><div class="doc"><p>Pretty-prints a flag assignment.</p></div></div><div class="top"><p class="src"><a id="v:parseFlagAssignment" class="def">parseFlagAssignment</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a> <a href="#v:parseFlagAssignment" class="selflink">#</a></p><div class="doc"><p>Parses a flag assignment.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ConfVar" class="def">ConfVar</a> <a href="#t:ConfVar" class="selflink">#</a></p><div class="doc"><p>A <code>ConfVar</code> represents the variable type used.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:OS" class="def">OS</a> <a href="Distribution-System.html#t:OS">OS</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Arch" class="def">Arch</a> <a href="Distribution-System.html#t:Arch">Arch</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Flag" class="def">Flag</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Impl" class="def">Impl</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:ConfVar" class="caption collapser" onclick="toggleSection('i:ConfVar')">Instances</p><div id="section.i:ConfVar" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfVar:Eq:1" class="instance expander" onclick="toggleSection('i:id:ConfVar:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a></span> <a href="#t:ConfVar" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfVar:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfVar:Data:2" class="instance expander" onclick="toggleSection('i:id:ConfVar:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a></span> <a href="#t:ConfVar" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfVar:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> -> c <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> -> m <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> -> m <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> -> m <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfVar:Show:3" class="instance expander" onclick="toggleSection('i:id:ConfVar:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a></span> <a href="#t:ConfVar" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfVar:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfVar:Generic:4" class="instance expander" onclick="toggleSection('i:id:ConfVar:Generic:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a></span> <a href="#t:ConfVar" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfVar:Generic:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> x -> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfVar:Binary:5" class="instance expander" onclick="toggleSection('i:id:ConfVar:Binary:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a></span> <a href="#t:ConfVar" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfVar:Binary:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConfVar:Rep:6" class="instance expander" onclick="toggleSection('i:id:ConfVar:Rep:6')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a></span> <a href="#t:ConfVar" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConfVar:Rep:6" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">ConfVar</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ConfVar" "Distribution.Types.GenericPackageDescription" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "OS" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-System.html#t:OS">OS</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Arch" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-System.html#t:Arch">Arch</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Flag" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">FlagName</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Impl" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>))))))</div></div></td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,41 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.HookedBuildInfo</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.HookedBuildInfo</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">type</span> <a href="#t:HookedBuildInfo">HookedBuildInfo</a> = (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>, [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>)])</li><li class="src short"><a href="#v:emptyHookedBuildInfo">emptyHookedBuildInfo</a> :: <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:HookedBuildInfo" class="def">HookedBuildInfo</a> = (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>, [(<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>, <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>)]) <a href="#t:HookedBuildInfo" class="selflink">#</a></p><div class="doc"><p><code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> is mechanism that hooks can use to- override the <code><a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></code>s inside packages. One example- use-case (which is used in core libraries today) is as- a way of passing flags which are computed by a configure- script into Cabal. In this case, the autoconf build type adds- hooks to read in a textual <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> format prior- to doing any operations.</p><p>Quite honestly, this mechanism is a massive hack since we shouldn't- be editing the <code>PackageDescription</code> data structure (it's easy- to assume that this data structure shouldn't change and- run into bugs, see for example 1c20a6328579af9e37677d507e2e9836ef70ab9d).- But it's a bit convenient, because there isn't another data- structure that allows adding extra <code><a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></code> style things.</p><p>In any case, a lot of care has to be taken to make sure the- <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> is applied to the <code>PackageDescription</code>. In- general this process occurs in <a href="Distribution-Simple.html">Distribution.Simple</a>, which is- responsible for orchestrating the hooks mechanism. The- general strategy:</p><ol><li>We run the pre-hook, which produces a <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code>- (e.g., in the Autoconf case, it reads it out from a file).</li><li>We sanity-check the hooked build info with- <code>sanityCheckHookedBuildInfo</code>.</li><li>We update our <code>PackageDescription</code> (either freshly read- or cached from <code>LocalBuildInfo</code>) with <code>updatePackageDescription</code>.</li></ol><p>In principle, we are also supposed to update the copy of- the <code>PackageDescription</code> stored in <code>LocalBuildInfo</code>- at <code>localPkgDescr</code>. Unfortunately, in practice, there- are lots of Custom setup scripts which fail to update- <code>localPkgDescr</code> so you really shouldn't rely on it.- It's not DEPRECATED because there are legitimate uses- for it, but... yeah. Sharp knife. See- <a href="https://github.com/haskell/cabal/issues/3606">https://github.com/haskell/cabal/issues/3606</a>- for more information on the issue.</p><p>It is not well-specified whether or not a <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> applied- at configure time is persistent to the <code>LocalBuildInfo</code>. The- fact that <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> is passed to <code>confHook</code> MIGHT SUGGEST- that the <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> is applied at this time, but actually- since 9317b67e6122ab14e53f81b573bd0ecb388eca5a it has been ONLY used- to create a modified package description that we check for problems:- it is never actually saved to the LBI. Since <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> is- applied monoidally to the existing build infos (and it is not an- idempotent monoid), it could break things to save it, since we- are obligated to apply any new <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> and then we'd- get the effect twice. But this does mean we have to re-apply- it every time. Hey, it's more flexibility.</p></div></div><div class="top"><p class="src"><a id="v:emptyHookedBuildInfo" class="def">emptyHookedBuildInfo</a> :: <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a> <a href="#v:emptyHookedBuildInfo" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,5 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.IncludeRenaming</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.IncludeRenaming</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:IncludeRenaming">IncludeRenaming</a> = <a href="#v:IncludeRenaming">IncludeRenaming</a> {<ul class="subs"><li><a href="#v:includeProvidesRn">includeProvidesRn</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></li><li><a href="#v:includeRequiresRn">includeRequiresRn</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></li></ul>}</li><li class="src short"><a href="#v:defaultIncludeRenaming">defaultIncludeRenaming</a> :: <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a></li><li class="src short"><a href="#v:isDefaultIncludeRenaming">isDefaultIncludeRenaming</a> :: <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:IncludeRenaming" class="def">IncludeRenaming</a> <a href="#t:IncludeRenaming" class="selflink">#</a></p><div class="doc"><p>A renaming on an include: (provides renaming, requires renaming)</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:IncludeRenaming" class="def">IncludeRenaming</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:includeProvidesRn" class="def">includeProvidesRn</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:includeRequiresRn" class="def">includeRequiresRn</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:IncludeRenaming" class="caption collapser" onclick="toggleSection('i:IncludeRenaming')">Instances</p><div id="section.i:IncludeRenaming" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:IncludeRenaming:Eq:1" class="instance expander" onclick="toggleSection('i:id:IncludeRenaming:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a></span> <a href="#t:IncludeRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:IncludeRenaming:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:IncludeRenaming:Data:2" class="instance expander" onclick="toggleSection('i:id:IncludeRenaming:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a></span> <a href="#t:IncludeRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:IncludeRenaming:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> c <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> m <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> m <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> m <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:IncludeRenaming:Ord:3" class="instance expander" onclick="toggleSection('i:id:IncludeRenaming:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a></span> <a href="#t:IncludeRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:IncludeRenaming:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:IncludeRenaming:Read:4" class="instance expander" onclick="toggleSection('i:id:IncludeRenaming:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a></span> <a href="#t:IncludeRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:IncludeRenaming:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:IncludeRenaming:Show:5" class="instance expander" onclick="toggleSection('i:id:IncludeRenaming:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a></span> <a href="#t:IncludeRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:IncludeRenaming:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:IncludeRenaming:Generic:6" class="instance expander" onclick="toggleSection('i:id:IncludeRenaming:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a></span> <a href="#t:IncludeRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:IncludeRenaming:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> x -> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:IncludeRenaming:Binary:7" class="instance expander" onclick="toggleSection('i:id:IncludeRenaming:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a></span> <a href="#t:IncludeRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:IncludeRenaming:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:IncludeRenaming:Text:8" class="instance expander" onclick="toggleSection('i:id:IncludeRenaming:Text:8')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a></span> <a href="#t:IncludeRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:IncludeRenaming:Text:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:IncludeRenaming:Rep:9" class="instance expander" onclick="toggleSection('i:id:IncludeRenaming:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a></span> <a href="#t:IncludeRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:IncludeRenaming:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "IncludeRenaming" "Distribution.Types.IncludeRenaming" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "IncludeRenaming" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "includeProvidesRn") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "includeRequiresRn") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:defaultIncludeRenaming" class="def">defaultIncludeRenaming</a> :: <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> <a href="#v:defaultIncludeRenaming" class="selflink">#</a></p><div class="doc"><p>The <code><a href="Distribution-Types-IncludeRenaming.html#v:defaultIncludeRenaming">defaultIncludeRenaming</a></code> applied when you only <code>build-depends</code>- on a package.</p></div></div><div class="top"><p class="src"><a id="v:isDefaultIncludeRenaming" class="def">isDefaultIncludeRenaming</a> :: <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isDefaultIncludeRenaming" class="selflink">#</a></p><div class="doc"><p>Is an <code><a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a></code> the default one?</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,6 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.LegacyExeDependency</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.LegacyExeDependency</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:LegacyExeDependency">LegacyExeDependency</a> = <a href="#v:LegacyExeDependency">LegacyExeDependency</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:LegacyExeDependency" class="def">LegacyExeDependency</a> <a href="#t:LegacyExeDependency" class="selflink">#</a></p><div class="doc"><p>Describes a legacy `build-tools`-style dependency on an executable</p><p>It is "legacy" because we do not know what the build-tool referred to. It- could refer to a pkg-config executable (PkgconfigName), or an internal- executable (UnqualComponentName). Thus the name is stringly typed.</p><p><em>Since: 2.0.0.2</em></p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:LegacyExeDependency" class="def">LegacyExeDependency</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:LegacyExeDependency" class="caption collapser" onclick="toggleSection('i:LegacyExeDependency')">Instances</p><div id="section.i:LegacyExeDependency" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LegacyExeDependency:Eq:1" class="instance expander" onclick="toggleSection('i:id:LegacyExeDependency:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a></span> <a href="#t:LegacyExeDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LegacyExeDependency:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LegacyExeDependency:Data:2" class="instance expander" onclick="toggleSection('i:id:LegacyExeDependency:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a></span> <a href="#t:LegacyExeDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LegacyExeDependency:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> c <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> m <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> m <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> m <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LegacyExeDependency:Read:3" class="instance expander" onclick="toggleSection('i:id:LegacyExeDependency:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a></span> <a href="#t:LegacyExeDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LegacyExeDependency:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LegacyExeDependency:Show:4" class="instance expander" onclick="toggleSection('i:id:LegacyExeDependency:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a></span> <a href="#t:LegacyExeDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LegacyExeDependency:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LegacyExeDependency:Generic:5" class="instance expander" onclick="toggleSection('i:id:LegacyExeDependency:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a></span> <a href="#t:LegacyExeDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LegacyExeDependency:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> x -> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LegacyExeDependency:Binary:6" class="instance expander" onclick="toggleSection('i:id:LegacyExeDependency:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a></span> <a href="#t:LegacyExeDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LegacyExeDependency:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LegacyExeDependency:NFData:7" class="instance expander" onclick="toggleSection('i:id:LegacyExeDependency:NFData:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a></span> <a href="#t:LegacyExeDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LegacyExeDependency:NFData:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LegacyExeDependency:Text:8" class="instance expander" onclick="toggleSection('i:id:LegacyExeDependency:Text:8')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a></span> <a href="#t:LegacyExeDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LegacyExeDependency:Text:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LegacyExeDependency:Rep:9" class="instance expander" onclick="toggleSection('i:id:LegacyExeDependency:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a></span> <a href="#t:LegacyExeDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LegacyExeDependency:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">LegacyExeDependency</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "LegacyExeDependency" "Distribution.Types.LegacyExeDependency" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "LegacyExeDependency" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>))))</div></div></td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,14 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.Library</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.Library</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:Library">Library</a> = <a href="#v:Library">Library</a> {<ul class="subs"><li><a href="#v:libName">libName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li><a href="#v:exposedModules">exposedModules</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li><a href="#v:reexportedModules">reexportedModules</a> :: [<a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a>]</li><li><a href="#v:signatures">signatures</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li><a href="#v:libExposed">libExposed</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:libBuildInfo">libBuildInfo</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></li></ul>}</li><li class="src short"><a href="#v:emptyLibrary">emptyLibrary</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a></li><li class="src short"><a href="#v:explicitLibModules">explicitLibModules</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li class="src short"><a href="#v:libModulesAutogen">libModulesAutogen</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li class="src short"><a href="#v:libModules">libModules</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Library" class="def">Library</a> <a href="#t:Library" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Library" class="def">Library</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:libName" class="def">libName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:exposedModules" class="def">exposedModules</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:reexportedModules" class="def">reexportedModules</a> :: [<a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:signatures" class="def">signatures</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</dfn><div class="doc"><p>What sigs need implementations?</p></div></li><li><dfn class="src"><a id="v:libExposed" class="def">libExposed</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Is the lib to be exposed by default?</p></div></li><li><dfn class="src"><a id="v:libBuildInfo" class="def">libBuildInfo</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:Library" class="caption collapser" onclick="toggleSection('i:Library')">Instances</p><div id="section.i:Library" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Library:Eq:1" class="instance expander" onclick="toggleSection('i:id:Library:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-Library.html#t:Library">Library</a></span> <a href="#t:Library" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Library:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Library:Data:2" class="instance expander" onclick="toggleSection('i:id:Library:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-Library.html#t:Library">Library</a></span> <a href="#t:Library" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Library:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> c <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-Library.html#t:Library">Library</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-Library.html#t:Library">Library</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> m <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> m <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> m <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Library:Read:3" class="instance expander" onclick="toggleSection('i:id:Library:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-Library.html#t:Library">Library</a></span> <a href="#t:Library" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Library:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-Library.html#t:Library">Library</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-Library.html#t:Library">Library</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Library:Show:4" class="instance expander" onclick="toggleSection('i:id:Library:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-Library.html#t:Library">Library</a></span> <a href="#t:Library" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Library:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-Library.html#t:Library">Library</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Library:Generic:5" class="instance expander" onclick="toggleSection('i:id:Library:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-Library.html#t:Library">Library</a></span> <a href="#t:Library" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Library:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Library.html#t:Library">Library</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Library.html#t:Library">Library</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Library.html#t:Library">Library</a> x -> <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Library:Semigroup:6" class="instance expander" onclick="toggleSection('i:id:Library:Semigroup:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-Library.html#t:Library">Library</a></span> <a href="#t:Library" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Library:Semigroup:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Library:Monoid:7" class="instance expander" onclick="toggleSection('i:id:Library:Monoid:7')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-Library.html#t:Library">Library</a></span> <a href="#t:Library" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Library:Monoid:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-Library.html#t:Library">Library</a>] -> <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Library:Binary:8" class="instance expander" onclick="toggleSection('i:id:Library:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-Library.html#t:Library">Library</a></span> <a href="#t:Library" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Library:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-Library.html#t:Library">Library</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Library:Rep:9" class="instance expander" onclick="toggleSection('i:id:Library:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Library.html#t:Library">Library</a></span> <a href="#t:Library" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Library:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Library.html#t:Library">Library</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Library" "Distribution.Types.Library" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Library" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "libName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "exposedModules") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "reexportedModules") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a>])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "signatures") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "libExposed") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "libBuildInfo") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyLibrary" class="def">emptyLibrary</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a> <a href="#v:emptyLibrary" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:explicitLibModules" class="def">explicitLibModules</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] <a href="#v:explicitLibModules" class="selflink">#</a></p><div class="doc"><p>Get all the module names from the library (exposed and internal modules)- which are explicitly listed in the package description which would- need to be compiled. (This does not include reexports, which- do not need to be compiled.) This may not include all modules for which- GHC generated interface files (i.e., implicit modules.)</p></div></div><div class="top"><p class="src"><a id="v:libModulesAutogen" class="def">libModulesAutogen</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] <a href="#v:libModulesAutogen" class="selflink">#</a></p><div class="doc"><p>Get all the auto generated module names from the library, exposed or not.- This are a subset of <code><a href="Distribution-Types-Library.html#v:libModules">libModules</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:libModules" class="def">libModules</a> :: <a href="Distribution-Types-Library.html#t:Library">Library</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] <a href="#v:libModules" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: If you want all modules that are built with a library, use <code>allLibModules</code>. Otherwise, use <code><a href="Distribution-Types-Library.html#v:explicitLibModules">explicitLibModules</a></code> for ONLY the modules explicitly mentioned in the package description.</p></div><p>Backwards-compatibility shim for <code><a href="Distribution-Types-Library.html#v:explicitLibModules">explicitLibModules</a></code>. In most cases,- you actually want <code>allLibModules</code>, which returns all modules that will- actually be compiled, as opposed to those which are explicitly listed- in the package description (<code><a href="Distribution-Types-Library.html#v:explicitLibModules">explicitLibModules</a></code>); unfortunately, the- type signature for <code>allLibModules</code> is incompatible since we need a- <code>ComponentLocalBuildInfo</code>.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,56 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.LocalBuildInfo</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.LocalBuildInfo</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">The type</a></li><li><a href="#g:2">Convenience accessors</a></li><li><a href="#g:3">Build targets of the <code>LocalBuildInfo</code>.</a></li><li><a href="#g:4">Functions you SHOULD NOT USE (yet), but are defined here to</a></li><li><a href="#g:5">Backwards compatibility.</a></li></ul></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:LocalBuildInfo">LocalBuildInfo</a> = <a href="#v:LocalBuildInfo">LocalBuildInfo</a> {<ul class="subs"><li><a href="#v:configFlags">configFlags</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a></li><li><a href="#v:flagAssignment">flagAssignment</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a></li><li><a href="#v:componentEnabledSpec">componentEnabledSpec</a> :: <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a></li><li><a href="#v:extraConfigArgs">extraConfigArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:installDirTemplates">installDirTemplates</a> :: <a href="Distribution-Simple-InstallDirs.html#t:InstallDirTemplates">InstallDirTemplates</a></li><li><a href="#v:compiler">compiler</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a></li><li><a href="#v:hostPlatform">hostPlatform</a> :: <a href="Distribution-System.html#t:Platform">Platform</a></li><li><a href="#v:buildDir">buildDir</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:componentGraph">componentGraph</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></li><li><a href="#v:componentNameMap">componentNameMap</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> [<a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>]</li><li><a href="#v:installedPkgs">installedPkgs</a> :: <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a></li><li><a href="#v:pkgDescrFile">pkgDescrFile</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:localPkgDescr">localPkgDescr</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></li><li><a href="#v:withPrograms">withPrograms</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></li><li><a href="#v:withPackageDB">withPackageDB</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a></li><li><a href="#v:withVanillaLib">withVanillaLib</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:withProfLib">withProfLib</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:withSharedLib">withSharedLib</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:withDynExe">withDynExe</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:withProfExe">withProfExe</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:withProfLibDetail">withProfLibDetail</a> :: <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a></li><li><a href="#v:withProfExeDetail">withProfExeDetail</a> :: <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a></li><li><a href="#v:withOptimization">withOptimization</a> :: <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a></li><li><a href="#v:withDebugInfo">withDebugInfo</a> :: <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a></li><li><a href="#v:withGHCiLib">withGHCiLib</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:splitObjs">splitObjs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:stripExes">stripExes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:stripLibs">stripLibs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:exeCoverage">exeCoverage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:libCoverage">libCoverage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:progPrefix">progPrefix</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></li><li><a href="#v:progSuffix">progSuffix</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></li><li><a href="#v:relocatable">relocatable</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul>}</li><li class="src short"><a href="#v:localComponentId">localComponentId</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></li><li class="src short"><a href="#v:localUnitId">localUnitId</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li class="src short"><a href="#v:localCompatPackageKey">localCompatPackageKey</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:localPackage">localPackage</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a></li><li class="src short"><a href="#v:componentNameCLBIs">componentNameCLBIs</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> [<a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>]</li><li class="src short"><a href="#v:componentNameTargets-39-">componentNameTargets'</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> [<a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a>]</li><li class="src short"><a href="#v:unitIdTarget-39-">unitIdTarget'</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a></li><li class="src short"><a href="#v:allTargetsInBuildOrder-39-">allTargetsInBuildOrder'</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a>]</li><li class="src short"><a href="#v:withAllTargetsInBuildOrder-39-">withAllTargetsInBuildOrder'</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> (<a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:neededTargetsInBuildOrder-39-">neededTargetsInBuildOrder'</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>] -> [<a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a>]</li><li class="src short"><a href="#v:withNeededTargetsInBuildOrder-39-">withNeededTargetsInBuildOrder'</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>] -> (<a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:testCoverage">testCoverage</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:componentNameTargets">componentNameTargets</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> [<a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a>]</li><li class="src short"><a href="#v:unitIdTarget">unitIdTarget</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a></li><li class="src short"><a href="#v:allTargetsInBuildOrder">allTargetsInBuildOrder</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a>]</li><li class="src short"><a href="#v:withAllTargetsInBuildOrder">withAllTargetsInBuildOrder</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> (<a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:neededTargetsInBuildOrder">neededTargetsInBuildOrder</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>] -> [<a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a>]</li><li class="src short"><a href="#v:withNeededTargetsInBuildOrder">withNeededTargetsInBuildOrder</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>] -> (<a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:componentsConfigs">componentsConfigs</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [(<a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>, <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>, [<a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>])]</li><li class="src short"><a href="#v:externalPackageDeps">externalPackageDeps</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)]</li></ul></div><div id="interface"><h1 id="g:1">The type</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:LocalBuildInfo" class="def">LocalBuildInfo</a> <a href="#t:LocalBuildInfo" class="selflink">#</a></p><div class="doc"><p>Data cached after configuration step. See also- <code><a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a></code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:LocalBuildInfo" class="def">LocalBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:configFlags" class="def">configFlags</a> :: <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a></dfn><div class="doc"><p>Options passed to the configuration step.- Needed to re-run configuration when .cabal is out of date</p></div></li><li><dfn class="src"><a id="v:flagAssignment" class="def">flagAssignment</a> :: <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a></dfn><div class="doc"><p>The final set of flags which were picked for this package</p></div></li><li><dfn class="src"><a id="v:componentEnabledSpec" class="def">componentEnabledSpec</a> :: <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a></dfn><div class="doc"><p>What components were enabled during configuration, and why.</p></div></li><li><dfn class="src"><a id="v:extraConfigArgs" class="def">extraConfigArgs</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</dfn><div class="doc"><p>Extra args on the command line for the configuration step.- Needed to re-run configuration when .cabal is out of date</p></div></li><li><dfn class="src"><a id="v:installDirTemplates" class="def">installDirTemplates</a> :: <a href="Distribution-Simple-InstallDirs.html#t:InstallDirTemplates">InstallDirTemplates</a></dfn><div class="doc"><p>The installation directories for the various different- kinds of files-TODO: inplaceDirTemplates :: InstallDirs FilePath</p></div></li><li><dfn class="src"><a id="v:compiler" class="def">compiler</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a></dfn><div class="doc"><p>The compiler we're building with</p></div></li><li><dfn class="src"><a id="v:hostPlatform" class="def">hostPlatform</a> :: <a href="Distribution-System.html#t:Platform">Platform</a></dfn><div class="doc"><p>The platform we're building for</p></div></li><li><dfn class="src"><a id="v:buildDir" class="def">buildDir</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>Where to build the package.</p></div></li><li><dfn class="src"><a id="v:componentGraph" class="def">componentGraph</a> :: <a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></dfn><div class="doc"><p>All the components to build, ordered by topological- sort, and with their INTERNAL dependencies over the- intrapackage dependency graph.- TODO: this is assumed to be short; otherwise we want- some sort of ordered map.</p></div></li><li><dfn class="src"><a id="v:componentNameMap" class="def">componentNameMap</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> [<a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>]</dfn><div class="doc"><p>A map from component name to all matching- components. These coincide with <code><a href="Distribution-Types-LocalBuildInfo.html#v:componentGraph">componentGraph</a></code></p></div></li><li><dfn class="src"><a id="v:installedPkgs" class="def">installedPkgs</a> :: <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a></dfn><div class="doc"><p>All the info about the installed packages that the- current package depends on (directly or indirectly).- The copy saved on disk does NOT include internal- dependencies (because we just don't have enough- information at this point to have an- <code>InstalledPackageInfo</code> for an internal dep), but we- will often update it with the internal dependencies;- see for example <code><a href="Distribution-Simple-Build.html#v:build">build</a></code>.- (This admonition doesn't apply for per-component builds.)</p></div></li><li><dfn class="src"><a id="v:pkgDescrFile" class="def">pkgDescrFile</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>the filename containing the .cabal file, if available</p></div></li><li><dfn class="src"><a id="v:localPkgDescr" class="def">localPkgDescr</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></dfn><div class="doc"><p>WARNING WARNING WARNING Be VERY careful about using- this function; we haven't deprecated it but using it- could introduce subtle bugs related to- <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code>.</p><p>In principle, this is supposed to contain the- resolved package description, that does not contain- any conditionals. However, it MAY NOT contain- the description wtih a <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> applied- to it; see <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> for the whole sordid saga.- As much as possible, Cabal library should avoid using- this parameter.</p></div></li><li><dfn class="src"><a id="v:withPrograms" class="def">withPrograms</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a></dfn><div class="doc"><p>Location and args for all programs</p></div></li><li><dfn class="src"><a id="v:withPackageDB" class="def">withPackageDB</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a></dfn><div class="doc"><p>What package database to use, global/user</p></div></li><li><dfn class="src"><a id="v:withVanillaLib" class="def">withVanillaLib</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Whether to build normal libs.</p></div></li><li><dfn class="src"><a id="v:withProfLib" class="def">withProfLib</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Whether to build profiling versions of libs.</p></div></li><li><dfn class="src"><a id="v:withSharedLib" class="def">withSharedLib</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Whether to build shared versions of libs.</p></div></li><li><dfn class="src"><a id="v:withDynExe" class="def">withDynExe</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Whether to link executables dynamically</p></div></li><li><dfn class="src"><a id="v:withProfExe" class="def">withProfExe</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Whether to build executables for profiling.</p></div></li><li><dfn class="src"><a id="v:withProfLibDetail" class="def">withProfLibDetail</a> :: <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a></dfn><div class="doc"><p>Level of automatic profile detail.</p></div></li><li><dfn class="src"><a id="v:withProfExeDetail" class="def">withProfExeDetail</a> :: <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a></dfn><div class="doc"><p>Level of automatic profile detail.</p></div></li><li><dfn class="src"><a id="v:withOptimization" class="def">withOptimization</a> :: <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a></dfn><div class="doc"><p>Whether to build with optimization (if available).</p></div></li><li><dfn class="src"><a id="v:withDebugInfo" class="def">withDebugInfo</a> :: <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a></dfn><div class="doc"><p>Whether to emit debug info (if available).</p></div></li><li><dfn class="src"><a id="v:withGHCiLib" class="def">withGHCiLib</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Whether to build libs suitable for use with GHCi.</p></div></li><li><dfn class="src"><a id="v:splitObjs" class="def">splitObjs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Use -split-objs with GHC, if available</p></div></li><li><dfn class="src"><a id="v:stripExes" class="def">stripExes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Whether to strip executables during install</p></div></li><li><dfn class="src"><a id="v:stripLibs" class="def">stripLibs</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Whether to strip libraries during install</p></div></li><li><dfn class="src"><a id="v:exeCoverage" class="def">exeCoverage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Whether to enable executable program coverage</p></div></li><li><dfn class="src"><a id="v:libCoverage" class="def">libCoverage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Whether to enable library program coverage</p></div></li><li><dfn class="src"><a id="v:progPrefix" class="def">progPrefix</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></dfn><div class="doc"><p>Prefix to be prepended to installed executables</p></div></li><li><dfn class="src"><a id="v:progSuffix" class="def">progSuffix</a> :: <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a></dfn><div class="doc"><p>Suffix to be appended to installed executables</p></div></li><li><dfn class="src"><a id="v:relocatable" class="def">relocatable</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:LocalBuildInfo" class="caption collapser" onclick="toggleSection('i:LocalBuildInfo')">Instances</p><div id="section.i:LocalBuildInfo" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LocalBuildInfo:Read:1" class="instance expander" onclick="toggleSection('i:id:LocalBuildInfo:Read:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></span> <a href="#t:LocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LocalBuildInfo:Read:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LocalBuildInfo:Show:2" class="instance expander" onclick="toggleSection('i:id:LocalBuildInfo:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></span> <a href="#t:LocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LocalBuildInfo:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LocalBuildInfo:Generic:3" class="instance expander" onclick="toggleSection('i:id:LocalBuildInfo:Generic:3')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></span> <a href="#t:LocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LocalBuildInfo:Generic:3" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> x -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LocalBuildInfo:Binary:4" class="instance expander" onclick="toggleSection('i:id:LocalBuildInfo:Binary:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></span> <a href="#t:LocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LocalBuildInfo:Binary:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LocalBuildInfo:Rep:5" class="instance expander" onclick="toggleSection('i:id:LocalBuildInfo:Rep:5')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></span> <a href="#t:LocalBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LocalBuildInfo:Rep:5" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "LocalBuildInfo" "Distribution.Types.LocalBuildInfo" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "LocalBuildInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "configFlags") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-Setup.html#t:ConfigFlags">ConfigFlags</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "flagAssignment") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">FlagAssignment</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentEnabledSpec") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "extraConfigArgs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "installDirTemplates") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-InstallDirs.html#t:InstallDirTemplates">InstallDirTemplates</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "compiler") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-Compiler.html#t:Compiler">Compiler</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "hostPlatform") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-System.html#t:Platform">Platform</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "buildDir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentGraph") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Compat-Graph.html#t:Graph">Graph</a> <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "componentNameMap") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Map">Map</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> [<a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "installedPkgs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">InstalledPackageIndex</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "pkgDescrFile") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "localPkgDescr") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withPrograms") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-Program-Db.html#t:ProgramDb">ProgramDb</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withPackageDB") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-Compiler.html#t:PackageDBStack">PackageDBStack</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withVanillaLib") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withProfLib") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withSharedLib") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withDynExe") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withProfExe") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withProfLibDetail") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withProfExeDetail") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">ProfDetailLevel</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withOptimization") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">OptimisationLevel</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withDebugInfo") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">DebugInfoLevel</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "withGHCiLib") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "splitObjs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "stripExes") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "stripLibs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "exeCoverage") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "libCoverage") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "progPrefix") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "progSuffix") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">PathTemplate</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "relocatable") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>)))))))))</div></div></td></tr></table></div></div></div><h1 id="g:2">Convenience accessors</h1><div class="top"><p class="src"><a id="v:localComponentId" class="def">localComponentId</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> <a href="#v:localComponentId" class="selflink">#</a></p><div class="doc"><p>Extract the <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code> from the public library component of a- <code><a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code> if it exists, or make a fake component ID based- on the package ID.</p></div></div><div class="top"><p class="src"><a id="v:localUnitId" class="def">localUnitId</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:localUnitId" class="selflink">#</a></p><div class="doc"><p>Extract the <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> from the library component of a- <code><a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code> if it exists, or make a fake unit ID based on- the package ID.</p></div></div><div class="top"><p class="src"><a id="v:localCompatPackageKey" class="def">localCompatPackageKey</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:localCompatPackageKey" class="selflink">#</a></p><div class="doc"><p>Extract the compatibility package key from the public library component of a- <code><a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code> if it exists, or make a fake package key based- on the package ID.</p></div></div><div class="top"><p class="src"><a id="v:localPackage" class="def">localPackage</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> <a href="#v:localPackage" class="selflink">#</a></p><div class="doc"><p>Extract the <code><a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></code> of a <code><a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code>.- This is a "safe" use of <code><a href="Distribution-Types-LocalBuildInfo.html#v:localPkgDescr">localPkgDescr</a></code></p></div></div><h1 id="g:3">Build targets of the <code><a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code>.</h1><div class="top"><p class="src"><a id="v:componentNameCLBIs" class="def">componentNameCLBIs</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> [<a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>] <a href="#v:componentNameCLBIs" class="selflink">#</a></p><div class="doc"><p>Return all <code><a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></code>s associated with <code><a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></code>.- In the presence of Backpack there may be more than one!</p></div></div><div class="top"><p class="src"><a id="v:componentNameTargets-39-" class="def">componentNameTargets'</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> [<a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a>] <a href="#v:componentNameTargets-39-" class="selflink">#</a></p><div class="doc"><p>Return all <code><a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a></code>s associated with <code><a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></code>.- In the presence of Backpack there may be more than one!- Has a prime because it takes a <code><a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></code> argument- which may disagree with <code><a href="Distribution-Types-LocalBuildInfo.html#v:localPkgDescr">localPkgDescr</a></code> in <code><a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:unitIdTarget-39-" class="def">unitIdTarget'</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a> <a href="#v:unitIdTarget-39-" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:allTargetsInBuildOrder-39-" class="def">allTargetsInBuildOrder'</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a>] <a href="#v:allTargetsInBuildOrder-39-" class="selflink">#</a></p><div class="doc"><p>Return the list of default <code><a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a></code>s associated with a- configured package, in the order they need to be built.- Has a prime because it takes a <code><a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></code> argument- which may disagree with <code><a href="Distribution-Types-LocalBuildInfo.html#v:localPkgDescr">localPkgDescr</a></code> in <code><a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:withAllTargetsInBuildOrder-39-" class="def">withAllTargetsInBuildOrder'</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> (<a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:withAllTargetsInBuildOrder-39-" class="selflink">#</a></p><div class="doc"><p>Execute <code>f</code> for every <code><a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a></code> in the package, respecting the- build dependency order. (TODO: We should use Shake!)- Has a prime because it takes a <code><a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></code> argument- which may disagree with <code><a href="Distribution-Types-LocalBuildInfo.html#v:localPkgDescr">localPkgDescr</a></code> in <code><a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:neededTargetsInBuildOrder-39-" class="def">neededTargetsInBuildOrder'</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>] -> [<a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a>] <a href="#v:neededTargetsInBuildOrder-39-" class="selflink">#</a></p><div class="doc"><p>Return the list of all targets needed to build the <code>uids</code>, in- the order they need to be built.- Has a prime because it takes a <code><a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></code> argument- which may disagree with <code><a href="Distribution-Types-LocalBuildInfo.html#v:localPkgDescr">localPkgDescr</a></code> in <code><a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:withNeededTargetsInBuildOrder-39-" class="def">withNeededTargetsInBuildOrder'</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>] -> (<a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:withNeededTargetsInBuildOrder-39-" class="selflink">#</a></p><div class="doc"><p>Execute <code>f</code> for every <code><a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a></code> needed to build <code>uid</code>s, respecting- the build dependency order.- Has a prime because it takes a <code><a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></code> argument- which may disagree with <code><a href="Distribution-Types-LocalBuildInfo.html#v:localPkgDescr">localPkgDescr</a></code> in <code><a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:testCoverage" class="def">testCoverage</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:testCoverage" class="selflink">#</a></p><div class="doc"><p>Is coverage enabled for test suites? In practice, this requires library- and executable profiling to be enabled.</p></div></div><h1 id="g:4">Functions you SHOULD NOT USE (yet), but are defined here to</h1><div class="top"><p class="src"><a id="v:componentNameTargets" class="def">componentNameTargets</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> [<a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a>] <a href="#v:componentNameTargets" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Warning: By using this function, you may be introducing a bug where you retrieve a <code>Component</code> which does not have <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> applied to it. See the documentation for <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> for an explanation of the issue. If you have a <code>PakcageDescription</code> handy (NOT from the <code><a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code>), try using the primed version of the function, which takes it as an extra argument.</p></div></div></div><div class="top"><p class="src"><a id="v:unitIdTarget" class="def">unitIdTarget</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a> <a href="#v:unitIdTarget" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Warning: By using this function, you may be introducing a bug where you retrieve a <code>Component</code> which does not have <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> applied to it. See the documentation for <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> for an explanation of the issue. If you have a <code>PakcageDescription</code> handy (NOT from the <code><a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code>), try using the primed version of the function, which takes it as an extra argument.</p></div></div></div><div class="top"><p class="src"><a id="v:allTargetsInBuildOrder" class="def">allTargetsInBuildOrder</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a>] <a href="#v:allTargetsInBuildOrder" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Warning: By using this function, you may be introducing a bug where you retrieve a <code>Component</code> which does not have <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> applied to it. See the documentation for <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> for an explanation of the issue. If you have a <code>PakcageDescription</code> handy (NOT from the <code><a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code>), try using the primed version of the function, which takes it as an extra argument.</p></div></div></div><div class="top"><p class="src"><a id="v:withAllTargetsInBuildOrder" class="def">withAllTargetsInBuildOrder</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> (<a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:withAllTargetsInBuildOrder" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Warning: By using this function, you may be introducing a bug where you retrieve a <code>Component</code> which does not have <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> applied to it. See the documentation for <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> for an explanation of the issue. If you have a <code>PakcageDescription</code> handy (NOT from the <code><a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code>), try using the primed version of the function, which takes it as an extra argument.</p></div></div></div><div class="top"><p class="src"><a id="v:neededTargetsInBuildOrder" class="def">neededTargetsInBuildOrder</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>] -> [<a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a>] <a href="#v:neededTargetsInBuildOrder" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Warning: By using this function, you may be introducing a bug where you retrieve a <code>Component</code> which does not have <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> applied to it. See the documentation for <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> for an explanation of the issue. If you have a <code>PakcageDescription</code> handy (NOT from the <code><a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code>), try using the primed version of the function, which takes it as an extra argument.</p></div></div></div><div class="top"><p class="src"><a id="v:withNeededTargetsInBuildOrder" class="def">withNeededTargetsInBuildOrder</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>] -> (<a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:withNeededTargetsInBuildOrder" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Warning: By using this function, you may be introducing a bug where you retrieve a <code>Component</code> which does not have <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> applied to it. See the documentation for <code><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a></code> for an explanation of the issue. If you have a <code>PakcageDescription</code> handy (NOT from the <code><a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a></code>), try using the primed version of the function, which takes it as an extra argument.</p></div></div></div><h1 id="g:5">Backwards compatibility.</h1><div class="top"><p class="src"><a id="v:componentsConfigs" class="def">componentsConfigs</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [(<a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>, <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a>, [<a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a>])] <a href="#v:componentsConfigs" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: Use <code><a href="Distribution-Types-LocalBuildInfo.html#v:componentGraph">componentGraph</a></code> instead; you can get a list of <code><a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></code> with <code><a href="Distribution-Compat-Graph.html#v:toList">toList</a></code>. There's not a good way to get the list of <code><a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></code>s the <code><a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></code> depends on because this query doesn't make sense; the graph is indexed by <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> not <code><a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></code>. Given a <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> you can lookup the <code><a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></code> (<code>getCLBI</code>) and then get the <code><a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a></code> ('componentLocalName]). To be removed in Cabal 2.2</p></div></div></div><div class="top"><p class="src"><a id="v:externalPackageDeps" class="def">externalPackageDeps</a> :: <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">LocalBuildInfo</a> -> [(<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>, <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>)] <a href="#v:externalPackageDeps" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: You almost certainly don't want this function, which agglomerates the dependencies of ALL enabled components. If you're using this to write out information on your dependencies, read off the dependencies directly from the actual component in question. To be removed in Cabal 2.2</p></div><p>External package dependencies for the package as a whole. This is the- union of the individual <code><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentPackageDeps">componentPackageDeps</a></code>, less any internal deps.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.Mixin</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.Mixin</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Mixin" class="def">Mixin</a> <a href="#t:Mixin" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Mixin" class="def">Mixin</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:mixinPackageName" class="def">mixinPackageName</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:mixinIncludeRenaming" class="def">mixinIncludeRenaming</a> :: <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:Mixin" class="caption collapser" onclick="toggleSection('i:Mixin')">Instances</p><div id="section.i:Mixin" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Mixin:Eq:1" class="instance expander" onclick="toggleSection('i:id:Mixin:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a></span> <a href="#t:Mixin" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Mixin:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Mixin:Data:2" class="instance expander" onclick="toggleSection('i:id:Mixin:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a></span> <a href="#t:Mixin" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Mixin:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> c <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> m <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> m <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> m <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Mixin:Ord:3" class="instance expander" onclick="toggleSection('i:id:Mixin:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a></span> <a href="#t:Mixin" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Mixin:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Mixin:Read:4" class="instance expander" onclick="toggleSection('i:id:Mixin:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a></span> <a href="#t:Mixin" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Mixin:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Mixin:Show:5" class="instance expander" onclick="toggleSection('i:id:Mixin:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a></span> <a href="#t:Mixin" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Mixin:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Mixin:Generic:6" class="instance expander" onclick="toggleSection('i:id:Mixin:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a></span> <a href="#t:Mixin" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Mixin:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> x -> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Mixin:Binary:7" class="instance expander" onclick="toggleSection('i:id:Mixin:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a></span> <a href="#t:Mixin" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Mixin:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Mixin:Text:8" class="instance expander" onclick="toggleSection('i:id:Mixin:Text:8')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a></span> <a href="#t:Mixin" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Mixin:Text:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Mixin:Rep:9" class="instance expander" onclick="toggleSection('i:id:Mixin:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a></span> <a href="#t:Mixin" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Mixin:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Mixin.html#t:Mixin">Mixin</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Mixin" "Distribution.Types.Mixin" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Mixin" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "mixinPackageName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "mixinIncludeRenaming") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">IncludeRenaming</a>))))</div></div></td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,11 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.Module</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.Module</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:Module">Module</a> = <a href="#v:Module">Module</a> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Module" class="def">Module</a> <a href="#t:Module" class="selflink">#</a></p><div class="doc"><p>A module identity uniquely identifies a Haskell module by- qualifying a <code><a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></code> with the <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> which defined- it. This type distinguishes between two packages- which provide a module with the same name, or a module- from the same package compiled with different dependencies.- There are a few cases where Cabal needs to know about- module identities, e.g., when writing out reexported modules in- the <code>InstalledPackageInfo</code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Module" class="def">Module</a> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Module" class="caption collapser" onclick="toggleSection('i:Module')">Instances</p><div id="section.i:Module" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Module:Eq:1" class="instance expander" onclick="toggleSection('i:id:Module:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-Module.html#t:Module">Module</a></span> <a href="#t:Module" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Module:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Module:Data:2" class="instance expander" onclick="toggleSection('i:id:Module:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-Module.html#t:Module">Module</a></span> <a href="#t:Module" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Module:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> c <a href="Distribution-Types-Module.html#t:Module">Module</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-Module.html#t:Module">Module</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-Module.html#t:Module">Module</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-Module.html#t:Module">Module</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="Distribution-Types-Module.html#t:Module">Module</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> m <a href="Distribution-Types-Module.html#t:Module">Module</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> m <a href="Distribution-Types-Module.html#t:Module">Module</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> m <a href="Distribution-Types-Module.html#t:Module">Module</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Module:Ord:3" class="instance expander" onclick="toggleSection('i:id:Module:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Types-Module.html#t:Module">Module</a></span> <a href="#t:Module" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Module:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="Distribution-Types-Module.html#t:Module">Module</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="Distribution-Types-Module.html#t:Module">Module</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Module:Read:4" class="instance expander" onclick="toggleSection('i:id:Module:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-Module.html#t:Module">Module</a></span> <a href="#t:Module" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Module:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-Module.html#t:Module">Module</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-Module.html#t:Module">Module</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-Module.html#t:Module">Module</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-Module.html#t:Module">Module</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Module:Show:5" class="instance expander" onclick="toggleSection('i:id:Module:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-Module.html#t:Module">Module</a></span> <a href="#t:Module" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Module:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-Module.html#t:Module">Module</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Module:Generic:6" class="instance expander" onclick="toggleSection('i:id:Module:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-Module.html#t:Module">Module</a></span> <a href="#t:Module" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Module:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Module.html#t:Module">Module</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Module.html#t:Module">Module</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Module.html#t:Module">Module</a> x -> <a href="Distribution-Types-Module.html#t:Module">Module</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Module:Binary:7" class="instance expander" onclick="toggleSection('i:id:Module:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-Module.html#t:Module">Module</a></span> <a href="#t:Module" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Module:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-Module.html#t:Module">Module</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-Module.html#t:Module">Module</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Module:NFData:8" class="instance expander" onclick="toggleSection('i:id:Module:NFData:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Types-Module.html#t:Module">Module</a></span> <a href="#t:Module" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Module:NFData:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Types-Module.html#t:Module">Module</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Module:Text:9" class="instance expander" onclick="toggleSection('i:id:Module:Text:9')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-Module.html#t:Module">Module</a></span> <a href="#t:Module" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Module:Text:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-Module.html#t:Module">Module</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-Module.html#t:Module">Module</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Module:Rep:10" class="instance expander" onclick="toggleSection('i:id:Module:Rep:10')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Module.html#t:Module">Module</a></span> <a href="#t:Module" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Module:Rep:10" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-Module.html#t:Module">Module</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Module" "Distribution.Types.Module" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Module" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>))))</div></div></td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.ModuleReexport</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.ModuleReexport</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ModuleReexport" class="def">ModuleReexport</a> <a href="#t:ModuleReexport" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ModuleReexport" class="def">ModuleReexport</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:moduleReexportOriginalPackage" class="def">moduleReexportOriginalPackage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:moduleReexportOriginalName" class="def">moduleReexportOriginalName</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:moduleReexportName" class="def">moduleReexportName</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:ModuleReexport" class="caption collapser" onclick="toggleSection('i:ModuleReexport')">Instances</p><div id="section.i:ModuleReexport" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleReexport:Eq:1" class="instance expander" onclick="toggleSection('i:id:ModuleReexport:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a></span> <a href="#t:ModuleReexport" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleReexport:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> -> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> -> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleReexport:Data:2" class="instance expander" onclick="toggleSection('i:id:ModuleReexport:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a></span> <a href="#t:ModuleReexport" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleReexport:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> -> c <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> -> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> -> m <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> -> m <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> -> m <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleReexport:Read:3" class="instance expander" onclick="toggleSection('i:id:ModuleReexport:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a></span> <a href="#t:ModuleReexport" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleReexport:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleReexport:Show:4" class="instance expander" onclick="toggleSection('i:id:ModuleReexport:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a></span> <a href="#t:ModuleReexport" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleReexport:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleReexport:Generic:5" class="instance expander" onclick="toggleSection('i:id:ModuleReexport:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a></span> <a href="#t:ModuleReexport" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleReexport:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> x -> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleReexport:Binary:6" class="instance expander" onclick="toggleSection('i:id:ModuleReexport:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a></span> <a href="#t:ModuleReexport" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleReexport:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleReexport:Text:7" class="instance expander" onclick="toggleSection('i:id:ModuleReexport:Text:7')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a></span> <a href="#t:ModuleReexport" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleReexport:Text:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleReexport:Rep:8" class="instance expander" onclick="toggleSection('i:id:ModuleReexport:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a></span> <a href="#t:ModuleReexport" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleReexport:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">ModuleReexport</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ModuleReexport" "Distribution.Types.ModuleReexport" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ModuleReexport" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "moduleReexportOriginalPackage") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "moduleReexportOriginalName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "moduleReexportName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>)))))</div></div></td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,14 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.ModuleRenaming</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.ModuleRenaming</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:ModuleRenaming">ModuleRenaming</a><ul class="subs"><li>= <a href="#v:ModuleRenaming">ModuleRenaming</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>)]</li><li>| <a href="#v:DefaultRenaming">DefaultRenaming</a></li><li>| <a href="#v:HidingRenaming">HidingRenaming</a> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li></ul></li><li class="src short"><a href="#v:defaultRenaming">defaultRenaming</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></li><li class="src short"><a href="#v:isDefaultRenaming">isDefaultRenaming</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ModuleRenaming" class="def">ModuleRenaming</a> <a href="#t:ModuleRenaming" class="selflink">#</a></p><div class="doc"><p>Renaming applied to the modules provided by a package.- The boolean indicates whether or not to also include all of the- original names of modules. Thus, <code>ModuleRenaming False []</code> is- "don't expose any modules, and <code>ModuleRenaming True [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html">Data.Bool</a>, <a href="Bool.html">Bool</a>)]</code>- is, "expose all modules, but also expose <code>Data.Bool</code> as <code>Bool</code>".- If a renaming is omitted you get the <code><a href="Distribution-Types-ModuleRenaming.html#v:DefaultRenaming">DefaultRenaming</a></code>.</p><p>(NB: This is a list not a map so that we can preserve order.)</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ModuleRenaming" class="def">ModuleRenaming</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>)]</td><td class="doc"><p>A module renaming/thinning; e.g., <code>(A as B, C as C)</code>- brings <code>B</code> and <code>C</code> into scope.</p></td></tr><tr><td class="src"><a id="v:DefaultRenaming" class="def">DefaultRenaming</a></td><td class="doc"><p>The default renaming, bringing all exported modules- into scope.</p></td></tr><tr><td class="src"><a id="v:HidingRenaming" class="def">HidingRenaming</a> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</td><td class="doc"><p>Hiding renaming, e.g., <code>hiding (A, B)</code>, bringing all- exported modules into scope except the hidden ones.</p></td></tr></table></div><div class="subs instances"><p id="control.i:ModuleRenaming" class="caption collapser" onclick="toggleSection('i:ModuleRenaming')">Instances</p><div id="section.i:ModuleRenaming" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleRenaming:Eq:1" class="instance expander" onclick="toggleSection('i:id:ModuleRenaming:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></span> <a href="#t:ModuleRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleRenaming:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleRenaming:Data:2" class="instance expander" onclick="toggleSection('i:id:ModuleRenaming:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></span> <a href="#t:ModuleRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleRenaming:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> c <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> m <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> m <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> m <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleRenaming:Ord:3" class="instance expander" onclick="toggleSection('i:id:ModuleRenaming:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></span> <a href="#t:ModuleRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleRenaming:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleRenaming:Read:4" class="instance expander" onclick="toggleSection('i:id:ModuleRenaming:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></span> <a href="#t:ModuleRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleRenaming:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleRenaming:Show:5" class="instance expander" onclick="toggleSection('i:id:ModuleRenaming:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></span> <a href="#t:ModuleRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleRenaming:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleRenaming:Generic:6" class="instance expander" onclick="toggleSection('i:id:ModuleRenaming:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></span> <a href="#t:ModuleRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleRenaming:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> x -> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleRenaming:Binary:7" class="instance expander" onclick="toggleSection('i:id:ModuleRenaming:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></span> <a href="#t:ModuleRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleRenaming:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleRenaming:Text:8" class="instance expander" onclick="toggleSection('i:id:ModuleRenaming:Text:8')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></span> <a href="#t:ModuleRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleRenaming:Text:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ModuleRenaming:Rep:9" class="instance expander" onclick="toggleSection('i:id:ModuleRenaming:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a></span> <a href="#t:ModuleRenaming" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ModuleRenaming:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ModuleRenaming" "Distribution.Types.ModuleRenaming" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ModuleRenaming" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>)]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DefaultRenaming" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "HidingRenaming" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>])))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:defaultRenaming" class="def">defaultRenaming</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> <a href="#v:defaultRenaming" class="selflink">#</a></p><div class="doc"><p>The default renaming, if something is specified in <code>build-depends</code>- only.</p></div></div><div class="top"><p class="src"><a id="v:isDefaultRenaming" class="def">isDefaultRenaming</a> :: <a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isDefaultRenaming" class="selflink">#</a></p><div class="doc"><p>Tests if its the default renaming; we can use a more compact syntax- in <code><a href="Distribution-Types-IncludeRenaming.html#v:IncludeRenaming">IncludeRenaming</a></code> in this case.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,8 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.MungedPackageId</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.MungedPackageId</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:MungedPackageId">MungedPackageId</a> = <a href="#v:MungedPackageId">MungedPackageId</a> {<ul class="subs"><li><a href="#v:mungedName">mungedName</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></li><li><a href="#v:mungedVersion">mungedVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a></li></ul>}</li><li class="src short"><a href="#v:computeCompatPackageId">computeCompatPackageId</a> :: <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:MungedPackageId" class="def">MungedPackageId</a> <a href="#t:MungedPackageId" class="selflink">#</a></p><div class="doc"><p>A simple pair of a <code><a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></code> and <code><a href="Distribution-Version.html#t:Version">Version</a></code>. <code><a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></code> is to- <code><a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a></code> as <code>PackageName</code> is to <code><a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a></code>. See <code><a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></code> for more- info.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:MungedPackageId" class="def">MungedPackageId</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:mungedName" class="def">mungedName</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></dfn><div class="doc"><p>The combined package and component name. see documentation for- <code><a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></code>.</p></div></li><li><dfn class="src"><a id="v:mungedVersion" class="def">mungedVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a></dfn><div class="doc"><p>The version of this package / component, eg 1.2</p></div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:MungedPackageId" class="caption collapser" onclick="toggleSection('i:MungedPackageId')">Instances</p><div id="section.i:MungedPackageId" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:MungedPackageId:Eq:1" class="instance expander" onclick="toggleSection('i:id:MungedPackageId:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a></span> <a href="#t:MungedPackageId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:MungedPackageId:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:MungedPackageId:Data:2" class="instance expander" onclick="toggleSection('i:id:MungedPackageId:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a></span> <a href="#t:MungedPackageId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:MungedPackageId:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> c <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> m <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> m <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> m <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:MungedPackageId:Ord:3" class="instance expander" onclick="toggleSection('i:id:MungedPackageId:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a></span> <a href="#t:MungedPackageId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:MungedPackageId:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:MungedPackageId:Read:4" class="instance expander" onclick="toggleSection('i:id:MungedPackageId:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a></span> <a href="#t:MungedPackageId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:MungedPackageId:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:MungedPackageId:Show:5" class="instance expander" onclick="toggleSection('i:id:MungedPackageId:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a></span> <a href="#t:MungedPackageId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:MungedPackageId:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:MungedPackageId:Generic:6" class="instance expander" onclick="toggleSection('i:id:MungedPackageId:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a></span> <a href="#t:MungedPackageId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:MungedPackageId:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> x -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:MungedPackageId:Binary:7" class="instance expander" onclick="toggleSection('i:id:MungedPackageId:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a></span> <a href="#t:MungedPackageId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:MungedPackageId:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:MungedPackageId:NFData:8" class="instance expander" onclick="toggleSection('i:id:MungedPackageId:NFData:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a></span> <a href="#t:MungedPackageId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:MungedPackageId:NFData:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:MungedPackageId:Text:9" class="instance expander" onclick="toggleSection('i:id:MungedPackageId:Text:9')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a></span> <a href="#t:MungedPackageId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:MungedPackageId:Text:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:MungedPackageId:HasMungedPackageId:10" class="instance expander" onclick="toggleSection('i:id:MungedPackageId:HasMungedPackageId:10')"></span> <a href="Distribution-Package.html#t:HasMungedPackageId">HasMungedPackageId</a> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a></span> <a href="#t:HasMungedPackageId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:MungedPackageId:HasMungedPackageId:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mungedId">mungedId</a> :: <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> <a href="#v:mungedId" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:MungedPackageId:Rep:11" class="instance expander" onclick="toggleSection('i:id:MungedPackageId:Rep:11')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a></span> <a href="#t:MungedPackageId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:MungedPackageId:Rep:11" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "MungedPackageId" "Distribution.Types.MungedPackageId" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "MungedPackageId" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "mungedName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "mungedVersion") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:computeCompatPackageId" class="def">computeCompatPackageId</a> :: <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">MungedPackageId</a> <a href="#v:computeCompatPackageId" class="selflink">#</a></p><div class="doc"><p>See docs for <code><a href="Distribution-Types-MungedPackageName.html#v:computeCompatPackageId">computeCompatPackageId</a></code>. this- is a thin wrapper around that.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,26 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.MungedPackageName</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.MungedPackageName</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:MungedPackageName">MungedPackageName</a></li><li class="src short"><a href="#v:unMungedPackageName">unMungedPackageName</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:mkMungedPackageName">mkMungedPackageName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></li><li class="src short"><a href="#v:computeCompatPackageName">computeCompatPackageName</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></li><li class="src short"><a href="#v:decodeCompatPackageName">decodeCompatPackageName</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> (<a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>)</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:MungedPackageName" class="def">MungedPackageName</a> <a href="#t:MungedPackageName" class="selflink">#</a></p><div class="doc"><p>A combination of a package and component name used in various legacy- interfaces, chiefly bundled with a version as <code>MungedPackageId</code>. It's generally- better to use a <code>UnitId</code> to opaquely refer to some compilation/packing unit,- but that doesn't always work, e.g. where a "name" is needed, in which case- this can be used as a fallback.</p><p>Use <code><a href="Distribution-Types-MungedPackageName.html#v:mkMungedPackageName">mkMungedPackageName</a></code> and <code><a href="Distribution-Types-MungedPackageName.html#v:unMungedPackageName">unMungedPackageName</a></code> to convert from/to a <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code>.</p><p><em>Since: 2.0.0.2</em></p></div><div class="subs instances"><p id="control.i:MungedPackageName" class="caption collapser" onclick="toggleSection('i:MungedPackageName')">Instances</p><div id="section.i:MungedPackageName" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:MungedPackageName:Eq:1" class="instance expander" onclick="toggleSection('i:id:MungedPackageName:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></span> <a href="#t:MungedPackageName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:MungedPackageName:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:MungedPackageName:Data:2" class="instance expander" onclick="toggleSection('i:id:MungedPackageName:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></span> <a href="#t:MungedPackageName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:MungedPackageName:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> c <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> m <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> m <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> m <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:MungedPackageName:Ord:3" class="instance expander" onclick="toggleSection('i:id:MungedPackageName:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></span> <a href="#t:MungedPackageName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:MungedPackageName:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:MungedPackageName:Read:4" class="instance expander" onclick="toggleSection('i:id:MungedPackageName:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></span> <a href="#t:MungedPackageName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:MungedPackageName:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:MungedPackageName:Show:5" class="instance expander" onclick="toggleSection('i:id:MungedPackageName:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></span> <a href="#t:MungedPackageName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:MungedPackageName:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:MungedPackageName:IsString:6" class="instance expander" onclick="toggleSection('i:id:MungedPackageName:IsString:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:IsString">IsString</a> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></span> <a href="#t:MungedPackageName" class="selflink">#</a></td><td class="doc"><p><code><a href="Distribution-Types-MungedPackageName.html#v:mkMungedPackageName">mkMungedPackageName</a></code></p><p><em>Since: 2.0.0.2</em></p></td></tr><tr><td colspan="2"><div id="section.i:id:MungedPackageName:IsString:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fromString">fromString</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> <a href="#v:fromString" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:MungedPackageName:Generic:7" class="instance expander" onclick="toggleSection('i:id:MungedPackageName:Generic:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></span> <a href="#t:MungedPackageName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:MungedPackageName:Generic:7" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> x -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:MungedPackageName:Binary:8" class="instance expander" onclick="toggleSection('i:id:MungedPackageName:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></span> <a href="#t:MungedPackageName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:MungedPackageName:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:MungedPackageName:NFData:9" class="instance expander" onclick="toggleSection('i:id:MungedPackageName:NFData:9')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></span> <a href="#t:MungedPackageName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:MungedPackageName:NFData:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:MungedPackageName:Text:10" class="instance expander" onclick="toggleSection('i:id:MungedPackageName:Text:10')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></span> <a href="#t:MungedPackageName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:MungedPackageName:Text:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:MungedPackageName:Rep:11" class="instance expander" onclick="toggleSection('i:id:MungedPackageName:Rep:11')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></span> <a href="#t:MungedPackageName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:MungedPackageName:Rep:11" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "MungedPackageName" "Distribution.Types.MungedPackageName" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "MungedPackageName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a>)))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:unMungedPackageName" class="def">unMungedPackageName</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:unMungedPackageName" class="selflink">#</a></p><div class="doc"><p>Convert <code><a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></code> to <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code></p></div></div><div class="top"><p class="src"><a id="v:mkMungedPackageName" class="def">mkMungedPackageName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> <a href="#v:mkMungedPackageName" class="selflink">#</a></p><div class="doc"><p>Construct a <code><a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></code> from a <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code></p><p><code><a href="Distribution-Types-MungedPackageName.html#v:mkMungedPackageName">mkMungedPackageName</a></code> is the inverse to <code><a href="Distribution-Types-MungedPackageName.html#v:unMungedPackageName">unMungedPackageName</a></code></p><p>Note: No validations are performed to ensure that the resulting- <code><a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a></code> is valid</p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:computeCompatPackageName" class="def">computeCompatPackageName</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> <a href="#v:computeCompatPackageName" class="selflink">#</a></p><div class="doc"><p>Computes the package name for a library. If this is the public- library, it will just be the original package name; otherwise,- it will be a munged package name recording the original package- name as well as the name of the internal library.</p><p>A lot of tooling in the Haskell ecosystem assumes that if something- is installed to the package database with the package name <code>foo</code>,- then it actually is an entry for the (only public) library in package- <code>foo</code>. With internal packages, this is not necessarily true:- a public library as well as arbitrarily many internal libraries may- come from the same package. To prevent tools from getting confused- in this case, the package name of these internal libraries is munged- so that they do not conflict the public library proper. A particular- case where this matters is ghc-pkg: if we don't munge the package- name, the inplace registration will OVERRIDE a different internal- library.</p><p>We munge into a reserved namespace, "z-", and encode both the- component name and the package name of an internal library using the- following format:</p><p>compat-pkg-name ::= "z-" package-name "-z-" library-name</p><p>where package-name and library-name have "-" ( "z" + ) "-"- segments encoded by adding an extra "z".</p><p>When we have the public library, the compat-pkg-name is just the- package-name, no surprises there!</p></div></div><div class="top"><p class="src"><a id="v:decodeCompatPackageName" class="def">decodeCompatPackageName</a> :: <a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">MungedPackageName</a> -> (<a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>) <a href="#v:decodeCompatPackageName" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,62 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.PackageDescription</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2005</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.PackageDescription</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This defines the data structure for the <code>.cabal</code> file format. There are- several parts to this structure. It has top level info and then <code><a href="Distribution-Types-Library.html#t:Library">Library</a></code>,- <code><a href="Distribution-Types-Executable.html#t:Executable">Executable</a></code>, <code><a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a></code>, and <code><a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a></code> sections each of which have- associated <code><a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></code> data that's used to build the library, exe, test, or- benchmark. To further complicate things there is both a <code><a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></code>- and a <code>GenericPackageDescription</code>. This distinction relates to cabal- configurations. When we initially read a <code>.cabal</code> file we get a- <code>GenericPackageDescription</code> which has all the conditional sections.- Before actually building a package we have to decide- on each conditional. Once we've done that we get a <code><a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></code>.- It was done this way initially to avoid breaking too much stuff when the- feature was introduced. It could probably do with being rationalised at some- point to make it simpler.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:PackageDescription">PackageDescription</a> = <a href="#v:PackageDescription">PackageDescription</a> {<ul class="subs"><li><a href="#v:package">package</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></li><li><a href="#v:license">license</a> :: <a href="Distribution-License.html#t:License">License</a></li><li><a href="#v:licenseFiles">licenseFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:copyright">copyright</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:maintainer">maintainer</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:author">author</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:stability">stability</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:testedWith">testedWith</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>)]</li><li><a href="#v:homepage">homepage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:pkgUrl">pkgUrl</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:bugReports">bugReports</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:sourceRepos">sourceRepos</a> :: [<a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a>]</li><li><a href="#v:synopsis">synopsis</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:description">description</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:category">category</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:customFieldsPD">customFieldsPD</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</li><li><a href="#v:buildDepends">buildDepends</a> :: [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>]</li><li><a href="#v:specVersionRaw">specVersionRaw</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li><a href="#v:buildType">buildType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a></li><li><a href="#v:setupBuildInfo">setupBuildInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a></li><li><a href="#v:library">library</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-Library.html#t:Library">Library</a></li><li><a href="#v:subLibraries">subLibraries</a> :: [<a href="Distribution-Types-Library.html#t:Library">Library</a>]</li><li><a href="#v:executables">executables</a> :: [<a href="Distribution-Types-Executable.html#t:Executable">Executable</a>]</li><li><a href="#v:foreignLibs">foreignLibs</a> :: [<a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>]</li><li><a href="#v:testSuites">testSuites</a> :: [<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a>]</li><li><a href="#v:benchmarks">benchmarks</a> :: [<a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a>]</li><li><a href="#v:dataFiles">dataFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:dataDir">dataDir</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:extraSrcFiles">extraSrcFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:extraTmpFiles">extraTmpFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:extraDocFiles">extraDocFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</li></ul>}</li><li class="src short"><a href="#v:specVersion">specVersion</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Version.html#t:Version">Version</a></li><li class="src short"><a href="#v:descCabalVersion">descCabalVersion</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:emptyPackageDescription">emptyPackageDescription</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></li><li class="src short"><a href="#v:hasPublicLib">hasPublicLib</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:hasLibs">hasLibs</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:allLibraries">allLibraries</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-Types-Library.html#t:Library">Library</a>]</li><li class="src short"><a href="#v:withLib">withLib</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:hasExes">hasExes</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:withExe">withExe</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:hasTests">hasTests</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:withTest">withTest</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:hasBenchmarks">hasBenchmarks</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:withBenchmark">withBenchmark</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:hasForeignLibs">hasForeignLibs</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:withForeignLib">withForeignLib</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:allBuildInfo">allBuildInfo</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>]</li><li class="src short"><a href="#v:enabledBuildInfos">enabledBuildInfos</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> -> [<a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>]</li><li class="src short"><a href="#v:updatePackageDescription">updatePackageDescription</a> :: <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></li><li class="src short"><a href="#v:pkgComponents">pkgComponents</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-Types-Component.html#t:Component">Component</a>]</li><li class="src short"><a href="#v:pkgBuildableComponents">pkgBuildableComponents</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-Types-Component.html#t:Component">Component</a>]</li><li class="src short"><a href="#v:enabledComponents">enabledComponents</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> -> [<a href="Distribution-Types-Component.html#t:Component">Component</a>]</li><li class="src short"><a href="#v:lookupComponent">lookupComponent</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-Component.html#t:Component">Component</a></li><li class="src short"><a href="#v:getComponent">getComponent</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:PackageDescription" class="def">PackageDescription</a> <a href="#t:PackageDescription" class="selflink">#</a></p><div class="doc"><p>This data type is the internal representation of the file <code>pkg.cabal</code>.- It contains two kinds of information about the package: information- which is needed for all packages, such as the package name and version, and- information which is needed for the simple build system only, such as- the compiler options and library name.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:PackageDescription" class="def">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:package" class="def">package</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:license" class="def">license</a> :: <a href="Distribution-License.html#t:License">License</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:licenseFiles" class="def">licenseFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:copyright" class="def">copyright</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:maintainer" class="def">maintainer</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:author" class="def">author</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:stability" class="def">stability</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:testedWith" class="def">testedWith</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>)]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:homepage" class="def">homepage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:pkgUrl" class="def">pkgUrl</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:bugReports" class="def">bugReports</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:sourceRepos" class="def">sourceRepos</a> :: [<a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:synopsis" class="def">synopsis</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>A one-line summary of this package</p></div></li><li><dfn class="src"><a id="v:description" class="def">description</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>A more verbose description of this package</p></div></li><li><dfn class="src"><a id="v:category" class="def">category</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:customFieldsPD" class="def">customFieldsPD</a> :: [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)]</dfn><div class="doc"><p>Custom fields starting- with x-, stored in a- simple assoc-list.</p></div></li><li><dfn class="src"><a id="v:buildDepends" class="def">buildDepends</a> :: [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>]</dfn><div class="doc"><p>YOU PROBABLY DON'T WANT TO USE THIS FIELD. This field is- special! Depending on how far along processing the- PackageDescription we are, the contents of this field are- either nonsense, or the collected dependencies of *all* the- components in this package. buildDepends is initialized by- <code>finalizePD</code> and <code>flattenPackageDescription</code>;- prior to that, dependency info is stored in the <code>CondTree</code>- built around a <code>GenericPackageDescription</code>. When this- resolution is done, dependency info is written to the inner- <code><a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></code> and this field. This is all horrible, and #2066- tracks progress to get rid of this field.</p></div></li><li><dfn class="src"><a id="v:specVersionRaw" class="def">specVersionRaw</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></dfn><div class="doc"><p>The version of the Cabal spec that this package description uses.- For historical reasons this is specified with a version range but- only ranges of the form <code>>= v</code> make sense. We are in the process of- transitioning to specifying just a single version, not a range.</p></div></li><li><dfn class="src"><a id="v:buildType" class="def">buildType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:setupBuildInfo" class="def">setupBuildInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:library" class="def">library</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-Library.html#t:Library">Library</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:subLibraries" class="def">subLibraries</a> :: [<a href="Distribution-Types-Library.html#t:Library">Library</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:executables" class="def">executables</a> :: [<a href="Distribution-Types-Executable.html#t:Executable">Executable</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:foreignLibs" class="def">foreignLibs</a> :: [<a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:testSuites" class="def">testSuites</a> :: [<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:benchmarks" class="def">benchmarks</a> :: [<a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:dataFiles" class="def">dataFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:dataDir" class="def">dataDir</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:extraSrcFiles" class="def">extraSrcFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:extraTmpFiles" class="def">extraTmpFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:extraDocFiles" class="def">extraDocFiles</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:PackageDescription" class="caption collapser" onclick="toggleSection('i:PackageDescription')">Instances</p><div id="section.i:PackageDescription" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDescription:Eq:1" class="instance expander" onclick="toggleSection('i:id:PackageDescription:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></span> <a href="#t:PackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDescription:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDescription:Data:2" class="instance expander" onclick="toggleSection('i:id:PackageDescription:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></span> <a href="#t:PackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDescription:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> c <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> m <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> m <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> m <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDescription:Read:3" class="instance expander" onclick="toggleSection('i:id:PackageDescription:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></span> <a href="#t:PackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDescription:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDescription:Show:4" class="instance expander" onclick="toggleSection('i:id:PackageDescription:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></span> <a href="#t:PackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDescription:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDescription:Generic:5" class="instance expander" onclick="toggleSection('i:id:PackageDescription:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></span> <a href="#t:PackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDescription:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> x -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDescription:Binary:6" class="instance expander" onclick="toggleSection('i:id:PackageDescription:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></span> <a href="#t:PackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDescription:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDescription:Package:7" class="instance expander" onclick="toggleSection('i:id:PackageDescription:Package:7')"></span> <a href="Distribution-Package.html#t:Package">Package</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></span> <a href="#t:PackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDescription:Package:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:packageId">packageId</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:packageId" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageDescription:Rep:8" class="instance expander" onclick="toggleSection('i:id:PackageDescription:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a></span> <a href="#t:PackageDescription" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageDescription:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "PackageDescription" "Distribution.Types.PackageDescription" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PackageDescription" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "package") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "license") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-License.html#t:License">License</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "licenseFiles") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "copyright") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "maintainer") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "author") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "stability") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "testedWith") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "homepage") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "pkgUrl") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "bugReports") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "sourceRepos") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "synopsis") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "description") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "category") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "customFieldsPD") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [(<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "buildDepends") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "specVersionRaw") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "buildType") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-BuildType.html#t:BuildType">BuildType</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "setupBuildInfo") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "library") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-Library.html#t:Library">Library</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "subLibraries") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-Library.html#t:Library">Library</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "executables") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-Executable.html#t:Executable">Executable</a>]))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "foreignLibs") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "testSuites") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "benchmarks") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "dataFiles") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "dataDir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "extraSrcFiles") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "extraTmpFiles") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "extraDocFiles") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>]))))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:specVersion" class="def">specVersion</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:specVersion" class="selflink">#</a></p><div class="doc"><p>The version of the Cabal spec that this package should be interpreted- against.</p><p>Historically we used a version range but we are switching to using a single- version. Currently we accept either. This function converts into a single- version by ignoring upper bounds in the version range.</p></div></div><div class="top"><p class="src"><a id="v:descCabalVersion" class="def">descCabalVersion</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:descCabalVersion" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: Use specVersion instead</p></div><p>The range of versions of the Cabal tools that this package is intended to- work with.</p><p>This function is deprecated and should not be used for new purposes, only to- support old packages that rely on the old interpretation.</p></div></div><div class="top"><p class="src"><a id="v:emptyPackageDescription" class="def">emptyPackageDescription</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:emptyPackageDescription" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:hasPublicLib" class="def">hasPublicLib</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:hasPublicLib" class="selflink">#</a></p><div class="doc"><p>Does this package have a buildable PUBLIC library?</p></div></div><div class="top"><p class="src"><a id="v:hasLibs" class="def">hasLibs</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:hasLibs" class="selflink">#</a></p><div class="doc"><p>Does this package have any libraries?</p></div></div><div class="top"><p class="src"><a id="v:allLibraries" class="def">allLibraries</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-Types-Library.html#t:Library">Library</a>] <a href="#v:allLibraries" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:withLib" class="def">withLib</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-Types-Library.html#t:Library">Library</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:withLib" class="selflink">#</a></p><div class="doc"><p>If the package description has a buildable library section,- call the given function with the library build info as argument.- You probably want <code>withLibLBI</code> if you have a <code>LocalBuildInfo</code>,- see the note in- <a href="Distribution-Types-ComponentRequestedSpec.html#buildable_vs_enabled_components">Distribution.Types.ComponentRequestedSpec</a>- for more information.</p></div></div><div class="top"><p class="src"><a id="v:hasExes" class="def">hasExes</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:hasExes" class="selflink">#</a></p><div class="doc"><p>does this package have any executables?</p></div></div><div class="top"><p class="src"><a id="v:withExe" class="def">withExe</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-Types-Executable.html#t:Executable">Executable</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:withExe" class="selflink">#</a></p><div class="doc"><p>Perform the action on each buildable <code><a href="Distribution-Types-Executable.html#t:Executable">Executable</a></code> in the package- description. You probably want <code>withExeLBI</code> if you have a- <code>LocalBuildInfo</code>, see the note in- <a href="Distribution-Types-ComponentRequestedSpec.html#buildable_vs_enabled_components">Distribution.Types.ComponentRequestedSpec</a>- for more information.</p></div></div><div class="top"><p class="src"><a id="v:hasTests" class="def">hasTests</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:hasTests" class="selflink">#</a></p><div class="doc"><p>Does this package have any test suites?</p></div></div><div class="top"><p class="src"><a id="v:withTest" class="def">withTest</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:withTest" class="selflink">#</a></p><div class="doc"><p>Perform an action on each buildable <code><a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a></code> in a package.- You probably want <code>withTestLBI</code> if you have a <code>LocalBuildInfo</code>, see the note in- <a href="Distribution-Types-ComponentRequestedSpec.html#buildable_vs_enabled_components">Distribution.Types.ComponentRequestedSpec</a>- for more information.</p></div></div><div class="top"><p class="src"><a id="v:hasBenchmarks" class="def">hasBenchmarks</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:hasBenchmarks" class="selflink">#</a></p><div class="doc"><p>Does this package have any benchmarks?</p></div></div><div class="top"><p class="src"><a id="v:withBenchmark" class="def">withBenchmark</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:withBenchmark" class="selflink">#</a></p><div class="doc"><p>Perform an action on each buildable <code><a href="Distribution-Types-Benchmark.html#t:Benchmark">Benchmark</a></code> in a package.- You probably want <code>withBenchLBI</code> if you have a <code>LocalBuildInfo</code>, see the note in- <a href="Distribution-Types-ComponentRequestedSpec.html#buildable_vs_enabled_components">Distribution.Types.ComponentRequestedSpec</a>- for more information.</p></div></div><div class="top"><p class="src"><a id="v:hasForeignLibs" class="def">hasForeignLibs</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:hasForeignLibs" class="selflink">#</a></p><div class="doc"><p>Does this package have any foreign libraries?</p></div></div><div class="top"><p class="src"><a id="v:withForeignLib" class="def">withForeignLib</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> ()) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> () <a href="#v:withForeignLib" class="selflink">#</a></p><div class="doc"><p>Perform the action on each buildable <code><a href="Distribution-Types-ForeignLib.html#t:ForeignLib">ForeignLib</a></code> in the package- description.</p></div></div><div class="top"><p class="src"><a id="v:allBuildInfo" class="def">allBuildInfo</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>] <a href="#v:allBuildInfo" class="selflink">#</a></p><div class="doc"><p>The <code><a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></code> for the library (if there is one and it's buildable), and- all buildable executables, test suites and benchmarks. Useful for gathering- dependencies.</p></div></div><div class="top"><p class="src"><a id="v:enabledBuildInfos" class="def">enabledBuildInfos</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> -> [<a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>] <a href="#v:enabledBuildInfos" class="selflink">#</a></p><div class="doc"><p>Return all of the <code><a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></code>s of enabled components, i.e., all of- the ones that would be built if you run <code>./Setup build</code>.</p></div></div><div class="top"><p class="src"><a id="v:updatePackageDescription" class="def">updatePackageDescription</a> :: <a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">HookedBuildInfo</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> <a href="#v:updatePackageDescription" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:pkgComponents" class="def">pkgComponents</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-Types-Component.html#t:Component">Component</a>] <a href="#v:pkgComponents" class="selflink">#</a></p><div class="doc"><p>All the components in the package.</p></div></div><div class="top"><p class="src"><a id="v:pkgBuildableComponents" class="def">pkgBuildableComponents</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-Types-Component.html#t:Component">Component</a>] <a href="#v:pkgBuildableComponents" class="selflink">#</a></p><div class="doc"><p>A list of all components in the package that are buildable,- i.e., were not marked with <code>buildable: False</code>. This does NOT- indicate if we are actually going to build the component,- see <code><a href="Distribution-Types-PackageDescription.html#v:enabledComponents">enabledComponents</a></code> instead.</p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:enabledComponents" class="def">enabledComponents</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">ComponentRequestedSpec</a> -> [<a href="Distribution-Types-Component.html#t:Component">Component</a>] <a href="#v:enabledComponents" class="selflink">#</a></p><div class="doc"><p>A list of all components in the package that are enabled.</p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:lookupComponent" class="def">lookupComponent</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-Component.html#t:Component">Component</a> <a href="#v:lookupComponent" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getComponent" class="def">getComponent</a> :: <a href="Distribution-Types-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Types-ComponentName.html#t:ComponentName">ComponentName</a> -> <a href="Distribution-Types-Component.html#t:Component">Component</a> <a href="#v:getComponent" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.PackageId</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.PackageId</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:PackageIdentifier">PackageIdentifier</a> = <a href="#v:PackageIdentifier">PackageIdentifier</a> {<ul class="subs"><li><a href="#v:pkgName">pkgName</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></li><li><a href="#v:pkgVersion">pkgVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a></li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:PackageId">PackageId</a> = <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:PackageIdentifier" class="def">PackageIdentifier</a> <a href="#t:PackageIdentifier" class="selflink">#</a></p><div class="doc"><p>The name and version of a package.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:PackageIdentifier" class="def">PackageIdentifier</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:pkgName" class="def">pkgName</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></dfn><div class="doc"><p>The name of this package, eg. foo</p></div></li><li><dfn class="src"><a id="v:pkgVersion" class="def">pkgVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a></dfn><div class="doc"><p>the version of this package, eg 1.2</p></div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:PackageIdentifier" class="caption collapser" onclick="toggleSection('i:PackageIdentifier')">Instances</p><div id="section.i:PackageIdentifier" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageIdentifier:Eq:1" class="instance expander" onclick="toggleSection('i:id:PackageIdentifier:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></span> <a href="#t:PackageIdentifier" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageIdentifier:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageIdentifier:Data:2" class="instance expander" onclick="toggleSection('i:id:PackageIdentifier:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></span> <a href="#t:PackageIdentifier" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageIdentifier:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> c <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> m <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> m <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> m <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageIdentifier:Ord:3" class="instance expander" onclick="toggleSection('i:id:PackageIdentifier:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></span> <a href="#t:PackageIdentifier" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageIdentifier:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageIdentifier:Read:4" class="instance expander" onclick="toggleSection('i:id:PackageIdentifier:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></span> <a href="#t:PackageIdentifier" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageIdentifier:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageIdentifier:Show:5" class="instance expander" onclick="toggleSection('i:id:PackageIdentifier:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></span> <a href="#t:PackageIdentifier" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageIdentifier:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageIdentifier:Generic:6" class="instance expander" onclick="toggleSection('i:id:PackageIdentifier:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></span> <a href="#t:PackageIdentifier" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageIdentifier:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> x -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageIdentifier:Binary:7" class="instance expander" onclick="toggleSection('i:id:PackageIdentifier:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></span> <a href="#t:PackageIdentifier" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageIdentifier:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageIdentifier:NFData:8" class="instance expander" onclick="toggleSection('i:id:PackageIdentifier:NFData:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></span> <a href="#t:PackageIdentifier" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageIdentifier:NFData:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageIdentifier:Text:9" class="instance expander" onclick="toggleSection('i:id:PackageIdentifier:Text:9')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></span> <a href="#t:PackageIdentifier" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageIdentifier:Text:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageIdentifier:Package:10" class="instance expander" onclick="toggleSection('i:id:PackageIdentifier:Package:10')"></span> <a href="Distribution-Package.html#t:Package">Package</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></span> <a href="#t:Package" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageIdentifier:Package:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:packageId">packageId</a> :: <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> -> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#v:packageId" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageIdentifier:Rep:11" class="instance expander" onclick="toggleSection('i:id:PackageIdentifier:Rep:11')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a></span> <a href="#t:PackageIdentifier" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageIdentifier:Rep:11" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "PackageIdentifier" "Distribution.Types.PackageId" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PackageIdentifier" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "pkgName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "pkgVersion") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:PackageId" class="def">PackageId</a> = <a href="Distribution-Types-PackageId.html#t:PackageIdentifier">PackageIdentifier</a> <a href="#t:PackageId" class="selflink">#</a></p><div class="doc"><p>Type alias so we can use the shorter name PackageId.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,6 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.PackageName</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.PackageName</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:PackageName">PackageName</a></li><li class="src short"><a href="#v:unPackageName">unPackageName</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:mkPackageName">mkPackageName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:PackageName" class="def">PackageName</a> <a href="#t:PackageName" class="selflink">#</a></p><div class="doc"><p>A package name.</p><p>Use <code><a href="Distribution-Types-PackageName.html#v:mkPackageName">mkPackageName</a></code> and <code><a href="Distribution-Types-PackageName.html#v:unPackageName">unPackageName</a></code> to convert from/to a- <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code>.</p><p>This type is opaque since <code>Cabal-2.0</code></p><p><em>Since: 2.0.0.2</em></p></div><div class="subs instances"><p id="control.i:PackageName" class="caption collapser" onclick="toggleSection('i:PackageName')">Instances</p><div id="section.i:PackageName" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageName:Eq:1" class="instance expander" onclick="toggleSection('i:id:PackageName:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></span> <a href="#t:PackageName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageName:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageName:Data:2" class="instance expander" onclick="toggleSection('i:id:PackageName:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></span> <a href="#t:PackageName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageName:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> c <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> m <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> m <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> m <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageName:Ord:3" class="instance expander" onclick="toggleSection('i:id:PackageName:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></span> <a href="#t:PackageName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageName:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageName:Read:4" class="instance expander" onclick="toggleSection('i:id:PackageName:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></span> <a href="#t:PackageName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageName:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageName:Show:5" class="instance expander" onclick="toggleSection('i:id:PackageName:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></span> <a href="#t:PackageName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageName:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageName:IsString:6" class="instance expander" onclick="toggleSection('i:id:PackageName:IsString:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:IsString">IsString</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></span> <a href="#t:PackageName" class="selflink">#</a></td><td class="doc"><p><code><a href="Distribution-Types-PackageName.html#v:mkPackageName">mkPackageName</a></code></p><p><em>Since: 2.0.0.2</em></p></td></tr><tr><td colspan="2"><div id="section.i:id:PackageName:IsString:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fromString">fromString</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="#v:fromString" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageName:Generic:7" class="instance expander" onclick="toggleSection('i:id:PackageName:Generic:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></span> <a href="#t:PackageName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageName:Generic:7" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> x -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageName:Binary:8" class="instance expander" onclick="toggleSection('i:id:PackageName:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></span> <a href="#t:PackageName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageName:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageName:NFData:9" class="instance expander" onclick="toggleSection('i:id:PackageName:NFData:9')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></span> <a href="#t:PackageName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageName:NFData:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageName:Text:10" class="instance expander" onclick="toggleSection('i:id:PackageName:Text:10')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></span> <a href="#t:PackageName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageName:Text:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PackageName:Rep:11" class="instance expander" onclick="toggleSection('i:id:PackageName:Rep:11')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></span> <a href="#t:PackageName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PackageName:Rep:11" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "PackageName" "Distribution.Types.PackageName" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PackageName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a>)))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:unPackageName" class="def">unPackageName</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:unPackageName" class="selflink">#</a></p><div class="doc"><p>Convert <code><a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></code> to <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code></p></div></div><div class="top"><p class="src"><a id="v:mkPackageName" class="def">mkPackageName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="#v:mkPackageName" class="selflink">#</a></p><div class="doc"><p>Construct a <code><a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></code> from a <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code></p><p><code><a href="Distribution-Types-PackageName.html#v:mkPackageName">mkPackageName</a></code> is the inverse to <code><a href="Distribution-Types-PackageName.html#v:unPackageName">unPackageName</a></code></p><p>Note: No validations are performed to ensure that the resulting- <code><a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></code> is valid</p><p><em>Since: 2.0.0.2</em></p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.PkgconfigDependency</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.PkgconfigDependency</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:PkgconfigDependency">PkgconfigDependency</a> = <a href="#v:PkgconfigDependency">PkgconfigDependency</a> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:PkgconfigDependency" class="def">PkgconfigDependency</a> <a href="#t:PkgconfigDependency" class="selflink">#</a></p><div class="doc"><p>Describes a dependency on a pkg-config library</p><p><em>Since: 2.0.0.2</em></p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:PkgconfigDependency" class="def">PkgconfigDependency</a> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:PkgconfigDependency" class="caption collapser" onclick="toggleSection('i:PkgconfigDependency')">Instances</p><div id="section.i:PkgconfigDependency" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PkgconfigDependency:Eq:1" class="instance expander" onclick="toggleSection('i:id:PkgconfigDependency:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a></span> <a href="#t:PkgconfigDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PkgconfigDependency:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> -> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> -> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PkgconfigDependency:Data:2" class="instance expander" onclick="toggleSection('i:id:PkgconfigDependency:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a></span> <a href="#t:PkgconfigDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PkgconfigDependency:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> -> c <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> -> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> -> m <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> -> m <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> -> m <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PkgconfigDependency:Read:3" class="instance expander" onclick="toggleSection('i:id:PkgconfigDependency:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a></span> <a href="#t:PkgconfigDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PkgconfigDependency:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PkgconfigDependency:Show:4" class="instance expander" onclick="toggleSection('i:id:PkgconfigDependency:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a></span> <a href="#t:PkgconfigDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PkgconfigDependency:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PkgconfigDependency:Generic:5" class="instance expander" onclick="toggleSection('i:id:PkgconfigDependency:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a></span> <a href="#t:PkgconfigDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PkgconfigDependency:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> x -> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PkgconfigDependency:Binary:6" class="instance expander" onclick="toggleSection('i:id:PkgconfigDependency:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a></span> <a href="#t:PkgconfigDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PkgconfigDependency:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PkgconfigDependency:NFData:7" class="instance expander" onclick="toggleSection('i:id:PkgconfigDependency:NFData:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a></span> <a href="#t:PkgconfigDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PkgconfigDependency:NFData:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PkgconfigDependency:Text:8" class="instance expander" onclick="toggleSection('i:id:PkgconfigDependency:Text:8')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a></span> <a href="#t:PkgconfigDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PkgconfigDependency:Text:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PkgconfigDependency:Rep:9" class="instance expander" onclick="toggleSection('i:id:PkgconfigDependency:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a></span> <a href="#t:PkgconfigDependency" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PkgconfigDependency:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">PkgconfigDependency</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "PkgconfigDependency" "Distribution.Types.PkgconfigDependency" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PkgconfigDependency" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>))))</div></div></td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,5 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.PkgconfigName</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.PkgconfigName</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:PkgconfigName">PkgconfigName</a></li><li class="src short"><a href="#v:unPkgconfigName">unPkgconfigName</a> :: <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:mkPkgconfigName">mkPkgconfigName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:PkgconfigName" class="def">PkgconfigName</a> <a href="#t:PkgconfigName" class="selflink">#</a></p><div class="doc"><p>A pkg-config library name</p><p>This is parsed as any valid argument to the pkg-config utility.</p><p><em>Since: 2.0.0.2</em></p></div><div class="subs instances"><p id="control.i:PkgconfigName" class="caption collapser" onclick="toggleSection('i:PkgconfigName')">Instances</p><div id="section.i:PkgconfigName" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PkgconfigName:Eq:1" class="instance expander" onclick="toggleSection('i:id:PkgconfigName:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a></span> <a href="#t:PkgconfigName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PkgconfigName:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PkgconfigName:Data:2" class="instance expander" onclick="toggleSection('i:id:PkgconfigName:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a></span> <a href="#t:PkgconfigName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PkgconfigName:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> c <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> m <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> m <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> m <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PkgconfigName:Ord:3" class="instance expander" onclick="toggleSection('i:id:PkgconfigName:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a></span> <a href="#t:PkgconfigName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PkgconfigName:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PkgconfigName:Read:4" class="instance expander" onclick="toggleSection('i:id:PkgconfigName:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a></span> <a href="#t:PkgconfigName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PkgconfigName:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PkgconfigName:Show:5" class="instance expander" onclick="toggleSection('i:id:PkgconfigName:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a></span> <a href="#t:PkgconfigName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PkgconfigName:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PkgconfigName:IsString:6" class="instance expander" onclick="toggleSection('i:id:PkgconfigName:IsString:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:IsString">IsString</a> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a></span> <a href="#t:PkgconfigName" class="selflink">#</a></td><td class="doc"><p><code><a href="Distribution-Types-PkgconfigName.html#v:mkPkgconfigName">mkPkgconfigName</a></code></p><p><em>Since: 2.0.0.2</em></p></td></tr><tr><td colspan="2"><div id="section.i:id:PkgconfigName:IsString:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fromString">fromString</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> <a href="#v:fromString" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PkgconfigName:Generic:7" class="instance expander" onclick="toggleSection('i:id:PkgconfigName:Generic:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a></span> <a href="#t:PkgconfigName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PkgconfigName:Generic:7" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> x -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PkgconfigName:Binary:8" class="instance expander" onclick="toggleSection('i:id:PkgconfigName:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a></span> <a href="#t:PkgconfigName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PkgconfigName:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PkgconfigName:NFData:9" class="instance expander" onclick="toggleSection('i:id:PkgconfigName:NFData:9')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a></span> <a href="#t:PkgconfigName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PkgconfigName:NFData:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PkgconfigName:Text:10" class="instance expander" onclick="toggleSection('i:id:PkgconfigName:Text:10')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a></span> <a href="#t:PkgconfigName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PkgconfigName:Text:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:PkgconfigName:Rep:11" class="instance expander" onclick="toggleSection('i:id:PkgconfigName:Rep:11')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a></span> <a href="#t:PkgconfigName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:PkgconfigName:Rep:11" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "PkgconfigName" "Distribution.Types.PkgconfigName" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PkgconfigName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a>)))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:unPkgconfigName" class="def">unPkgconfigName</a> :: <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:unPkgconfigName" class="selflink">#</a></p><div class="doc"><p>Convert <code><a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a></code> to <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code></p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:mkPkgconfigName" class="def">mkPkgconfigName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a> <a href="#v:mkPkgconfigName" class="selflink">#</a></p><div class="doc"><p>Construct a <code><a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a></code> from a <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code></p><p><code><a href="Distribution-Types-PkgconfigName.html#v:mkPkgconfigName">mkPkgconfigName</a></code> is the inverse to <code><a href="Distribution-Types-PkgconfigName.html#v:unPkgconfigName">unPkgconfigName</a></code></p><p>Note: No validations are performed to ensure that the resulting- <code><a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">PkgconfigName</a></code> is valid</p><p><em>Since: 2.0.0.2</em></p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,7 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.SetupBuildInfo</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.SetupBuildInfo</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:SetupBuildInfo" class="def">SetupBuildInfo</a> <a href="#t:SetupBuildInfo" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:SetupBuildInfo" class="def">SetupBuildInfo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:setupDepends" class="def">setupDepends</a> :: [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:defaultSetupDepends" class="def">defaultSetupDepends</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>Is this a default 'custom-setup' section added by the cabal-install- code (as opposed to user-provided)? This field is only used- internally, and doesn't correspond to anything in the .cabal- file. See #3199.</p></div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:SetupBuildInfo" class="caption collapser" onclick="toggleSection('i:SetupBuildInfo')">Instances</p><div id="section.i:SetupBuildInfo" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SetupBuildInfo:Eq:1" class="instance expander" onclick="toggleSection('i:id:SetupBuildInfo:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a></span> <a href="#t:SetupBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SetupBuildInfo:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SetupBuildInfo:Data:2" class="instance expander" onclick="toggleSection('i:id:SetupBuildInfo:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a></span> <a href="#t:SetupBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SetupBuildInfo:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> c <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> m <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> m <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> m <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SetupBuildInfo:Read:3" class="instance expander" onclick="toggleSection('i:id:SetupBuildInfo:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a></span> <a href="#t:SetupBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SetupBuildInfo:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SetupBuildInfo:Show:4" class="instance expander" onclick="toggleSection('i:id:SetupBuildInfo:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a></span> <a href="#t:SetupBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SetupBuildInfo:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SetupBuildInfo:Generic:5" class="instance expander" onclick="toggleSection('i:id:SetupBuildInfo:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a></span> <a href="#t:SetupBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SetupBuildInfo:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> x -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SetupBuildInfo:Semigroup:6" class="instance expander" onclick="toggleSection('i:id:SetupBuildInfo:Semigroup:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a></span> <a href="#t:SetupBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SetupBuildInfo:Semigroup:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SetupBuildInfo:Monoid:7" class="instance expander" onclick="toggleSection('i:id:SetupBuildInfo:Monoid:7')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a></span> <a href="#t:SetupBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SetupBuildInfo:Monoid:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a>] -> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SetupBuildInfo:Binary:8" class="instance expander" onclick="toggleSection('i:id:SetupBuildInfo:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a></span> <a href="#t:SetupBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SetupBuildInfo:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SetupBuildInfo:Rep:9" class="instance expander" onclick="toggleSection('i:id:SetupBuildInfo:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a></span> <a href="#t:SetupBuildInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SetupBuildInfo:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">SetupBuildInfo</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "SetupBuildInfo" "Distribution.Types.SetupBuildInfo" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "SetupBuildInfo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "setupDepends") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="Distribution-Types-Dependency.html#t:Dependency">Dependency</a>])) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "defaultSetupDepends") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>))))</div></div></td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,34 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.SourceRepo</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.SourceRepo</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:SourceRepo">SourceRepo</a> = <a href="#v:SourceRepo">SourceRepo</a> {<ul class="subs"><li><a href="#v:repoKind">repoKind</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a></li><li><a href="#v:repoType">repoType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a></li><li><a href="#v:repoLocation">repoLocation</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:repoModule">repoModule</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:repoBranch">repoBranch</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:repoTag">repoTag</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:repoSubdir">repoSubdir</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:RepoKind">RepoKind</a><ul class="subs"><li>= <a href="#v:RepoHead">RepoHead</a></li><li>| <a href="#v:RepoThis">RepoThis</a></li><li>| <a href="#v:RepoKindUnknown">RepoKindUnknown</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:RepoType">RepoType</a><ul class="subs"><li>= <a href="#v:Darcs">Darcs</a></li><li>| <a href="#v:Git">Git</a></li><li>| <a href="#v:SVN">SVN</a></li><li>| <a href="#v:CVS">CVS</a></li><li>| <a href="#v:Mercurial">Mercurial</a></li><li>| <a href="#v:GnuArch">GnuArch</a></li><li>| <a href="#v:Bazaar">Bazaar</a></li><li>| <a href="#v:Monotone">Monotone</a></li><li>| <a href="#v:OtherRepoType">OtherRepoType</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><a href="#v:knownRepoTypes">knownRepoTypes</a> :: [<a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a>]</li><li class="src short"><a href="#v:emptySourceRepo">emptySourceRepo</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a></li><li class="src short"><a href="#v:classifyRepoType">classifyRepoType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a></li><li class="src short"><a href="#v:classifyRepoKind">classifyRepoKind</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:SourceRepo" class="def">SourceRepo</a> <a href="#t:SourceRepo" class="selflink">#</a></p><div class="doc"><p>Information about the source revision control system for a package.</p><p>When specifying a repo it is useful to know the meaning or intention of the- information as doing so enables automation. There are two obvious common- purposes: one is to find the repo for the latest development version, the- other is to find the repo for this specific release. The <code>ReopKind</code>- specifies which one we mean (or another custom one).</p><p>A package can specify one or the other kind or both. Most will specify just- a head repo but some may want to specify a repo to reconstruct the sources- for this package release.</p><p>The required information is the <code><a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a></code> which tells us if it's using- <code><a href="Distribution-Types-SourceRepo.html#v:Darcs">Darcs</a></code>, <code><a href="Distribution-Types-SourceRepo.html#v:Git">Git</a></code> for example. The <code><a href="Distribution-Types-SourceRepo.html#v:repoLocation">repoLocation</a></code> and other details are- interpreted according to the repo type.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:SourceRepo" class="def">SourceRepo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:repoKind" class="def">repoKind</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a></dfn><div class="doc"><p>The kind of repo. This field is required.</p></div></li><li><dfn class="src"><a id="v:repoType" class="def">repoType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a></dfn><div class="doc"><p>The type of the source repository system for this repo, eg <code><a href="Distribution-Types-SourceRepo.html#v:Darcs">Darcs</a></code> or- <code><a href="Distribution-Types-SourceRepo.html#v:Git">Git</a></code>. This field is required.</p></div></li><li><dfn class="src"><a id="v:repoLocation" class="def">repoLocation</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>The location of the repository. For most <code><a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a></code>s this is a URL.- This field is required.</p></div></li><li><dfn class="src"><a id="v:repoModule" class="def">repoModule</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p><code><a href="Distribution-Types-SourceRepo.html#v:CVS">CVS</a></code> can put multiple "modules" on one server and requires a- module name in addition to the location to identify a particular repo.- Logically this is part of the location but unfortunately has to be- specified separately. This field is required for the <code><a href="Distribution-Types-SourceRepo.html#v:CVS">CVS</a></code> <code><a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a></code> and- should not be given otherwise.</p></div></li><li><dfn class="src"><a id="v:repoBranch" class="def">repoBranch</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>The name or identifier of the branch, if any. Many source control- systems have the notion of multiple branches in a repo that exist in the- same location. For example <code><a href="Distribution-Types-SourceRepo.html#v:Git">Git</a></code> and <code><a href="Distribution-Types-SourceRepo.html#v:CVS">CVS</a></code> use this while systems like- <code><a href="Distribution-Types-SourceRepo.html#v:Darcs">Darcs</a></code> use different locations for different branches. This field is- optional but should be used if necessary to identify the sources,- especially for the <code><a href="Distribution-Types-SourceRepo.html#v:RepoThis">RepoThis</a></code> repo kind.</p></div></li><li><dfn class="src"><a id="v:repoTag" class="def">repoTag</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></dfn><div class="doc"><p>The tag identify a particular state of the repository. This should be- given for the <code><a href="Distribution-Types-SourceRepo.html#v:RepoThis">RepoThis</a></code> repo kind and not for <code><a href="Distribution-Types-SourceRepo.html#v:RepoHead">RepoHead</a></code> kind.</p></div></li><li><dfn class="src"><a id="v:repoSubdir" class="def">repoSubdir</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></dfn><div class="doc"><p>Some repositories contain multiple projects in different subdirectories- This field specifies the subdirectory where this packages sources can be- found, eg the subdirectory containing the <code>.cabal</code> file. It is interpreted- relative to the root of the repository. This field is optional. If not- given the default is "." ie no subdirectory.</p></div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:SourceRepo" class="caption collapser" onclick="toggleSection('i:SourceRepo')">Instances</p><div id="section.i:SourceRepo" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SourceRepo:Eq:1" class="instance expander" onclick="toggleSection('i:id:SourceRepo:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a></span> <a href="#t:SourceRepo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SourceRepo:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> -> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> -> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SourceRepo:Data:2" class="instance expander" onclick="toggleSection('i:id:SourceRepo:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a></span> <a href="#t:SourceRepo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SourceRepo:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> -> c <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> -> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> -> m <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> -> m <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> -> m <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SourceRepo:Read:3" class="instance expander" onclick="toggleSection('i:id:SourceRepo:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a></span> <a href="#t:SourceRepo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SourceRepo:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SourceRepo:Show:4" class="instance expander" onclick="toggleSection('i:id:SourceRepo:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a></span> <a href="#t:SourceRepo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SourceRepo:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SourceRepo:Generic:5" class="instance expander" onclick="toggleSection('i:id:SourceRepo:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a></span> <a href="#t:SourceRepo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SourceRepo:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> x -> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SourceRepo:Binary:6" class="instance expander" onclick="toggleSection('i:id:SourceRepo:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a></span> <a href="#t:SourceRepo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SourceRepo:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:SourceRepo:Rep:7" class="instance expander" onclick="toggleSection('i:id:SourceRepo:Rep:7')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a></span> <a href="#t:SourceRepo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:SourceRepo:Rep:7" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "SourceRepo" "Distribution.Types.SourceRepo" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "SourceRepo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "repoKind") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "repoType") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "repoLocation") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "repoModule") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "repoBranch") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "repoTag") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "repoSubdir") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:RepoKind" class="def">RepoKind</a> <a href="#t:RepoKind" class="selflink">#</a></p><div class="doc"><p>What this repo info is for, what it represents.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:RepoHead" class="def">RepoHead</a></td><td class="doc"><p>The repository for the "head" or development version of the project.- This repo is where we should track the latest development activity or- the usual repo people should get to contribute patches.</p></td></tr><tr><td class="src"><a id="v:RepoThis" class="def">RepoThis</a></td><td class="doc"><p>The repository containing the sources for this exact package version- or release. For this kind of repo a tag should be given to give enough- information to re-create the exact sources.</p></td></tr><tr><td class="src"><a id="v:RepoKindUnknown" class="def">RepoKindUnknown</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:RepoKind" class="caption collapser" onclick="toggleSection('i:RepoKind')">Instances</p><div id="section.i:RepoKind" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoKind:Eq:1" class="instance expander" onclick="toggleSection('i:id:RepoKind:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a></span> <a href="#t:RepoKind" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoKind:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoKind:Data:2" class="instance expander" onclick="toggleSection('i:id:RepoKind:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a></span> <a href="#t:RepoKind" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoKind:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> c <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> m <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> m <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> m <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoKind:Ord:3" class="instance expander" onclick="toggleSection('i:id:RepoKind:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a></span> <a href="#t:RepoKind" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoKind:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoKind:Read:4" class="instance expander" onclick="toggleSection('i:id:RepoKind:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a></span> <a href="#t:RepoKind" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoKind:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoKind:Show:5" class="instance expander" onclick="toggleSection('i:id:RepoKind:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a></span> <a href="#t:RepoKind" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoKind:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoKind:Generic:6" class="instance expander" onclick="toggleSection('i:id:RepoKind:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a></span> <a href="#t:RepoKind" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoKind:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> x -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoKind:Binary:7" class="instance expander" onclick="toggleSection('i:id:RepoKind:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a></span> <a href="#t:RepoKind" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoKind:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoKind:Text:8" class="instance expander" onclick="toggleSection('i:id:RepoKind:Text:8')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a></span> <a href="#t:RepoKind" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoKind:Text:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoKind:Rep:9" class="instance expander" onclick="toggleSection('i:id:RepoKind:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a></span> <a href="#t:RepoKind" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoKind:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "RepoKind" "Distribution.Types.SourceRepo" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "RepoHead" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "RepoThis" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "RepoKindUnknown" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:RepoType" class="def">RepoType</a> <a href="#t:RepoType" class="selflink">#</a></p><div class="doc"><p>An enumeration of common source control systems. The fields used in the- <code><a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a></code> depend on the type of repo. The tools and methods used to- obtain and track the repo depend on the repo type.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Darcs" class="def">Darcs</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Git" class="def">Git</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:SVN" class="def">SVN</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:CVS" class="def">CVS</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Mercurial" class="def">Mercurial</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:GnuArch" class="def">GnuArch</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Bazaar" class="def">Bazaar</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Monotone" class="def">Monotone</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:OtherRepoType" class="def">OtherRepoType</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:RepoType" class="caption collapser" onclick="toggleSection('i:RepoType')">Instances</p><div id="section.i:RepoType" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoType:Eq:1" class="instance expander" onclick="toggleSection('i:id:RepoType:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a></span> <a href="#t:RepoType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoType:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoType:Data:2" class="instance expander" onclick="toggleSection('i:id:RepoType:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a></span> <a href="#t:RepoType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoType:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> c <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> m <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> m <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> m <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoType:Ord:3" class="instance expander" onclick="toggleSection('i:id:RepoType:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a></span> <a href="#t:RepoType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoType:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoType:Read:4" class="instance expander" onclick="toggleSection('i:id:RepoType:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a></span> <a href="#t:RepoType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoType:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoType:Show:5" class="instance expander" onclick="toggleSection('i:id:RepoType:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a></span> <a href="#t:RepoType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoType:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoType:Generic:6" class="instance expander" onclick="toggleSection('i:id:RepoType:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a></span> <a href="#t:RepoType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoType:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> x -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoType:Binary:7" class="instance expander" onclick="toggleSection('i:id:RepoType:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a></span> <a href="#t:RepoType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoType:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoType:Text:8" class="instance expander" onclick="toggleSection('i:id:RepoType:Text:8')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a></span> <a href="#t:RepoType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoType:Text:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:RepoType:Rep:9" class="instance expander" onclick="toggleSection('i:id:RepoType:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a></span> <a href="#t:RepoType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:RepoType:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "RepoType" "Distribution.Types.SourceRepo" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Darcs" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Git" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "SVN" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CVS" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Mercurial" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "GnuArch" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Bazaar" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Monotone" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "OtherRepoType" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:knownRepoTypes" class="def">knownRepoTypes</a> :: [<a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a>] <a href="#v:knownRepoTypes" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:emptySourceRepo" class="def">emptySourceRepo</a> :: <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> -> <a href="Distribution-Types-SourceRepo.html#t:SourceRepo">SourceRepo</a> <a href="#v:emptySourceRepo" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:classifyRepoType" class="def">classifyRepoType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoType">RepoType</a> <a href="#v:classifyRepoType" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:classifyRepoKind" class="def">classifyRepoKind</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-SourceRepo.html#t:RepoKind">RepoKind</a> <a href="#v:classifyRepoKind" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,8 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.TargetInfo</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.TargetInfo</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:TargetInfo">TargetInfo</a> = <a href="#v:TargetInfo">TargetInfo</a> {<ul class="subs"><li><a href="#v:targetCLBI">targetCLBI</a> :: <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></li><li><a href="#v:targetComponent">targetComponent</a> :: <a href="Distribution-Types-Component.html#t:Component">Component</a></li></ul>}</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:TargetInfo" class="def">TargetInfo</a> <a href="#t:TargetInfo" class="selflink">#</a></p><div class="doc"><p>The <code><a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a></code> contains all the information necessary to build a- specific target (e.g., component<em>module</em>file) in a package. In- principle, one can get the <code><a href="Distribution-Types-Component.html#t:Component">Component</a></code> from a- <code><a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></code> and <code>LocalBuildInfo</code>, but it is much more- convenient to have the component in hand.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:TargetInfo" class="def">TargetInfo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:targetCLBI" class="def">targetCLBI</a> :: <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:targetComponent" class="def">targetComponent</a> :: <a href="Distribution-Types-Component.html#t:Component">Component</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:TargetInfo" class="caption collapser" onclick="toggleSection('i:TargetInfo')">Instances</p><div id="section.i:TargetInfo" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TargetInfo:IsNode:1" class="instance expander" onclick="toggleSection('i:id:TargetInfo:IsNode:1')"></span> <a href="Distribution-Compat-Graph.html#t:IsNode">IsNode</a> <a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a></span> <a href="#t:TargetInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TargetInfo:IsNode:1" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Key" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:nodeKey">nodeKey</a> :: <a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a> -> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a> <a href="#v:nodeKey" class="selflink">#</a></p><p class="src"><a href="#v:nodeNeighbors">nodeNeighbors</a> :: <a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a> -> [<a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a>] <a href="#v:nodeNeighbors" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TargetInfo:Key:2" class="instance expander" onclick="toggleSection('i:id:TargetInfo:Key:2')"></span> <span class="keyword">type</span> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a></span> <a href="#t:TargetInfo" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TargetInfo:Key:2" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Distribution-Compat-Graph.html#t:Key">Key</a> <a href="Distribution-Types-TargetInfo.html#t:TargetInfo">TargetInfo</a> = <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></div></div></td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,5 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.TestSuite</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.TestSuite</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:TestSuite">TestSuite</a> = <a href="#v:TestSuite">TestSuite</a> {<ul class="subs"><li><a href="#v:testName">testName</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li><a href="#v:testInterface">testInterface</a> :: <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a></li><li><a href="#v:testBuildInfo">testBuildInfo</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></li></ul>}</li><li class="src short"><a href="#v:emptyTestSuite">emptyTestSuite</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a></li><li class="src short"><a href="#v:testType">testType</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a></li><li class="src short"><a href="#v:testModules">testModules</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li class="src short"><a href="#v:testModulesAutogen">testModulesAutogen</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:TestSuite" class="def">TestSuite</a> <a href="#t:TestSuite" class="selflink">#</a></p><div class="doc"><p>A "test-suite" stanza in a cabal file.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:TestSuite" class="def">TestSuite</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:testName" class="def">testName</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:testInterface" class="def">testInterface</a> :: <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:testBuildInfo" class="def">testBuildInfo</a> :: <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:TestSuite" class="caption collapser" onclick="toggleSection('i:TestSuite')">Instances</p><div id="section.i:TestSuite" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuite:Eq:1" class="instance expander" onclick="toggleSection('i:id:TestSuite:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a></span> <a href="#t:TestSuite" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuite:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuite:Data:2" class="instance expander" onclick="toggleSection('i:id:TestSuite:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a></span> <a href="#t:TestSuite" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuite:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> c <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> m <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> m <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> m <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuite:Read:3" class="instance expander" onclick="toggleSection('i:id:TestSuite:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a></span> <a href="#t:TestSuite" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuite:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuite:Show:4" class="instance expander" onclick="toggleSection('i:id:TestSuite:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a></span> <a href="#t:TestSuite" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuite:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuite:Generic:5" class="instance expander" onclick="toggleSection('i:id:TestSuite:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a></span> <a href="#t:TestSuite" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuite:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> x -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuite:Semigroup:6" class="instance expander" onclick="toggleSection('i:id:TestSuite:Semigroup:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a></span> <a href="#t:TestSuite" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuite:Semigroup:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuite:Monoid:7" class="instance expander" onclick="toggleSection('i:id:TestSuite:Monoid:7')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a></span> <a href="#t:TestSuite" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuite:Monoid:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a>] -> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuite:Binary:8" class="instance expander" onclick="toggleSection('i:id:TestSuite:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a></span> <a href="#t:TestSuite" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuite:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuite:Rep:9" class="instance expander" onclick="toggleSection('i:id:TestSuite:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a></span> <a href="#t:TestSuite" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuite:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "TestSuite" "Distribution.Types.TestSuite" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TestSuite" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "testName") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "testInterface") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "testBuildInfo") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-BuildInfo.html#t:BuildInfo">BuildInfo</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:emptyTestSuite" class="def">emptyTestSuite</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> <a href="#v:emptyTestSuite" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:testType" class="def">testType</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> <a href="#v:testType" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:testModules" class="def">testModules</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] <a href="#v:testModules" class="selflink">#</a></p><div class="doc"><p>Get all the module names from a test suite.</p></div></div><div class="top"><p class="src"><a id="v:testModulesAutogen" class="def">testModulesAutogen</a> :: <a href="Distribution-Types-TestSuite.html#t:TestSuite">TestSuite</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>] <a href="#v:testModulesAutogen" class="selflink">#</a></p><div class="doc"><p>Get all the auto generated module names from a test suite.- This are a subset of <code><a href="Distribution-Types-TestSuite.html#v:testModules">testModules</a></code>.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,11 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.TestSuiteInterface</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.TestSuiteInterface</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:TestSuiteInterface">TestSuiteInterface</a><ul class="subs"><li>= <a href="#v:TestSuiteExeV10">TestSuiteExeV10</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></li><li>| <a href="#v:TestSuiteLibV09">TestSuiteLibV09</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li><li>| <a href="#v:TestSuiteUnsupported">TestSuiteUnsupported</a> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a></li></ul></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:TestSuiteInterface" class="def">TestSuiteInterface</a> <a href="#t:TestSuiteInterface" class="selflink">#</a></p><div class="doc"><p>The test suite interfaces that are currently defined. Each test suite must- specify which interface it supports.</p><p>More interfaces may be defined in future, either new revisions or totally- new interfaces.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:TestSuiteExeV10" class="def">TestSuiteExeV10</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Test interface "exitcode-stdio-1.0". The test-suite takes the form- of an executable. It returns a zero exit code for success, non-zero for- failure. The stdout and stderr channels may be logged. It takes no- command line parameters and nothing on stdin.</p></td></tr><tr><td class="src"><a id="v:TestSuiteLibV09" class="def">TestSuiteLibV09</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></td><td class="doc"><p>Test interface "detailed-0.9". The test-suite takes the form of a- library containing a designated module that exports "tests :: [Test]".</p></td></tr><tr><td class="src"><a id="v:TestSuiteUnsupported" class="def">TestSuiteUnsupported</a> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a></td><td class="doc"><p>A test suite that does not conform to one of the above interfaces for- the given reason (e.g. unknown test type).</p></td></tr></table></div><div class="subs instances"><p id="control.i:TestSuiteInterface" class="caption collapser" onclick="toggleSection('i:TestSuiteInterface')">Instances</p><div id="section.i:TestSuiteInterface" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuiteInterface:Eq:1" class="instance expander" onclick="toggleSection('i:id:TestSuiteInterface:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a></span> <a href="#t:TestSuiteInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuiteInterface:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuiteInterface:Data:2" class="instance expander" onclick="toggleSection('i:id:TestSuiteInterface:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a></span> <a href="#t:TestSuiteInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuiteInterface:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> c <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> m <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> m <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> m <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuiteInterface:Read:3" class="instance expander" onclick="toggleSection('i:id:TestSuiteInterface:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a></span> <a href="#t:TestSuiteInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuiteInterface:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuiteInterface:Show:4" class="instance expander" onclick="toggleSection('i:id:TestSuiteInterface:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a></span> <a href="#t:TestSuiteInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuiteInterface:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuiteInterface:Generic:5" class="instance expander" onclick="toggleSection('i:id:TestSuiteInterface:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a></span> <a href="#t:TestSuiteInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuiteInterface:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> x -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuiteInterface:Semigroup:6" class="instance expander" onclick="toggleSection('i:id:TestSuiteInterface:Semigroup:6')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a></span> <a href="#t:TestSuiteInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuiteInterface:Semigroup:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuiteInterface:Monoid:7" class="instance expander" onclick="toggleSection('i:id:TestSuiteInterface:Monoid:7')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a></span> <a href="#t:TestSuiteInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuiteInterface:Monoid:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a>] -> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuiteInterface:Binary:8" class="instance expander" onclick="toggleSection('i:id:TestSuiteInterface:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a></span> <a href="#t:TestSuiteInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuiteInterface:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestSuiteInterface:Rep:9" class="instance expander" onclick="toggleSection('i:id:TestSuiteInterface:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a></span> <a href="#t:TestSuiteInterface" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestSuiteInterface:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">TestSuiteInterface</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "TestSuiteInterface" "Distribution.Types.TestSuiteInterface" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TestSuiteExeV10" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TestSuiteLibV09" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TestSuiteUnsupported" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a>)))))</div></div></td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.TestType</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.TestType</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:TestType">TestType</a><ul class="subs"><li>= <a href="#v:TestTypeExe">TestTypeExe</a> <a href="Distribution-Version.html#t:Version">Version</a></li><li>| <a href="#v:TestTypeLib">TestTypeLib</a> <a href="Distribution-Version.html#t:Version">Version</a></li><li>| <a href="#v:TestTypeUnknown">TestTypeUnknown</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="Distribution-Version.html#t:Version">Version</a></li></ul></li><li class="src short"><a href="#v:knownTestTypes">knownTestTypes</a> :: [<a href="Distribution-Types-TestType.html#t:TestType">TestType</a>]</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:TestType" class="def">TestType</a> <a href="#t:TestType" class="selflink">#</a></p><div class="doc"><p>The "test-type" field in the test suite stanza.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:TestTypeExe" class="def">TestTypeExe</a> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc"><p>"type: exitcode-stdio-x.y"</p></td></tr><tr><td class="src"><a id="v:TestTypeLib" class="def">TestTypeLib</a> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc"><p>"type: detailed-x.y"</p></td></tr><tr><td class="src"><a id="v:TestTypeUnknown" class="def">TestTypeUnknown</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc"><p>Some unknown test type e.g. "type: foo"</p></td></tr></table></div><div class="subs instances"><p id="control.i:TestType" class="caption collapser" onclick="toggleSection('i:TestType')">Instances</p><div id="section.i:TestType" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestType:Eq:1" class="instance expander" onclick="toggleSection('i:id:TestType:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a></span> <a href="#t:TestType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestType:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> -> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> -> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestType:Data:2" class="instance expander" onclick="toggleSection('i:id:TestType:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a></span> <a href="#t:TestType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestType:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> -> c <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-TestType.html#t:TestType">TestType</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-TestType.html#t:TestType">TestType</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> -> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> -> m <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> -> m <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> -> m <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestType:Read:3" class="instance expander" onclick="toggleSection('i:id:TestType:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a></span> <a href="#t:TestType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestType:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-TestType.html#t:TestType">TestType</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-TestType.html#t:TestType">TestType</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestType:Show:4" class="instance expander" onclick="toggleSection('i:id:TestType:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a></span> <a href="#t:TestType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestType:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-TestType.html#t:TestType">TestType</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestType:Generic:5" class="instance expander" onclick="toggleSection('i:id:TestType:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a></span> <a href="#t:TestType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestType:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> x -> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestType:Binary:6" class="instance expander" onclick="toggleSection('i:id:TestType:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a></span> <a href="#t:TestType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestType:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-TestType.html#t:TestType">TestType</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestType:Text:7" class="instance expander" onclick="toggleSection('i:id:TestType:Text:7')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a></span> <a href="#t:TestType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestType:Text:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TestType:Rep:8" class="instance expander" onclick="toggleSection('i:id:TestType:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a></span> <a href="#t:TestType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TestType:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-TestType.html#t:TestType">TestType</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "TestType" "Distribution.Types.TestType" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TestTypeExe" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TestTypeLib" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TestTypeUnknown" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:knownTestTypes" class="def">knownTestTypes</a> :: [<a href="Distribution-Types-TestType.html#t:TestType">TestType</a>] <a href="#v:knownTestTypes" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,34 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.UnitId</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.UnitId</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:UnitId">UnitId</a></li><li class="src short"><a href="#v:unUnitId">unUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:mkUnitId">mkUnitId</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:DefUnitId">DefUnitId</a></li><li class="src short"><a href="#v:unsafeMkDefUnitId">unsafeMkDefUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a></li><li class="src short"><a href="#v:unDefUnitId">unDefUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li class="src short"><a href="#v:newSimpleUnitId">newSimpleUnitId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li class="src short"><a href="#v:mkLegacyUnitId">mkLegacyUnitId</a> :: <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li><li class="src short"><a href="#v:getHSLibraryName">getHSLibraryName</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:InstalledPackageId">InstalledPackageId</a> = <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:UnitId" class="def">UnitId</a> <a href="#t:UnitId" class="selflink">#</a></p><div class="doc"><p>A unit identifier identifies a (possibly instantiated)- package/component that can be installed the installed package- database. There are several types of components that can be- installed:</p><ul><li>A traditional library with no holes, so that <code>unitIdHash</code>- is <code>Nothing</code>. In the absence of Backpack, <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code>- is the same as a <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code>.</li><li>An indefinite, Backpack library with holes. In this case,- <code>unitIdHash</code> is still <code>Nothing</code>, but in the install,- there are only interfaces, no compiled objects.</li><li>An instantiated Backpack library with all the holes- filled in. <code>unitIdHash</code> is a <code>Just</code> a hash of the- instantiating mapping.</li></ul><p>A unit is a component plus the additional information on how the- holes are filled in. Thus there is a one to many relationship: for a- particular component there are many different ways of filling in the- holes, and each different combination is a unit (and has a separate- <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code>).</p><p><code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> is distinct from <code>OpenUnitId</code>, in that it is always- installed, whereas <code>OpenUnitId</code> are intermediate unit identities- that arise during mixin linking, and don't necessarily correspond- to any actually installed unit. Since the mapping is not actually- recorded in a <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code>, you can't actually substitute over them- (but you can substitute over <code>OpenUnitId</code>). See also- <a href="Distribution-Backpack-FullUnitId.html">Distribution.Backpack.FullUnitId</a> for a mechanism for expanding an- instantiated <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> to retrieve its mapping.</p><p>Backwards compatibility note: if you need to get the string- representation of a UnitId to pass, e.g., as a <code>-package-id</code>- flag, use the <code><a href="Distribution-Text.html#v:display">display</a></code> function, which will work on all- versions of Cabal.</p></div><div class="subs instances"><p id="control.i:UnitId" class="caption collapser" onclick="toggleSection('i:UnitId')">Instances</p><div id="section.i:UnitId" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnitId:Eq:1" class="instance expander" onclick="toggleSection('i:id:UnitId:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></span> <a href="#t:UnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UnitId:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnitId:Data:2" class="instance expander" onclick="toggleSection('i:id:UnitId:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></span> <a href="#t:UnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UnitId:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> c <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> m <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> m <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> m <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnitId:Ord:3" class="instance expander" onclick="toggleSection('i:id:UnitId:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></span> <a href="#t:UnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UnitId:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnitId:Read:4" class="instance expander" onclick="toggleSection('i:id:UnitId:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></span> <a href="#t:UnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UnitId:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnitId:Show:5" class="instance expander" onclick="toggleSection('i:id:UnitId:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></span> <a href="#t:UnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UnitId:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnitId:IsString:6" class="instance expander" onclick="toggleSection('i:id:UnitId:IsString:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:IsString">IsString</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></span> <a href="#t:UnitId" class="selflink">#</a></td><td class="doc"><p><code><a href="Distribution-Types-UnitId.html#v:mkUnitId">mkUnitId</a></code></p><p><em>Since: 2.0.0.2</em></p></td></tr><tr><td colspan="2"><div id="section.i:id:UnitId:IsString:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fromString">fromString</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:fromString" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnitId:Generic:7" class="instance expander" onclick="toggleSection('i:id:UnitId:Generic:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></span> <a href="#t:UnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UnitId:Generic:7" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> x -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnitId:Binary:8" class="instance expander" onclick="toggleSection('i:id:UnitId:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></span> <a href="#t:UnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UnitId:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnitId:NFData:9" class="instance expander" onclick="toggleSection('i:id:UnitId:NFData:9')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></span> <a href="#t:UnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UnitId:NFData:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnitId:Text:10" class="instance expander" onclick="toggleSection('i:id:UnitId:Text:10')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></span> <a href="#t:UnitId" class="selflink">#</a></td><td class="doc"><p>The textual format for <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> coincides with the format- GHC accepts for <code>-package-id</code>.</p></td></tr><tr><td colspan="2"><div id="section.i:id:UnitId:Text:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnitId:Rep:11" class="instance expander" onclick="toggleSection('i:id:UnitId:Rep:11')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></span> <a href="#t:UnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UnitId:Rep:11" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "UnitId" "Distribution.Types.UnitId" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "UnitId" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a>)))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:unUnitId" class="def">unUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:unUnitId" class="selflink">#</a></p><div class="doc"><p>If you need backwards compatibility, consider using <code><a href="Distribution-Text.html#v:display">display</a></code>- instead, which is supported by all versions of Cabal.</p></div></div><div class="top"><p class="src"><a id="v:mkUnitId" class="def">mkUnitId</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:mkUnitId" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:DefUnitId" class="def">DefUnitId</a> <a href="#t:DefUnitId" class="selflink">#</a></p><div class="doc"><p>A <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> for a definite package. The <code><a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a></code> invariant says- that a <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code> identified this way is definite; i.e., it has no- unfilled holes.</p></div><div class="subs instances"><p id="control.i:DefUnitId" class="caption collapser" onclick="toggleSection('i:DefUnitId')">Instances</p><div id="section.i:DefUnitId" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DefUnitId:Eq:1" class="instance expander" onclick="toggleSection('i:id:DefUnitId:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a></span> <a href="#t:DefUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DefUnitId:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DefUnitId:Data:2" class="instance expander" onclick="toggleSection('i:id:DefUnitId:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a></span> <a href="#t:DefUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DefUnitId:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> c <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> m <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> m <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> m <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DefUnitId:Ord:3" class="instance expander" onclick="toggleSection('i:id:DefUnitId:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a></span> <a href="#t:DefUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DefUnitId:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DefUnitId:Read:4" class="instance expander" onclick="toggleSection('i:id:DefUnitId:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a></span> <a href="#t:DefUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DefUnitId:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DefUnitId:Show:5" class="instance expander" onclick="toggleSection('i:id:DefUnitId:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a></span> <a href="#t:DefUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DefUnitId:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DefUnitId:Generic:6" class="instance expander" onclick="toggleSection('i:id:DefUnitId:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a></span> <a href="#t:DefUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DefUnitId:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> x -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DefUnitId:Binary:7" class="instance expander" onclick="toggleSection('i:id:DefUnitId:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a></span> <a href="#t:DefUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DefUnitId:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DefUnitId:NFData:8" class="instance expander" onclick="toggleSection('i:id:DefUnitId:NFData:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a></span> <a href="#t:DefUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DefUnitId:NFData:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DefUnitId:Text:9" class="instance expander" onclick="toggleSection('i:id:DefUnitId:Text:9')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a></span> <a href="#t:DefUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DefUnitId:Text:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DefUnitId:Rep:10" class="instance expander" onclick="toggleSection('i:id:DefUnitId:Rep:10')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a></span> <a href="#t:DefUnitId" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DefUnitId:Rep:10" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "DefUnitId" "Distribution.Types.UnitId" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DefUnitId" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "unDefUnitId") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a>)))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:unsafeMkDefUnitId" class="def">unsafeMkDefUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> <a href="#v:unsafeMkDefUnitId" class="selflink">#</a></p><div class="doc"><p>Unsafely create a <code><a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a></code> from a <code><a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a></code>. Your responsibility- is to ensure that the <code><a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a></code> invariant holds.</p></div></div><div class="top"><p class="src"><a id="v:unDefUnitId" class="def">unDefUnitId</a> :: <a href="Distribution-Types-UnitId.html#t:DefUnitId">DefUnitId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:unDefUnitId" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:newSimpleUnitId" class="def">newSimpleUnitId</a> :: <a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:newSimpleUnitId" class="selflink">#</a></p><div class="doc"><p>Create a unit identity with no associated hash directly- from a <code><a href="Distribution-Types-ComponentId.html#t:ComponentId">ComponentId</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:mkLegacyUnitId" class="def">mkLegacyUnitId</a> :: <a href="Distribution-Types-PackageId.html#t:PackageId">PackageId</a> -> <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#v:mkLegacyUnitId" class="selflink">#</a></p><div class="doc"><p>Make an old-style UnitId from a package identifier.- Assumed to be for the public library</p></div></div><div class="top"><p class="src"><a id="v:getHSLibraryName" class="def">getHSLibraryName</a> :: <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:getHSLibraryName" class="selflink">#</a></p><div class="doc"><p>Returns library name prefixed with HS, suitable for filenames</p></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:InstalledPackageId" class="def">InstalledPackageId</a> = <a href="Distribution-Types-UnitId.html#t:UnitId">UnitId</a> <a href="#t:InstalledPackageId" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: Use UnitId instead</p></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,10 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Types.UnqualComponentName</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.UnqualComponentName</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:UnqualComponentName">UnqualComponentName</a></li><li class="src short"><a href="#v:unUnqualComponentName">unUnqualComponentName</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:mkUnqualComponentName">mkUnqualComponentName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li class="src short"><a href="#v:packageNameToUnqualComponentName">packageNameToUnqualComponentName</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></li><li class="src short"><a href="#v:unqualComponentNameToPackageName">unqualComponentNameToPackageName</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:UnqualComponentName" class="def">UnqualComponentName</a> <a href="#t:UnqualComponentName" class="selflink">#</a></p><div class="doc"><p>An unqualified component name, for any kind of component.</p><p>This is distinguished from a <code>ComponentName</code> and <code>ComponentId</code>. The former- also states which of a library, executable, etc the name refers too. The- later uniquely identifiers a component and its closure.</p><p><em>Since: 2.0.0.2</em></p></div><div class="subs instances"><p id="control.i:UnqualComponentName" class="caption collapser" onclick="toggleSection('i:UnqualComponentName')">Instances</p><div id="section.i:UnqualComponentName" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnqualComponentName:Eq:1" class="instance expander" onclick="toggleSection('i:id:UnqualComponentName:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></span> <a href="#t:UnqualComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UnqualComponentName:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnqualComponentName:Data:2" class="instance expander" onclick="toggleSection('i:id:UnqualComponentName:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></span> <a href="#t:UnqualComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UnqualComponentName:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> c <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> m <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> m <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> m <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnqualComponentName:Ord:3" class="instance expander" onclick="toggleSection('i:id:UnqualComponentName:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></span> <a href="#t:UnqualComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UnqualComponentName:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnqualComponentName:Read:4" class="instance expander" onclick="toggleSection('i:id:UnqualComponentName:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></span> <a href="#t:UnqualComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UnqualComponentName:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnqualComponentName:Show:5" class="instance expander" onclick="toggleSection('i:id:UnqualComponentName:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></span> <a href="#t:UnqualComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UnqualComponentName:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnqualComponentName:IsString:6" class="instance expander" onclick="toggleSection('i:id:UnqualComponentName:IsString:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:IsString">IsString</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></span> <a href="#t:UnqualComponentName" class="selflink">#</a></td><td class="doc"><p><code><a href="Distribution-Types-UnqualComponentName.html#v:mkUnqualComponentName">mkUnqualComponentName</a></code></p><p><em>Since: 2.0.0.2</em></p></td></tr><tr><td colspan="2"><div id="section.i:id:UnqualComponentName:IsString:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fromString">fromString</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:fromString" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnqualComponentName:Generic:7" class="instance expander" onclick="toggleSection('i:id:UnqualComponentName:Generic:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></span> <a href="#t:UnqualComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UnqualComponentName:Generic:7" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> x -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnqualComponentName:Semigroup:8" class="instance expander" onclick="toggleSection('i:id:UnqualComponentName:Semigroup:8')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></span> <a href="#t:UnqualComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UnqualComponentName:Semigroup:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnqualComponentName:Monoid:9" class="instance expander" onclick="toggleSection('i:id:UnqualComponentName:Monoid:9')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></span> <a href="#t:UnqualComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UnqualComponentName:Monoid:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>] -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnqualComponentName:Binary:10" class="instance expander" onclick="toggleSection('i:id:UnqualComponentName:Binary:10')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></span> <a href="#t:UnqualComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UnqualComponentName:Binary:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnqualComponentName:NFData:11" class="instance expander" onclick="toggleSection('i:id:UnqualComponentName:NFData:11')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></span> <a href="#t:UnqualComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UnqualComponentName:NFData:11" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnqualComponentName:Text:12" class="instance expander" onclick="toggleSection('i:id:UnqualComponentName:Text:12')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></span> <a href="#t:UnqualComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UnqualComponentName:Text:12" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UnqualComponentName:Rep:13" class="instance expander" onclick="toggleSection('i:id:UnqualComponentName:Rep:13')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></span> <a href="#t:UnqualComponentName" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UnqualComponentName:Rep:13" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "UnqualComponentName" "Distribution.Types.UnqualComponentName" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "UnqualComponentName" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a>)))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:unUnqualComponentName" class="def">unUnqualComponentName</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:unUnqualComponentName" class="selflink">#</a></p><div class="doc"><p>Convert <code><a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></code> to <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code></p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:mkUnqualComponentName" class="def">mkUnqualComponentName</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:mkUnqualComponentName" class="selflink">#</a></p><div class="doc"><p>Construct a <code><a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></code> from a <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code></p><p><code><a href="Distribution-Types-UnqualComponentName.html#v:mkUnqualComponentName">mkUnqualComponentName</a></code> is the inverse to <code><a href="Distribution-Types-UnqualComponentName.html#v:unUnqualComponentName">unUnqualComponentName</a></code></p><p>Note: No validations are performed to ensure that the resulting- <code><a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a></code> is valid</p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:packageNameToUnqualComponentName" class="def">packageNameToUnqualComponentName</a> :: <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> -> <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> <a href="#v:packageNameToUnqualComponentName" class="selflink">#</a></p><div class="doc"><p>Converts a package name to an unqualified component name</p><p>Useful in legacy situations where a package name may refer to an internal- component, if one is defined with that name.</p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:unqualComponentNameToPackageName" class="def">unqualComponentNameToPackageName</a> :: <a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">UnqualComponentName</a> -> <a href="Distribution-Types-PackageName.html#t:PackageName">PackageName</a> <a href="#v:unqualComponentNameToPackageName" class="selflink">#</a></p><div class="doc"><p>Converts an unqualified component name to a package name</p><p><code><a href="Distribution-Types-UnqualComponentName.html#v:packageNameToUnqualComponentName">packageNameToUnqualComponentName</a></code> is the inverse of- <code><a href="Distribution-Types-UnqualComponentName.html#v:unqualComponentNameToPackageName">unqualComponentNameToPackageName</a></code>.</p><p>Useful in legacy situations where a package name may refer to an internal- component, if one is defined with that name.</p><p><em>Since: 2.0.0.2</em></p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,59 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Utils.Generic</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones Simon Marlow 2003-2004</td></tr><tr><th>License</th><td>BSD3- portions Copyright (c) 2007, Galois Inc.</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Utils.Generic</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">reading and writing files safely</a></li><li><a href="#g:2">Unicode</a></li><li><a href="#g:3">BOM</a></li><li><a href="#g:4">generic utils</a></li><li><a href="#g:5">FilePath stuff</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>A large and somewhat miscellaneous collection of utility functions used- throughout the rest of the Cabal lib and in other tools that use the Cabal- lib like <code>cabal-install</code>. It has a very simple set of logging actions. It- has low level functions for running programs, a bunch of wrappers for- various directory and file functions that do extra logging.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:withFileContents">withFileContents</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> a) -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> a</li><li class="src short"><a href="#v:writeFileAtomic">writeFileAtomic</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> ()</li><li class="src short"><a href="#v:fromUTF8">fromUTF8</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:fromUTF8BS">fromUTF8BS</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString.html#t:ByteString">ByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:fromUTF8LBS">fromUTF8LBS</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:toUTF8">toUTF8</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:readUTF8File">readUTF8File</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:withUTF8FileContents">withUTF8FileContents</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:writeUTF8File">writeUTF8File</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> ()</li><li class="src short"><a href="#v:normaliseLineEndings">normaliseLineEndings</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:startsWithBOM">startsWithBOM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:fileHasBOM">fileHasBOM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:ignoreBOM">ignoreBOM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:dropWhileEndLE">dropWhileEndLE</a> :: (a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> [a] -> [a]</li><li class="src short"><a href="#v:takeWhileEndLE">takeWhileEndLE</a> :: (a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> [a] -> [a]</li><li class="src short"><a href="#v:equating">equating</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a => (b -> a) -> b -> b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:comparing">comparing</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => (b -> a) -> b -> b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a></li><li class="src short"><a href="#v:isInfixOf">isInfixOf</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a => [a] -> [a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:intercalate">intercalate</a> :: [a] -> [[a]] -> [a]</li><li class="src short"><a href="#v:lowercase">lowercase</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:isAscii">isAscii</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isAsciiAlpha">isAsciiAlpha</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isAsciiAlphaNum">isAsciiAlphaNum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:listUnion">listUnion</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> [a] -> [a]</li><li class="src short"><a href="#v:listUnionRight">listUnionRight</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> [a] -> [a]</li><li class="src short"><a href="#v:ordNub">ordNub</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> [a]</li><li class="src short"><a href="#v:ordNubBy">ordNubBy</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> b => (a -> b) -> [a] -> [a]</li><li class="src short"><a href="#v:ordNubRight">ordNubRight</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> [a]</li><li class="src short"><a href="#v:safeTail">safeTail</a> :: [a] -> [a]</li><li class="src short"><a href="#v:unintersperse">unintersperse</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]</li><li class="src short"><a href="#v:wrapText">wrapText</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:wrapLine">wrapLine</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> [[<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]]</li><li class="src short"><a href="#v:isAbsoluteOnAnyPlatform">isAbsoluteOnAnyPlatform</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isRelativeOnAnyPlatform">isRelativeOnAnyPlatform</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul></div><div id="interface"><h1 id="g:1">reading and writing files safely</h1><div class="top"><p class="src"><a id="v:withFileContents" class="def">withFileContents</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> a) -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> a <a href="#v:withFileContents" class="selflink">#</a></p><div class="doc"><p>Gets the contents of a file, but guarantee that it gets closed.</p><p>The file is read lazily but if it is not fully consumed by the action then- the remaining input is truncated and the file is closed.</p></div></div><div class="top"><p class="src"><a id="v:writeFileAtomic" class="def">writeFileAtomic</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> () <a href="#v:writeFileAtomic" class="selflink">#</a></p><div class="doc"><p>Writes a file atomically.</p><p>The file is either written successfully or an IO exception is raised and- the original file is left unchanged.</p><p>On windows it is not possible to delete a file that is open by a process.- This case will give an IO exception but the atomic property is not affected.</p></div></div><h1 id="g:2">Unicode</h1><div class="top"><p class="src"><a id="v:fromUTF8" class="def">fromUTF8</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:fromUTF8" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fromUTF8BS" class="def">fromUTF8BS</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString.html#t:ByteString">ByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:fromUTF8BS" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fromUTF8LBS" class="def">fromUTF8LBS</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:fromUTF8LBS" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:toUTF8" class="def">toUTF8</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:toUTF8" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:readUTF8File" class="def">readUTF8File</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:readUTF8File" class="selflink">#</a></p><div class="doc"><p>Reads a UTF8 encoded text file as a Unicode String</p><p>Reads lazily using ordinary <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#v:readFile">readFile</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:withUTF8FileContents" class="def">withUTF8FileContents</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a) -> <a href="Distribution-Compat-Prelude-Internal.html#t:IO">IO</a> a <a href="#v:withUTF8FileContents" class="selflink">#</a></p><div class="doc"><p>Reads a UTF8 encoded text file as a Unicode String</p><p>Same behaviour as <code><a href="Distribution-Utils-Generic.html#v:withFileContents">withFileContents</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:writeUTF8File" class="def">writeUTF8File</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> () <a href="#v:writeUTF8File" class="selflink">#</a></p><div class="doc"><p>Writes a Unicode String as a UTF8 encoded text file.</p><p>Uses <code><a href="Distribution-Utils-Generic.html#v:writeFileAtomic">writeFileAtomic</a></code>, so provides the same guarantees.</p></div></div><div class="top"><p class="src"><a id="v:normaliseLineEndings" class="def">normaliseLineEndings</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:normaliseLineEndings" class="selflink">#</a></p><div class="doc"><p>Fix different systems silly line ending conventions</p></div></div><h1 id="g:3">BOM</h1><div class="top"><p class="src"><a id="v:startsWithBOM" class="def">startsWithBOM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:startsWithBOM" class="selflink">#</a></p><div class="doc"><p>Whether BOM is at the beginning of the input</p></div></div><div class="top"><p class="src"><a id="v:fileHasBOM" class="def">fileHasBOM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:fileHasBOM" class="selflink">#</a></p><div class="doc"><p>Check whether a file has Unicode byte order mark (BOM).</p></div></div><div class="top"><p class="src"><a id="v:ignoreBOM" class="def">ignoreBOM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:ignoreBOM" class="selflink">#</a></p><div class="doc"><p>Ignore a Unicode byte order mark (BOM) at the beginning of the input</p></div></div><h1 id="g:4">generic utils</h1><div class="top"><p class="src"><a id="v:dropWhileEndLE" class="def">dropWhileEndLE</a> :: (a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> [a] -> [a] <a href="#v:dropWhileEndLE" class="selflink">#</a></p><div class="doc"><p><code>dropWhileEndLE p</code> is equivalent to <code>reverse . dropWhile p . reverse</code>, but- quite a bit faster. The difference between "Data.List.dropWhileEnd" and this- version is that the one in <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List.html">Data.List</a> is strict in elements, but spine-lazy,- while this one is spine-strict but lazy in elements. That's what <code>LE</code> stands- for - "lazy in elements".</p><p>Example:</p><pre>> tail $ Data.List.dropWhileEnd (<3) [undefined, 5, 4, 3, 2, 1]-*** Exception: Prelude.undefined-> tail $ dropWhileEndLE (<3) [undefined, 5, 4, 3, 2, 1]-[5,4,3]-> take 3 $ Data.List.dropWhileEnd (<3) [5, 4, 3, 2, 1, undefined]-[5,4,3]-> take 3 $ dropWhileEndLE (<3) [5, 4, 3, 2, 1, undefined]-*** Exception: Prelude.undefined-</pre></div></div><div class="top"><p class="src"><a id="v:takeWhileEndLE" class="def">takeWhileEndLE</a> :: (a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a>) -> [a] -> [a] <a href="#v:takeWhileEndLE" class="selflink">#</a></p><div class="doc"><p><code>takeWhileEndLE p</code> is equivalent to <code>reverse . takeWhile p . reverse</code>, but- is usually faster (as well as being easier to read).</p></div></div><div class="top"><p class="src"><a id="v:equating" class="def">equating</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a => (b -> a) -> b -> b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:equating" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:comparing" class="def">comparing</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => (b -> a) -> b -> b -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:comparing" class="selflink">#</a></p><div class="doc"><pre>comparing p x y = compare (p x) (p y)</pre><p>Useful combinator for use in conjunction with the <code>xxxBy</code> family- of functions from <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List.html">Data.List</a>, for example:</p><pre> ... sortBy (comparing fst) ...</pre></div></div><div class="top"><p class="src"><a id="v:isInfixOf" class="def">isInfixOf</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a => [a] -> [a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isInfixOf" class="selflink">#</a></p><div class="doc"><p>The <code><a href="Distribution-Utils-Generic.html#v:isInfixOf">isInfixOf</a></code> function takes two lists and returns <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a></code>- iff the first list is contained, wholly and intact,- anywhere within the second.</p><p>Example:</p><pre>isInfixOf "Haskell" "I really like Haskell." == True-isInfixOf "Ial" "I really like Haskell." == False</pre></div></div><div class="top"><p class="src"><a id="v:intercalate" class="def">intercalate</a> :: [a] -> [[a]] -> [a] <a href="#v:intercalate" class="selflink">#</a></p><div class="doc"><p><code><a href="Distribution-Utils-Generic.html#v:intercalate">intercalate</a></code> <code>xs xss</code> is equivalent to <code>(<code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-OldList.html#v:concat">concat</a></code> (<code><a href="Distribution-Compat-Prelude-Internal.html#v:intersperse">intersperse</a></code> xs xss))</code>.- It inserts the list <code>xs</code> in between the lists in <code>xss</code> and concatenates the- result.</p></div></div><div class="top"><p class="src"><a id="v:lowercase" class="def">lowercase</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:lowercase" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:isAscii" class="def">isAscii</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isAscii" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:isAsciiAlpha" class="def">isAsciiAlpha</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isAsciiAlpha" class="selflink">#</a></p><div class="doc"><p>Ascii letters.</p></div></div><div class="top"><p class="src"><a id="v:isAsciiAlphaNum" class="def">isAsciiAlphaNum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isAsciiAlphaNum" class="selflink">#</a></p><div class="doc"><p>Ascii letters and digits.</p></div></div><div class="top"><p class="src"><a id="v:listUnion" class="def">listUnion</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> [a] -> [a] <a href="#v:listUnion" class="selflink">#</a></p><div class="doc"><p>Like "Data.List.union", but has <code>O(n log n)</code> complexity instead of- <code>O(n^2)</code>.</p></div></div><div class="top"><p class="src"><a id="v:listUnionRight" class="def">listUnionRight</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> [a] -> [a] <a href="#v:listUnionRight" class="selflink">#</a></p><div class="doc"><p>A right-biased version of <code><a href="Distribution-Utils-Generic.html#v:listUnion">listUnion</a></code>.</p><p>Example:</p><pre>> listUnion [1,2,3,4,3] [2,1,1]-[1,2,3,4,3]-> listUnionRight [1,2,3,4,3] [2,1,1]-[4,3,2,1,1]-</pre></div></div><div class="top"><p class="src"><a id="v:ordNub" class="def">ordNub</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> [a] <a href="#v:ordNub" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List.html#v:nub">nub</a></code>, but has <code>O(n log n)</code> complexity instead of- <code>O(n^2)</code>. Code for <code><a href="Distribution-Utils-Generic.html#v:ordNub">ordNub</a></code> and <code><a href="Distribution-Utils-Generic.html#v:listUnion">listUnion</a></code> taken from Niklas Hambüchen's- <a href="http://github.com/nh2/haskell-ordnub">ordnub</a> package.</p></div></div><div class="top"><p class="src"><a id="v:ordNubBy" class="def">ordNubBy</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> b => (a -> b) -> [a] -> [a] <a href="#v:ordNubBy" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Distribution-Utils-Generic.html#v:ordNub">ordNub</a></code> and <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List.html#v:nubBy">nubBy</a></code>. Selects a key for each element and- takes the nub based on that key.</p></div></div><div class="top"><p class="src"><a id="v:ordNubRight" class="def">ordNubRight</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> [a] <a href="#v:ordNubRight" class="selflink">#</a></p><div class="doc"><p>A right-biased version of <code><a href="Distribution-Utils-Generic.html#v:ordNub">ordNub</a></code>.</p><p>Example:</p><pre>> ordNub [1,2,1]-[1,2]-> ordNubRight [1,2,1]-[2,1]-</pre></div></div><div class="top"><p class="src"><a id="v:safeTail" class="def">safeTail</a> :: [a] -> [a] <a href="#v:safeTail" class="selflink">#</a></p><div class="doc"><p>A total variant of <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-OldList.html#v:tail">tail</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:unintersperse" class="def">unintersperse</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Char.html#t:Char">Char</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] <a href="#v:unintersperse" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:wrapText" class="def">wrapText</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:wrapText" class="selflink">#</a></p><div class="doc"><p>Wraps text to the default line width. Existing newlines are preserved.</p></div></div><div class="top"><p class="src"><a id="v:wrapLine" class="def">wrapLine</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>] -> [[<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>]] <a href="#v:wrapLine" class="selflink">#</a></p><div class="doc"><p>Wraps a list of words to a list of lines of words of a particular width.</p></div></div><h1 id="g:5">FilePath stuff</h1><div class="top"><p class="src"><a id="v:isAbsoluteOnAnyPlatform" class="def">isAbsoluteOnAnyPlatform</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isAbsoluteOnAnyPlatform" class="selflink">#</a></p><div class="doc"><p><code><a href="Distribution-Utils-Generic.html#v:isAbsoluteOnAnyPlatform">isAbsoluteOnAnyPlatform</a></code> and <code><a href="Distribution-Utils-Generic.html#v:isRelativeOnAnyPlatform">isRelativeOnAnyPlatform</a></code> are like- <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/filepath-1.4.1.2/System-FilePath.html#v:isAbsolute">isAbsolute</a></code> and <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/filepath-1.4.1.2/System-FilePath.html#v:isRelative">isRelative</a></code> but have- platform independent heuristics.- The System.FilePath exists in two versions, Windows and Posix. The two- versions don't agree on what is a relative path and we don't know if we're- given Windows or Posix paths.- This results in false positives when running on Posix and inspecting- Windows paths, like the hackage server does.- System.FilePath.Posix.isAbsolute "C:\hello" == False- System.FilePath.Windows.isAbsolute "/hello" == False- This means that we would treat paths that start with "/" to be absolute.- On Posix they are indeed absolute, while on Windows they are not.</p><p>The portable versions should be used when we might deal with paths that- are from another OS than the host OS. For example, the Hackage Server- deals with both Windows and Posix paths while performing the- PackageDescription checks. In contrast, when we run 'cabal configure' we- do expect the paths to be correct for our OS and we should not have to use- the platform independent heuristics.</p></div></div><div class="top"><p class="src"><a id="v:isRelativeOnAnyPlatform" class="def">isRelativeOnAnyPlatform</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isRelativeOnAnyPlatform" class="selflink">#</a></p><div class="doc"><pre>isRelativeOnAnyPlatform = not . <code><a href="Distribution-Utils-Generic.html#v:isAbsoluteOnAnyPlatform">isAbsoluteOnAnyPlatform</a></code></pre></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,6 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Utils.LogProgress</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Utils.LogProgress</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:LogProgress">LogProgress</a> a</li><li class="src short"><a href="#v:runLogProgress">runLogProgress</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> a -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> a</li><li class="src short"><a href="#v:warnProgress">warnProgress</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> ()</li><li class="src short"><a href="#v:infoProgress">infoProgress</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> ()</li><li class="src short"><a href="#v:dieProgress">dieProgress</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> a</li><li class="src short"><a href="#v:addProgressCtx">addProgressCtx</a> :: CtxMsg -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> a -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> a</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:LogProgress" class="def">LogProgress</a> a <a href="#t:LogProgress" class="selflink">#</a></p><div class="doc"><p>The <code><a href="Distribution-Utils-Progress.html#t:Progress">Progress</a></code> monad with specialized logging and- error messages.</p></div><div class="subs instances"><p id="control.i:LogProgress" class="caption collapser" onclick="toggleSection('i:LogProgress')">Instances</p><div id="section.i:LogProgress" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LogProgress:Monad:1" class="instance expander" onclick="toggleSection('i:id:LogProgress:Monad:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a></span> <a href="#t:LogProgress" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LogProgress:Monad:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-62--62--61-">(>>=)</a> :: <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> a -> (a -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> b) -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> b <a href="#v:-62--62--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62--62-">(>>)</a> :: <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> a -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> b -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> b <a href="#v:-62--62-" class="selflink">#</a></p><p class="src"><a href="#v:return">return</a> :: a -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> a <a href="#v:return" class="selflink">#</a></p><p class="src"><a href="#v:fail">fail</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> a <a href="#v:fail" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LogProgress:Functor:2" class="instance expander" onclick="toggleSection('i:id:LogProgress:Functor:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor.html#t:Functor">Functor</a> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a></span> <a href="#t:LogProgress" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LogProgress:Functor:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -> b) -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> a -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(<$)</a> :: a -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> b -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LogProgress:Applicative:3" class="instance expander" onclick="toggleSection('i:id:LogProgress:Applicative:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a></span> <a href="#t:LogProgress" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LogProgress:Applicative:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(<*>)</a> :: <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> (a -> b) -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> a -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:liftA2">liftA2</a> :: (a -> b -> c) -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> a -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> b -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> c <a href="#v:liftA2" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*>)</a> :: <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> a -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> b -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(<*)</a> :: <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> a -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> b -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> a <a href="#v:-60--42-" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:runLogProgress" class="def">runLogProgress</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> a -> <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">NoCallStackIO</a> a <a href="#v:runLogProgress" class="selflink">#</a></p><div class="doc"><p>Run <code><a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a></code>, outputting traces according to <code><a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></code>,- <code><a href="Distribution-Simple-Utils.html#v:die">die</a></code> if there is an error.</p></div></div><div class="top"><p class="src"><a id="v:warnProgress" class="def">warnProgress</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> () <a href="#v:warnProgress" class="selflink">#</a></p><div class="doc"><p>Output a warning trace message in <code><a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:infoProgress" class="def">infoProgress</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> () <a href="#v:infoProgress" class="selflink">#</a></p><div class="doc"><p>Output an informational trace message in <code><a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:dieProgress" class="def">dieProgress</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> a <a href="#v:dieProgress" class="selflink">#</a></p><div class="doc"><p>Fail the computation with an error message.</p></div></div><div class="top"><p class="src"><a id="v:addProgressCtx" class="def">addProgressCtx</a> :: CtxMsg -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> a -> <a href="Distribution-Utils-LogProgress.html#t:LogProgress">LogProgress</a> a <a href="#v:addProgressCtx" class="selflink">#</a></p><div class="doc"><p>Add a message to the error/warning context.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Utils.MapAccum</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Utils.MapAccum</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:mapAccumM">mapAccumM</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Distribution-Compat-Prelude-Internal.html#t:Traversable">Traversable</a> t) => (a -> b -> m (a, c)) -> a -> t b -> m (a, t c)</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:mapAccumM" class="def">mapAccumM</a> :: (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Distribution-Compat-Prelude-Internal.html#t:Traversable">Traversable</a> t) => (a -> b -> m (a, c)) -> a -> t b -> m (a, t c) <a href="#v:mapAccumM" class="selflink">#</a></p><div class="doc"><p>Monadic variant of <code>mapAccumL</code>.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,15 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Utils.NubList</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Utils.NubList</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:NubList">NubList</a> a</li><li class="src short"><a href="#v:toNubList">toNubList</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a</li><li class="src short"><a href="#v:fromNubList">fromNubList</a> :: <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -> [a]</li><li class="src short"><a href="#v:overNubList">overNubList</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => ([a] -> [a]) -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a</li><li class="src short"><span class="keyword">data</span> <a href="#t:NubListR">NubListR</a> a</li><li class="src short"><a href="#v:toNubListR">toNubListR</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a</li><li class="src short"><a href="#v:fromNubListR">fromNubListR</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -> [a]</li><li class="src short"><a href="#v:overNubListR">overNubListR</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => ([a] -> [a]) -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:NubList" class="def">NubList</a> a <a href="#t:NubList" class="selflink">#</a></p><div class="doc"><p>NubList : A de-duplicated list that maintains the original order.</p></div><div class="subs instances"><p id="control.i:NubList" class="caption collapser" onclick="toggleSection('i:NubList')">Instances</p><div id="section.i:NubList" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:NubList:Eq:1" class="instance expander" onclick="toggleSection('i:id:NubList:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a)</span> <a href="#t:NubList" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:NubList:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:NubList:Read:2" class="instance expander" onclick="toggleSection('i:id:NubList:Read:2')"></span> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> a) => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> (<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a)</span> <a href="#t:NubList" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:NubList:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> (<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a) <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> (<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a) <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:NubList:Show:3" class="instance expander" onclick="toggleSection('i:id:NubList:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a)</span> <a href="#t:NubList" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:NubList:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:NubList:Semigroup:4" class="instance expander" onclick="toggleSection('i:id:NubList:Semigroup:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a)</span> <a href="#t:NubList" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:NubList:Semigroup:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a) -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:NubList:Monoid:5" class="instance expander" onclick="toggleSection('i:id:NubList:Monoid:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a)</span> <a href="#t:NubList" class="selflink">#</a></td><td class="doc"><p>Monoid operations on NubLists.- For a valid Monoid instance we need to satistfy the required monoid laws;- identity, associativity and closure.</p><p>Identity : by inspection:- mempty <code><a href="Distribution-Compat-Semigroup.html#v:mappend">mappend</a></code> NubList xs == NubList xs <code><a href="Distribution-Compat-Semigroup.html#v:mappend">mappend</a></code> mempty</p><p>Associativity : by inspection:- (NubList xs <code><a href="Distribution-Compat-Semigroup.html#v:mappend">mappend</a></code> NubList ys) <code><a href="Distribution-Compat-Semigroup.html#v:mappend">mappend</a></code> NubList zs- == NubList xs <code><a href="Distribution-Compat-Semigroup.html#v:mappend">mappend</a></code> (NubList ys <code><a href="Distribution-Compat-Semigroup.html#v:mappend">mappend</a></code> NubList zs)</p><p>Closure : appending two lists of type a and removing duplicates obviously- does not change the type.</p></td></tr><tr><td colspan="2"><div id="section.i:id:NubList:Monoid:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a] -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:NubList:Binary:6" class="instance expander" onclick="toggleSection('i:id:NubList:Binary:6')"></span> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a, <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> a) => <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> (<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a)</span> <a href="#t:NubList" class="selflink">#</a></td><td class="doc"><p>Binary instance for 'NubList a' is the same as for '[a]'. For <code><a href="Distribution-Compat-Prelude-Internal.html#v:put">put</a></code>, we- just pull off constructor and put the list. For <code><a href="Distribution-Compat-Prelude-Internal.html#v:get">get</a></code>, we get the list and- make a <code><a href="Distribution-Utils-NubList.html#t:NubList">NubList</a></code> out of it using <code><a href="Distribution-Utils-NubList.html#v:toNubList">toNubList</a></code>.</p></td></tr><tr><td colspan="2"><div id="section.i:id:NubList:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> (<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a) <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:toNubList" class="def">toNubList</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a <a href="#v:toNubList" class="selflink">#</a></p><div class="doc"><p>Smart constructor for the NubList type.</p></div></div><div class="top"><p class="src"><a id="v:fromNubList" class="def">fromNubList</a> :: <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -> [a] <a href="#v:fromNubList" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:overNubList" class="def">overNubList</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => ([a] -> [a]) -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a -> <a href="Distribution-Utils-NubList.html#t:NubList">NubList</a> a <a href="#v:overNubList" class="selflink">#</a></p><div class="doc"><p>Lift a function over lists to a function over NubLists.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:NubListR" class="def">NubListR</a> a <a href="#t:NubListR" class="selflink">#</a></p><div class="doc"><p>NubListR : A right-biased version of <code><a href="Distribution-Utils-NubList.html#t:NubList">NubList</a></code>. That is <code>toNubListR- ["-XNoFoo", "-XFoo", "-XNoFoo"]</code> will result in <code>["-XFoo", "-XNoFoo"]</code>,- unlike the normal <code><a href="Distribution-Utils-NubList.html#t:NubList">NubList</a></code>, which is left-biased. Built on top of- <code><a href="Distribution-Utils-Generic.html#v:ordNubRight">ordNubRight</a></code> and <code><a href="Distribution-Utils-Generic.html#v:listUnionRight">listUnionRight</a></code>.</p></div><div class="subs instances"><p id="control.i:NubListR" class="caption collapser" onclick="toggleSection('i:NubListR')">Instances</p><div id="section.i:NubListR" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:NubListR:Eq:1" class="instance expander" onclick="toggleSection('i:id:NubListR:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a)</span> <a href="#t:NubListR" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:NubListR:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:NubListR:Read:2" class="instance expander" onclick="toggleSection('i:id:NubListR:Read:2')"></span> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> a) => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a)</span> <a href="#t:NubListR" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:NubListR:Read:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a) <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a) <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:NubListR:Show:3" class="instance expander" onclick="toggleSection('i:id:NubListR:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> a => <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a)</span> <a href="#t:NubListR" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:NubListR:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:NubListR:Semigroup:4" class="instance expander" onclick="toggleSection('i:id:NubListR:Semigroup:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a)</span> <a href="#t:NubListR" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:NubListR:Semigroup:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a) -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:NubListR:Monoid:5" class="instance expander" onclick="toggleSection('i:id:NubListR:Monoid:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> (<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a)</span> <a href="#t:NubListR" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:NubListR:Monoid:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a] -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:toNubListR" class="def">toNubListR</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a <a href="#v:toNubListR" class="selflink">#</a></p><div class="doc"><p>Smart constructor for the NubListR type.</p></div></div><div class="top"><p class="src"><a id="v:fromNubListR" class="def">fromNubListR</a> :: <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -> [a] <a href="#v:fromNubListR" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:overNubListR" class="def">overNubListR</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> a => ([a] -> [a]) -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a -> <a href="Distribution-Utils-NubList.html#t:NubListR">NubListR</a> a <a href="#v:overNubListR" class="selflink">#</a></p><div class="doc"><p>Lift a function over lists to a function over NubListRs.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,11 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Utils.Progress</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Utils.Progress</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>A progress monad, which we use to report failure and logging from- otherwise pure code.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:Progress">Progress</a> step fail done</li><li class="src short"><a href="#v:stepProgress">stepProgress</a> :: step -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail ()</li><li class="src short"><a href="#v:failProgress">failProgress</a> :: fail -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail done</li><li class="src short"><a href="#v:foldProgress">foldProgress</a> :: (step -> a -> a) -> (fail -> a) -> (done -> a) -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail done -> a</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Progress" class="def">Progress</a> step fail done <a href="#t:Progress" class="selflink">#</a></p><div class="doc"><p>A type to represent the unfolding of an expensive long running- calculation that may fail (or maybe not expensive, but complicated!)- We may get intermediate steps before the final- result which may be used to indicate progress and/or logging messages.</p><p>TODO: Apply Codensity to avoid left-associativity problem.- See <a href="http://comonad.com/reader/2011/free-monads-for-less/">http://comonad.com/reader/2011/free-monads-for-less/</a> and- <a href="http://blog.ezyang.com/2012/01/problem-set-the-codensity-transformation/">http://blog.ezyang.com/2012/01/problem-set-the-codensity-transformation/</a></p></div><div class="subs instances"><p id="control.i:Progress" class="caption collapser" onclick="toggleSection('i:Progress')">Instances</p><div id="section.i:Progress" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Progress:Monad:1" class="instance expander" onclick="toggleSection('i:id:Progress:Monad:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> (<a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail)</span> <a href="#t:Progress" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Progress:Monad:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-62--62--61-">(>>=)</a> :: <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail a -> (a -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail b) -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail b <a href="#v:-62--62--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62--62-">(>>)</a> :: <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail a -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail b -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail b <a href="#v:-62--62-" class="selflink">#</a></p><p class="src"><a href="#v:return">return</a> :: a -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail a <a href="#v:return" class="selflink">#</a></p><p class="src"><a href="#v:fail">fail</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail a <a href="#v:fail" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Progress:Functor:2" class="instance expander" onclick="toggleSection('i:id:Progress:Functor:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail)</span> <a href="#t:Progress" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Progress:Functor:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -> b) -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail a -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(<$)</a> :: a -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail b -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Progress:Applicative:3" class="instance expander" onclick="toggleSection('i:id:Progress:Applicative:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail)</span> <a href="#t:Progress" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Progress:Applicative:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(<*>)</a> :: <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail (a -> b) -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail a -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:liftA2">liftA2</a> :: (a -> b -> c) -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail a -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail b -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail c <a href="#v:liftA2" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*>)</a> :: <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail a -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail b -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(<*)</a> :: <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail a -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail b -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail a <a href="#v:-60--42-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Progress:Alternative:4" class="instance expander" onclick="toggleSection('i:id:Progress:Alternative:4')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> fail => <a href="Distribution-Compat-Prelude-Internal.html#t:Alternative">Alternative</a> (<a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail)</span> <a href="#t:Progress" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Progress:Alternative:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:empty">empty</a> :: <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail a <a href="#v:empty" class="selflink">#</a></p><p class="src"><a href="#v:-60--124--62-">(<|>)</a> :: <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail a -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail a -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail a <a href="#v:-60--124--62-" class="selflink">#</a></p><p class="src"><a href="#v:some">some</a> :: <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail a -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail [a] <a href="#v:some" class="selflink">#</a></p><p class="src"><a href="#v:many">many</a> :: <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail a -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail [a] <a href="#v:many" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:stepProgress" class="def">stepProgress</a> :: step -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail () <a href="#v:stepProgress" class="selflink">#</a></p><div class="doc"><p>Emit a step and then continue.</p></div></div><div class="top"><p class="src"><a id="v:failProgress" class="def">failProgress</a> :: fail -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail done <a href="#v:failProgress" class="selflink">#</a></p><div class="doc"><p>Fail the computation.</p></div></div><div class="top"><p class="src"><a id="v:foldProgress" class="def">foldProgress</a> :: (step -> a -> a) -> (fail -> a) -> (done -> a) -> <a href="Distribution-Utils-Progress.html#t:Progress">Progress</a> step fail done -> a <a href="#v:foldProgress" class="selflink">#</a></p><div class="doc"><p>Consume a <code><a href="Distribution-Utils-Progress.html#t:Progress">Progress</a></code> calculation. Much like <code><a href="Distribution-Compat-Prelude-Internal.html#v:foldr">foldr</a></code> for lists but with two- base cases, one for a final result and one for failure.</p><p>Eg to convert into a simple <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Either.html#t:Either">Either</a></code> result use:</p><pre>foldProgress (flip const) Left Right</pre></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,8 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Utils.ShortText</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Utils.ShortText</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1"><code>ShortText</code> type</a></li><li><a href="#g:2">internal utilities</a></li></ul></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:ShortText">ShortText</a></li><li class="src short"><a href="#v:toShortText">toShortText</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a></li><li class="src short"><a href="#v:fromShortText">fromShortText</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:decodeStringUtf8">decodeStringUtf8</a> :: [<a href="Distribution-Compat-Prelude-Internal.html#t:Word8">Word8</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:encodeStringUtf8">encodeStringUtf8</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> [<a href="Distribution-Compat-Prelude-Internal.html#t:Word8">Word8</a>]</li></ul></div><div id="interface"><h1 id="g:1"><code><a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a></code> type</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ShortText" class="def">ShortText</a> <a href="#t:ShortText" class="selflink">#</a></p><div class="doc"><p>Compact representation of short <code>Strings</code></p><p>The data is stored internally as UTF8 in an- <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Short.html#t:ShortByteString">ShortByteString</a></code> when compiled against <code>bytestring >=- 0.10.4</code>, and otherwise the fallback is to use plain old non-compat- '[Char]'.</p><p>Note: This type is for internal uses (such as e.g. <code>PackageName</code>)- and shall not be exposed in Cabal's API</p><p><em>Since: 2.0.0.2</em></p></div><div class="subs instances"><p id="control.i:ShortText" class="caption collapser" onclick="toggleSection('i:ShortText')">Instances</p><div id="section.i:ShortText" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ShortText:Eq:1" class="instance expander" onclick="toggleSection('i:id:ShortText:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a></span> <a href="#t:ShortText" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ShortText:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ShortText:Data:2" class="instance expander" onclick="toggleSection('i:id:ShortText:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a></span> <a href="#t:ShortText" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ShortText:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> c <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> m <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> m <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> m <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ShortText:Ord:3" class="instance expander" onclick="toggleSection('i:id:ShortText:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a></span> <a href="#t:ShortText" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ShortText:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ShortText:Read:4" class="instance expander" onclick="toggleSection('i:id:ShortText:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a></span> <a href="#t:ShortText" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ShortText:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ShortText:Show:5" class="instance expander" onclick="toggleSection('i:id:ShortText:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a></span> <a href="#t:ShortText" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ShortText:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ShortText:IsString:6" class="instance expander" onclick="toggleSection('i:id:ShortText:IsString:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:IsString">IsString</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a></span> <a href="#t:ShortText" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ShortText:IsString:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fromString">fromString</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:fromString" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ShortText:Generic:7" class="instance expander" onclick="toggleSection('i:id:ShortText:Generic:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a></span> <a href="#t:ShortText" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ShortText:Generic:7" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> x -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ShortText:Semigroup:8" class="instance expander" onclick="toggleSection('i:id:ShortText:Semigroup:8')"></span> <a href="Distribution-Compat-Semigroup.html#t:Semigroup">Semigroup</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a></span> <a href="#t:ShortText" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ShortText:Semigroup:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(<>)</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integral">Integral</a> b => b -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ShortText:Monoid:9" class="instance expander" onclick="toggleSection('i:id:ShortText:Monoid:9')"></span> <a href="Distribution-Compat-Semigroup.html#t:Monoid">Monoid</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a></span> <a href="#t:ShortText" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ShortText:Monoid:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a>] -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ShortText:Binary:10" class="instance expander" onclick="toggleSection('i:id:ShortText:Binary:10')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a></span> <a href="#t:ShortText" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ShortText:Binary:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ShortText:NFData:11" class="instance expander" onclick="toggleSection('i:id:ShortText:NFData:11')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a></span> <a href="#t:ShortText" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ShortText:NFData:11" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ShortText:Rep:12" class="instance expander" onclick="toggleSection('i:id:ShortText:Rep:12')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a></span> <a href="#t:ShortText" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ShortText:Rep:12" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "ShortText" "Distribution.Utils.ShortText" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ST" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:True">True</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Just">Just</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a> "unST") <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/bytestring-0.10.8.2/Data-ByteString-Short.html#t:ShortByteString">ShortByteString</a>)))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:toShortText" class="def">toShortText</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> <a href="#v:toShortText" class="selflink">#</a></p><div class="doc"><p>Construct <code><a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a></code> from <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code></p></div></div><div class="top"><p class="src"><a id="v:fromShortText" class="def">fromShortText</a> :: <a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:fromShortText" class="selflink">#</a></p><div class="doc"><p>Convert <code><a href="Distribution-Utils-ShortText.html#t:ShortText">ShortText</a></code> to <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code></p></div></div><h1 id="g:2">internal utilities</h1><div class="top"><p class="src"><a id="v:decodeStringUtf8" class="def">decodeStringUtf8</a> :: [<a href="Distribution-Compat-Prelude-Internal.html#t:Word8">Word8</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:decodeStringUtf8" class="selflink">#</a></p><div class="doc"><p>Decode <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code> from UTF8-encoded octets.</p><p>Invalid data will be decoded as the replacement character (<code>U+FFFD</code>)</p><p>See also <code><a href="Distribution-Utils-ShortText.html#v:encodeStringUtf8">encodeStringUtf8</a></code></p></div></div><div class="top"><p class="src"><a id="v:encodeStringUtf8" class="def">encodeStringUtf8</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> [<a href="Distribution-Compat-Prelude-Internal.html#t:Word8">Word8</a>] <a href="#v:encodeStringUtf8" class="selflink">#</a></p><div class="doc"><p>Encode <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></code> to a list of UTF8-encoded octets</p><p>See also <code>decodeUtf8</code></p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,11 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Verbosity</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Ian Lynagh 2007</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Verbosity</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Verbosity</a></li><li><a href="#g:2">Call stacks</a></li><li><a href="#g:3">Output markets</a></li><li><a href="#g:4">line-wrapping</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>A <code><a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></code> type with associated utilities.</p><p>There are 4 standard verbosity levels from <code><a href="Distribution-Verbosity.html#v:silent">silent</a></code>, <code><a href="Distribution-Verbosity.html#v:normal">normal</a></code>,- <code><a href="Distribution-Verbosity.html#v:verbose">verbose</a></code> up to <code><a href="Distribution-Verbosity.html#v:deafening">deafening</a></code>. This is used for deciding what logging- messages to print.</p><p>Verbosity also is equipped with some internal settings which can be- used to control at a fine granularity the verbosity of specific- settings (e.g., so that you can trace only particular things you- are interested in.) It's important to note that the instances- for <code><a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></code> assume that this does not exist.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:Verbosity">Verbosity</a></li><li class="src short"><a href="#v:silent">silent</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li class="src short"><a href="#v:normal">normal</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li class="src short"><a href="#v:verbose">verbose</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li class="src short"><a href="#v:deafening">deafening</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li class="src short"><a href="#v:moreVerbose">moreVerbose</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li class="src short"><a href="#v:lessVerbose">lessVerbose</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li class="src short"><a href="#v:isVerboseQuiet">isVerboseQuiet</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:intToVerbosity">intToVerbosity</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li class="src short"><a href="#v:flagToVerbosity">flagToVerbosity</a> :: <a href="Distribution-ReadE.html#t:ReadE">ReadE</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li class="src short"><a href="#v:showForCabal">showForCabal</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:showForGHC">showForGHC</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:verboseNoFlags">verboseNoFlags</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li class="src short"><a href="#v:verboseHasFlags">verboseHasFlags</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:modifyVerbosity">modifyVerbosity</a> :: (<a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>) -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li class="src short"><a href="#v:verboseCallSite">verboseCallSite</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li class="src short"><a href="#v:verboseCallStack">verboseCallStack</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li class="src short"><a href="#v:isVerboseCallSite">isVerboseCallSite</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isVerboseCallStack">isVerboseCallStack</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:verboseMarkOutput">verboseMarkOutput</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li class="src short"><a href="#v:isVerboseMarkOutput">isVerboseMarkOutput</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:verboseUnmarkOutput">verboseUnmarkOutput</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li class="src short"><a href="#v:verboseNoWrap">verboseNoWrap</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></li><li class="src short"><a href="#v:isVerboseNoWrap">isVerboseNoWrap</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul></div><div id="interface"><h1 id="g:1">Verbosity</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Verbosity" class="def">Verbosity</a> <a href="#t:Verbosity" class="selflink">#</a></p><div class="subs instances"><p id="control.i:Verbosity" class="caption collapser" onclick="toggleSection('i:Verbosity')">Instances</p><div id="section.i:Verbosity" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Verbosity:Bounded:1" class="instance expander" onclick="toggleSection('i:id:Verbosity:Bounded:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Bounded">Bounded</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></span> <a href="#t:Verbosity" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Verbosity:Bounded:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:minBound">minBound</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:minBound" class="selflink">#</a></p><p class="src"><a href="#v:maxBound">maxBound</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:maxBound" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Verbosity:Enum:2" class="instance expander" onclick="toggleSection('i:id:Verbosity:Enum:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Enum">Enum</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></span> <a href="#t:Verbosity" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Verbosity:Enum:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:succ">succ</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:succ" class="selflink">#</a></p><p class="src"><a href="#v:pred">pred</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:pred" class="selflink">#</a></p><p class="src"><a href="#v:toEnum">toEnum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:toEnum" class="selflink">#</a></p><p class="src"><a href="#v:fromEnum">fromEnum</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:fromEnum" class="selflink">#</a></p><p class="src"><a href="#v:enumFrom">enumFrom</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> [<a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>] <a href="#v:enumFrom" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThen">enumFromThen</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> [<a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>] <a href="#v:enumFromThen" class="selflink">#</a></p><p class="src"><a href="#v:enumFromTo">enumFromTo</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> [<a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>] <a href="#v:enumFromTo" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThenTo">enumFromThenTo</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> [<a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>] <a href="#v:enumFromThenTo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Verbosity:Eq:3" class="instance expander" onclick="toggleSection('i:id:Verbosity:Eq:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></span> <a href="#t:Verbosity" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Verbosity:Eq:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Verbosity:Ord:4" class="instance expander" onclick="toggleSection('i:id:Verbosity:Ord:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></span> <a href="#t:Verbosity" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Verbosity:Ord:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Verbosity:Read:5" class="instance expander" onclick="toggleSection('i:id:Verbosity:Read:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></span> <a href="#t:Verbosity" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Verbosity:Read:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Verbosity:Show:6" class="instance expander" onclick="toggleSection('i:id:Verbosity:Show:6')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></span> <a href="#t:Verbosity" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Verbosity:Show:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Verbosity:Generic:7" class="instance expander" onclick="toggleSection('i:id:Verbosity:Generic:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></span> <a href="#t:Verbosity" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Verbosity:Generic:7" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> x -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Verbosity:Binary:8" class="instance expander" onclick="toggleSection('i:id:Verbosity:Binary:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></span> <a href="#t:Verbosity" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Verbosity:Binary:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Verbosity:Rep:9" class="instance expander" onclick="toggleSection('i:id:Verbosity:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></span> <a href="#t:Verbosity" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Verbosity:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:silent" class="def">silent</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:silent" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:normal" class="def">normal</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:normal" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:verbose" class="def">verbose</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:verbose" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:deafening" class="def">deafening</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:deafening" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:moreVerbose" class="def">moreVerbose</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:moreVerbose" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:lessVerbose" class="def">lessVerbose</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:lessVerbose" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:isVerboseQuiet" class="def">isVerboseQuiet</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isVerboseQuiet" class="selflink">#</a></p><div class="doc"><p>Test if we had called <code><a href="Distribution-Verbosity.html#v:lessVerbose">lessVerbose</a></code> on the verbosity</p></div></div><div class="top"><p class="src"><a id="v:intToVerbosity" class="def">intToVerbosity</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:intToVerbosity" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:flagToVerbosity" class="def">flagToVerbosity</a> :: <a href="Distribution-ReadE.html#t:ReadE">ReadE</a> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:flagToVerbosity" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:showForCabal" class="def">showForCabal</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:showForCabal" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:showForGHC" class="def">showForGHC</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:showForGHC" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:verboseNoFlags" class="def">verboseNoFlags</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:verboseNoFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:verboseHasFlags" class="def">verboseHasFlags</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:verboseHasFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:modifyVerbosity" class="def">modifyVerbosity</a> :: (<a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a>) -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:modifyVerbosity" class="selflink">#</a></p><div class="doc"><p>Combinator for transforming verbosity level while retaining the original hidden state.</p><p>For instance, the following property holds</p><pre>isVerboseNoWrap (modifyVerbosity (max verbose) v) == isVerboseNoWrap v</pre><p><strong>Note</strong>: you can use <code>modifyVerbosity (const v1) v0</code> to overwrite <code>v1</code>'s flags with <code>v0</code>'s flags.</p><p><em>Since: 2.0.1</em></p></div></div><h1 id="g:2">Call stacks</h1><div class="top"><p class="src"><a id="v:verboseCallSite" class="def">verboseCallSite</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:verboseCallSite" class="selflink">#</a></p><div class="doc"><p>Turn on verbose call-site printing when we log.</p></div></div><div class="top"><p class="src"><a id="v:verboseCallStack" class="def">verboseCallStack</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:verboseCallStack" class="selflink">#</a></p><div class="doc"><p>Turn on verbose call-stack printing when we log.</p></div></div><div class="top"><p class="src"><a id="v:isVerboseCallSite" class="def">isVerboseCallSite</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isVerboseCallSite" class="selflink">#</a></p><div class="doc"><p>Test if we should output call sites when we log.</p></div></div><div class="top"><p class="src"><a id="v:isVerboseCallStack" class="def">isVerboseCallStack</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isVerboseCallStack" class="selflink">#</a></p><div class="doc"><p>Test if we should output call stacks when we log.</p></div></div><h1 id="g:3">Output markets</h1><div class="top"><p class="src"><a id="v:verboseMarkOutput" class="def">verboseMarkOutput</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:verboseMarkOutput" class="selflink">#</a></p><div class="doc"><p>Turn on <code>-----BEGIN CABAL OUTPUT-----</code> markers for output- from Cabal (as opposed to GHC, or system dependent).</p></div></div><div class="top"><p class="src"><a id="v:isVerboseMarkOutput" class="def">isVerboseMarkOutput</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isVerboseMarkOutput" class="selflink">#</a></p><div class="doc"><p>Test if we should output markets.</p></div></div><div class="top"><p class="src"><a id="v:verboseUnmarkOutput" class="def">verboseUnmarkOutput</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:verboseUnmarkOutput" class="selflink">#</a></p><div class="doc"><p>Turn off marking; useful for suppressing nondeterministic output.</p></div></div><h1 id="g:4">line-wrapping</h1><div class="top"><p class="src"><a id="v:verboseNoWrap" class="def">verboseNoWrap</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> <a href="#v:verboseNoWrap" class="selflink">#</a></p><div class="doc"><p>Disable line-wrapping for log messages.</p></div></div><div class="top"><p class="src"><a id="v:isVerboseNoWrap" class="def">isVerboseNoWrap</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isVerboseNoWrap" class="selflink">#</a></p><div class="doc"><p>Test if line-wrapping is disabled for log messages.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,78 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Version</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones Simon Marlow 2003-2004<br />Duncan Coutts 2008</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Version</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Package versions</a><ul><li><a href="#g:2">Backwards compatibility</a></li></ul></li><li><a href="#g:3">Version ranges</a><ul><li><a href="#g:4">Constructing</a></li><li><a href="#g:5">Inspection</a></li><li><a href="#g:6">Modification</a></li></ul></li><li><a href="#g:7">Version intervals view</a><ul><li><a href="#g:8"><code>VersionIntervals</code> abstract type</a></li></ul></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Exports the <code><a href="Distribution-Version.html#t:Version">Version</a></code> type along with a parser and pretty printer. A version- is something like <code>"1.3.3"</code>. It also defines the <code><a href="Distribution-Version.html#t:VersionRange">VersionRange</a></code> data- types. Version ranges are like <code>">= 1.2 && < 2"</code>.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:Version">Version</a></li><li class="src short"><a href="#v:mkVersion">mkVersion</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>] -> <a href="Distribution-Version.html#t:Version">Version</a></li><li class="src short"><a href="#v:mkVersion-39-">mkVersion'</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a></li><li class="src short"><a href="#v:versionNumbers">versionNumbers</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>]</li><li class="src short"><a href="#v:nullVersion">nullVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a></li><li class="src short"><a href="#v:alterVersion">alterVersion</a> :: ([<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>]) -> <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a></li><li class="src short"><a href="#v:showVersion">showVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:VersionRange">VersionRange</a><ul class="subs"><li>= <a href="#v:AnyVersion">AnyVersion</a></li><li>| <a href="#v:ThisVersion">ThisVersion</a> <a href="Distribution-Version.html#t:Version">Version</a></li><li>| <a href="#v:LaterVersion">LaterVersion</a> <a href="Distribution-Version.html#t:Version">Version</a></li><li>| <a href="#v:EarlierVersion">EarlierVersion</a> <a href="Distribution-Version.html#t:Version">Version</a></li><li>| <a href="#v:WildcardVersion">WildcardVersion</a> <a href="Distribution-Version.html#t:Version">Version</a></li><li>| <a href="#v:MajorBoundVersion">MajorBoundVersion</a> <a href="Distribution-Version.html#t:Version">Version</a></li><li>| <a href="#v:UnionVersionRanges">UnionVersionRanges</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li>| <a href="#v:IntersectVersionRanges">IntersectVersionRanges</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li>| <a href="#v:VersionRangeParens">VersionRangeParens</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li></ul></li><li class="src short"><a href="#v:anyVersion">anyVersion</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:noVersion">noVersion</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:thisVersion">thisVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:notThisVersion">notThisVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:laterVersion">laterVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:earlierVersion">earlierVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:orLaterVersion">orLaterVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:orEarlierVersion">orEarlierVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:unionVersionRanges">unionVersionRanges</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:intersectVersionRanges">intersectVersionRanges</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:differenceVersionRanges">differenceVersionRanges</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:invertVersionRange">invertVersionRange</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:withinVersion">withinVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:majorBoundVersion">majorBoundVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:betweenVersionsInclusive">betweenVersionsInclusive</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:withinRange">withinRange</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isAnyVersion">isAnyVersion</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isNoVersion">isNoVersion</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isSpecificVersion">isSpecificVersion</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a></li><li class="src short"><a href="#v:simplifyVersionRange">simplifyVersionRange</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:foldVersionRange">foldVersionRange</a> :: a -> (<a href="Distribution-Version.html#t:Version">Version</a> -> a) -> (<a href="Distribution-Version.html#t:Version">Version</a> -> a) -> (<a href="Distribution-Version.html#t:Version">Version</a> -> a) -> (a -> a -> a) -> (a -> a -> a) -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> a</li><li class="src short"><a href="#v:foldVersionRange-39-">foldVersionRange'</a> :: a -> (<a href="Distribution-Version.html#t:Version">Version</a> -> a) -> (<a href="Distribution-Version.html#t:Version">Version</a> -> a) -> (<a href="Distribution-Version.html#t:Version">Version</a> -> a) -> (<a href="Distribution-Version.html#t:Version">Version</a> -> a) -> (<a href="Distribution-Version.html#t:Version">Version</a> -> a) -> (<a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a> -> a) -> (<a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a> -> a) -> (a -> a -> a) -> (a -> a -> a) -> (a -> a) -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> a</li><li class="src short"><a href="#v:hasUpperBound">hasUpperBound</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:hasLowerBound">hasLowerBound</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:removeUpperBound">removeUpperBound</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:removeLowerBound">removeLowerBound</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:asVersionIntervals">asVersionIntervals</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> [<a href="Distribution-Version.html#t:VersionInterval">VersionInterval</a>]</li><li class="src short"><span class="keyword">type</span> <a href="#t:VersionInterval">VersionInterval</a> = (<a href="Distribution-Version.html#t:LowerBound">LowerBound</a>, <a href="Distribution-Version.html#t:UpperBound">UpperBound</a>)</li><li class="src short"><span class="keyword">data</span> <a href="#t:LowerBound">LowerBound</a> = <a href="#v:LowerBound">LowerBound</a> <a href="Distribution-Version.html#t:Version">Version</a> !<a href="Distribution-Version.html#t:Bound">Bound</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:UpperBound">UpperBound</a><ul class="subs"><li>= <a href="#v:NoUpperBound">NoUpperBound</a></li><li>| <a href="#v:UpperBound">UpperBound</a> <a href="Distribution-Version.html#t:Version">Version</a> !<a href="Distribution-Version.html#t:Bound">Bound</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:Bound">Bound</a><ul class="subs"><li>= <a href="#v:ExclusiveBound">ExclusiveBound</a></li><li>| <a href="#v:InclusiveBound">InclusiveBound</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:VersionIntervals">VersionIntervals</a></li><li class="src short"><a href="#v:toVersionIntervals">toVersionIntervals</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a></li><li class="src short"><a href="#v:fromVersionIntervals">fromVersionIntervals</a> :: <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><a href="#v:withinIntervals">withinIntervals</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:versionIntervals">versionIntervals</a> :: <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> -> [<a href="Distribution-Version.html#t:VersionInterval">VersionInterval</a>]</li><li class="src short"><a href="#v:mkVersionIntervals">mkVersionIntervals</a> :: [<a href="Distribution-Version.html#t:VersionInterval">VersionInterval</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a></li><li class="src short"><a href="#v:unionVersionIntervals">unionVersionIntervals</a> :: <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> -> <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> -> <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a></li><li class="src short"><a href="#v:intersectVersionIntervals">intersectVersionIntervals</a> :: <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> -> <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> -> <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a></li><li class="src short"><a href="#v:invertVersionIntervals">invertVersionIntervals</a> :: <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> -> <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a></li></ul></div><div id="interface"><h1 id="g:1">Package versions</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Version" class="def">Version</a> <a href="#t:Version" class="selflink">#</a></p><div class="doc"><p>A <code><a href="Distribution-Version.html#t:Version">Version</a></code> represents the version of a software entity.</p><p>Instances of <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a></code> and <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a></code> are provided, which gives exact- equality and lexicographic ordering of the version number- components (i.e. 2.1 > 2.0, 1.2.3 > 1.2.2, etc.).</p><p>This type is opaque and distinct from the <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Version.html#t:Version">Version</a></code> type in- <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Version.html">Data.Version</a> since <code>Cabal-2.0</code>. The difference extends to the- <code><a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a></code> instance using a different (and more compact) encoding.</p><p><em>Since: 2.0.0.2</em></p></div><div class="subs instances"><p id="control.i:Version" class="caption collapser" onclick="toggleSection('i:Version')">Instances</p><div id="section.i:Version" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Version:Eq:1" class="instance expander" onclick="toggleSection('i:id:Version:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Version.html#t:Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Version:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Version:Data:2" class="instance expander" onclick="toggleSection('i:id:Version:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Version.html#t:Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Version:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Version.html#t:Version">Version</a> -> c <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Version.html#t:Version">Version</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Version.html#t:Version">Version</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Version.html#t:Version">Version</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Version.html#t:Version">Version</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Version.html#t:Version">Version</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Version.html#t:Version">Version</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Version.html#t:Version">Version</a> -> m <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Version.html#t:Version">Version</a> -> m <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Version.html#t:Version">Version</a> -> m <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Version:Ord:3" class="instance expander" onclick="toggleSection('i:id:Version:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Version.html#t:Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Version:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Version:Read:4" class="instance expander" onclick="toggleSection('i:id:Version:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Version.html#t:Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Version:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Version.html#t:Version">Version</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Version.html#t:Version">Version</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Version:Show:5" class="instance expander" onclick="toggleSection('i:id:Version:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Version.html#t:Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Version:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Version.html#t:Version">Version</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Version:Generic:6" class="instance expander" onclick="toggleSection('i:id:Version:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Version.html#t:Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Version:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Version.html#t:Version">Version</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Version.html#t:Version">Version</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Version.html#t:Version">Version</a> x -> <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Version:Binary:7" class="instance expander" onclick="toggleSection('i:id:Version:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Version.html#t:Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Version:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Version.html#t:Version">Version</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Version:NFData:8" class="instance expander" onclick="toggleSection('i:id:Version:NFData:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Version.html#t:Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Version:NFData:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Version:Text:9" class="instance expander" onclick="toggleSection('i:id:Version:Text:9')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Version.html#t:Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Version:Text:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Version:Rep:10" class="instance expander" onclick="toggleSection('i:id:Version:Rep:10')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Version.html#t:Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Version:Rep:10" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Version.html#t:Version">Version</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Version" "Distribution.Version" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PV0" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:SourceUnpack">SourceUnpack</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:SourceStrict">SourceStrict</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedStrict">DecidedStrict</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Compat-Prelude-Internal.html#t:Word64">Word64</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PV1" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:SourceStrict">SourceStrict</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedStrict">DecidedStrict</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>])))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:mkVersion" class="def">mkVersion</a> :: [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>] -> <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:mkVersion" class="selflink">#</a></p><div class="doc"><p>Construct <code><a href="Distribution-Version.html#t:Version">Version</a></code> from list of version number components.</p><p>For instance, <code>mkVersion [3,2,1]</code> constructs a <code><a href="Distribution-Version.html#t:Version">Version</a></code>- representing the version <code>3.2.1</code>.</p><p>All version components must be non-negative. <code>mkVersion []</code>- currently represents the special <em>null</em> version; see also <code><a href="Distribution-Version.html#v:nullVersion">nullVersion</a></code>.</p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:mkVersion-39-" class="def">mkVersion'</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:mkVersion-39-" class="selflink">#</a></p><div class="doc"><p>Variant of <code><a href="Distribution-Version.html#t:Version">Version</a></code> which converts a <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Version.html">Data.Version</a> <code><a href="Distribution-Version.html#t:Version">Version</a></code>- into Cabal's <code><a href="Distribution-Version.html#t:Version">Version</a></code> type.</p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:versionNumbers" class="def">versionNumbers</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>] <a href="#v:versionNumbers" class="selflink">#</a></p><div class="doc"><p>Unpack <code><a href="Distribution-Version.html#t:Version">Version</a></code> into list of version number components.</p><p>This is the inverse to <code><a href="Distribution-Version.html#v:mkVersion">mkVersion</a></code>, so the following holds:</p><pre>(versionNumbers . mkVersion) vs == vs</pre><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:nullVersion" class="def">nullVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:nullVersion" class="selflink">#</a></p><div class="doc"><p>Constant representing the special <em>null</em> <code><a href="Distribution-Version.html#t:Version">Version</a></code></p><p>The <code><a href="Distribution-Version.html#v:nullVersion">nullVersion</a></code> compares (via <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a></code>) as less than every proper- <code><a href="Distribution-Version.html#t:Version">Version</a></code> value.</p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:alterVersion" class="def">alterVersion</a> :: ([<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>] -> [<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a>]) -> <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:alterVersion" class="selflink">#</a></p><div class="doc"><p>Apply function to list of version number components</p><pre>alterVersion f == mkVersion . f . versionNumbers</pre><p><em>Since: 2.0.0.2</em></p></div></div><h2 id="g:2">Backwards compatibility</h2><div class="top"><p class="src"><a id="v:showVersion" class="def">showVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:showVersion" class="selflink">#</a></p></div><h1 id="g:3">Version ranges</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:VersionRange" class="def">VersionRange</a> <a href="#t:VersionRange" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:AnyVersion" class="def">AnyVersion</a></td><td class="doc"><div class="warning"><p>Deprecated: Use <code><a href="Distribution-Version.html#v:anyVersion">anyVersion</a></code>, <code><a href="Distribution-Version.html#v:foldVersionRange">foldVersionRange</a></code> or <code><a href="Distribution-Version.html#v:asVersionIntervals">asVersionIntervals</a></code></p></div></td></tr><tr><td class="src"><a id="v:ThisVersion" class="def">ThisVersion</a> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc"><div class="warning"><p>Deprecated: Use <code><a href="Distribution-Version.html#v:thisVersion">thisVersion</a></code>, <code><a href="Distribution-Version.html#v:foldVersionRange">foldVersionRange</a></code> or <code><a href="Distribution-Version.html#v:asVersionIntervals">asVersionIntervals</a></code></p></div></td></tr><tr><td class="src"><a id="v:LaterVersion" class="def">LaterVersion</a> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc"><div class="warning"><p>Deprecated: Use <code><a href="Distribution-Version.html#v:laterVersion">laterVersion</a></code>, <code><a href="Distribution-Version.html#v:foldVersionRange">foldVersionRange</a></code> or <code><a href="Distribution-Version.html#v:asVersionIntervals">asVersionIntervals</a></code></p></div></td></tr><tr><td class="src"><a id="v:EarlierVersion" class="def">EarlierVersion</a> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc"><div class="warning"><p>Deprecated: Use <code><a href="Distribution-Version.html#v:earlierVersion">earlierVersion</a></code>, <code><a href="Distribution-Version.html#v:foldVersionRange">foldVersionRange</a></code> or <code><a href="Distribution-Version.html#v:asVersionIntervals">asVersionIntervals</a></code></p></div></td></tr><tr><td class="src"><a id="v:WildcardVersion" class="def">WildcardVersion</a> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc"><div class="warning"><p>Deprecated: Use <code><a href="Distribution-Version.html#v:anyVersion">anyVersion</a></code>, <code><a href="Distribution-Version.html#v:foldVersionRange">foldVersionRange</a></code> or <code><a href="Distribution-Version.html#v:asVersionIntervals">asVersionIntervals</a></code></p></div></td></tr><tr><td class="src"><a id="v:MajorBoundVersion" class="def">MajorBoundVersion</a> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:UnionVersionRanges" class="def">UnionVersionRanges</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></td><td class="doc"><div class="warning"><p>Deprecated: Use <code><a href="Distribution-Version.html#v:unionVersionRanges">unionVersionRanges</a></code>, <code><a href="Distribution-Version.html#v:foldVersionRange">foldVersionRange</a></code> or <code><a href="Distribution-Version.html#v:asVersionIntervals">asVersionIntervals</a></code></p></div></td></tr><tr><td class="src"><a id="v:IntersectVersionRanges" class="def">IntersectVersionRanges</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></td><td class="doc"><div class="warning"><p>Deprecated: Use <code><a href="Distribution-Version.html#v:intersectVersionRanges">intersectVersionRanges</a></code>, <code><a href="Distribution-Version.html#v:foldVersionRange">foldVersionRange</a></code> or <code><a href="Distribution-Version.html#v:asVersionIntervals">asVersionIntervals</a></code></p></div></td></tr><tr><td class="src"><a id="v:VersionRangeParens" class="def">VersionRangeParens</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:VersionRange" class="caption collapser" onclick="toggleSection('i:VersionRange')">Instances</p><div id="section.i:VersionRange" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:VersionRange:Eq:1" class="instance expander" onclick="toggleSection('i:id:VersionRange:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></span> <a href="#t:VersionRange" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:VersionRange:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:VersionRange:Data:2" class="instance expander" onclick="toggleSection('i:id:VersionRange:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></span> <a href="#t:VersionRange" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:VersionRange:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> c <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> m <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> m <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> m <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:VersionRange:Read:3" class="instance expander" onclick="toggleSection('i:id:VersionRange:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></span> <a href="#t:VersionRange" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:VersionRange:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Distribution-Version.html#t:VersionRange">VersionRange</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Distribution-Version.html#t:VersionRange">VersionRange</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:VersionRange:Show:4" class="instance expander" onclick="toggleSection('i:id:VersionRange:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></span> <a href="#t:VersionRange" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:VersionRange:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Version.html#t:VersionRange">VersionRange</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:VersionRange:Generic:5" class="instance expander" onclick="toggleSection('i:id:VersionRange:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></span> <a href="#t:VersionRange" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:VersionRange:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> x -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:VersionRange:Binary:6" class="instance expander" onclick="toggleSection('i:id:VersionRange:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></span> <a href="#t:VersionRange" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:VersionRange:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Version.html#t:VersionRange">VersionRange</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:VersionRange:NFData:7" class="instance expander" onclick="toggleSection('i:id:VersionRange:NFData:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData">NFData</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></span> <a href="#t:VersionRange" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:VersionRange:NFData:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> () <a href="#v:rnf" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:VersionRange:Text:8" class="instance expander" onclick="toggleSection('i:id:VersionRange:Text:8')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></span> <a href="#t:VersionRange" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:VersionRange:Text:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:VersionRange:Rep:9" class="instance expander" onclick="toggleSection('i:id:VersionRange:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></span> <a href="#t:VersionRange" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:VersionRange:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "VersionRange" "Distribution.Version" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "AnyVersion" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ThisVersion" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "LaterVersion" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "EarlierVersion" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "WildcardVersion" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "MajorBoundVersion" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:Version">Version</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "UnionVersionRanges" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "IntersectVersionRanges" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-42-:">(:*:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "VersionRangeParens" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>)))))))</div></div></td></tr></table></div></div></div><h2 id="g:4">Constructing</h2><div class="top"><p class="src"><a id="v:anyVersion" class="def">anyVersion</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:anyVersion" class="selflink">#</a></p><div class="doc"><p>The version range <code>-any</code>. That is, a version range containing all- versions.</p><pre>withinRange v anyVersion = True</pre></div></div><div class="top"><p class="src"><a id="v:noVersion" class="def">noVersion</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:noVersion" class="selflink">#</a></p><div class="doc"><p>The empty version range, that is a version range containing no versions.</p><p>This can be constructed using any unsatisfiable version range expression,- for example <code>> 1 && < 1</code>.</p><pre>withinRange v noVersion = False</pre></div></div><div class="top"><p class="src"><a id="v:thisVersion" class="def">thisVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:thisVersion" class="selflink">#</a></p><div class="doc"><p>The version range <code>== v</code></p><pre>withinRange v' (thisVersion v) = v' == v</pre></div></div><div class="top"><p class="src"><a id="v:notThisVersion" class="def">notThisVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:notThisVersion" class="selflink">#</a></p><div class="doc"><p>The version range <code><a href="v">||</a> v</code></p><pre>withinRange v' (notThisVersion v) = v' /= v</pre></div></div><div class="top"><p class="src"><a id="v:laterVersion" class="def">laterVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:laterVersion" class="selflink">#</a></p><div class="doc"><p>The version range <code>> v</code></p><pre>withinRange v' (laterVersion v) = v' > v</pre></div></div><div class="top"><p class="src"><a id="v:earlierVersion" class="def">earlierVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:earlierVersion" class="selflink">#</a></p><div class="doc"><p>The version range <code>< v</code></p><pre>withinRange v' (earlierVersion v) = v' < v</pre></div></div><div class="top"><p class="src"><a id="v:orLaterVersion" class="def">orLaterVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:orLaterVersion" class="selflink">#</a></p><div class="doc"><p>The version range <code>>= v</code></p><pre>withinRange v' (orLaterVersion v) = v' >= v</pre></div></div><div class="top"><p class="src"><a id="v:orEarlierVersion" class="def">orEarlierVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:orEarlierVersion" class="selflink">#</a></p><div class="doc"><p>The version range <code><= v</code></p><pre>withinRange v' (orEarlierVersion v) = v' <= v</pre></div></div><div class="top"><p class="src"><a id="v:unionVersionRanges" class="def">unionVersionRanges</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:unionVersionRanges" class="selflink">#</a></p><div class="doc"><p>The version range <code>vr1 || vr2</code></p><pre> withinRange v' (unionVersionRanges vr1 vr2)-= withinRange v' vr1 || withinRange v' vr2</pre></div></div><div class="top"><p class="src"><a id="v:intersectVersionRanges" class="def">intersectVersionRanges</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:intersectVersionRanges" class="selflink">#</a></p><div class="doc"><p>The version range <code>vr1 && vr2</code></p><pre> withinRange v' (intersectVersionRanges vr1 vr2)-= withinRange v' vr1 && withinRange v' vr2</pre></div></div><div class="top"><p class="src"><a id="v:differenceVersionRanges" class="def">differenceVersionRanges</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:differenceVersionRanges" class="selflink">#</a></p><div class="doc"><p>The difference of two version ranges</p><pre> withinRange v' (differenceVersionRanges vr1 vr2)-= withinRange v' vr1 && not (withinRange v' vr2)</pre><p><em>Since: 1.24.1.0</em></p></div></div><div class="top"><p class="src"><a id="v:invertVersionRange" class="def">invertVersionRange</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:invertVersionRange" class="selflink">#</a></p><div class="doc"><p>The inverse of a version range</p><pre> withinRange v' (invertVersionRange vr)-= not (withinRange v' vr)</pre></div></div><div class="top"><p class="src"><a id="v:withinVersion" class="def">withinVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:withinVersion" class="selflink">#</a></p><div class="doc"><p>The version range <code>== v.*</code>.</p><p>For example, for version <code>1.2</code>, the version range <code>== 1.2.*</code> is the same as- <code>>= 1.2 && < 1.3</code></p><pre>withinRange v' (laterVersion v) = v' >= v && v' < upper v- where- upper (Version lower t) = Version (init lower ++ [last lower + 1]) t</pre></div></div><div class="top"><p class="src"><a id="v:majorBoundVersion" class="def">majorBoundVersion</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:majorBoundVersion" class="selflink">#</a></p><div class="doc"><p>The version range <code>^>= v</code>.</p><p>For example, for version <code>1.2.3.4</code>, the version range <code>^>= 1.2.3.4</code> is the same as- <code>>= 1.2.3.4 && < 1.3</code>.</p><p>Note that <code>^>= 1</code> is equivalent to <code>>= 1 && < 1.1</code>.</p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:betweenVersionsInclusive" class="def">betweenVersionsInclusive</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:betweenVersionsInclusive" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: In practice this is not very useful because we normally use inclusive lower bounds and exclusive upper bounds</p></div></div></div><h2 id="g:5">Inspection</h2><div class="top"><p class="src"><a id="v:withinRange" class="def">withinRange</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:withinRange" class="selflink">#</a></p><div class="doc"><p>Does this version fall within the given range?</p><p>This is the evaluation function for the <code><a href="Distribution-Version.html#t:VersionRange">VersionRange</a></code> type.</p></div></div><div class="top"><p class="src"><a id="v:isAnyVersion" class="def">isAnyVersion</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isAnyVersion" class="selflink">#</a></p><div class="doc"><p>Does this <code><a href="Distribution-Version.html#t:VersionRange">VersionRange</a></code> place any restriction on the <code><a href="Distribution-Version.html#t:Version">Version</a></code> or is it- in fact equivalent to <code><a href="Distribution-Version.html#v:AnyVersion">AnyVersion</a></code>.</p><p>Note this is a semantic check, not simply a syntactic check. So for example- the following is <code>True</code> (for all <code>v</code>).</p><pre>isAnyVersion (EarlierVersion v `UnionVersionRanges` orLaterVersion v)</pre></div></div><div class="top"><p class="src"><a id="v:isNoVersion" class="def">isNoVersion</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:isNoVersion" class="selflink">#</a></p><div class="doc"><p>This is the converse of <code><a href="Distribution-Version.html#v:isAnyVersion">isAnyVersion</a></code>. It check if the version range is- empty, if there is no possible version that satisfies the version range.</p><p>For example this is <code>True</code> (for all <code>v</code>):</p><pre>isNoVersion (EarlierVersion v `IntersectVersionRanges` LaterVersion v)</pre></div></div><div class="top"><p class="src"><a id="v:isSpecificVersion" class="def">isSpecificVersion</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="#v:isSpecificVersion" class="selflink">#</a></p><div class="doc"><p>Is this version range in fact just a specific version?</p><p>For example the version range <code>">= 3 && <= 3"</code> contains only the version- <code>3</code>.</p></div></div><div class="top"><p class="src"><a id="v:simplifyVersionRange" class="def">simplifyVersionRange</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:simplifyVersionRange" class="selflink">#</a></p><div class="doc"><p>Simplify a <code><a href="Distribution-Version.html#t:VersionRange">VersionRange</a></code> expression. For non-empty version ranges- this produces a canonical form. Empty or inconsistent version ranges- are left as-is because that provides more information.</p><p>If you need a canonical form use- <code>fromVersionIntervals . toVersionIntervals</code></p><p>It satisfies the following properties:</p><pre>withinRange v (simplifyVersionRange r) = withinRange v r</pre><pre> withinRange v r = withinRange v r'-==> simplifyVersionRange r = simplifyVersionRange r'- || isNoVersion r- || isNoVersion r'</pre></div></div><div class="top"><p class="src"><a id="v:foldVersionRange" class="def">foldVersionRange</a> <a href="#v:foldVersionRange" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: a</td><td class="doc"><p><code>"-any"</code> version</p></td></tr><tr><td class="src">-> (<a href="Distribution-Version.html#t:Version">Version</a> -> a)</td><td class="doc"><pre>"== v"</pre></td></tr><tr><td class="src">-> (<a href="Distribution-Version.html#t:Version">Version</a> -> a)</td><td class="doc"><pre>"> v"</pre></td></tr><tr><td class="src">-> (<a href="Distribution-Version.html#t:Version">Version</a> -> a)</td><td class="doc"><pre>"< v"</pre></td></tr><tr><td class="src">-> (a -> a -> a)</td><td class="doc"><p><code>"_ || _"</code> union</p></td></tr><tr><td class="src">-> (a -> a -> a)</td><td class="doc"><p><code>"_ && _"</code> intersection</p></td></tr><tr><td class="src">-> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> a</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Fold over the basic syntactic structure of a <code><a href="Distribution-Version.html#t:VersionRange">VersionRange</a></code>.</p><p>This provides a syntactic view of the expression defining the version range.- The syntactic sugar <code>">= v"</code>, <code>"<= v"</code> and <code>"== v.*"</code> is presented- in terms of the other basic syntax.</p><p>For a semantic view use <code><a href="Distribution-Version.html#v:asVersionIntervals">asVersionIntervals</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:foldVersionRange-39-" class="def">foldVersionRange'</a> <a href="#v:foldVersionRange-39-" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: a</td><td class="doc"><p><code>"-any"</code> version</p></td></tr><tr><td class="src">-> (<a href="Distribution-Version.html#t:Version">Version</a> -> a)</td><td class="doc"><pre>"== v"</pre></td></tr><tr><td class="src">-> (<a href="Distribution-Version.html#t:Version">Version</a> -> a)</td><td class="doc"><pre>"> v"</pre></td></tr><tr><td class="src">-> (<a href="Distribution-Version.html#t:Version">Version</a> -> a)</td><td class="doc"><pre>"< v"</pre></td></tr><tr><td class="src">-> (<a href="Distribution-Version.html#t:Version">Version</a> -> a)</td><td class="doc"><pre>">= v"</pre></td></tr><tr><td class="src">-> (<a href="Distribution-Version.html#t:Version">Version</a> -> a)</td><td class="doc"><pre>"<= v"</pre></td></tr><tr><td class="src">-> (<a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a> -> a)</td><td class="doc"><p><code>"== v.*"</code> wildcard. The- function is passed the- inclusive lower bound and the- exclusive upper bounds of the- range defined by the wildcard.</p></td></tr><tr><td class="src">-> (<a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:Version">Version</a> -> a)</td><td class="doc"><p><code>"^>= v"</code> major upper bound- The function is passed the- inclusive lower bound and the- exclusive major upper bounds- of the range defined by this- operator.</p></td></tr><tr><td class="src">-> (a -> a -> a)</td><td class="doc"><p><code>"_ || _"</code> union</p></td></tr><tr><td class="src">-> (a -> a -> a)</td><td class="doc"><p><code>"_ && _"</code> intersection</p></td></tr><tr><td class="src">-> (a -> a)</td><td class="doc"><p><code>"(_)"</code> parentheses</p></td></tr><tr><td class="src">-> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> a</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>An extended variant of <code><a href="Distribution-Version.html#v:foldVersionRange">foldVersionRange</a></code> that also provides a view of the- expression in which the syntactic sugar <code>">= v"</code>, <code>"<= v"</code> and <code>"==- v.*"</code> is presented explicitly rather than in terms of the other basic- syntax.</p></div></div><div class="top"><p class="src"><a id="v:hasUpperBound" class="def">hasUpperBound</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:hasUpperBound" class="selflink">#</a></p><div class="doc"><p>Does the version range have an upper bound?</p><p><em>Since: 1.24.0.0</em></p></div></div><div class="top"><p class="src"><a id="v:hasLowerBound" class="def">hasLowerBound</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:hasLowerBound" class="selflink">#</a></p><div class="doc"><p>Does the version range have an explicit lower bound?</p><p>Note: this function only considers the user-specified lower bounds, but not- the implicit >=0 lower bound.</p><p><em>Since: 1.24.0.0</em></p></div></div><h2 id="g:6">Modification</h2><div class="top"><p class="src"><a id="v:removeUpperBound" class="def">removeUpperBound</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:removeUpperBound" class="selflink">#</a></p><div class="doc"><p>Given a version range, remove the highest upper bound. Example: <code>(>= 1 && <- 3) || (>= 4 && < 5)</code> is converted to <code>(>= 1 && <a href="3)">|| (</a>= 4)</code>.</p></div></div><div class="top"><p class="src"><a id="v:removeLowerBound" class="def">removeLowerBound</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:removeLowerBound" class="selflink">#</a></p><div class="doc"><p>Given a version range, remove the lowest lower bound.- Example: <code>(>= 1 && <a href="3)">|| (</a>= 4 && < 5)</code> is converted to- <code>(>= 0 && <a href="3)">|| (</a>= 4 && < 5)</code>.</p></div></div><h1 id="g:7">Version intervals view</h1><div class="top"><p class="src"><a id="v:asVersionIntervals" class="def">asVersionIntervals</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> [<a href="Distribution-Version.html#t:VersionInterval">VersionInterval</a>] <a href="#v:asVersionIntervals" class="selflink">#</a></p><div class="doc"><p>View a <code><a href="Distribution-Version.html#t:VersionRange">VersionRange</a></code> as a union of intervals.</p><p>This provides a canonical view of the semantics of a <code><a href="Distribution-Version.html#t:VersionRange">VersionRange</a></code> as- opposed to the syntax of the expression used to define it. For the syntactic- view use <code><a href="Distribution-Version.html#v:foldVersionRange">foldVersionRange</a></code>.</p><p>Each interval is non-empty. The sequence is in increasing order and no- intervals overlap or touch. Therefore only the first and last can be- unbounded. The sequence can be empty if the range is empty- (e.g. a range expression like <code><a href="1">&&</a> 2</code>).</p><p>Other checks are trivial to implement using this view. For example:</p><pre>isNoVersion vr | [] <- asVersionIntervals vr = True- | otherwise = False</pre><pre>isSpecificVersion vr- | [(LowerBound v InclusiveBound- ,UpperBound v' InclusiveBound)] <- asVersionIntervals vr- , v == v' = Just v- | otherwise = Nothing</pre></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:VersionInterval" class="def">VersionInterval</a> = (<a href="Distribution-Version.html#t:LowerBound">LowerBound</a>, <a href="Distribution-Version.html#t:UpperBound">UpperBound</a>) <a href="#t:VersionInterval" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:LowerBound" class="def">LowerBound</a> <a href="#t:LowerBound" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:LowerBound" class="def">LowerBound</a> <a href="Distribution-Version.html#t:Version">Version</a> !<a href="Distribution-Version.html#t:Bound">Bound</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:LowerBound" class="caption collapser" onclick="toggleSection('i:LowerBound')">Instances</p><div id="section.i:LowerBound" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LowerBound:Eq:1" class="instance expander" onclick="toggleSection('i:id:LowerBound:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Version.html#t:LowerBound">LowerBound</a></span> <a href="#t:LowerBound" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LowerBound:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Version.html#t:LowerBound">LowerBound</a> -> <a href="Distribution-Version.html#t:LowerBound">LowerBound</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Version.html#t:LowerBound">LowerBound</a> -> <a href="Distribution-Version.html#t:LowerBound">LowerBound</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LowerBound:Ord:2" class="instance expander" onclick="toggleSection('i:id:LowerBound:Ord:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Version.html#t:LowerBound">LowerBound</a></span> <a href="#t:LowerBound" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LowerBound:Ord:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Version.html#t:LowerBound">LowerBound</a> -> <a href="Distribution-Version.html#t:LowerBound">LowerBound</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Version.html#t:LowerBound">LowerBound</a> -> <a href="Distribution-Version.html#t:LowerBound">LowerBound</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Version.html#t:LowerBound">LowerBound</a> -> <a href="Distribution-Version.html#t:LowerBound">LowerBound</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Version.html#t:LowerBound">LowerBound</a> -> <a href="Distribution-Version.html#t:LowerBound">LowerBound</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Version.html#t:LowerBound">LowerBound</a> -> <a href="Distribution-Version.html#t:LowerBound">LowerBound</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Version.html#t:LowerBound">LowerBound</a> -> <a href="Distribution-Version.html#t:LowerBound">LowerBound</a> -> <a href="Distribution-Version.html#t:LowerBound">LowerBound</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Version.html#t:LowerBound">LowerBound</a> -> <a href="Distribution-Version.html#t:LowerBound">LowerBound</a> -> <a href="Distribution-Version.html#t:LowerBound">LowerBound</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:LowerBound:Show:3" class="instance expander" onclick="toggleSection('i:id:LowerBound:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Version.html#t:LowerBound">LowerBound</a></span> <a href="#t:LowerBound" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:LowerBound:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Version.html#t:LowerBound">LowerBound</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Version.html#t:LowerBound">LowerBound</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Version.html#t:LowerBound">LowerBound</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:UpperBound" class="def">UpperBound</a> <a href="#t:UpperBound" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:NoUpperBound" class="def">NoUpperBound</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:UpperBound" class="def">UpperBound</a> <a href="Distribution-Version.html#t:Version">Version</a> !<a href="Distribution-Version.html#t:Bound">Bound</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:UpperBound" class="caption collapser" onclick="toggleSection('i:UpperBound')">Instances</p><div id="section.i:UpperBound" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UpperBound:Eq:1" class="instance expander" onclick="toggleSection('i:id:UpperBound:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Version.html#t:UpperBound">UpperBound</a></span> <a href="#t:UpperBound" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UpperBound:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Version.html#t:UpperBound">UpperBound</a> -> <a href="Distribution-Version.html#t:UpperBound">UpperBound</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Version.html#t:UpperBound">UpperBound</a> -> <a href="Distribution-Version.html#t:UpperBound">UpperBound</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UpperBound:Ord:2" class="instance expander" onclick="toggleSection('i:id:UpperBound:Ord:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-Version.html#t:UpperBound">UpperBound</a></span> <a href="#t:UpperBound" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UpperBound:Ord:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Version.html#t:UpperBound">UpperBound</a> -> <a href="Distribution-Version.html#t:UpperBound">UpperBound</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Distribution-Version.html#t:UpperBound">UpperBound</a> -> <a href="Distribution-Version.html#t:UpperBound">UpperBound</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Distribution-Version.html#t:UpperBound">UpperBound</a> -> <a href="Distribution-Version.html#t:UpperBound">UpperBound</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Distribution-Version.html#t:UpperBound">UpperBound</a> -> <a href="Distribution-Version.html#t:UpperBound">UpperBound</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Distribution-Version.html#t:UpperBound">UpperBound</a> -> <a href="Distribution-Version.html#t:UpperBound">UpperBound</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Version.html#t:UpperBound">UpperBound</a> -> <a href="Distribution-Version.html#t:UpperBound">UpperBound</a> -> <a href="Distribution-Version.html#t:UpperBound">UpperBound</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Version.html#t:UpperBound">UpperBound</a> -> <a href="Distribution-Version.html#t:UpperBound">UpperBound</a> -> <a href="Distribution-Version.html#t:UpperBound">UpperBound</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:UpperBound:Show:3" class="instance expander" onclick="toggleSection('i:id:UpperBound:Show:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Version.html#t:UpperBound">UpperBound</a></span> <a href="#t:UpperBound" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:UpperBound:Show:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Version.html#t:UpperBound">UpperBound</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Version.html#t:UpperBound">UpperBound</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Version.html#t:UpperBound">UpperBound</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Bound" class="def">Bound</a> <a href="#t:Bound" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ExclusiveBound" class="def">ExclusiveBound</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:InclusiveBound" class="def">InclusiveBound</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Bound" class="caption collapser" onclick="toggleSection('i:Bound')">Instances</p><div id="section.i:Bound" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Bound:Eq:1" class="instance expander" onclick="toggleSection('i:id:Bound:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Version.html#t:Bound">Bound</a></span> <a href="#t:Bound" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Bound:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Version.html#t:Bound">Bound</a> -> <a href="Distribution-Version.html#t:Bound">Bound</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Version.html#t:Bound">Bound</a> -> <a href="Distribution-Version.html#t:Bound">Bound</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Bound:Show:2" class="instance expander" onclick="toggleSection('i:id:Bound:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Version.html#t:Bound">Bound</a></span> <a href="#t:Bound" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Bound:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Version.html#t:Bound">Bound</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Version.html#t:Bound">Bound</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Version.html#t:Bound">Bound</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><h2 id="g:8"><code><a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a></code> abstract type</h2><div class="doc"><p>The <code><a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a></code> type and the accompanying functions are exposed- primarily for completeness and testing purposes. In practice- <code><a href="Distribution-Version.html#v:asVersionIntervals">asVersionIntervals</a></code> is the main function to use to- view a <code><a href="Distribution-Version.html#t:VersionRange">VersionRange</a></code> as a bunch of <code><a href="Distribution-Version.html#t:VersionInterval">VersionInterval</a></code>s.</p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:VersionIntervals" class="def">VersionIntervals</a> <a href="#t:VersionIntervals" class="selflink">#</a></p><div class="doc"><p>A complementary representation of a <code><a href="Distribution-Version.html#t:VersionRange">VersionRange</a></code>. Instead of a boolean- version predicate it uses an increasing sequence of non-overlapping,- non-empty intervals.</p><p>The key point is that this representation gives a canonical representation- for the semantics of <code><a href="Distribution-Version.html#t:VersionRange">VersionRange</a></code>s. This makes it easier to check things- like whether a version range is empty, covers all versions, or requires a- certain minimum or maximum version. It also makes it easy to check equality- or containment. It also makes it easier to identify 'simple' version- predicates for translation into foreign packaging systems that do not- support complex version range expressions.</p></div><div class="subs instances"><p id="control.i:VersionIntervals" class="caption collapser" onclick="toggleSection('i:VersionIntervals')">Instances</p><div id="section.i:VersionIntervals" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:VersionIntervals:Eq:1" class="instance expander" onclick="toggleSection('i:id:VersionIntervals:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a></span> <a href="#t:VersionIntervals" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:VersionIntervals:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> -> <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> -> <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:VersionIntervals:Show:2" class="instance expander" onclick="toggleSection('i:id:VersionIntervals:Show:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a></span> <a href="#t:VersionIntervals" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:VersionIntervals:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:toVersionIntervals" class="def">toVersionIntervals</a> :: <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> -> <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> <a href="#v:toVersionIntervals" class="selflink">#</a></p><div class="doc"><p>Convert a <code><a href="Distribution-Version.html#t:VersionRange">VersionRange</a></code> to a sequence of version intervals.</p></div></div><div class="top"><p class="src"><a id="v:fromVersionIntervals" class="def">fromVersionIntervals</a> :: <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a> <a href="#v:fromVersionIntervals" class="selflink">#</a></p><div class="doc"><p>Convert a <code><a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a></code> value back into a <code><a href="Distribution-Version.html#t:VersionRange">VersionRange</a></code> expression- representing the version intervals.</p></div></div><div class="top"><p class="src"><a id="v:withinIntervals" class="def">withinIntervals</a> :: <a href="Distribution-Version.html#t:Version">Version</a> -> <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:withinIntervals" class="selflink">#</a></p><div class="doc"><p>Test if a version falls within the version intervals.</p><p>It exists mostly for completeness and testing. It satisfies the following- properties:</p><pre>withinIntervals v (toVersionIntervals vr) = withinRange v vr-withinIntervals v ivs = withinRange v (fromVersionIntervals ivs)</pre></div></div><div class="top"><p class="src"><a id="v:versionIntervals" class="def">versionIntervals</a> :: <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> -> [<a href="Distribution-Version.html#t:VersionInterval">VersionInterval</a>] <a href="#v:versionIntervals" class="selflink">#</a></p><div class="doc"><p>Inspect the list of version intervals.</p></div></div><div class="top"><p class="src"><a id="v:mkVersionIntervals" class="def">mkVersionIntervals</a> :: [<a href="Distribution-Version.html#t:VersionInterval">VersionInterval</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> <a href="#v:mkVersionIntervals" class="selflink">#</a></p><div class="doc"><p>Directly construct a <code><a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a></code> from a list of intervals.</p><p>Each interval must be non-empty. The sequence must be in increasing order- and no intervals may overlap or touch. If any of these conditions are not- satisfied the function returns <code>Nothing</code>.</p></div></div><div class="top"><p class="src"><a id="v:unionVersionIntervals" class="def">unionVersionIntervals</a> :: <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> -> <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> -> <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> <a href="#v:unionVersionIntervals" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:intersectVersionIntervals" class="def">intersectVersionIntervals</a> :: <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> -> <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> -> <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> <a href="#v:intersectVersionIntervals" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:invertVersionIntervals" class="def">invertVersionIntervals</a> :: <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> -> <a href="Distribution-Version.html#t:VersionIntervals">VersionIntervals</a> <a href="#v:invertVersionIntervals" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,113 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Language.Haskell.Extension</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones 2003-2004</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>libraries@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Language.Haskell.Extension</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Haskell language dialects and extensions</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:Language">Language</a><ul class="subs"><li>= <a href="#v:Haskell98">Haskell98</a></li><li>| <a href="#v:Haskell2010">Haskell2010</a></li><li>| <a href="#v:UnknownLanguage">UnknownLanguage</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><a href="#v:knownLanguages">knownLanguages</a> :: [<a href="Language-Haskell-Extension.html#t:Language">Language</a>]</li><li class="src short"><a href="#v:classifyLanguage">classifyLanguage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Language-Haskell-Extension.html#t:Language">Language</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:Extension">Extension</a><ul class="subs"><li>= <a href="#v:EnableExtension">EnableExtension</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a></li><li>| <a href="#v:DisableExtension">DisableExtension</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a></li><li>| <a href="#v:UnknownExtension">UnknownExtension</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:KnownExtension">KnownExtension</a><ul class="subs"><li>= <a href="#v:OverlappingInstances">OverlappingInstances</a></li><li>| <a href="#v:UndecidableInstances">UndecidableInstances</a></li><li>| <a href="#v:IncoherentInstances">IncoherentInstances</a></li><li>| <a href="#v:DoRec">DoRec</a></li><li>| <a href="#v:RecursiveDo">RecursiveDo</a></li><li>| <a href="#v:ParallelListComp">ParallelListComp</a></li><li>| <a href="#v:MultiParamTypeClasses">MultiParamTypeClasses</a></li><li>| <a href="#v:MonomorphismRestriction">MonomorphismRestriction</a></li><li>| <a href="#v:FunctionalDependencies">FunctionalDependencies</a></li><li>| <a href="#v:Rank2Types">Rank2Types</a></li><li>| <a href="#v:RankNTypes">RankNTypes</a></li><li>| <a href="#v:PolymorphicComponents">PolymorphicComponents</a></li><li>| <a href="#v:ExistentialQuantification">ExistentialQuantification</a></li><li>| <a href="#v:ScopedTypeVariables">ScopedTypeVariables</a></li><li>| <a href="#v:PatternSignatures">PatternSignatures</a></li><li>| <a href="#v:ImplicitParams">ImplicitParams</a></li><li>| <a href="#v:FlexibleContexts">FlexibleContexts</a></li><li>| <a href="#v:FlexibleInstances">FlexibleInstances</a></li><li>| <a href="#v:EmptyDataDecls">EmptyDataDecls</a></li><li>| <a href="#v:CPP">CPP</a></li><li>| <a href="#v:KindSignatures">KindSignatures</a></li><li>| <a href="#v:BangPatterns">BangPatterns</a></li><li>| <a href="#v:TypeSynonymInstances">TypeSynonymInstances</a></li><li>| <a href="#v:TemplateHaskell">TemplateHaskell</a></li><li>| <a href="#v:ForeignFunctionInterface">ForeignFunctionInterface</a></li><li>| <a href="#v:Arrows">Arrows</a></li><li>| <a href="#v:Generics">Generics</a></li><li>| <a href="#v:ImplicitPrelude">ImplicitPrelude</a></li><li>| <a href="#v:NamedFieldPuns">NamedFieldPuns</a></li><li>| <a href="#v:PatternGuards">PatternGuards</a></li><li>| <a href="#v:GeneralizedNewtypeDeriving">GeneralizedNewtypeDeriving</a></li><li>| <a href="#v:ExtensibleRecords">ExtensibleRecords</a></li><li>| <a href="#v:RestrictedTypeSynonyms">RestrictedTypeSynonyms</a></li><li>| <a href="#v:HereDocuments">HereDocuments</a></li><li>| <a href="#v:MagicHash">MagicHash</a></li><li>| <a href="#v:TypeFamilies">TypeFamilies</a></li><li>| <a href="#v:StandaloneDeriving">StandaloneDeriving</a></li><li>| <a href="#v:UnicodeSyntax">UnicodeSyntax</a></li><li>| <a href="#v:UnliftedFFITypes">UnliftedFFITypes</a></li><li>| <a href="#v:InterruptibleFFI">InterruptibleFFI</a></li><li>| <a href="#v:CApiFFI">CApiFFI</a></li><li>| <a href="#v:LiberalTypeSynonyms">LiberalTypeSynonyms</a></li><li>| <a href="#v:TypeOperators">TypeOperators</a></li><li>| <a href="#v:RecordWildCards">RecordWildCards</a></li><li>| <a href="#v:RecordPuns">RecordPuns</a></li><li>| <a href="#v:DisambiguateRecordFields">DisambiguateRecordFields</a></li><li>| <a href="#v:TraditionalRecordSyntax">TraditionalRecordSyntax</a></li><li>| <a href="#v:OverloadedStrings">OverloadedStrings</a></li><li>| <a href="#v:GADTs">GADTs</a></li><li>| <a href="#v:GADTSyntax">GADTSyntax</a></li><li>| <a href="#v:MonoPatBinds">MonoPatBinds</a></li><li>| <a href="#v:RelaxedPolyRec">RelaxedPolyRec</a></li><li>| <a href="#v:ExtendedDefaultRules">ExtendedDefaultRules</a></li><li>| <a href="#v:UnboxedTuples">UnboxedTuples</a></li><li>| <a href="#v:DeriveDataTypeable">DeriveDataTypeable</a></li><li>| <a href="#v:DeriveGeneric">DeriveGeneric</a></li><li>| <a href="#v:DefaultSignatures">DefaultSignatures</a></li><li>| <a href="#v:InstanceSigs">InstanceSigs</a></li><li>| <a href="#v:ConstrainedClassMethods">ConstrainedClassMethods</a></li><li>| <a href="#v:PackageImports">PackageImports</a></li><li>| <a href="#v:ImpredicativeTypes">ImpredicativeTypes</a></li><li>| <a href="#v:NewQualifiedOperators">NewQualifiedOperators</a></li><li>| <a href="#v:PostfixOperators">PostfixOperators</a></li><li>| <a href="#v:QuasiQuotes">QuasiQuotes</a></li><li>| <a href="#v:TransformListComp">TransformListComp</a></li><li>| <a href="#v:MonadComprehensions">MonadComprehensions</a></li><li>| <a href="#v:ViewPatterns">ViewPatterns</a></li><li>| <a href="#v:XmlSyntax">XmlSyntax</a></li><li>| <a href="#v:RegularPatterns">RegularPatterns</a></li><li>| <a href="#v:TupleSections">TupleSections</a></li><li>| <a href="#v:GHCForeignImportPrim">GHCForeignImportPrim</a></li><li>| <a href="#v:NPlusKPatterns">NPlusKPatterns</a></li><li>| <a href="#v:DoAndIfThenElse">DoAndIfThenElse</a></li><li>| <a href="#v:MultiWayIf">MultiWayIf</a></li><li>| <a href="#v:LambdaCase">LambdaCase</a></li><li>| <a href="#v:RebindableSyntax">RebindableSyntax</a></li><li>| <a href="#v:ExplicitForAll">ExplicitForAll</a></li><li>| <a href="#v:DatatypeContexts">DatatypeContexts</a></li><li>| <a href="#v:MonoLocalBinds">MonoLocalBinds</a></li><li>| <a href="#v:DeriveFunctor">DeriveFunctor</a></li><li>| <a href="#v:DeriveTraversable">DeriveTraversable</a></li><li>| <a href="#v:DeriveFoldable">DeriveFoldable</a></li><li>| <a href="#v:NondecreasingIndentation">NondecreasingIndentation</a></li><li>| <a href="#v:SafeImports">SafeImports</a></li><li>| <a href="#v:Safe">Safe</a></li><li>| <a href="#v:Trustworthy">Trustworthy</a></li><li>| <a href="#v:Unsafe">Unsafe</a></li><li>| <a href="#v:ConstraintKinds">ConstraintKinds</a></li><li>| <a href="#v:PolyKinds">PolyKinds</a></li><li>| <a href="#v:DataKinds">DataKinds</a></li><li>| <a href="#v:ParallelArrays">ParallelArrays</a></li><li>| <a href="#v:RoleAnnotations">RoleAnnotations</a></li><li>| <a href="#v:OverloadedLists">OverloadedLists</a></li><li>| <a href="#v:EmptyCase">EmptyCase</a></li><li>| <a href="#v:AutoDeriveTypeable">AutoDeriveTypeable</a></li><li>| <a href="#v:NegativeLiterals">NegativeLiterals</a></li><li>| <a href="#v:BinaryLiterals">BinaryLiterals</a></li><li>| <a href="#v:NumDecimals">NumDecimals</a></li><li>| <a href="#v:NullaryTypeClasses">NullaryTypeClasses</a></li><li>| <a href="#v:ExplicitNamespaces">ExplicitNamespaces</a></li><li>| <a href="#v:AllowAmbiguousTypes">AllowAmbiguousTypes</a></li><li>| <a href="#v:JavaScriptFFI">JavaScriptFFI</a></li><li>| <a href="#v:PatternSynonyms">PatternSynonyms</a></li><li>| <a href="#v:PartialTypeSignatures">PartialTypeSignatures</a></li><li>| <a href="#v:NamedWildCards">NamedWildCards</a></li><li>| <a href="#v:DeriveAnyClass">DeriveAnyClass</a></li><li>| <a href="#v:DeriveLift">DeriveLift</a></li><li>| <a href="#v:StaticPointers">StaticPointers</a></li><li>| <a href="#v:StrictData">StrictData</a></li><li>| <a href="#v:Strict">Strict</a></li><li>| <a href="#v:ApplicativeDo">ApplicativeDo</a></li><li>| <a href="#v:DuplicateRecordFields">DuplicateRecordFields</a></li><li>| <a href="#v:TypeApplications">TypeApplications</a></li><li>| <a href="#v:TypeInType">TypeInType</a></li><li>| <a href="#v:UndecidableSuperClasses">UndecidableSuperClasses</a></li><li>| <a href="#v:MonadFailDesugaring">MonadFailDesugaring</a></li><li>| <a href="#v:TemplateHaskellQuotes">TemplateHaskellQuotes</a></li><li>| <a href="#v:OverloadedLabels">OverloadedLabels</a></li><li>| <a href="#v:TypeFamilyDependencies">TypeFamilyDependencies</a></li></ul></li><li class="src short"><a href="#v:knownExtensions">knownExtensions</a> :: [<a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a>]</li><li class="src short"><a href="#v:deprecatedExtensions">deprecatedExtensions</a> :: [(<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a>)]</li><li class="src short"><a href="#v:classifyExtension">classifyExtension</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Language" class="def">Language</a> <a href="#t:Language" class="selflink">#</a></p><div class="doc"><p>This represents a Haskell language dialect.</p><p>Language <code><a href="Language-Haskell-Extension.html#t:Extension">Extension</a></code>s are interpreted relative to one of these base- languages.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Haskell98" class="def">Haskell98</a></td><td class="doc"><p>The Haskell 98 language as defined by the Haskell 98 report.- <a href="http://haskell.org/onlinereport/">http://haskell.org/onlinereport/</a></p></td></tr><tr><td class="src"><a id="v:Haskell2010" class="def">Haskell2010</a></td><td class="doc"><p>The Haskell 2010 language as defined by the Haskell 2010 report.- <a href="http://www.haskell.org/onlinereport/haskell2010">http://www.haskell.org/onlinereport/haskell2010</a></p></td></tr><tr><td class="src"><a id="v:UnknownLanguage" class="def">UnknownLanguage</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>An unknown language, identified by its name.</p></td></tr></table></div><div class="subs instances"><p id="control.i:Language" class="caption collapser" onclick="toggleSection('i:Language')">Instances</p><div id="section.i:Language" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Language:Eq:1" class="instance expander" onclick="toggleSection('i:id:Language:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a></span> <a href="#t:Language" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Language:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Language:Data:2" class="instance expander" onclick="toggleSection('i:id:Language:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a></span> <a href="#t:Language" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Language:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> c <a href="Language-Haskell-Extension.html#t:Language">Language</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Language-Haskell-Extension.html#t:Language">Language</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Language-Haskell-Extension.html#t:Language">Language</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Language-Haskell-Extension.html#t:Language">Language</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> <a href="Language-Haskell-Extension.html#t:Language">Language</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> m <a href="Language-Haskell-Extension.html#t:Language">Language</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> m <a href="Language-Haskell-Extension.html#t:Language">Language</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> m <a href="Language-Haskell-Extension.html#t:Language">Language</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Language:Read:3" class="instance expander" onclick="toggleSection('i:id:Language:Read:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a></span> <a href="#t:Language" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Language:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Language-Haskell-Extension.html#t:Language">Language</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Language-Haskell-Extension.html#t:Language">Language</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Language:Show:4" class="instance expander" onclick="toggleSection('i:id:Language:Show:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a></span> <a href="#t:Language" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Language:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Language-Haskell-Extension.html#t:Language">Language</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Language:Generic:5" class="instance expander" onclick="toggleSection('i:id:Language:Generic:5')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a></span> <a href="#t:Language" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Language:Generic:5" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a> x -> <a href="Language-Haskell-Extension.html#t:Language">Language</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Language:Binary:6" class="instance expander" onclick="toggleSection('i:id:Language:Binary:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a></span> <a href="#t:Language" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Language:Binary:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Language-Haskell-Extension.html#t:Language">Language</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Language:Text:7" class="instance expander" onclick="toggleSection('i:id:Language:Text:7')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a></span> <a href="#t:Language" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Language:Text:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Language-Haskell-Extension.html#t:Language">Language</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Language-Haskell-Extension.html#t:Language">Language</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Language:Rep:8" class="instance expander" onclick="toggleSection('i:id:Language:Rep:8')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a></span> <a href="#t:Language" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Language:Rep:8" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Language" "Language.Haskell.Extension" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Haskell98" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Haskell2010" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "UnknownLanguage" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:knownLanguages" class="def">knownLanguages</a> :: [<a href="Language-Haskell-Extension.html#t:Language">Language</a>] <a href="#v:knownLanguages" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:classifyLanguage" class="def">classifyLanguage</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Language-Haskell-Extension.html#t:Language">Language</a> <a href="#v:classifyLanguage" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Extension" class="def">Extension</a> <a href="#t:Extension" class="selflink">#</a></p><div class="doc"><p>This represents language extensions beyond a base <code><a href="Language-Haskell-Extension.html#t:Language">Language</a></code> definition- (such as <code><a href="Language-Haskell-Extension.html#v:Haskell98">Haskell98</a></code>) that are supported by some implementations, usually- in some special mode.</p><p>Where applicable, references are given to an implementation's- official documentation.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:EnableExtension" class="def">EnableExtension</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a></td><td class="doc"><p>Enable a known extension</p></td></tr><tr><td class="src"><a id="v:DisableExtension" class="def">DisableExtension</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a></td><td class="doc"><p>Disable a known extension</p></td></tr><tr><td class="src"><a id="v:UnknownExtension" class="def">UnknownExtension</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a></td><td class="doc"><p>An unknown extension, identified by the name of its <code>LANGUAGE</code>- pragma.</p></td></tr></table></div><div class="subs instances"><p id="control.i:Extension" class="caption collapser" onclick="toggleSection('i:Extension')">Instances</p><div id="section.i:Extension" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Extension:Eq:1" class="instance expander" onclick="toggleSection('i:id:Extension:Eq:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a></span> <a href="#t:Extension" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Extension:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Extension:Data:2" class="instance expander" onclick="toggleSection('i:id:Extension:Data:2')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a></span> <a href="#t:Extension" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Extension:Data:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> c <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Language-Haskell-Extension.html#t:Extension">Extension</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Language-Haskell-Extension.html#t:Extension">Extension</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> m <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> m <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> m <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Extension:Ord:3" class="instance expander" onclick="toggleSection('i:id:Extension:Ord:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a></span> <a href="#t:Extension" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Extension:Ord:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Extension:Read:4" class="instance expander" onclick="toggleSection('i:id:Extension:Read:4')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a></span> <a href="#t:Extension" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Extension:Read:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Extension:Show:5" class="instance expander" onclick="toggleSection('i:id:Extension:Show:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a></span> <a href="#t:Extension" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Extension:Show:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Extension:Generic:6" class="instance expander" onclick="toggleSection('i:id:Extension:Generic:6')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a></span> <a href="#t:Extension" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Extension:Generic:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> x -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Extension:Binary:7" class="instance expander" onclick="toggleSection('i:id:Extension:Binary:7')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a></span> <a href="#t:Extension" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Extension:Binary:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Extension:Text:8" class="instance expander" onclick="toggleSection('i:id:Extension:Text:8')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a></span> <a href="#t:Extension" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Extension:Text:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Extension:Rep:9" class="instance expander" onclick="toggleSection('i:id:Extension:Rep:9')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a></span> <a href="#t:Extension" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Extension:Rep:9" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "Extension" "Language.Haskell.Extension" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "EnableExtension" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DisableExtension" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "UnknownExtension" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:S1">S1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaSel">MetaSel</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#v:Nothing">Nothing</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-TypeLits.html#t:Symbol">Symbol</a>) <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceUnpackedness">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:NoSourceStrictness">NoSourceStrictness</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:DecidedLazy">DecidedLazy</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rec0">Rec0</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a>)))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:KnownExtension" class="def">KnownExtension</a> <a href="#t:KnownExtension" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:OverlappingInstances" class="def">OverlappingInstances</a></td><td class="doc"><p>Allow overlapping class instances, provided there is a unique- most specific instance for each use.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#instance-overlap">http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#instance-overlap</a></li></ul></td></tr><tr><td class="src"><a id="v:UndecidableInstances" class="def">UndecidableInstances</a></td><td class="doc"><p>Ignore structural rules guaranteeing the termination of class- instance resolution. Termination is guaranteed by a fixed-depth- recursion stack, and compilation may fail if this depth is- exceeded.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#undecidable-instances">http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#undecidable-instances</a></li></ul></td></tr><tr><td class="src"><a id="v:IncoherentInstances" class="def">IncoherentInstances</a></td><td class="doc"><p>Implies <code><a href="Language-Haskell-Extension.html#v:OverlappingInstances">OverlappingInstances</a></code>. Allow the implementation to- choose an instance even when it is possible that further- instantiation of types will lead to a more specific instance- being applicable.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#instance-overlap">http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#instance-overlap</a></li></ul></td></tr><tr><td class="src"><a id="v:DoRec" class="def">DoRec</a></td><td class="doc"><p><em>(deprecated)</em> Allow recursive bindings in <code>do</code> blocks, using the <code>rec</code>- keyword. See also <code><a href="Language-Haskell-Extension.html#v:RecursiveDo">RecursiveDo</a></code>.</p></td></tr><tr><td class="src"><a id="v:RecursiveDo" class="def">RecursiveDo</a></td><td class="doc"><p>Allow recursive bindings using <code>mdo</code>, a variant of <code>do</code>.- <code>DoRec</code> provides a different, preferred syntax.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#recursive-do-notation">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#recursive-do-notation</a></li></ul></td></tr><tr><td class="src"><a id="v:ParallelListComp" class="def">ParallelListComp</a></td><td class="doc"><p>Provide syntax for writing list comprehensions which iterate- over several lists together, like the <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-OldList.html#v:zipWith">zipWith</a></code> family of- functions.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#parallel-list-comprehensions">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#parallel-list-comprehensions</a></li></ul></td></tr><tr><td class="src"><a id="v:MultiParamTypeClasses" class="def">MultiParamTypeClasses</a></td><td class="doc"><p>Allow multiple parameters in a type class.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#multi-param-type-classes">http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#multi-param-type-classes</a></li></ul></td></tr><tr><td class="src"><a id="v:MonomorphismRestriction" class="def">MonomorphismRestriction</a></td><td class="doc"><p>Enable the dreaded monomorphism restriction.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/monomorphism.html">http://www.haskell.org/ghc/docs/latest/html/users_guide/monomorphism.html</a></li></ul></td></tr><tr><td class="src"><a id="v:FunctionalDependencies" class="def">FunctionalDependencies</a></td><td class="doc"><p>Allow a specification attached to a multi-parameter type class- which indicates that some parameters are entirely determined by- others. The implementation will check that this property holds- for the declared instances, and will use this property to reduce- ambiguity in instance resolution.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#functional-dependencies">http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#functional-dependencies</a></li></ul></td></tr><tr><td class="src"><a id="v:Rank2Types" class="def">Rank2Types</a></td><td class="doc"><p>Like <code><a href="Language-Haskell-Extension.html#v:RankNTypes">RankNTypes</a></code> but does not allow a higher-rank type to- itself appear on the left of a function arrow.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#universal-quantification">http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#universal-quantification</a></li></ul></td></tr><tr><td class="src"><a id="v:RankNTypes" class="def">RankNTypes</a></td><td class="doc"><p>Allow a universally-quantified type to occur on the left of a- function arrow.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#universal-quantification">http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#universal-quantification</a></li></ul></td></tr><tr><td class="src"><a id="v:PolymorphicComponents" class="def">PolymorphicComponents</a></td><td class="doc"><p>Allow data constructors to have polymorphic arguments. Unlike- <code><a href="Language-Haskell-Extension.html#v:RankNTypes">RankNTypes</a></code>, does not allow this for ordinary functions.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#universal-quantification">http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#universal-quantification</a></li></ul></td></tr><tr><td class="src"><a id="v:ExistentialQuantification" class="def">ExistentialQuantification</a></td><td class="doc"><p>Allow existentially-quantified data constructors.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/data-type-extensions.html#existential-quantification">http://www.haskell.org/ghc/docs/latest/html/users_guide/data-type-extensions.html#existential-quantification</a></li></ul></td></tr><tr><td class="src"><a id="v:ScopedTypeVariables" class="def">ScopedTypeVariables</a></td><td class="doc"><p>Cause a type variable in a signature, which has an explicit- <code>forall</code> quantifier, to scope over the definition of the- accompanying value declaration.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#scoped-type-variables">http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#scoped-type-variables</a></li></ul></td></tr><tr><td class="src"><a id="v:PatternSignatures" class="def">PatternSignatures</a></td><td class="doc"><p>Deprecated, use <code><a href="Language-Haskell-Extension.html#v:ScopedTypeVariables">ScopedTypeVariables</a></code> instead.</p></td></tr><tr><td class="src"><a id="v:ImplicitParams" class="def">ImplicitParams</a></td><td class="doc"><p>Enable implicit function parameters with dynamic scope.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#implicit-parameters">http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#implicit-parameters</a></li></ul></td></tr><tr><td class="src"><a id="v:FlexibleContexts" class="def">FlexibleContexts</a></td><td class="doc"><p>Relax some restrictions on the form of the context of a type- signature.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#flexible-contexts">http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#flexible-contexts</a></li></ul></td></tr><tr><td class="src"><a id="v:FlexibleInstances" class="def">FlexibleInstances</a></td><td class="doc"><p>Relax some restrictions on the form of the context of an- instance declaration.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#instance-rules">http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#instance-rules</a></li></ul></td></tr><tr><td class="src"><a id="v:EmptyDataDecls" class="def">EmptyDataDecls</a></td><td class="doc"><p>Allow data type declarations with no constructors.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/data-type-extensions.html#nullary-types">http://www.haskell.org/ghc/docs/latest/html/users_guide/data-type-extensions.html#nullary-types</a></li></ul></td></tr><tr><td class="src"><a id="v:CPP" class="def">CPP</a></td><td class="doc"><p>Run the C preprocessor on Haskell source code.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/options-phases.html#c-pre-processor">http://www.haskell.org/ghc/docs/latest/html/users_guide/options-phases.html#c-pre-processor</a></li></ul></td></tr><tr><td class="src"><a id="v:KindSignatures" class="def">KindSignatures</a></td><td class="doc"><p>Allow an explicit kind signature giving the kind of types over- which a type variable ranges.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#kinding">http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#kinding</a></li></ul></td></tr><tr><td class="src"><a id="v:BangPatterns" class="def">BangPatterns</a></td><td class="doc"><p>Enable a form of pattern which forces evaluation before an- attempted match, and a form of strict <code>let</code>/<code>where</code> binding.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/bang-patterns.html">http://www.haskell.org/ghc/docs/latest/html/users_guide/bang-patterns.html</a></li></ul></td></tr><tr><td class="src"><a id="v:TypeSynonymInstances" class="def">TypeSynonymInstances</a></td><td class="doc"><p>Allow type synonyms in instance heads.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#flexible-instance-head">http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#flexible-instance-head</a></li></ul></td></tr><tr><td class="src"><a id="v:TemplateHaskell" class="def">TemplateHaskell</a></td><td class="doc"><p>Enable Template Haskell, a system for compile-time- metaprogramming.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/template-haskell.html">http://www.haskell.org/ghc/docs/latest/html/users_guide/template-haskell.html</a></li></ul></td></tr><tr><td class="src"><a id="v:ForeignFunctionInterface" class="def">ForeignFunctionInterface</a></td><td class="doc"><p>Enable the Foreign Function Interface. In GHC, implements the- standard Haskell 98 Foreign Function Interface Addendum, plus- some GHC-specific extensions.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/ffi.html">http://www.haskell.org/ghc/docs/latest/html/users_guide/ffi.html</a></li></ul></td></tr><tr><td class="src"><a id="v:Arrows" class="def">Arrows</a></td><td class="doc"><p>Enable arrow notation.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/arrow-notation.html">http://www.haskell.org/ghc/docs/latest/html/users_guide/arrow-notation.html</a></li></ul></td></tr><tr><td class="src"><a id="v:Generics" class="def">Generics</a></td><td class="doc"><p><em>(deprecated)</em> Enable generic type classes, with default instances defined in- terms of the algebraic structure of a type.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/generic-classes.html">http://www.haskell.org/ghc/docs/latest/html/users_guide/generic-classes.html</a></li></ul></td></tr><tr><td class="src"><a id="v:ImplicitPrelude" class="def">ImplicitPrelude</a></td><td class="doc"><p>Enable the implicit importing of the module <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html">Prelude</a>. When- disabled, when desugaring certain built-in syntax into ordinary- identifiers, use whatever is in scope rather than the <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html">Prelude</a>- -- version.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#rebindable-syntax">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#rebindable-syntax</a></li></ul></td></tr><tr><td class="src"><a id="v:NamedFieldPuns" class="def">NamedFieldPuns</a></td><td class="doc"><p>Enable syntax for implicitly binding local names corresponding- to the field names of a record. Puns bind specific names, unlike- <code><a href="Language-Haskell-Extension.html#v:RecordWildCards">RecordWildCards</a></code>.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#record-puns">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#record-puns</a></li></ul></td></tr><tr><td class="src"><a id="v:PatternGuards" class="def">PatternGuards</a></td><td class="doc"><p>Enable a form of guard which matches a pattern and binds- variables.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#pattern-guards">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#pattern-guards</a></li></ul></td></tr><tr><td class="src"><a id="v:GeneralizedNewtypeDeriving" class="def">GeneralizedNewtypeDeriving</a></td><td class="doc"><p>Allow a type declared with <code>newtype</code> to use <code>deriving</code> for any- class with an instance for the underlying type.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#newtype-deriving">http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#newtype-deriving</a></li></ul></td></tr><tr><td class="src"><a id="v:ExtensibleRecords" class="def">ExtensibleRecords</a></td><td class="doc"><p>Enable the "Trex" extensible records system.</p><ul><li><a href="http://cvs.haskell.org/Hugs/pages/users_guide/hugs-only.html#TREX">http://cvs.haskell.org/Hugs/pages/users_guide/hugs-only.html#TREX</a></li></ul></td></tr><tr><td class="src"><a id="v:RestrictedTypeSynonyms" class="def">RestrictedTypeSynonyms</a></td><td class="doc"><p>Enable type synonyms which are transparent in some definitions- and opaque elsewhere, as a way of implementing abstract- datatypes.</p><ul><li><a href="http://cvs.haskell.org/Hugs/pages/users_guide/restricted-synonyms.html">http://cvs.haskell.org/Hugs/pages/users_guide/restricted-synonyms.html</a></li></ul></td></tr><tr><td class="src"><a id="v:HereDocuments" class="def">HereDocuments</a></td><td class="doc"><p>Enable an alternate syntax for string literals,- with string templating.</p><ul><li><a href="http://cvs.haskell.org/Hugs/pages/users_guide/here-documents.html">http://cvs.haskell.org/Hugs/pages/users_guide/here-documents.html</a></li></ul></td></tr><tr><td class="src"><a id="v:MagicHash" class="def">MagicHash</a></td><td class="doc"><p>Allow the character <code>#</code> as a postfix modifier on identifiers.- Also enables literal syntax for unboxed values.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#magic-hash">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#magic-hash</a></li></ul></td></tr><tr><td class="src"><a id="v:TypeFamilies" class="def">TypeFamilies</a></td><td class="doc"><p>Allow data types and type synonyms which are indexed by types,- i.e. ad-hoc polymorphism for types.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/type-families.html">http://www.haskell.org/ghc/docs/latest/html/users_guide/type-families.html</a></li></ul></td></tr><tr><td class="src"><a id="v:StandaloneDeriving" class="def">StandaloneDeriving</a></td><td class="doc"><p>Allow a standalone declaration which invokes the type class- <code>deriving</code> mechanism.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#stand-alone-deriving">http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#stand-alone-deriving</a></li></ul></td></tr><tr><td class="src"><a id="v:UnicodeSyntax" class="def">UnicodeSyntax</a></td><td class="doc"><p>Allow certain Unicode characters to stand for certain ASCII- character sequences, e.g. keywords and punctuation.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#unicode-syntax">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#unicode-syntax</a></li></ul></td></tr><tr><td class="src"><a id="v:UnliftedFFITypes" class="def">UnliftedFFITypes</a></td><td class="doc"><p>Allow the use of unboxed types as foreign types, e.g. in- <code>foreign import</code> and <code>foreign export</code>.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/ffi.html#id681687">http://www.haskell.org/ghc/docs/latest/html/users_guide/ffi.html#id681687</a></li></ul></td></tr><tr><td class="src"><a id="v:InterruptibleFFI" class="def">InterruptibleFFI</a></td><td class="doc"><p>Enable interruptible FFI.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/ffi.html#ffi-interruptible">http://www.haskell.org/ghc/docs/latest/html/users_guide/ffi.html#ffi-interruptible</a></li></ul></td></tr><tr><td class="src"><a id="v:CApiFFI" class="def">CApiFFI</a></td><td class="doc"><p>Allow use of CAPI FFI calling convention (<code>foreign import capi</code>).</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/ffi.html#ffi-capi">http://www.haskell.org/ghc/docs/latest/html/users_guide/ffi.html#ffi-capi</a></li></ul></td></tr><tr><td class="src"><a id="v:LiberalTypeSynonyms" class="def">LiberalTypeSynonyms</a></td><td class="doc"><p>Defer validity checking of types until after expanding type- synonyms, relaxing the constraints on how synonyms may be used.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/data-type-extensions.html#type-synonyms">http://www.haskell.org/ghc/docs/latest/html/users_guide/data-type-extensions.html#type-synonyms</a></li></ul></td></tr><tr><td class="src"><a id="v:TypeOperators" class="def">TypeOperators</a></td><td class="doc"><p>Allow the name of a type constructor, type class, or type- variable to be an infix operator.</p></td></tr><tr><td class="src"><a id="v:RecordWildCards" class="def">RecordWildCards</a></td><td class="doc"><p>Enable syntax for implicitly binding local names corresponding- to the field names of a record. A wildcard binds all unmentioned- names, unlike <code><a href="Language-Haskell-Extension.html#v:NamedFieldPuns">NamedFieldPuns</a></code>.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#record-wildcards">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#record-wildcards</a></li></ul></td></tr><tr><td class="src"><a id="v:RecordPuns" class="def">RecordPuns</a></td><td class="doc"><p>Deprecated, use <code><a href="Language-Haskell-Extension.html#v:NamedFieldPuns">NamedFieldPuns</a></code> instead.</p></td></tr><tr><td class="src"><a id="v:DisambiguateRecordFields" class="def">DisambiguateRecordFields</a></td><td class="doc"><p>Allow a record field name to be disambiguated by the type of- the record it's in.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#disambiguate-fields">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#disambiguate-fields</a></li></ul></td></tr><tr><td class="src"><a id="v:TraditionalRecordSyntax" class="def">TraditionalRecordSyntax</a></td><td class="doc"><p>Enable traditional record syntax (as supported by Haskell 98)</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#traditional-record-syntax">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#traditional-record-syntax</a></li></ul></td></tr><tr><td class="src"><a id="v:OverloadedStrings" class="def">OverloadedStrings</a></td><td class="doc"><p>Enable overloading of string literals using a type class, much- like integer literals.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#overloaded-strings">http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#overloaded-strings</a></li></ul></td></tr><tr><td class="src"><a id="v:GADTs" class="def">GADTs</a></td><td class="doc"><p>Enable generalized algebraic data types, in which type- variables may be instantiated on a per-constructor basis. Implies- <code><a href="Language-Haskell-Extension.html#v:GADTSyntax">GADTSyntax</a></code>.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/data-type-extensions.html#gadt">http://www.haskell.org/ghc/docs/latest/html/users_guide/data-type-extensions.html#gadt</a></li></ul></td></tr><tr><td class="src"><a id="v:GADTSyntax" class="def">GADTSyntax</a></td><td class="doc"><p>Enable GADT syntax for declaring ordinary algebraic datatypes.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/data-type-extensions.html#gadt-style">http://www.haskell.org/ghc/docs/latest/html/users_guide/data-type-extensions.html#gadt-style</a></li></ul></td></tr><tr><td class="src"><a id="v:MonoPatBinds" class="def">MonoPatBinds</a></td><td class="doc"><p>Make pattern bindings monomorphic.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/monomorphism.html#id630981">http://www.haskell.org/ghc/docs/latest/html/users_guide/monomorphism.html#id630981</a></li></ul></td></tr><tr><td class="src"><a id="v:RelaxedPolyRec" class="def">RelaxedPolyRec</a></td><td class="doc"><p>Relax the requirements on mutually-recursive polymorphic- functions.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#typing-binds">http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#typing-binds</a></li></ul></td></tr><tr><td class="src"><a id="v:ExtendedDefaultRules" class="def">ExtendedDefaultRules</a></td><td class="doc"><p>Allow default instantiation of polymorphic types in more- situations.</p><ul><li><a href="http://downloads.haskell.org/~ghc/latest/docs/html/users_guide/ghci.html#type-defaulting-in-ghci">http://downloads.haskell.org/~ghc/latest/docs/html/users_guide/ghci.html#type-defaulting-in-ghci</a></li></ul></td></tr><tr><td class="src"><a id="v:UnboxedTuples" class="def">UnboxedTuples</a></td><td class="doc"><p>Enable unboxed tuples.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/primitives.html#unboxed-tuples">http://www.haskell.org/ghc/docs/latest/html/users_guide/primitives.html#unboxed-tuples</a></li></ul></td></tr><tr><td class="src"><a id="v:DeriveDataTypeable" class="def">DeriveDataTypeable</a></td><td class="doc"><p>Enable <code>deriving</code> for classes <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Typeable.html#v:Typeable">Typeable</a></code> and- <code><a href="Data-Generics.html#v:Data">Data</a></code>.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#deriving-typeable">http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#deriving-typeable</a></li></ul></td></tr><tr><td class="src"><a id="v:DeriveGeneric" class="def">DeriveGeneric</a></td><td class="doc"><p>Enable <code>deriving</code> for <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:Generic">Generic</a></code> and <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:Generic1">Generic1</a></code>.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#deriving-typeable">http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#deriving-typeable</a></li></ul></td></tr><tr><td class="src"><a id="v:DefaultSignatures" class="def">DefaultSignatures</a></td><td class="doc"><p>Enable support for default signatures.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#class-default-signatures">http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#class-default-signatures</a></li></ul></td></tr><tr><td class="src"><a id="v:InstanceSigs" class="def">InstanceSigs</a></td><td class="doc"><p>Allow type signatures to be specified in instance declarations.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#instance-sigs">http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#instance-sigs</a></li></ul></td></tr><tr><td class="src"><a id="v:ConstrainedClassMethods" class="def">ConstrainedClassMethods</a></td><td class="doc"><p>Allow a class method's type to place additional constraints on- a class type variable.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#class-method-types">http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#class-method-types</a></li></ul></td></tr><tr><td class="src"><a id="v:PackageImports" class="def">PackageImports</a></td><td class="doc"><p>Allow imports to be qualified by the package name the module is- intended to be imported from, e.g.</p><pre>import "network" Network.Socket</pre><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#package-imports">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#package-imports</a></li></ul></td></tr><tr><td class="src"><a id="v:ImpredicativeTypes" class="def">ImpredicativeTypes</a></td><td class="doc"><p><em>(deprecated)</em> Allow a type variable to be instantiated at a- polymorphic type.</p><ul><li><a href="http://www.haskell.org/ghc/docs/6.12.3/html/users_guide/other-type-extensions.html#impredicative-polymorphism">http://www.haskell.org/ghc/docs/6.12.3/html/users_guide/other-type-extensions.html#impredicative-polymorphism</a></li></ul></td></tr><tr><td class="src"><a id="v:NewQualifiedOperators" class="def">NewQualifiedOperators</a></td><td class="doc"><p><em>(deprecated)</em> Change the syntax for qualified infix operators.</p><ul><li><a href="http://www.haskell.org/ghc/docs/6.12.3/html/users_guide/syntax-extns.html#new-qualified-operators">http://www.haskell.org/ghc/docs/6.12.3/html/users_guide/syntax-extns.html#new-qualified-operators</a></li></ul></td></tr><tr><td class="src"><a id="v:PostfixOperators" class="def">PostfixOperators</a></td><td class="doc"><p>Relax the interpretation of left operator sections to allow- unary postfix operators.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#postfix-operators">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#postfix-operators</a></li></ul></td></tr><tr><td class="src"><a id="v:QuasiQuotes" class="def">QuasiQuotes</a></td><td class="doc"><p>Enable quasi-quotation, a mechanism for defining new concrete- syntax for expressions and patterns.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/template-haskell.html#th-quasiquotation">http://www.haskell.org/ghc/docs/latest/html/users_guide/template-haskell.html#th-quasiquotation</a></li></ul></td></tr><tr><td class="src"><a id="v:TransformListComp" class="def">TransformListComp</a></td><td class="doc"><p>Enable generalized list comprehensions, supporting operations- such as sorting and grouping.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#generalised-list-comprehensions">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#generalised-list-comprehensions</a></li></ul></td></tr><tr><td class="src"><a id="v:MonadComprehensions" class="def">MonadComprehensions</a></td><td class="doc"><p>Enable monad comprehensions, which generalise the list- comprehension syntax to work for any monad.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#monad-comprehensions">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#monad-comprehensions</a></li></ul></td></tr><tr><td class="src"><a id="v:ViewPatterns" class="def">ViewPatterns</a></td><td class="doc"><p>Enable view patterns, which match a value by applying a- function and matching on the result.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#view-patterns">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#view-patterns</a></li></ul></td></tr><tr><td class="src"><a id="v:XmlSyntax" class="def">XmlSyntax</a></td><td class="doc"><p>Allow concrete XML syntax to be used in expressions and patterns,- as per the Haskell Server Pages extension language:- <a href="http://www.haskell.org/haskellwiki/HSP">http://www.haskell.org/haskellwiki/HSP</a>. The ideas behind it are- discussed in the paper "Haskell Server Pages through Dynamic Loading"- by Niklas Broberg, from Haskell Workshop '05.</p></td></tr><tr><td class="src"><a id="v:RegularPatterns" class="def">RegularPatterns</a></td><td class="doc"><p>Allow regular pattern matching over lists, as discussed in the- paper "Regular Expression Patterns" by Niklas Broberg, Andreas Farre- and Josef Svenningsson, from ICFP '04.</p></td></tr><tr><td class="src"><a id="v:TupleSections" class="def">TupleSections</a></td><td class="doc"><p>Enable the use of tuple sections, e.g. <code>(, True)</code> desugars into- <code>x -> (x, True)</code>.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#tuple-sections">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#tuple-sections</a></li></ul></td></tr><tr><td class="src"><a id="v:GHCForeignImportPrim" class="def">GHCForeignImportPrim</a></td><td class="doc"><p>Allow GHC primops, written in C--, to be imported into a Haskell- file.</p></td></tr><tr><td class="src"><a id="v:NPlusKPatterns" class="def">NPlusKPatterns</a></td><td class="doc"><p>Support for patterns of the form <code>n + k</code>, where <code>k</code> is an- integer literal.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#n-k-patterns">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#n-k-patterns</a></li></ul></td></tr><tr><td class="src"><a id="v:DoAndIfThenElse" class="def">DoAndIfThenElse</a></td><td class="doc"><p>Improve the layout rule when <code>if</code> expressions are used in a <code>do</code>- block.</p></td></tr><tr><td class="src"><a id="v:MultiWayIf" class="def">MultiWayIf</a></td><td class="doc"><p>Enable support for multi-way <code>if</code>-expressions.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#multi-way-if">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#multi-way-if</a></li></ul></td></tr><tr><td class="src"><a id="v:LambdaCase" class="def">LambdaCase</a></td><td class="doc"><p>Enable support lambda-<code>case</code> expressions.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#lambda-case">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#lambda-case</a></li></ul></td></tr><tr><td class="src"><a id="v:RebindableSyntax" class="def">RebindableSyntax</a></td><td class="doc"><p>Makes much of the Haskell sugar be desugared into calls to the- function with a particular name that is in scope.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#rebindable-syntax">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#rebindable-syntax</a></li></ul></td></tr><tr><td class="src"><a id="v:ExplicitForAll" class="def">ExplicitForAll</a></td><td class="doc"><p>Make <code>forall</code> a keyword in types, which can be used to give the- generalisation explicitly.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#explicit-foralls">http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#explicit-foralls</a></li></ul></td></tr><tr><td class="src"><a id="v:DatatypeContexts" class="def">DatatypeContexts</a></td><td class="doc"><p>Allow contexts to be put on datatypes, e.g. the <code>Eq a</code> in- <code>data Eq a => Set a = NilSet | ConsSet a (Set a)</code>.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/data-type-extensions.html#datatype-contexts">http://www.haskell.org/ghc/docs/latest/html/users_guide/data-type-extensions.html#datatype-contexts</a></li></ul></td></tr><tr><td class="src"><a id="v:MonoLocalBinds" class="def">MonoLocalBinds</a></td><td class="doc"><p>Local (<code>let</code> and <code>where</code>) bindings are monomorphic.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#mono-local-binds">http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#mono-local-binds</a></li></ul></td></tr><tr><td class="src"><a id="v:DeriveFunctor" class="def">DeriveFunctor</a></td><td class="doc"><p>Enable <code>deriving</code> for the <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor.html#v:Functor">Functor</a></code> class.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#deriving-typeable">http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#deriving-typeable</a></li></ul></td></tr><tr><td class="src"><a id="v:DeriveTraversable" class="def">DeriveTraversable</a></td><td class="doc"><p>Enable <code>deriving</code> for the <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Traversable.html#v:Traversable">Traversable</a></code> class.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#deriving-typeable">http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#deriving-typeable</a></li></ul></td></tr><tr><td class="src"><a id="v:DeriveFoldable" class="def">DeriveFoldable</a></td><td class="doc"><p>Enable <code>deriving</code> for the <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Foldable.html#v:Foldable">Foldable</a></code> class.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#deriving-typeable">http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#deriving-typeable</a></li></ul></td></tr><tr><td class="src"><a id="v:NondecreasingIndentation" class="def">NondecreasingIndentation</a></td><td class="doc"><p>Enable non-decreasing indentation for <code>do</code> blocks.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/bugs-and-infelicities.html#infelicities-syntax">http://www.haskell.org/ghc/docs/latest/html/users_guide/bugs-and-infelicities.html#infelicities-syntax</a></li></ul></td></tr><tr><td class="src"><a id="v:SafeImports" class="def">SafeImports</a></td><td class="doc"><p>Allow imports to be qualified with a safe keyword that requires- the imported module be trusted as according to the Safe Haskell- definition of trust.</p><pre>import safe Network.Socket</pre><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/safe-haskell.html#safe-imports">http://www.haskell.org/ghc/docs/latest/html/users_guide/safe-haskell.html#safe-imports</a></li></ul></td></tr><tr><td class="src"><a id="v:Safe" class="def">Safe</a></td><td class="doc"><p>Compile a module in the Safe, Safe Haskell mode -- a restricted- form of the Haskell language to ensure type safety.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/safe-haskell.html#safe-trust">http://www.haskell.org/ghc/docs/latest/html/users_guide/safe-haskell.html#safe-trust</a></li></ul></td></tr><tr><td class="src"><a id="v:Trustworthy" class="def">Trustworthy</a></td><td class="doc"><p>Compile a module in the Trustworthy, Safe Haskell mode -- no- restrictions apply but the module is marked as trusted as long as- the package the module resides in is trusted.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/safe-haskell.html#safe-trust">http://www.haskell.org/ghc/docs/latest/html/users_guide/safe-haskell.html#safe-trust</a></li></ul></td></tr><tr><td class="src"><a id="v:Unsafe" class="def">Unsafe</a></td><td class="doc"><p>Compile a module in the Unsafe, Safe Haskell mode so that- modules compiled using Safe, Safe Haskell mode can't import it.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/safe-haskell.html#safe-trust">http://www.haskell.org/ghc/docs/latest/html/users_guide/safe-haskell.html#safe-trust</a></li></ul></td></tr><tr><td class="src"><a id="v:ConstraintKinds" class="def">ConstraintKinds</a></td><td class="doc"><p>Allow type class<em>implicit parameter</em>equality constraints to be- used as types with the special kind constraint. Also generalise- the <code>(ctxt => ty)</code> syntax so that any type of kind constraint can- occur before the arrow.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/constraint-kind.html">http://www.haskell.org/ghc/docs/latest/html/users_guide/constraint-kind.html</a></li></ul></td></tr><tr><td class="src"><a id="v:PolyKinds" class="def">PolyKinds</a></td><td class="doc"><p>Enable kind polymorphism.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/kind-polymorphism.html">http://www.haskell.org/ghc/docs/latest/html/users_guide/kind-polymorphism.html</a></li></ul></td></tr><tr><td class="src"><a id="v:DataKinds" class="def">DataKinds</a></td><td class="doc"><p>Enable datatype promotion.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/promotion.html">http://www.haskell.org/ghc/docs/latest/html/users_guide/promotion.html</a></li></ul></td></tr><tr><td class="src"><a id="v:ParallelArrays" class="def">ParallelArrays</a></td><td class="doc"><p>Enable parallel arrays syntax (<code>[:</code>, <code>:]</code>) for <em>Data Parallel Haskell</em>.</p><ul><li><a href="http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell">http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell</a></li></ul></td></tr><tr><td class="src"><a id="v:RoleAnnotations" class="def">RoleAnnotations</a></td><td class="doc"><p>Enable explicit role annotations, like in (<code>type role Foo representational representational</code>).</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/roles.html">http://www.haskell.org/ghc/docs/latest/html/users_guide/roles.html</a></li></ul></td></tr><tr><td class="src"><a id="v:OverloadedLists" class="def">OverloadedLists</a></td><td class="doc"><p>Enable overloading of list literals, arithmetic sequences and- list patterns using the <code>IsList</code> type class.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#overloaded-lists">http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#overloaded-lists</a></li></ul></td></tr><tr><td class="src"><a id="v:EmptyCase" class="def">EmptyCase</a></td><td class="doc"><p>Enable case expressions that have no alternatives. Also applies to lambda-case expressions if they are enabled.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#empty-case">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#empty-case</a></li></ul></td></tr><tr><td class="src"><a id="v:AutoDeriveTypeable" class="def">AutoDeriveTypeable</a></td><td class="doc"><p>Triggers the generation of derived <code><a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a></code> instances for every- datatype and type class declaration.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#auto-derive-typeable">http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#auto-derive-typeable</a></li></ul></td></tr><tr><td class="src"><a id="v:NegativeLiterals" class="def">NegativeLiterals</a></td><td class="doc"><p>Desugars negative literals directly (without using negate).</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#negative-literals">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#negative-literals</a></li></ul></td></tr><tr><td class="src"><a id="v:BinaryLiterals" class="def">BinaryLiterals</a></td><td class="doc"><p>Allow the use of binary integer literal syntax (e.g. <code>0b11001001</code> to denote <code>201</code>).</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#binary-literals">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#binary-literals</a></li></ul></td></tr><tr><td class="src"><a id="v:NumDecimals" class="def">NumDecimals</a></td><td class="doc"><p>Allow the use of floating literal syntax for all instances of <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Num">Num</a></code>, including <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a></code> and <code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Integer">Integer</a></code>.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#num-decimals">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#num-decimals</a></li></ul></td></tr><tr><td class="src"><a id="v:NullaryTypeClasses" class="def">NullaryTypeClasses</a></td><td class="doc"><p>Enable support for type classes with no type parameter.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#nullary-type-classes">http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#nullary-type-classes</a></li></ul></td></tr><tr><td class="src"><a id="v:ExplicitNamespaces" class="def">ExplicitNamespaces</a></td><td class="doc"><p>Enable explicit namespaces in module import/export lists.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#explicit-namespaces">http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#explicit-namespaces</a></li></ul></td></tr><tr><td class="src"><a id="v:AllowAmbiguousTypes" class="def">AllowAmbiguousTypes</a></td><td class="doc"><p>Allow the user to write ambiguous types, and the type inference engine to infer them.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#ambiguity">http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#ambiguity</a></li></ul></td></tr><tr><td class="src"><a id="v:JavaScriptFFI" class="def">JavaScriptFFI</a></td><td class="doc"><p>Enable <code>foreign import javascript</code>.</p></td></tr><tr><td class="src"><a id="v:PatternSynonyms" class="def">PatternSynonyms</a></td><td class="doc"><p>Allow giving names to and abstracting over patterns.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#pattern-synonyms">http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#pattern-synonyms</a></li></ul></td></tr><tr><td class="src"><a id="v:PartialTypeSignatures" class="def">PartialTypeSignatures</a></td><td class="doc"><p>Allow anonymous placeholders (underscore) inside type signatures. The- type inference engine will generate a message describing the type inferred- at the hole's location.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#partial-type-signatures">http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#partial-type-signatures</a></li></ul></td></tr><tr><td class="src"><a id="v:NamedWildCards" class="def">NamedWildCards</a></td><td class="doc"><p>Allow named placeholders written with a leading underscore inside type- signatures. Wildcards with the same name unify to the same type.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#named-wildcards">http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#named-wildcards</a></li></ul></td></tr><tr><td class="src"><a id="v:DeriveAnyClass" class="def">DeriveAnyClass</a></td><td class="doc"><p>Enable <code>deriving</code> for any class.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#derive-any-class">http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#derive-any-class</a></li></ul></td></tr><tr><td class="src"><a id="v:DeriveLift" class="def">DeriveLift</a></td><td class="doc"><p>Enable <code>deriving</code> for the <code><a href="Language-Haskell-TH-Syntax.html#v:Lift">Lift</a></code> class.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#deriving-lift">http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html#deriving-lift</a></li></ul></td></tr><tr><td class="src"><a id="v:StaticPointers" class="def">StaticPointers</a></td><td class="doc"><p>Enable support for 'static pointers' (and the <code>static</code>- keyword) to refer to globally stable names, even across- different programs.</p><ul><li><a href="http://www.haskell.org/ghc/docs/latest/html/users_guide/static-pointers.html">http://www.haskell.org/ghc/docs/latest/html/users_guide/static-pointers.html</a></li></ul></td></tr><tr><td class="src"><a id="v:StrictData" class="def">StrictData</a></td><td class="doc"><p>Switches data type declarations to be strict by default (as if- they had a bang using <code>BangPatterns</code>), and allow opt-in field- laziness using <code>~</code>.</p></td></tr><tr><td class="src"><a id="v:Strict" class="def">Strict</a></td><td class="doc"><p>Switches all pattern bindings to be strict by default (as if- they had a bang using <code>BangPatterns</code>), ordinary patterns are- recovered using <code>~</code>. Implies <code>StrictData</code>.</p></td></tr><tr><td class="src"><a id="v:ApplicativeDo" class="def">ApplicativeDo</a></td><td class="doc"><p>Allows <code>do</code>-notation for types that are <code><code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code></code> as well- as <code><code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a></code></code>. When enabled, desugaring <code>do</code> notation tries to use- <code>(<a href="*">*</a>)</code> and <code><code><a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Functor.html#v:fmap">fmap</a></code></code> and <code><code>join</code></code> as far as possible.</p></td></tr><tr><td class="src"><a id="v:DuplicateRecordFields" class="def">DuplicateRecordFields</a></td><td class="doc"><p>Allow records to use duplicated field labels for accessors.</p></td></tr><tr><td class="src"><a id="v:TypeApplications" class="def">TypeApplications</a></td><td class="doc"><p>Enable explicit type applications with the syntax <code>id @Int</code>.</p></td></tr><tr><td class="src"><a id="v:TypeInType" class="def">TypeInType</a></td><td class="doc"><p>Dissolve the distinction between types and kinds, allowing the compiler- to reason about kind equality and therefore enabling GADTs to be promoted- to the type-level.</p></td></tr><tr><td class="src"><a id="v:UndecidableSuperClasses" class="def">UndecidableSuperClasses</a></td><td class="doc"><p>Allow recursive (and therefore undecideable) super-class relationships.</p></td></tr><tr><td class="src"><a id="v:MonadFailDesugaring" class="def">MonadFailDesugaring</a></td><td class="doc"><p>A temporary extension to help library authors check if their- code will compile with the new planned desugaring of fail.</p></td></tr><tr><td class="src"><a id="v:TemplateHaskellQuotes" class="def">TemplateHaskellQuotes</a></td><td class="doc"><p>A subset of <code>TemplateHaskell</code> including only quasi-quoting.</p></td></tr><tr><td class="src"><a id="v:OverloadedLabels" class="def">OverloadedLabels</a></td><td class="doc"><p>Allows use of the <code>#label</code> syntax.</p></td></tr><tr><td class="src"><a id="v:TypeFamilyDependencies" class="def">TypeFamilyDependencies</a></td><td class="doc"><p>Allow functional dependency annotations on type families to declare them- as injective.</p></td></tr></table></div><div class="subs instances"><p id="control.i:KnownExtension" class="caption collapser" onclick="toggleSection('i:KnownExtension')">Instances</p><div id="section.i:KnownExtension" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:KnownExtension:Bounded:1" class="instance expander" onclick="toggleSection('i:id:KnownExtension:Bounded:1')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Bounded">Bounded</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a></span> <a href="#t:KnownExtension" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:KnownExtension:Bounded:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:minBound">minBound</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> <a href="#v:minBound" class="selflink">#</a></p><p class="src"><a href="#v:maxBound">maxBound</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> <a href="#v:maxBound" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:KnownExtension:Enum:2" class="instance expander" onclick="toggleSection('i:id:KnownExtension:Enum:2')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Prelude.html#t:Enum">Enum</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a></span> <a href="#t:KnownExtension" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:KnownExtension:Enum:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:succ">succ</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> <a href="#v:succ" class="selflink">#</a></p><p class="src"><a href="#v:pred">pred</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> <a href="#v:pred" class="selflink">#</a></p><p class="src"><a href="#v:toEnum">toEnum</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> <a href="#v:toEnum" class="selflink">#</a></p><p class="src"><a href="#v:fromEnum">fromEnum</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> <a href="#v:fromEnum" class="selflink">#</a></p><p class="src"><a href="#v:enumFrom">enumFrom</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> [<a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a>] <a href="#v:enumFrom" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThen">enumFromThen</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> [<a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a>] <a href="#v:enumFromThen" class="selflink">#</a></p><p class="src"><a href="#v:enumFromTo">enumFromTo</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> [<a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a>] <a href="#v:enumFromTo" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThenTo">enumFromThenTo</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> [<a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a>] <a href="#v:enumFromThenTo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:KnownExtension:Eq:3" class="instance expander" onclick="toggleSection('i:id:KnownExtension:Eq:3')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a></span> <a href="#t:KnownExtension" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:KnownExtension:Eq:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:KnownExtension:Data:4" class="instance expander" onclick="toggleSection('i:id:KnownExtension:Data:4')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a></span> <a href="#t:KnownExtension" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:KnownExtension:Data:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (d -> b) -> d -> c b) -> (<span class="keyword">forall</span> g. g -> c g) -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> c <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> -> c <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:Constr">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Data.html#t:DataType">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => c (t d)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Typeable</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>) t => (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> e) => c (t d e)) -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (c <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> b => b -> b) -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -> r' -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -> r -> r) -> r -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> r') -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> u) -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Control-Monad.html#t:Monad">Monad</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> m <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> m <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">MonadPlus</a> m => (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data">Data</a> d => d -> m d) -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> m <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> <a href="#v:gmapMo" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:KnownExtension:Ord:5" class="instance expander" onclick="toggleSection('i:id:KnownExtension:Ord:5')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a></span> <a href="#t:KnownExtension" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:KnownExtension:Ord:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:KnownExtension:Read:6" class="instance expander" onclick="toggleSection('i:id:KnownExtension:Read:6')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Read.html#t:Read">Read</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a></span> <a href="#t:KnownExtension" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:KnownExtension:Read:6" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS">ReadS</a> [<a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:KnownExtension:Show:7" class="instance expander" onclick="toggleSection('i:id:KnownExtension:Show:7')"></span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:Show">Show</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a></span> <a href="#t:KnownExtension" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:KnownExtension:Show:7" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:KnownExtension:Generic:8" class="instance expander" onclick="toggleSection('i:id:KnownExtension:Generic:8')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Generic</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a></span> <a href="#t:KnownExtension" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:KnownExtension:Generic:8" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> x -> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> <a href="#v:to" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:KnownExtension:Binary:9" class="instance expander" onclick="toggleSection('i:id:KnownExtension:Binary:9')"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Binary</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a></span> <a href="#t:KnownExtension" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:KnownExtension:Binary:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get">Get</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a>] -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:KnownExtension:Text:10" class="instance expander" onclick="toggleSection('i:id:KnownExtension:Text:10')"></span> <a href="Distribution-Text.html#t:Text">Text</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a></span> <a href="#t:KnownExtension" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:KnownExtension:Text:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> -> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/pretty-1.1.3.3/Text-PrettyPrint.html#t:Doc">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP">ReadP</a> r <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> <a href="#v:parse" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:KnownExtension:Rep:11" class="instance expander" onclick="toggleSection('i:id:KnownExtension:Rep:11')"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a></span> <a href="#t:KnownExtension" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:KnownExtension:Rep:11" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a> = <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:D1">D1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaData">MetaData</a> "KnownExtension" "Language.Haskell.Extension" "Cabal-2.0.1.1-ARIl7MGNKZFBAH1HVzpC6s" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "OverlappingInstances" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "UndecidableInstances" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "IncoherentInstances" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DoRec" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "RecursiveDo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ParallelListComp" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "MultiParamTypeClasses" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "MonomorphismRestriction" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "FunctionalDependencies" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Rank2Types" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "RankNTypes" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PolymorphicComponents" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ExistentialQuantification" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ScopedTypeVariables" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PatternSignatures" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ImplicitParams" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "FlexibleContexts" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "FlexibleInstances" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "EmptyDataDecls" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CPP" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "KindSignatures" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BangPatterns" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TypeSynonymInstances" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TemplateHaskell" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ForeignFunctionInterface" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Arrows" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Generics" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ImplicitPrelude" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "NamedFieldPuns" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PatternGuards" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "GeneralizedNewtypeDeriving" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ExtensibleRecords" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "RestrictedTypeSynonyms" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "HereDocuments" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "MagicHash" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TypeFamilies" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "StandaloneDeriving" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "UnicodeSyntax" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "UnliftedFFITypes" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "InterruptibleFFI" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "CApiFFI" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "LiberalTypeSynonyms" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TypeOperators" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "RecordWildCards" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "RecordPuns" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DisambiguateRecordFields" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TraditionalRecordSyntax" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "OverloadedStrings" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "GADTs" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "GADTSyntax" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "MonoPatBinds" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "RelaxedPolyRec" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ExtendedDefaultRules" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "UnboxedTuples" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DeriveDataTypeable" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DeriveGeneric" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DefaultSignatures" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "InstanceSigs" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ConstrainedClassMethods" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PackageImports" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ImpredicativeTypes" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "NewQualifiedOperators" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PostfixOperators" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "QuasiQuotes" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TransformListComp" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "MonadComprehensions" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ViewPatterns" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "XmlSyntax" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "RegularPatterns" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TupleSections" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "GHCForeignImportPrim" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "NPlusKPatterns" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DoAndIfThenElse" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "MultiWayIf" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "LambdaCase" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "RebindableSyntax" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ExplicitForAll" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DatatypeContexts" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "MonoLocalBinds" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DeriveFunctor" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DeriveTraversable" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DeriveFoldable" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "NondecreasingIndentation" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "SafeImports" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Safe" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Trustworthy" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Unsafe" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ConstraintKinds" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PolyKinds" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DataKinds" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ParallelArrays" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "RoleAnnotations" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "OverloadedLists" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "EmptyCase" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "AutoDeriveTypeable" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "NegativeLiterals" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "BinaryLiterals" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "NumDecimals" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "NullaryTypeClasses" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ExplicitNamespaces" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "AllowAmbiguousTypes" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "JavaScriptFFI" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PatternSynonyms" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "PartialTypeSignatures" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "NamedWildCards" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DeriveAnyClass" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DeriveLift" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "StaticPointers" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "StrictData" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "Strict" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "ApplicativeDo" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "DuplicateRecordFields" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TypeApplications" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TypeInType" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "UndecidableSuperClasses" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "MonadFailDesugaring" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TemplateHaskellQuotes" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>))) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t::-43-:">(:+:)</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "OverloadedLabels" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:C1">C1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a> (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:MetaCons">MetaCons</a> "TypeFamilyDependencies" <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#v:PrefixI">PrefixI</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Bool.html#v:False">False</a>) (<a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/GHC-Generics.html#t:U1">U1</a> <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Kind.html#t:-42-">*</a>)))))))))</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:knownExtensions" class="def">knownExtensions</a> :: [<a href="Language-Haskell-Extension.html#t:KnownExtension">KnownExtension</a>] <a href="#v:knownExtensions" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: KnownExtension is an instance of Enum and Bounded, use those instead.</p></div></div></div><div class="top"><p class="src"><a id="v:deprecatedExtensions" class="def">deprecatedExtensions</a> :: [(<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>, <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a>)] <a href="#v:deprecatedExtensions" class="selflink">#</a></p><div class="doc"><p>Extensions that have been deprecated, possibly paired with another- extension that replaces it.</p></div></div><div class="top"><p class="src"><a id="v:classifyExtension" class="def">classifyExtension</a> :: <a href="file:///opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/base-4.10.1.0/Data-String.html#t:String">String</a> -> <a href="Language-Haskell-Extension.html#t:Extension">Extension</a> <a href="#v:classifyExtension" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - |)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - |</p><table><tr><td class="src">||</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - !)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - !</p><table><tr><td class="src">!</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">!!</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">!?</td><td class="module">Distribution.Compat.Map.Strict</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - $)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - $</p><table><tr><td class="src">$</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">$!</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - &)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - &</p><table><tr><td class="src">&&</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - *)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - *</p><table><tr><td class="src">*</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">**</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">*></td><td class="module">Distribution.Compat.Prelude.Internal</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - +)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - +</p><table><tr><td class="src">+</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">++</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">+++</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:-43--43--43-">Distribution.Compat.ReadP</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - -)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - -</p><table><tr><td class="src">-</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - .)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - .</p><table><tr><td class="src">.</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - /)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - /</p><table><tr><td class="src">/</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">/=</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - <)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - <</p><table><tr><td class="src"><</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src"><$</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src"><$></td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src"><*</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src"><*></td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src"><++</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:-60--43--43-">Distribution.Compat.ReadP</a></td></tr><tr><td class="src"><<>></td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:-60--60--62--62-">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src"><=</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src"><></td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:-60--62-">Distribution.Compat.Semigroup</a>, <a href="Distribution-Compat-Prelude-Internal.html#v:-60--62-">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src"><|></td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:-60--124--62-">Distribution.Compat.Prelude.Internal</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - =)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - =</p><table><tr><td class="src">=<<</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">==</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - >)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - ></p><table><tr><td class="src">></td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">>=</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">>></td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">>>=</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - \)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - \</p><table><tr><td class="src">\\</td><td class="module">Distribution.Compat.Map.Strict</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - ^)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - ^</p><table><tr><td class="src">^</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">^^</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - A)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - A</p><table><tr><td class="src">AbiDependency</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:AbiDependency">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">abiDepends</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:abiDepends">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">AbiHash</td><td class="module"><a href="Distribution-Types-AbiHash.html#t:AbiHash">Distribution.Types.AbiHash</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">abiHash</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:abiHash">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Register.html#v:abiHash">Distribution.Simple.Register</a></td></tr><tr><td class="src">AbiTag</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Compiler.html#t:AbiTag">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Compiler.html#v:AbiTag">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">abiTagString</td><td class="module"><a href="Distribution-Compiler.html#v:abiTagString">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">AbiTagVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:AbiTagVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">abiTemplateEnv</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:abiTemplateEnv">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">AbiVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:AbiVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">abs</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">absoluteComponentInstallDirs</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:absoluteComponentInstallDirs">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">absoluteInstallDirs</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:absoluteInstallDirs">Distribution.Simple.InstallDirs</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:absoluteInstallDirs">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">absoluteInstalledPackageInfo</td><td class="module"><a href="Distribution-Simple-Register.html#v:absoluteInstalledPackageInfo">Distribution.Simple.Register</a></td></tr><tr><td class="src">absolutePackageDBPath</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:absolutePackageDBPath">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">absolutePackageDBPaths</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:absolutePackageDBPaths">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">abstractUnitId</td><td class="module"><a href="Distribution-Backpack.html#v:abstractUnitId">Distribution.Backpack</a></td></tr><tr><td class="src">acos</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">acosh</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">AcyclicSCC</td><td class="module"><a href="Distribution-Compat-Graph.html#v:AcyclicSCC">Distribution.Compat.Graph</a></td></tr><tr><td class="src">addBuildableCondition</td><td class="module"><a href="Distribution-PackageDescription-Configuration.html#v:addBuildableCondition">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">addKnownProgram</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:addKnownProgram">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:addKnownProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">addKnownPrograms</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:addKnownPrograms">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:addKnownPrograms">Distribution.Simple.Program</a></td></tr><tr><td class="src">addLibraryPath</td><td class="module"><a href="Distribution-Simple-Utils.html#v:addLibraryPath">Distribution.Simple.Utils</a></td></tr><tr><td class="src">addProgressCtx</td><td class="module"><a href="Distribution-Utils-LogProgress.html#v:addProgressCtx">Distribution.Utils.LogProgress</a></td></tr><tr><td class="src">adjust</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">adjustWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">AGPL</td><td class="module"><a href="Distribution-License.html#v:AGPL">Distribution.License</a>, <a href="Distribution-Make.html#v:AGPL">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">AIX</td><td class="module"><a href="Distribution-System.html#v:AIX">Distribution.System</a></td></tr><tr><td class="src">alexProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:alexProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:alexProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">All</td><td> </td></tr><tr><td class="alt">1 (Data Constructor)</td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:All">Distribution.Compat.Semigroup</a></td></tr><tr><td class="alt">2 (Type/Class)</td><td class="module"><a href="Distribution-Compat-Semigroup.html#t:All">Distribution.Compat.Semigroup</a></td></tr><tr><td class="src">all</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">allBuildInfo</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:allBuildInfo">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:allBuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="src">allComponentsInBuildOrder</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:allComponentsInBuildOrder">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">allExtensions</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:allExtensions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:allExtensions">Distribution.PackageDescription</a></td></tr><tr><td class="src">allLanguages</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:allLanguages">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:allLanguages">Distribution.PackageDescription</a></td></tr><tr><td class="src">allLibModules</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:allLibModules">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">allLibraries</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:allLibraries">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:allLibraries">Distribution.PackageDescription</a></td></tr><tr><td class="src">AllowAmbiguousTypes</td><td class="module"><a href="Language-Haskell-Extension.html#v:AllowAmbiguousTypes">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">AllowNewer</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:AllowNewer">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:AllowNewer">Distribution.Simple.Setup</a></td></tr><tr><td class="src">AllowOlder</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:AllowOlder">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:AllowOlder">Distribution.Simple.Setup</a></td></tr><tr><td class="src">allPackages</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:allPackages">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">allPackagesByName</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:allPackagesByName">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">allPackagesBySourcePackageId</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:allPackagesBySourcePackageId">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">allPackagesBySourcePackageIdAndLibName</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:allPackagesBySourcePackageIdAndLibName">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">AllRightsReserved</td><td class="module"><a href="Distribution-License.html#v:AllRightsReserved">Distribution.License</a>, <a href="Distribution-Make.html#v:AllRightsReserved">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">allTargetsInBuildOrder</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:allTargetsInBuildOrder">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">allTargetsInBuildOrder'</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:allTargetsInBuildOrder-39-">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">Alpha</td><td class="module"><a href="Distribution-System.html#v:Alpha">Distribution.System</a></td></tr><tr><td class="src">alter</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">alterF</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">Alternative</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:Alternative">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">alterVersion</td><td class="module"><a href="Distribution-Version.html#v:alterVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">Always</td><td class="module"><a href="Distribution-Simple-Setup.html#v:Always">Distribution.Simple.Setup</a></td></tr><tr><td class="src">alwaysNondecIndent</td><td class="module"><a href="Distribution-Simple-GHC.html#v:alwaysNondecIndent">Distribution.Simple.GHC</a></td></tr><tr><td class="src">Ambiguous</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:Ambiguous">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">AmbiguousParse</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:AmbiguousParse">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">and</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Android</td><td class="module"><a href="Distribution-System.html#v:Android">Distribution.System</a></td></tr><tr><td class="src">annotateCallStackIO</td><td class="module"><a href="Distribution-Compat-Stack.html#v:annotateCallStackIO">Distribution.Compat.Stack</a></td></tr><tr><td class="src">AnnotatedId</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">Distribution.Types.AnnotatedId</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-AnnotatedId.html#v:AnnotatedId">Distribution.Types.AnnotatedId</a></td></tr><tr><td class="src">annotateIO</td><td class="module"><a href="Distribution-Simple-Utils.html#v:annotateIO">Distribution.Simple.Utils</a></td></tr><tr><td class="src">ann_cname</td><td class="module"><a href="Distribution-Types-AnnotatedId.html#v:ann_cname">Distribution.Types.AnnotatedId</a></td></tr><tr><td class="src">ann_id</td><td class="module"><a href="Distribution-Types-AnnotatedId.html#v:ann_id">Distribution.Types.AnnotatedId</a></td></tr><tr><td class="src">ann_pid</td><td class="module"><a href="Distribution-Types-AnnotatedId.html#v:ann_pid">Distribution.Types.AnnotatedId</a></td></tr><tr><td class="src">Any</td><td> </td></tr><tr><td class="alt">1 (Data Constructor)</td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:Any">Distribution.Compat.Semigroup</a></td></tr><tr><td class="alt">2 (Type/Class)</td><td class="module"><a href="Distribution-Compat-Semigroup.html#t:Any">Distribution.Compat.Semigroup</a></td></tr><tr><td class="src">any</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">AnyVersion</td><td class="module"><a href="Distribution-Version.html#v:AnyVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">anyVersion</td><td class="module"><a href="Distribution-Version.html#v:anyVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">ap</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:ap">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Apache</td><td class="module"><a href="Distribution-License.html#v:Apache">Distribution.License</a>, <a href="Distribution-Make.html#v:Apache">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">appendFile</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Applicative</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">ApplicativeDo</td><td class="module"><a href="Language-Haskell-Extension.html#v:ApplicativeDo">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Arch</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-System.html#t:Arch">Distribution.System</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:Arch">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:Arch">Distribution.PackageDescription</a></td></tr><tr><td class="src">ArchVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:ArchVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">ArgPlaceHolder</td><td class="module"><a href="Distribution-Simple-Command.html#t:ArgPlaceHolder">Distribution.Simple.Command</a></td></tr><tr><td class="src">Args</td><td class="module"><a href="Distribution-Simple-UserHooks.html#t:Args">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#t:Args">Distribution.Simple</a></td></tr><tr><td class="src">Arm</td><td class="module"><a href="Distribution-System.html#v:Arm">Distribution.System</a></td></tr><tr><td class="src">arProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:arProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:arProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">Arrows</td><td class="module"><a href="Language-Haskell-Extension.html#v:Arrows">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">asBool</td><td class="module"><a href="Distribution-Simple-Setup.html#v:asBool">Distribution.Simple.Setup</a></td></tr><tr><td class="src">asin</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">asinh</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">assocs</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">asTypeOf</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">asVersionIntervals</td><td class="module"><a href="Distribution-Version.html#v:asVersionIntervals">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">atan</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">atan2</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">atanh</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">author</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:author">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:author">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:author">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">autoconfUserHooks</td><td class="module"><a href="Distribution-Simple.html#v:autoconfUserHooks">Distribution.Simple</a></td></tr><tr><td class="src">AutoDeriveTypeable</td><td class="module"><a href="Language-Haskell-Extension.html#v:AutoDeriveTypeable">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">autogenComponentModulesDir</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:autogenComponentModulesDir">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">autogenModuleName</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:autogenModuleName">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">autogenModules</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:autogenModules">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:autogenModules">Distribution.PackageDescription</a></td></tr><tr><td class="src">autogenModulesDir</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:autogenModulesDir">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">autogenPackageModulesDir</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:autogenPackageModulesDir">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">autogenPathsModuleName</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:autogenPathsModuleName">Distribution.Simple.BuildPaths</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="index"><p class="caption">Index</p><table><tr><td class="src">!</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">!!</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">!?</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">$</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">$!</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">&&</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">*</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">**</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">*></td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">+</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">++</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">+++</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:-43--43--43-">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">-</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">.</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">/</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">/=</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src"><</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src"><$</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src"><$></td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src"><*</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src"><*></td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src"><++</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:-60--43--43-">Distribution.Compat.ReadP</a></td></tr><tr><td class="src"><<>></td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:-60--60--62--62-">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src"><=</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src"><></td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:-60--62-">Distribution.Compat.Semigroup</a>, <a href="Distribution-Compat-Prelude-Internal.html#v:-60--62-">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src"><|></td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:-60--124--62-">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">=<<</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">==</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">></td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">>=</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">>></td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">>>=</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">AbiDependency</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#t:AbiDependency">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:AbiDependency">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">abiDepends</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:abiDepends">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">AbiHash</td><td class="module"><a href="Distribution-Types-AbiHash.html#t:AbiHash">Distribution.Types.AbiHash</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">abiHash</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:abiHash">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Register.html#v:abiHash">Distribution.Simple.Register</a></td></tr><tr><td class="src">AbiTag</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Compiler.html#t:AbiTag">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Compiler.html#v:AbiTag">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">abiTagString</td><td class="module"><a href="Distribution-Compiler.html#v:abiTagString">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">AbiTagVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:AbiTagVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">abiTemplateEnv</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:abiTemplateEnv">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">AbiVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:AbiVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">abs</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">absoluteComponentInstallDirs</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:absoluteComponentInstallDirs">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">absoluteInstallDirs</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:absoluteInstallDirs">Distribution.Simple.InstallDirs</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:absoluteInstallDirs">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">absoluteInstalledPackageInfo</td><td class="module"><a href="Distribution-Simple-Register.html#v:absoluteInstalledPackageInfo">Distribution.Simple.Register</a></td></tr><tr><td class="src">absolutePackageDBPath</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:absolutePackageDBPath">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">absolutePackageDBPaths</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:absolutePackageDBPaths">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">abstractUnitId</td><td class="module"><a href="Distribution-Backpack.html#v:abstractUnitId">Distribution.Backpack</a></td></tr><tr><td class="src">acos</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">acosh</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">AcyclicSCC</td><td class="module"><a href="Distribution-Compat-Graph.html#v:AcyclicSCC">Distribution.Compat.Graph</a></td></tr><tr><td class="src">addBuildableCondition</td><td class="module"><a href="Distribution-PackageDescription-Configuration.html#v:addBuildableCondition">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">addKnownProgram</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:addKnownProgram">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:addKnownProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">addKnownPrograms</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:addKnownPrograms">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:addKnownPrograms">Distribution.Simple.Program</a></td></tr><tr><td class="src">addLibraryPath</td><td class="module"><a href="Distribution-Simple-Utils.html#v:addLibraryPath">Distribution.Simple.Utils</a></td></tr><tr><td class="src">addProgressCtx</td><td class="module"><a href="Distribution-Utils-LogProgress.html#v:addProgressCtx">Distribution.Utils.LogProgress</a></td></tr><tr><td class="src">adjust</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">adjustWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">AGPL</td><td class="module"><a href="Distribution-License.html#v:AGPL">Distribution.License</a>, <a href="Distribution-Make.html#v:AGPL">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">AIX</td><td class="module"><a href="Distribution-System.html#v:AIX">Distribution.System</a></td></tr><tr><td class="src">alexProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:alexProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:alexProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">All</td><td> </td></tr><tr><td class="alt">1 (Data Constructor)</td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:All">Distribution.Compat.Semigroup</a></td></tr><tr><td class="alt">2 (Type/Class)</td><td class="module"><a href="Distribution-Compat-Semigroup.html#t:All">Distribution.Compat.Semigroup</a></td></tr><tr><td class="src">all</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">allBuildInfo</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:allBuildInfo">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:allBuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="src">allComponentsInBuildOrder</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:allComponentsInBuildOrder">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">allExtensions</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:allExtensions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:allExtensions">Distribution.PackageDescription</a></td></tr><tr><td class="src">allLanguages</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:allLanguages">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:allLanguages">Distribution.PackageDescription</a></td></tr><tr><td class="src">allLibModules</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:allLibModules">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">allLibraries</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:allLibraries">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:allLibraries">Distribution.PackageDescription</a></td></tr><tr><td class="src">AllowAmbiguousTypes</td><td class="module"><a href="Language-Haskell-Extension.html#v:AllowAmbiguousTypes">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">AllowNewer</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:AllowNewer">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:AllowNewer">Distribution.Simple.Setup</a></td></tr><tr><td class="src">AllowOlder</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:AllowOlder">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:AllowOlder">Distribution.Simple.Setup</a></td></tr><tr><td class="src">allPackages</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:allPackages">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">allPackagesByName</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:allPackagesByName">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">allPackagesBySourcePackageId</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:allPackagesBySourcePackageId">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">allPackagesBySourcePackageIdAndLibName</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:allPackagesBySourcePackageIdAndLibName">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">AllRightsReserved</td><td class="module"><a href="Distribution-License.html#v:AllRightsReserved">Distribution.License</a>, <a href="Distribution-Make.html#v:AllRightsReserved">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">allTargetsInBuildOrder</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:allTargetsInBuildOrder">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">allTargetsInBuildOrder'</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:allTargetsInBuildOrder-39-">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">Alpha</td><td class="module"><a href="Distribution-System.html#v:Alpha">Distribution.System</a></td></tr><tr><td class="src">alter</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">alterF</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">Alternative</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:Alternative">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">alterVersion</td><td class="module"><a href="Distribution-Version.html#v:alterVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">Always</td><td class="module"><a href="Distribution-Simple-Setup.html#v:Always">Distribution.Simple.Setup</a></td></tr><tr><td class="src">alwaysNondecIndent</td><td class="module"><a href="Distribution-Simple-GHC.html#v:alwaysNondecIndent">Distribution.Simple.GHC</a></td></tr><tr><td class="src">Ambiguous</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:Ambiguous">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">AmbiguousParse</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:AmbiguousParse">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">and</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Android</td><td class="module"><a href="Distribution-System.html#v:Android">Distribution.System</a></td></tr><tr><td class="src">annotateCallStackIO</td><td class="module"><a href="Distribution-Compat-Stack.html#v:annotateCallStackIO">Distribution.Compat.Stack</a></td></tr><tr><td class="src">AnnotatedId</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-AnnotatedId.html#t:AnnotatedId">Distribution.Types.AnnotatedId</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-AnnotatedId.html#v:AnnotatedId">Distribution.Types.AnnotatedId</a></td></tr><tr><td class="src">annotateIO</td><td class="module"><a href="Distribution-Simple-Utils.html#v:annotateIO">Distribution.Simple.Utils</a></td></tr><tr><td class="src">ann_cname</td><td class="module"><a href="Distribution-Types-AnnotatedId.html#v:ann_cname">Distribution.Types.AnnotatedId</a></td></tr><tr><td class="src">ann_id</td><td class="module"><a href="Distribution-Types-AnnotatedId.html#v:ann_id">Distribution.Types.AnnotatedId</a></td></tr><tr><td class="src">ann_pid</td><td class="module"><a href="Distribution-Types-AnnotatedId.html#v:ann_pid">Distribution.Types.AnnotatedId</a></td></tr><tr><td class="src">Any</td><td> </td></tr><tr><td class="alt">1 (Data Constructor)</td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:Any">Distribution.Compat.Semigroup</a></td></tr><tr><td class="alt">2 (Type/Class)</td><td class="module"><a href="Distribution-Compat-Semigroup.html#t:Any">Distribution.Compat.Semigroup</a></td></tr><tr><td class="src">any</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">AnyVersion</td><td class="module"><a href="Distribution-Version.html#v:AnyVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">anyVersion</td><td class="module"><a href="Distribution-Version.html#v:anyVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">ap</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:ap">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Apache</td><td class="module"><a href="Distribution-License.html#v:Apache">Distribution.License</a>, <a href="Distribution-Make.html#v:Apache">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">appendFile</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Applicative</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">ApplicativeDo</td><td class="module"><a href="Language-Haskell-Extension.html#v:ApplicativeDo">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Arch</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-System.html#t:Arch">Distribution.System</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:Arch">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:Arch">Distribution.PackageDescription</a></td></tr><tr><td class="src">ArchVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:ArchVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">ArgPlaceHolder</td><td class="module"><a href="Distribution-Simple-Command.html#t:ArgPlaceHolder">Distribution.Simple.Command</a></td></tr><tr><td class="src">Args</td><td class="module"><a href="Distribution-Simple-UserHooks.html#t:Args">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#t:Args">Distribution.Simple</a></td></tr><tr><td class="src">Arm</td><td class="module"><a href="Distribution-System.html#v:Arm">Distribution.System</a></td></tr><tr><td class="src">arProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:arProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:arProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">Arrows</td><td class="module"><a href="Language-Haskell-Extension.html#v:Arrows">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">asBool</td><td class="module"><a href="Distribution-Simple-Setup.html#v:asBool">Distribution.Simple.Setup</a></td></tr><tr><td class="src">asin</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">asinh</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">assocs</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">asTypeOf</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">asVersionIntervals</td><td class="module"><a href="Distribution-Version.html#v:asVersionIntervals">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">atan</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">atan2</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">atanh</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">author</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:author">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:author">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:author">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">autoconfUserHooks</td><td class="module"><a href="Distribution-Simple.html#v:autoconfUserHooks">Distribution.Simple</a></td></tr><tr><td class="src">AutoDeriveTypeable</td><td class="module"><a href="Language-Haskell-Extension.html#v:AutoDeriveTypeable">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">autogenComponentModulesDir</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:autogenComponentModulesDir">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">autogenModuleName</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:autogenModuleName">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">autogenModules</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:autogenModules">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:autogenModules">Distribution.PackageDescription</a></td></tr><tr><td class="src">autogenModulesDir</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:autogenModulesDir">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">autogenPackageModulesDir</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:autogenPackageModulesDir">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">autogenPathsModuleName</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:autogenPathsModuleName">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">backpackSupported</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:backpackSupported">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">BangPatterns</td><td class="module"><a href="Language-Haskell-Extension.html#v:BangPatterns">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Bazaar</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:Bazaar">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:Bazaar">Distribution.PackageDescription</a></td></tr><tr><td class="src">bench</td><td class="module"><a href="Distribution-Simple-Bench.html#v:bench">Distribution.Simple.Bench</a></td></tr><tr><td class="src">BenchComponentLocalBuildInfo</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:BenchComponentLocalBuildInfo">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:BenchComponentLocalBuildInfo">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">benchHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:benchHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:benchHook">Distribution.Simple</a></td></tr><tr><td class="src">Benchmark</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-Benchmark.html#t:Benchmark">Distribution.Types.Benchmark</a>, <a href="Distribution-PackageDescription.html#t:Benchmark">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-Benchmark.html#v:Benchmark">Distribution.Types.Benchmark</a>, <a href="Distribution-PackageDescription.html#v:Benchmark">Distribution.PackageDescription</a></td></tr><tr><td class="src">benchmarkBuildInfo</td><td class="module"><a href="Distribution-Types-Benchmark.html#v:benchmarkBuildInfo">Distribution.Types.Benchmark</a>, <a href="Distribution-PackageDescription.html#v:benchmarkBuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="src">benchmarkCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:benchmarkCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">benchmarkDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:benchmarkDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">BenchmarkExeV10</td><td class="module"><a href="Distribution-Types-BenchmarkInterface.html#v:BenchmarkExeV10">Distribution.Types.BenchmarkInterface</a>, <a href="Distribution-PackageDescription.html#v:BenchmarkExeV10">Distribution.PackageDescription</a></td></tr><tr><td class="src">benchmarkFieldDescrs</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:benchmarkFieldDescrs">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">BenchmarkFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:BenchmarkFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">BenchmarkInterface</td><td class="module"><a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">Distribution.Types.BenchmarkInterface</a>, <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">Distribution.PackageDescription</a></td></tr><tr><td class="src">benchmarkInterface</td><td class="module"><a href="Distribution-Types-Benchmark.html#v:benchmarkInterface">Distribution.Types.Benchmark</a>, <a href="Distribution-PackageDescription.html#v:benchmarkInterface">Distribution.PackageDescription</a></td></tr><tr><td class="src">benchmarkModules</td><td class="module"><a href="Distribution-Types-Benchmark.html#v:benchmarkModules">Distribution.Types.Benchmark</a>, <a href="Distribution-PackageDescription.html#v:benchmarkModules">Distribution.PackageDescription</a></td></tr><tr><td class="src">benchmarkModulesAutogen</td><td class="module"><a href="Distribution-Types-Benchmark.html#v:benchmarkModulesAutogen">Distribution.Types.Benchmark</a>, <a href="Distribution-PackageDescription.html#v:benchmarkModulesAutogen">Distribution.PackageDescription</a></td></tr><tr><td class="src">benchmarkName</td><td class="module"><a href="Distribution-Types-Benchmark.html#v:benchmarkName">Distribution.Types.Benchmark</a>, <a href="Distribution-PackageDescription.html#v:benchmarkName">Distribution.PackageDescription</a></td></tr><tr><td class="src">BenchmarkNameVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:BenchmarkNameVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">benchmarkOptions</td><td class="module"><a href="Distribution-Simple-Setup.html#v:benchmarkOptions">Distribution.Simple.Setup</a></td></tr><tr><td class="src">benchmarks</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:benchmarks">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:benchmarks">Distribution.PackageDescription</a></td></tr><tr><td class="src">benchmarksRequested</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:benchmarksRequested">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">BenchmarkStanza</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#t:BenchmarkStanza">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:BenchmarkStanza">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">benchmarkStanzaBenchmarkModule</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:benchmarkStanzaBenchmarkModule">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">benchmarkStanzaBenchmarkType</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:benchmarkStanzaBenchmarkType">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">benchmarkStanzaBuildInfo</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:benchmarkStanzaBuildInfo">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">benchmarkStanzaMainIs</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:benchmarkStanzaMainIs">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">BenchmarkType</td><td class="module"><a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">Distribution.Types.BenchmarkType</a>, <a href="Distribution-PackageDescription.html#t:BenchmarkType">Distribution.PackageDescription</a></td></tr><tr><td class="src">benchmarkType</td><td class="module"><a href="Distribution-Types-Benchmark.html#v:benchmarkType">Distribution.Types.Benchmark</a>, <a href="Distribution-PackageDescription.html#v:benchmarkType">Distribution.PackageDescription</a></td></tr><tr><td class="src">BenchmarkTypeExe</td><td class="module"><a href="Distribution-Types-BenchmarkType.html#v:BenchmarkTypeExe">Distribution.Types.BenchmarkType</a>, <a href="Distribution-PackageDescription.html#v:BenchmarkTypeExe">Distribution.PackageDescription</a></td></tr><tr><td class="src">BenchmarkTypeUnknown</td><td class="module"><a href="Distribution-Types-BenchmarkType.html#v:BenchmarkTypeUnknown">Distribution.Types.BenchmarkType</a>, <a href="Distribution-PackageDescription.html#v:BenchmarkTypeUnknown">Distribution.PackageDescription</a></td></tr><tr><td class="src">BenchmarkUnsupported</td><td class="module"><a href="Distribution-Types-BenchmarkInterface.html#v:BenchmarkUnsupported">Distribution.Types.BenchmarkInterface</a>, <a href="Distribution-PackageDescription.html#v:BenchmarkUnsupported">Distribution.PackageDescription</a></td></tr><tr><td class="src">benchmarkVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:benchmarkVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">between</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:between">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">betweenVersionsInclusive</td><td class="module"><a href="Distribution-Version.html#v:betweenVersionsInclusive">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">Binary</td><td class="module">Distribution.Compat.Binary, <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">BinaryLiterals</td><td class="module"><a href="Language-Haskell-Extension.html#v:BinaryLiterals">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">bindir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:bindir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">BindirVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:BindirVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">binfoFieldDescrs</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:binfoFieldDescrs">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">Bool</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">BooleanFlag</td><td class="module"><a href="Distribution-Simple-Setup.html#t:BooleanFlag">Distribution.Simple.Setup</a></td></tr><tr><td class="src">BoolOpt</td><td class="module"><a href="Distribution-Simple-Command.html#v:BoolOpt">Distribution.Simple.Command</a></td></tr><tr><td class="src">boolOpt</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-Command.html#v:boolOpt">Distribution.Simple.Command</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:boolOpt">Distribution.Simple.Setup</a></td></tr><tr><td class="src">boolOpt'</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-Command.html#v:boolOpt-39-">Distribution.Simple.Command</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:boolOpt-39-">Distribution.Simple.Setup</a></td></tr><tr><td class="src">Bound</td><td class="module"><a href="Distribution-Version.html#t:Bound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">Bounded</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">break</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">broken</td><td class="module"><a href="Distribution-Compat-Graph.html#v:broken">Distribution.Compat.Graph</a></td></tr><tr><td class="src">brokenPackages</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:brokenPackages">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">BSD2</td><td class="module"><a href="Distribution-License.html#v:BSD2">Distribution.License</a>, <a href="Distribution-Make.html#v:BSD2">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">BSD3</td><td class="module"><a href="Distribution-License.html#v:BSD3">Distribution.License</a>, <a href="Distribution-Make.html#v:BSD3">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">BSD4</td><td class="module"><a href="Distribution-License.html#v:BSD4">Distribution.License</a>, <a href="Distribution-Make.html#v:BSD4">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">bugReports</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:bugReports">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:bugReports">Distribution.PackageDescription</a></td></tr><tr><td class="src">build</td><td class="module"><a href="Distribution-Simple-Build.html#v:build">Distribution.Simple.Build</a></td></tr><tr><td class="src">buildable</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:buildable">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:buildable">Distribution.PackageDescription</a></td></tr><tr><td class="src">buildArch</td><td class="module"><a href="Distribution-System.html#v:buildArch">Distribution.System</a></td></tr><tr><td class="src">buildArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:buildArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">buildCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:buildCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">buildCompilerFlavor</td><td class="module"><a href="Distribution-Compiler.html#v:buildCompilerFlavor">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">buildCompilerId</td><td class="module"><a href="Distribution-Compiler.html#v:buildCompilerId">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">buildDepends</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:buildDepends">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:buildDepends">Distribution.PackageDescription</a></td></tr><tr><td class="src">buildDir</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:buildDir">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:buildDir">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">buildDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:buildDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">buildExe</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-UHC.html#v:buildExe">Distribution.Simple.UHC</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-LHC.html#v:buildExe">Distribution.Simple.LHC</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Simple-JHC.html#v:buildExe">Distribution.Simple.JHC</a></td></tr><tr><td class="alt">4 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:buildExe">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">5 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:buildExe">Distribution.Simple.GHC</a></td></tr><tr><td class="src">BuildFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:BuildFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:BuildFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">buildFLib</td><td class="module"><a href="Distribution-Simple-GHC.html#v:buildFLib">Distribution.Simple.GHC</a></td></tr><tr><td class="src">buildHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:buildHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:buildHook">Distribution.Simple</a></td></tr><tr><td class="src">BuildInfo</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-BuildInfo.html#t:BuildInfo">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#t:BuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:BuildInfo">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:BuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="src">buildInfo</td><td class="module"><a href="Distribution-Types-Executable.html#v:buildInfo">Distribution.Types.Executable</a>, <a href="Distribution-PackageDescription.html#v:buildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="src">buildLib</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-UHC.html#v:buildLib">Distribution.Simple.UHC</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-LHC.html#v:buildLib">Distribution.Simple.LHC</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Simple-JHC.html#v:buildLib">Distribution.Simple.JHC</a></td></tr><tr><td class="alt">4 (Function)</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:buildLib">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="alt">5 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:buildLib">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">6 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:buildLib">Distribution.Simple.GHC</a></td></tr><tr><td class="src">buildNumJobs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:buildNumJobs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">buildOptions</td><td class="module"><a href="Distribution-Simple-Setup.html#v:buildOptions">Distribution.Simple.Setup</a></td></tr><tr><td class="src">buildOS</td><td class="module"><a href="Distribution-System.html#v:buildOS">Distribution.System</a></td></tr><tr><td class="src">buildPlatform</td><td class="module"><a href="Distribution-System.html#v:buildPlatform">Distribution.System</a></td></tr><tr><td class="src">buildProgramArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:buildProgramArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">buildProgramPaths</td><td class="module"><a href="Distribution-Simple-Setup.html#v:buildProgramPaths">Distribution.Simple.Setup</a></td></tr><tr><td class="src">BuildTarget</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">BuildTargetAmbiguous</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:BuildTargetAmbiguous">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">BuildTargetComponent</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:BuildTargetComponent">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">buildTargetComponentName</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:buildTargetComponentName">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">BuildTargetExpected</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:BuildTargetExpected">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">BuildTargetFile</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:BuildTargetFile">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">BuildTargetModule</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:BuildTargetModule">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">BuildTargetNoSuch</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:BuildTargetNoSuch">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">BuildTargetProblem</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#t:BuildTargetProblem">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">buildToolDepends</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:buildToolDepends">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:buildToolDepends">Distribution.PackageDescription</a></td></tr><tr><td class="src">buildTools</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:buildTools">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:buildTools">Distribution.PackageDescription</a></td></tr><tr><td class="src">BuildType</td><td class="module"><a href="Distribution-Types-BuildType.html#t:BuildType">Distribution.Types.BuildType</a>, <a href="Distribution-PackageDescription.html#t:BuildType">Distribution.PackageDescription</a></td></tr><tr><td class="src">buildType</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:buildType">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:buildType">Distribution.PackageDescription</a></td></tr><tr><td class="src">buildVerbose</td><td class="module"><a href="Distribution-Simple-Setup.html#v:buildVerbose">Distribution.Simple.Setup</a></td></tr><tr><td class="src">buildVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:buildVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">builtinPrograms</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:builtinPrograms">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:builtinPrograms">Distribution.Simple.Program</a></td></tr><tr><td class="src">byteSwap16</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">byteSwap32</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">byteSwap64</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">C</td><td class="module"><a href="Distribution-Simple-CCompiler.html#v:C">Distribution.Simple.CCompiler</a></td></tr><tr><td class="src">c2hsProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:c2hsProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:c2hsProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">cabalBug</td><td class="module"><a href="Distribution-PackageDescription-Utils.html#v:cabalBug">Distribution.PackageDescription.Utils</a></td></tr><tr><td class="src">cabalVersion</td><td class="module"><a href="Distribution-Simple-Utils.html#v:cabalVersion">Distribution.Simple.Utils</a></td></tr><tr><td class="src">calibrateMtimeChangeDelay</td><td class="module"><a href="Distribution-Compat-Time.html#v:calibrateMtimeChangeDelay">Distribution.Compat.Time</a></td></tr><tr><td class="src">CallStack</td><td class="module"><a href="Distribution-Compat-Stack.html#t:CallStack">Distribution.Compat.Stack</a></td></tr><tr><td class="src">callStack</td><td class="module"><a href="Distribution-Compat-Stack.html#v:callStack">Distribution.Compat.Stack</a></td></tr><tr><td class="src">CAnd</td><td class="module"><a href="Distribution-Types-Condition.html#v:CAnd">Distribution.Types.Condition</a>, <a href="Distribution-PackageDescription.html#v:CAnd">Distribution.PackageDescription</a></td></tr><tr><td class="src">cAnd</td><td class="module"><a href="Distribution-Types-Condition.html#v:cAnd">Distribution.Types.Condition</a>, <a href="Distribution-PackageDescription.html#v:cAnd">Distribution.PackageDescription</a></td></tr><tr><td class="src">CApiFFI</td><td class="module"><a href="Language-Haskell-Extension.html#v:CApiFFI">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">catchExit</td><td class="module"><a href="Distribution-Compat-Exception.html#v:catchExit">Distribution.Compat.Exception</a></td></tr><tr><td class="src">catchIO</td><td class="module"><a href="Distribution-Compat-Exception.html#v:catchIO">Distribution.Compat.Exception</a></td></tr><tr><td class="src">category</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:category">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:category">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:category">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">catMaybes</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:catMaybes">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">CBench</td><td class="module"><a href="Distribution-Types-Component.html#v:CBench">Distribution.Types.Component</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:CBench">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">CBenchName</td><td class="module"><a href="Distribution-Types-ComponentName.html#v:CBenchName">Distribution.Types.ComponentName</a>, <a href="Distribution-PackageDescription.html#v:CBenchName">Distribution.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:CBenchName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">ccLdOptionsBuildInfo</td><td class="module"><a href="Distribution-Simple-Configure.html#v:ccLdOptionsBuildInfo">Distribution.Simple.Configure</a></td></tr><tr><td class="src">ccOptions</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:ccOptions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:ccOptions">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:ccOptions">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">cc_ann_id</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:cc_ann_id">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">cc_cid</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:cc_cid">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">cc_component</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:cc_component">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">cc_exe_deps</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:cc_exe_deps">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">cc_includes</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:cc_includes">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">cc_name</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:cc_name">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">cc_pkgid</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:cc_pkgid">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">cc_public</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:cc_public">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">CDialect</td><td class="module"><a href="Distribution-Simple-CCompiler.html#t:CDialect">Distribution.Simple.CCompiler</a></td></tr><tr><td class="src">cDialectFilenameExtension</td><td class="module"><a href="Distribution-Simple-CCompiler.html#v:cDialectFilenameExtension">Distribution.Simple.CCompiler</a></td></tr><tr><td class="src">ceiling</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">CExe</td><td class="module"><a href="Distribution-Types-Component.html#v:CExe">Distribution.Types.Component</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:CExe">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">CExeName</td><td class="module"><a href="Distribution-Types-ComponentName.html#v:CExeName">Distribution.Types.ComponentName</a>, <a href="Distribution-PackageDescription.html#v:CExeName">Distribution.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:CExeName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">CFLib</td><td class="module"><a href="Distribution-Types-Component.html#v:CFLib">Distribution.Types.Component</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:CFLib">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">CFLibName</td><td class="module"><a href="Distribution-Types-ComponentName.html#v:CFLibName">Distribution.Types.ComponentName</a>, <a href="Distribution-PackageDescription.html#v:CFLibName">Distribution.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:CFLibName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">chainl</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:chainl">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">chainl1</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:chainl1">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">chainr</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:chainr">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">chainr1</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:chainr1">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">Char</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">char</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:char">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">chattyTry</td><td class="module"><a href="Distribution-Simple-Utils.html#v:chattyTry">Distribution.Simple.Utils</a></td></tr><tr><td class="src">checkConfiguredPackage</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:checkConfiguredPackage">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">checkForeignDeps</td><td class="module"><a href="Distribution-Simple-Configure.html#v:checkForeignDeps">Distribution.Simple.Configure</a></td></tr><tr><td class="src">checkPackage</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:checkPackage">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">checkPackageContent</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:checkPackageContent">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">CheckPackageContentOps</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-PackageDescription-Check.html#t:CheckPackageContentOps">Distribution.PackageDescription.Check</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:CheckPackageContentOps">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">checkPackageFileNames</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:checkPackageFileNames">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">checkPackageFiles</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:checkPackageFiles">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">checkPersistBuildConfigOutdated</td><td class="module"><a href="Distribution-Simple-Configure.html#v:checkPersistBuildConfigOutdated">Distribution.Simple.Configure</a></td></tr><tr><td class="src">choice</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:choice">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">ChoiceOpt</td><td class="module"><a href="Distribution-Simple-Command.html#v:ChoiceOpt">Distribution.Simple.Command</a></td></tr><tr><td class="src">choiceOpt</td><td class="module"><a href="Distribution-Simple-Command.html#v:choiceOpt">Distribution.Simple.Command</a></td></tr><tr><td class="src">choiceOptFromEnum</td><td class="module"><a href="Distribution-Simple-Command.html#v:choiceOptFromEnum">Distribution.Simple.Command</a></td></tr><tr><td class="src">chr</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:chr">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">ci_ann_id</td><td class="module"><a href="Distribution-Types-ComponentInclude.html#v:ci_ann_id">Distribution.Types.ComponentInclude</a></td></tr><tr><td class="src">ci_cname</td><td class="module"><a href="Distribution-Types-ComponentInclude.html#v:ci_cname">Distribution.Types.ComponentInclude</a></td></tr><tr><td class="src">ci_id</td><td class="module"><a href="Distribution-Types-ComponentInclude.html#v:ci_id">Distribution.Types.ComponentInclude</a></td></tr><tr><td class="src">ci_implicit</td><td class="module"><a href="Distribution-Types-ComponentInclude.html#v:ci_implicit">Distribution.Types.ComponentInclude</a></td></tr><tr><td class="src">ci_pkgid</td><td class="module"><a href="Distribution-Types-ComponentInclude.html#v:ci_pkgid">Distribution.Types.ComponentInclude</a></td></tr><tr><td class="src">ci_renaming</td><td class="module"><a href="Distribution-Types-ComponentInclude.html#v:ci_renaming">Distribution.Types.ComponentInclude</a></td></tr><tr><td class="src">ClassificationStrictness</td><td class="module"><a href="Distribution-System.html#t:ClassificationStrictness">Distribution.System</a></td></tr><tr><td class="src">classifyArch</td><td class="module"><a href="Distribution-System.html#v:classifyArch">Distribution.System</a></td></tr><tr><td class="src">classifyCompilerFlavor</td><td class="module"><a href="Distribution-Compiler.html#v:classifyCompilerFlavor">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">classifyExtension</td><td class="module"><a href="Language-Haskell-Extension.html#v:classifyExtension">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">classifyLanguage</td><td class="module"><a href="Language-Haskell-Extension.html#v:classifyLanguage">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">classifyOS</td><td class="module"><a href="Distribution-System.html#v:classifyOS">Distribution.System</a></td></tr><tr><td class="src">classifyRepoKind</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:classifyRepoKind">Distribution.Types.SourceRepo</a></td></tr><tr><td class="src">classifyRepoType</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:classifyRepoType">Distribution.Types.SourceRepo</a></td></tr><tr><td class="src">cleanCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:cleanCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">cleanDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:cleanDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">CleanFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:CleanFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:CleanFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">cleanHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:cleanHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:cleanHook">Distribution.Simple</a></td></tr><tr><td class="src">cleanSaveConf</td><td class="module"><a href="Distribution-Simple-Setup.html#v:cleanSaveConf">Distribution.Simple.Setup</a></td></tr><tr><td class="src">cleanVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:cleanVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">CLib</td><td class="module"><a href="Distribution-Types-Component.html#v:CLib">Distribution.Types.Component</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:CLib">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">CLibName</td><td class="module"><a href="Distribution-Types-ComponentName.html#v:CLibName">Distribution.Types.ComponentName</a>, <a href="Distribution-PackageDescription.html#v:CLibName">Distribution.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:CLibName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">closure</td><td class="module"><a href="Distribution-Compat-Graph.html#v:closure">Distribution.Compat.Graph</a></td></tr><tr><td class="src">CNot</td><td class="module"><a href="Distribution-Types-Condition.html#v:CNot">Distribution.Types.Condition</a>, <a href="Distribution-PackageDescription.html#v:CNot">Distribution.PackageDescription</a></td></tr><tr><td class="src">cNot</td><td class="module"><a href="Distribution-Types-Condition.html#v:cNot">Distribution.Types.Condition</a>, <a href="Distribution-PackageDescription.html#v:cNot">Distribution.PackageDescription</a></td></tr><tr><td class="src">combineInstallDirs</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:combineInstallDirs">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">combineObjectFiles</td><td class="module"><a href="Distribution-Simple-Program-Ld.html#v:combineObjectFiles">Distribution.Simple.Program.Ld</a></td></tr><tr><td class="src">combinePathTemplate</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:combinePathTemplate">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">Command</td><td class="module"><a href="Distribution-Simple-Command.html#t:Command">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandAddAction</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandAddAction">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandDefaultFlags</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandDefaultFlags">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandDescription</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandDescription">Distribution.Simple.Command</a></td></tr><tr><td class="src">CommandErrors</td><td class="module"><a href="Distribution-Simple-Command.html#v:CommandErrors">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandFromSpec</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandFromSpec">Distribution.Simple.Command</a></td></tr><tr><td class="src">CommandHelp</td><td class="module"><a href="Distribution-Simple-Command.html#v:CommandHelp">Distribution.Simple.Command</a></td></tr><tr><td class="src">CommandList</td><td class="module"><a href="Distribution-Simple-Command.html#v:CommandList">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandName</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandName">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandNotes</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandNotes">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandOptions</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandOptions">Distribution.Simple.Command</a></td></tr><tr><td class="src">CommandParse</td><td class="module"><a href="Distribution-Simple-Command.html#t:CommandParse">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandParseArgs</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandParseArgs">Distribution.Simple.Command</a></td></tr><tr><td class="src">CommandReadyToGo</td><td class="module"><a href="Distribution-Simple-Command.html#v:CommandReadyToGo">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandShowOptions</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandShowOptions">Distribution.Simple.Command</a></td></tr><tr><td class="src">CommandSpec</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Command.html#t:CommandSpec">Distribution.Simple.Command</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Command.html#v:CommandSpec">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandsRun</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandsRun">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandSynopsis</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandSynopsis">Distribution.Simple.Command</a></td></tr><tr><td class="src">CommandType</td><td class="module"><a href="Distribution-Simple-Command.html#t:CommandType">Distribution.Simple.Command</a></td></tr><tr><td class="src">CommandUI</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Command.html#t:CommandUI">Distribution.Simple.Command</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Command.html#v:CommandUI">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandUsage</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandUsage">Distribution.Simple.Command</a></td></tr><tr><td class="src">compare</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">comparing</td><td class="module"><a href="Distribution-Utils-Generic.html#v:comparing">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:comparing">Distribution.Simple.Utils</a></td></tr><tr><td class="src">Compat</td><td class="module"><a href="Distribution-System.html#v:Compat">Distribution.System</a></td></tr><tr><td class="src">compatPackageKey</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:compatPackageKey">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">Compiler</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Compiler.html#t:Compiler">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:Compiler">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">compiler</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:compiler">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:compiler">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:compiler">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">compilerAbiTag</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:compilerAbiTag">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">compilerCompat</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:compilerCompat">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">compilerCompatFlavor</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:compilerCompatFlavor">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">compilerCompatVersion</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:compilerCompatVersion">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">compilerExtensions</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:compilerExtensions">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">CompilerFlavor</td><td class="module"><a href="Distribution-Compiler.html#t:CompilerFlavor">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">compilerFlavor</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:compilerFlavor">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">CompilerId</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Compiler.html#t:CompilerId">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Compiler.html#v:CompilerId">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">compilerId</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:compilerId">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">CompilerInfo</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Compiler.html#t:CompilerInfo">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Compiler.html#v:CompilerInfo">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">compilerInfo</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:compilerInfo">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">compilerInfoAbiTag</td><td class="module"><a href="Distribution-Compiler.html#v:compilerInfoAbiTag">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">compilerInfoCompat</td><td class="module"><a href="Distribution-Compiler.html#v:compilerInfoCompat">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">compilerInfoExtensions</td><td class="module"><a href="Distribution-Compiler.html#v:compilerInfoExtensions">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">compilerInfoId</td><td class="module"><a href="Distribution-Compiler.html#v:compilerInfoId">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">compilerInfoLanguages</td><td class="module"><a href="Distribution-Compiler.html#v:compilerInfoLanguages">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">compilerLanguages</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:compilerLanguages">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">compilerProperties</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:compilerProperties">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">compilerTemplateEnv</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:compilerTemplateEnv">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">CompilerVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:CompilerVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">compilerVersion</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:compilerVersion">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">Component</td><td class="module"><a href="Distribution-Types-Component.html#t:Component">Distribution.Types.Component</a>, <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentBuildable</td><td class="module"><a href="Distribution-Types-Component.html#v:componentBuildable">Distribution.Types.Component</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentBuildable">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentBuildDir</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:componentBuildDir">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentBuildInfo</td><td class="module"><a href="Distribution-Types-Component.html#v:componentBuildInfo">Distribution.Types.Component</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentBuildInfo">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentCcGhcOptions</td><td class="module"><a href="Distribution-Simple-GHC.html#v:componentCcGhcOptions">Distribution.Simple.GHC</a></td></tr><tr><td class="src">componentCompatPackageKey</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentCompatPackageKey">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentCompatPackageKey">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentCompatPackageName</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentCompatPackageName">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentCompatPackageName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentComponentId</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentComponentId">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentComponentId">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentCycleMsg</td><td class="module"><a href="Distribution-Backpack-ComponentsGraph.html#v:componentCycleMsg">Distribution.Backpack.ComponentsGraph</a></td></tr><tr><td class="src">ComponentDisabledReason</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentDisabledReason">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">componentDisabledReason</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:componentDisabledReason">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">componentEnabled</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:componentEnabled">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">componentEnabledSpec</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:componentEnabledSpec">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentEnabledSpec">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentExeDeps</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentExeDeps">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentExeDeps">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentExposedModules</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentExposedModules">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentExposedModules">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentGhcOptions</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:componentGhcOptions">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:componentGhcOptions">Distribution.Simple.GHC</a></td></tr><tr><td class="src">componentGraph</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:componentGraph">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentGraph">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">ComponentId</td><td class="module"><a href="Distribution-Types-ComponentId.html#t:ComponentId">Distribution.Types.ComponentId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">ComponentInclude</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-ComponentInclude.html#t:ComponentInclude">Distribution.Types.ComponentInclude</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-ComponentInclude.html#v:ComponentInclude">Distribution.Types.ComponentInclude</a></td></tr><tr><td class="src">componentIncludes</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentIncludes">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentIncludes">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentInitialBuildSteps</td><td class="module"><a href="Distribution-Simple-Build.html#v:componentInitialBuildSteps">Distribution.Simple.Build</a></td></tr><tr><td class="src">componentInstantiatedWith</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentInstantiatedWith">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentInstantiatedWith">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentInternalDeps</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentInternalDeps">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentInternalDeps">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentIsIndefinite</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentIsIndefinite">Distribution.Types.ComponentLocalBuildInfo</a></td></tr><tr><td class="src">componentIsIndefinite_</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentIsIndefinite_">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentIsIndefinite_">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentIsPublic</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentIsPublic">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentIsPublic">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">ComponentLocalBuildInfo</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentLocalName</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentLocalName">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentLocalName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">ComponentName</td><td class="module"><a href="Distribution-Types-ComponentName.html#t:ComponentName">Distribution.Types.ComponentName</a>, <a href="Distribution-PackageDescription.html#t:ComponentName">Distribution.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentName</td><td class="module"><a href="Distribution-Types-Component.html#v:componentName">Distribution.Types.Component</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentNameCLBIs</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:componentNameCLBIs">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">componentNameMap</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:componentNameMap">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentNameMap">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentNameRequested</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:componentNameRequested">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">componentNameStanza</td><td class="module"><a href="Distribution-Types-ComponentName.html#v:componentNameStanza">Distribution.Types.ComponentName</a></td></tr><tr><td class="src">componentNameString</td><td class="module"><a href="Distribution-Types-ComponentName.html#v:componentNameString">Distribution.Types.ComponentName</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentNameString">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentNameTargets</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:componentNameTargets">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">componentNameTargets'</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:componentNameTargets-39-">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">componentPackageDeps</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentPackageDeps">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentPackageDeps">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">ComponentRequestedSpec</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:ComponentRequestedSpec">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">components</td><td class="module"><a href="Distribution-ModuleName.html#v:components">Distribution.ModuleName</a></td></tr><tr><td class="src">componentsConfigs</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:componentsConfigs">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">ComponentsGraph</td><td class="module"><a href="Distribution-Backpack-ComponentsGraph.html#t:ComponentsGraph">Distribution.Backpack.ComponentsGraph</a></td></tr><tr><td class="src">componentsGraphToList</td><td class="module"><a href="Distribution-Backpack-ComponentsGraph.html#v:componentsGraphToList">Distribution.Backpack.ComponentsGraph</a></td></tr><tr><td class="src">componentsInBuildOrder</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:componentsInBuildOrder">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">ComponentsWithDeps</td><td class="module"><a href="Distribution-Backpack-ComponentsGraph.html#t:ComponentsWithDeps">Distribution.Backpack.ComponentsGraph</a></td></tr><tr><td class="src">componentUnitId</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentUnitId">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentUnitId">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">computeCompatPackageId</td><td class="module"><a href="Distribution-Types-MungedPackageId.html#v:computeCompatPackageId">Distribution.Types.MungedPackageId</a></td></tr><tr><td class="src">computeCompatPackageKey</td><td class="module"><a href="Distribution-Simple-Configure.html#v:computeCompatPackageKey">Distribution.Simple.Configure</a></td></tr><tr><td class="src">computeCompatPackageName</td><td class="module"><a href="Distribution-Types-MungedPackageName.html#v:computeCompatPackageName">Distribution.Types.MungedPackageName</a>, <a href="Distribution-Simple-Configure.html#v:computeCompatPackageName">Distribution.Simple.Configure</a></td></tr><tr><td class="src">computeComponentId</td><td class="module"><a href="Distribution-Simple-Configure.html#v:computeComponentId">Distribution.Simple.Configure</a></td></tr><tr><td class="src">computeEffectiveProfiling</td><td class="module"><a href="Distribution-Simple-Configure.html#v:computeEffectiveProfiling">Distribution.Simple.Configure</a></td></tr><tr><td class="src">concat</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">concatMap</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">concurrently</td><td class="module"><a href="Distribution-TestSuite.html#v:concurrently">Distribution.TestSuite</a></td></tr><tr><td class="src">condBenchmarks</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:condBenchmarks">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:condBenchmarks">Distribution.PackageDescription</a></td></tr><tr><td class="src">CondBranch</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-CondTree.html#t:CondBranch">Distribution.Types.CondTree</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-CondTree.html#v:CondBranch">Distribution.Types.CondTree</a></td></tr><tr><td class="src">condBranchCondition</td><td class="module"><a href="Distribution-Types-CondTree.html#v:condBranchCondition">Distribution.Types.CondTree</a></td></tr><tr><td class="src">condBranchIfFalse</td><td class="module"><a href="Distribution-Types-CondTree.html#v:condBranchIfFalse">Distribution.Types.CondTree</a></td></tr><tr><td class="src">condBranchIfTrue</td><td class="module"><a href="Distribution-Types-CondTree.html#v:condBranchIfTrue">Distribution.Types.CondTree</a></td></tr><tr><td class="src">condExecutables</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:condExecutables">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:condExecutables">Distribution.PackageDescription</a></td></tr><tr><td class="src">condForeignLibs</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:condForeignLibs">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:condForeignLibs">Distribution.PackageDescription</a></td></tr><tr><td class="src">condIfThen</td><td class="module"><a href="Distribution-Types-CondTree.html#v:condIfThen">Distribution.Types.CondTree</a></td></tr><tr><td class="src">condIfThenElse</td><td class="module"><a href="Distribution-Types-CondTree.html#v:condIfThenElse">Distribution.Types.CondTree</a></td></tr><tr><td class="src">Condition</td><td class="module"><a href="Distribution-Types-Condition.html#t:Condition">Distribution.Types.Condition</a>, <a href="Distribution-PackageDescription.html#t:Condition">Distribution.PackageDescription</a></td></tr><tr><td class="src">condLibrary</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:condLibrary">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:condLibrary">Distribution.PackageDescription</a></td></tr><tr><td class="src">CondNode</td><td class="module"><a href="Distribution-Types-CondTree.html#v:CondNode">Distribution.Types.CondTree</a>, <a href="Distribution-PackageDescription.html#v:CondNode">Distribution.PackageDescription</a></td></tr><tr><td class="src">condSubLibraries</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:condSubLibraries">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:condSubLibraries">Distribution.PackageDescription</a></td></tr><tr><td class="src">condTestSuites</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:condTestSuites">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:condTestSuites">Distribution.PackageDescription</a></td></tr><tr><td class="src">CondTree</td><td class="module"><a href="Distribution-Types-CondTree.html#t:CondTree">Distribution.Types.CondTree</a>, <a href="Distribution-PackageDescription.html#t:CondTree">Distribution.PackageDescription</a></td></tr><tr><td class="src">condTreeComponents</td><td class="module"><a href="Distribution-Types-CondTree.html#v:condTreeComponents">Distribution.Types.CondTree</a>, <a href="Distribution-PackageDescription.html#v:condTreeComponents">Distribution.PackageDescription</a></td></tr><tr><td class="src">condTreeConstraints</td><td class="module"><a href="Distribution-Types-CondTree.html#v:condTreeConstraints">Distribution.Types.CondTree</a>, <a href="Distribution-PackageDescription.html#v:condTreeConstraints">Distribution.PackageDescription</a></td></tr><tr><td class="src">condTreeData</td><td class="module"><a href="Distribution-Types-CondTree.html#v:condTreeData">Distribution.Types.CondTree</a>, <a href="Distribution-PackageDescription.html#v:condTreeData">Distribution.PackageDescription</a></td></tr><tr><td class="src">confHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:confHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:confHook">Distribution.Simple</a></td></tr><tr><td class="src">configAbsolutePaths</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configAbsolutePaths">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configAllowNewer</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configAllowNewer">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configAllowOlder</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configAllowOlder">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configBenchmarks</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configBenchmarks">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configCabalFilePath</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configCabalFilePath">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configCID</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configCID">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configCompiler</td><td class="module"><a href="Distribution-Simple-Configure.html#v:configCompiler">Distribution.Simple.Configure</a></td></tr><tr><td class="src">configCompilerAux</td><td class="module"><a href="Distribution-Simple-Configure.html#v:configCompilerAux">Distribution.Simple.Configure</a></td></tr><tr><td class="src">configCompilerAuxEx</td><td class="module"><a href="Distribution-Simple-Configure.html#v:configCompilerAuxEx">Distribution.Simple.Configure</a></td></tr><tr><td class="src">configCompilerEx</td><td class="module"><a href="Distribution-Simple-Configure.html#v:configCompilerEx">Distribution.Simple.Configure</a></td></tr><tr><td class="src">configConfigurationsFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configConfigurationsFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configConfigureArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configConfigureArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configConstraints</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configConstraints">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configCoverage</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configCoverage">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configDebugInfo</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configDebugInfo">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configDependencies</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configDependencies">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configDeterministic</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configDeterministic">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configDynExe</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configDynExe">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configExactConfiguration</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configExactConfiguration">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configExtraFrameworkDirs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configExtraFrameworkDirs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configExtraIncludeDirs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configExtraIncludeDirs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configExtraLibDirs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configExtraLibDirs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configFlagError</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configFlagError">Distribution.Simple.Setup</a></td></tr><tr><td class="src">ConfigFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:ConfigFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:ConfigFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configFlags</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:configFlags">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:configFlags">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">configGHCiLib</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configGHCiLib">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configHcFlavor</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configHcFlavor">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configHcPath</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configHcPath">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configHcPkg</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configHcPkg">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configInstallDirs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configInstallDirs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configInstantiateWith</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configInstantiateWith">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configIPID</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configIPID">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configLibCoverage</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configLibCoverage">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configOptimization</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configOptimization">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configPackageDBs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configPackageDBs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configProf</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configProf">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configProfDetail</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configProfDetail">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configProfExe</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configProfExe">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configProfLib</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configProfLib">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configProfLibDetail</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configProfLibDetail">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configProgPrefix</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configProgPrefix">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configProgramArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configProgramArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configProgramPathExtra</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configProgramPathExtra">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configProgramPaths</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configProgramPaths">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configPrograms</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configPrograms">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configPrograms_</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configPrograms_">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configProgSuffix</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configProgSuffix">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configRelocatable</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configRelocatable">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configScratchDir</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configScratchDir">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configSharedLib</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configSharedLib">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configSplitObjs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configSplitObjs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">ConfigStateFileBadHeader</td><td class="module"><a href="Distribution-Simple-Configure.html#v:ConfigStateFileBadHeader">Distribution.Simple.Configure</a></td></tr><tr><td class="src">ConfigStateFileBadVersion</td><td class="module"><a href="Distribution-Simple-Configure.html#v:ConfigStateFileBadVersion">Distribution.Simple.Configure</a></td></tr><tr><td class="src">ConfigStateFileError</td><td class="module"><a href="Distribution-Simple-Configure.html#t:ConfigStateFileError">Distribution.Simple.Configure</a></td></tr><tr><td class="src">ConfigStateFileMissing</td><td class="module"><a href="Distribution-Simple-Configure.html#v:ConfigStateFileMissing">Distribution.Simple.Configure</a></td></tr><tr><td class="src">ConfigStateFileNoHeader</td><td class="module"><a href="Distribution-Simple-Configure.html#v:ConfigStateFileNoHeader">Distribution.Simple.Configure</a></td></tr><tr><td class="src">ConfigStateFileNoParse</td><td class="module"><a href="Distribution-Simple-Configure.html#v:ConfigStateFileNoParse">Distribution.Simple.Configure</a></td></tr><tr><td class="src">configStripExes</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configStripExes">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configStripLibs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configStripLibs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configTests</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configTests">Distribution.Simple.Setup</a></td></tr><tr><td class="src">Configure</td><td class="module"><a href="Distribution-Types-BuildType.html#v:Configure">Distribution.Types.BuildType</a>, <a href="Distribution-PackageDescription.html#v:Configure">Distribution.PackageDescription</a></td></tr><tr><td class="src">configure</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-UHC.html#v:configure">Distribution.Simple.UHC</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-LHC.html#v:configure">Distribution.Simple.LHC</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Simple-JHC.html#v:configure">Distribution.Simple.JHC</a></td></tr><tr><td class="alt">4 (Function)</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:configure">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="alt">5 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:configure">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">6 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:configure">Distribution.Simple.GHC</a></td></tr><tr><td class="alt">7 (Function)</td><td class="module"><a href="Distribution-Simple-Configure.html#v:configure">Distribution.Simple.Configure</a></td></tr><tr><td class="src">configureAllKnownPrograms</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:configureAllKnownPrograms">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:configureAllKnownPrograms">Distribution.Simple.Program</a></td></tr><tr><td class="src">configureArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configureArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configureCCompiler</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configureCCompiler">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configureCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configureCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configureComponentLocalBuildInfos</td><td class="module"><a href="Distribution-Backpack-Configure.html#v:configureComponentLocalBuildInfos">Distribution.Backpack.Configure</a></td></tr><tr><td class="src">ConfiguredComponent</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:ConfiguredComponent">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">ConfiguredComponentMap</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponentMap">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">ConfiguredProgram</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">Distribution.Simple.Program</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:ConfiguredProgram">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:ConfiguredProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">configuredPrograms</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:configuredPrograms">Distribution.Simple.Program.Db</a></td></tr><tr><td class="src">configureLinker</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configureLinker">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configureOptions</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configureOptions">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configureProgram</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:configureProgram">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:configureProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">configUserInstall</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configUserInstall">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configVanillaLib</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configVanillaLib">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">ConfVar</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#t:ConfVar">Distribution.PackageDescription</a></td></tr><tr><td class="src">const</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">constrainBy</td><td class="module"><a href="Distribution-Types-DependencyMap.html#v:constrainBy">Distribution.Types.DependencyMap</a></td></tr><tr><td class="src">ConstrainedClassMethods</td><td class="module"><a href="Language-Haskell-Extension.html#v:ConstrainedClassMethods">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">ConstraintKinds</td><td class="module"><a href="Language-Haskell-Extension.html#v:ConstraintKinds">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">copyArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:copyArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">copyCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:copyCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">CopyDest</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#t:CopyDest">Distribution.Simple.InstallDirs</a>, <a href="Distribution-Simple-Setup.html#t:CopyDest">Distribution.Simple.Setup</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">copyDest</td><td class="module"><a href="Distribution-Simple-Setup.html#v:copyDest">Distribution.Simple.Setup</a></td></tr><tr><td class="src">copyDirectoryRecursive</td><td class="module"><a href="Distribution-Simple-Utils.html#v:copyDirectoryRecursive">Distribution.Simple.Utils</a></td></tr><tr><td class="src">copyDirectoryRecursiveVerbose</td><td class="module"><a href="Distribution-Simple-Utils.html#v:copyDirectoryRecursiveVerbose">Distribution.Simple.Utils</a></td></tr><tr><td class="src">copyDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:copyDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">copyFiles</td><td class="module"><a href="Distribution-Simple-Utils.html#v:copyFiles">Distribution.Simple.Utils</a></td></tr><tr><td class="src">copyFileTo</td><td class="module"><a href="Distribution-Simple-Utils.html#v:copyFileTo">Distribution.Simple.Utils</a></td></tr><tr><td class="src">copyFileVerbose</td><td class="module"><a href="Distribution-Simple-Utils.html#v:copyFileVerbose">Distribution.Simple.Utils</a></td></tr><tr><td class="src">CopyFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:CopyFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:CopyFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">copyHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:copyHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:copyHook">Distribution.Simple</a></td></tr><tr><td class="src">copyright</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:copyright">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:copyright">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:copyright">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">CopyTo</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:CopyTo">Distribution.Simple.InstallDirs</a>, <a href="Distribution-Simple-Setup.html#v:CopyTo">Distribution.Simple.Setup</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">copyVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:copyVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">COr</td><td class="module"><a href="Distribution-Types-Condition.html#v:COr">Distribution.Types.Condition</a>, <a href="Distribution-PackageDescription.html#v:COr">Distribution.PackageDescription</a></td></tr><tr><td class="src">cOr</td><td class="module"><a href="Distribution-Types-Condition.html#v:cOr">Distribution.Types.Condition</a>, <a href="Distribution-PackageDescription.html#v:cOr">Distribution.PackageDescription</a></td></tr><tr><td class="src">cos</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">cosh</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">count</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:count">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">countTestResults</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:countTestResults">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">coverageSupported</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:coverageSupported">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">CPlusPlus</td><td class="module"><a href="Distribution-Simple-CCompiler.html#v:CPlusPlus">Distribution.Simple.CCompiler</a></td></tr><tr><td class="src">CPP</td><td class="module"><a href="Language-Haskell-Extension.html#v:CPP">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">cppHeaderName</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:cppHeaderName">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">cpphsProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:cpphsProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:cpphsProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">cppOptions</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:cppOptions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:cppOptions">Distribution.PackageDescription</a></td></tr><tr><td class="src">cppProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:cppProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:cppProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">createArchive</td><td class="module"><a href="Distribution-Simple-SrcDist.html#v:createArchive">Distribution.Simple.SrcDist</a></td></tr><tr><td class="src">createArLibArchive</td><td class="module"><a href="Distribution-Simple-Program-Ar.html#v:createArLibArchive">Distribution.Simple.Program.Ar</a></td></tr><tr><td class="src">createDirectoryIfMissingVerbose</td><td class="module"><a href="Distribution-Simple-Utils.html#v:createDirectoryIfMissingVerbose">Distribution.Simple.Utils</a></td></tr><tr><td class="src">createPackageDB</td><td class="module"><a href="Distribution-Simple-Register.html#v:createPackageDB">Distribution.Simple.Register</a></td></tr><tr><td class="src">createPipe</td><td class="module"><a href="Distribution-Compat-CreatePipe.html#v:createPipe">Distribution.Compat.CreatePipe</a></td></tr><tr><td class="src">createProcessWithEnv</td><td class="module"><a href="Distribution-Simple-Utils.html#v:createProcessWithEnv">Distribution.Simple.Utils</a></td></tr><tr><td class="src">cSourceExtensions</td><td class="module"><a href="Distribution-Simple-CCompiler.html#v:cSourceExtensions">Distribution.Simple.CCompiler</a></td></tr><tr><td class="src">cSources</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:cSources">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:cSources">Distribution.PackageDescription</a></td></tr><tr><td class="src">CSubLibName</td><td class="module"><a href="Distribution-Types-ComponentName.html#v:CSubLibName">Distribution.Types.ComponentName</a>, <a href="Distribution-PackageDescription.html#v:CSubLibName">Distribution.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:CSubLibName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">CTest</td><td class="module"><a href="Distribution-Types-Component.html#v:CTest">Distribution.Types.Component</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:CTest">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">CTestName</td><td class="module"><a href="Distribution-Types-ComponentName.html#v:CTestName">Distribution.Types.ComponentName</a>, <a href="Distribution-PackageDescription.html#v:CTestName">Distribution.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:CTestName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">currentDir</td><td class="module"><a href="Distribution-Simple-Utils.html#v:currentDir">Distribution.Simple.Utils</a></td></tr><tr><td class="src">curry</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Custom</td><td class="module"><a href="Distribution-Types-BuildType.html#v:Custom">Distribution.Types.BuildType</a>, <a href="Distribution-PackageDescription.html#v:Custom">Distribution.PackageDescription</a></td></tr><tr><td class="src">customFieldsBI</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:customFieldsBI">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:customFieldsBI">Distribution.PackageDescription</a></td></tr><tr><td class="src">customFieldsPD</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:customFieldsPD">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:customFieldsPD">Distribution.PackageDescription</a></td></tr><tr><td class="src">CVS</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:CVS">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:CVS">Distribution.PackageDescription</a></td></tr><tr><td class="src">cycle</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">cycles</td><td class="module"><a href="Distribution-Compat-Graph.html#v:cycles">Distribution.Compat.Graph</a></td></tr><tr><td class="src">CyclicSCC</td><td class="module"><a href="Distribution-Compat-Graph.html#v:CyclicSCC">Distribution.Compat.Graph</a></td></tr><tr><td class="src">Darcs</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:Darcs">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:Darcs">Distribution.PackageDescription</a></td></tr><tr><td class="src">Data</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:Data">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">dataDir</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:dataDir">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:dataDir">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:dataDir">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">datadir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:datadir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">DatadirVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:DatadirVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">dataFiles</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:dataFiles">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:dataFiles">Distribution.PackageDescription</a></td></tr><tr><td class="src">DataKinds</td><td class="module"><a href="Language-Haskell-Extension.html#v:DataKinds">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">datasubdir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:datasubdir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">DatasubdirVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:DatasubdirVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">DatatypeContexts</td><td class="module"><a href="Language-Haskell-Extension.html#v:DatatypeContexts">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">dateToSnapshotNumber</td><td class="module"><a href="Distribution-Simple-SrcDist.html#v:dateToSnapshotNumber">Distribution.Simple.SrcDist</a></td></tr><tr><td class="src">deafening</td><td class="module"><a href="Distribution-Verbosity.html#v:deafening">Distribution.Verbosity</a></td></tr><tr><td class="src">debug</td><td class="module"><a href="Distribution-Simple-Utils.html#v:debug">Distribution.Simple.Utils</a></td></tr><tr><td class="src">DebugInfoLevel</td><td class="module"><a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">debugNoWrap</td><td class="module"><a href="Distribution-Simple-Utils.html#v:debugNoWrap">Distribution.Simple.Utils</a></td></tr><tr><td class="src">decode</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">decodeCompatPackageName</td><td class="module"><a href="Distribution-Types-MungedPackageName.html#v:decodeCompatPackageName">Distribution.Types.MungedPackageName</a></td></tr><tr><td class="src">decodeFile</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">decodeFileOrFail</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">decodeFileOrFail'</td><td class="module"><a href="Distribution-Compat-Binary.html#v:decodeFileOrFail-39-">Distribution.Compat.Binary</a></td></tr><tr><td class="src">decodeFloat</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">decodeOrFail</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">decodeOrFailIO</td><td class="module"><a href="Distribution-Compat-Binary.html#v:decodeOrFailIO">Distribution.Compat.Binary</a></td></tr><tr><td class="src">decodeStringUtf8</td><td class="module"><a href="Distribution-Utils-ShortText.html#v:decodeStringUtf8">Distribution.Utils.ShortText</a></td></tr><tr><td class="src">defaultBenchmarkFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultBenchmarkFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultBuildFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultBuildFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultCleanFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultCleanFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultCompilerFlavor</td><td class="module"><a href="Distribution-Compiler.html#v:defaultCompilerFlavor">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">defaultComponentRequestedSpec</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:defaultComponentRequestedSpec">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">defaultConfigFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultConfigFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultCopyFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultCopyFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultDistPref">Distribution.Simple.Setup</a>, <a href="Distribution-Simple-BuildPaths.html#v:defaultDistPref">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">defaultDoctestFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultDoctestFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultExtensions</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:defaultExtensions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:defaultExtensions">Distribution.PackageDescription</a></td></tr><tr><td class="src">defaultGlobalFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultGlobalFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultHaddockFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultHaddockFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultHookedPackageDesc</td><td class="module"><a href="Distribution-Simple-Utils.html#v:defaultHookedPackageDesc">Distribution.Simple.Utils</a>, <a href="Distribution-Simple.html#v:defaultHookedPackageDesc">Distribution.Simple</a></td></tr><tr><td class="src">defaultHscolourFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultHscolourFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultIncludeRenaming</td><td class="module"><a href="Distribution-Types-IncludeRenaming.html#v:defaultIncludeRenaming">Distribution.Types.IncludeRenaming</a></td></tr><tr><td class="src">defaultInstallDirs</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:defaultInstallDirs">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">defaultInstallDirs'</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:defaultInstallDirs-39-">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">defaultInstallFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultInstallFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultLanguage</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:defaultLanguage">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:defaultLanguage">Distribution.PackageDescription</a></td></tr><tr><td class="src">defaultLibName</td><td class="module"><a href="Distribution-Types-ComponentName.html#v:defaultLibName">Distribution.Types.ComponentName</a>, <a href="Distribution-PackageDescription.html#v:defaultLibName">Distribution.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:defaultLibName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">defaultMain</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Make.html#v:defaultMain">Distribution.Make</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple.html#v:defaultMain">Distribution.Simple</a></td></tr><tr><td class="src">defaultMainArgs</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Make.html#v:defaultMainArgs">Distribution.Make</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple.html#v:defaultMainArgs">Distribution.Simple</a></td></tr><tr><td class="src">defaultMainNoRead</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Make.html#v:defaultMainNoRead">Distribution.Make</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple.html#v:defaultMainNoRead">Distribution.Simple</a></td></tr><tr><td class="src">defaultMainWithHooks</td><td class="module"><a href="Distribution-Simple.html#v:defaultMainWithHooks">Distribution.Simple</a></td></tr><tr><td class="src">defaultMainWithHooksArgs</td><td class="module"><a href="Distribution-Simple.html#v:defaultMainWithHooksArgs">Distribution.Simple</a></td></tr><tr><td class="src">defaultMainWithHooksNoRead</td><td class="module"><a href="Distribution-Simple.html#v:defaultMainWithHooksNoRead">Distribution.Simple</a></td></tr><tr><td class="src">defaultPackageDesc</td><td class="module"><a href="Distribution-Simple-Utils.html#v:defaultPackageDesc">Distribution.Simple.Utils</a></td></tr><tr><td class="src">defaultProgramConfiguration</td><td class="module"><a href="Distribution-Simple-Program.html#v:defaultProgramConfiguration">Distribution.Simple.Program</a></td></tr><tr><td class="src">defaultProgramDb</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:defaultProgramDb">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:defaultProgramDb">Distribution.Simple.Program</a></td></tr><tr><td class="src">defaultProgramSearchPath</td><td class="module"><a href="Distribution-Simple-Program-Find.html#v:defaultProgramSearchPath">Distribution.Simple.Program.Find</a>, <a href="Distribution-Simple-Program.html#v:defaultProgramSearchPath">Distribution.Simple.Program</a></td></tr><tr><td class="src">defaultRegisterFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultRegisterFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultRegisterOptions</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:defaultRegisterOptions">Distribution.Simple.Program.HcPkg</a>, <a href="Distribution-Simple-Register.html#v:defaultRegisterOptions">Distribution.Simple.Register</a></td></tr><tr><td class="src">DefaultRenaming</td><td class="module"><a href="Distribution-Types-ModuleRenaming.html#v:DefaultRenaming">Distribution.Types.ModuleRenaming</a>, <a href="Distribution-PackageDescription.html#v:DefaultRenaming">Distribution.PackageDescription</a></td></tr><tr><td class="src">defaultRenaming</td><td class="module"><a href="Distribution-Types-ModuleRenaming.html#v:defaultRenaming">Distribution.Types.ModuleRenaming</a>, <a href="Distribution-PackageDescription.html#v:defaultRenaming">Distribution.PackageDescription</a></td></tr><tr><td class="src">defaultReplFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultReplFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultSDistFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultSDistFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultSetupDepends</td><td class="module"><a href="Distribution-Types-SetupBuildInfo.html#v:defaultSetupDepends">Distribution.Types.SetupBuildInfo</a>, <a href="Distribution-PackageDescription.html#v:defaultSetupDepends">Distribution.PackageDescription</a></td></tr><tr><td class="src">DefaultSignatures</td><td class="module"><a href="Language-Haskell-Extension.html#v:DefaultSignatures">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">defaultStyle</td><td class="module"><a href="Distribution-Text.html#v:defaultStyle">Distribution.Text</a></td></tr><tr><td class="src">defaultTempFileOptions</td><td class="module"><a href="Distribution-Simple-Utils.html#v:defaultTempFileOptions">Distribution.Simple.Utils</a></td></tr><tr><td class="src">defaultTestFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultTestFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultUserHooks</td><td class="module"><a href="Distribution-Simple.html#v:defaultUserHooks">Distribution.Simple</a></td></tr><tr><td class="src">DefiniteUnitId</td><td class="module"><a href="Distribution-Backpack.html#v:DefiniteUnitId">Distribution.Backpack</a></td></tr><tr><td class="src">DefUnitId</td><td class="module"><a href="Distribution-Types-UnitId.html#t:DefUnitId">Distribution.Types.UnitId</a>, <a href="Distribution-Backpack.html#t:DefUnitId">Distribution.Backpack</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">delete</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">deleteAt</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">deleteFindMax</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">deleteFindMin</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">deleteInstalledPackageId</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:deleteInstalledPackageId">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">deleteKey</td><td class="module"><a href="Distribution-Compat-Graph.html#v:deleteKey">Distribution.Compat.Graph</a></td></tr><tr><td class="src">deleteLookup</td><td class="module"><a href="Distribution-Compat-Graph.html#v:deleteLookup">Distribution.Compat.Graph</a></td></tr><tr><td class="src">deleteMax</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">deleteMin</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">deletePackageDB</td><td class="module"><a href="Distribution-Simple-Register.html#v:deletePackageDB">Distribution.Simple.Register</a></td></tr><tr><td class="src">deletePackageName</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:deletePackageName">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">deleteSourcePackageId</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:deleteSourcePackageId">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">deleteUnitId</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:deleteUnitId">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">depAbiHash</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:depAbiHash">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">Dependency</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-Dependency.html#t:Dependency">Distribution.Types.Dependency</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-Dependency.html#v:Dependency">Distribution.Types.Dependency</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">dependencyClosure</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:dependencyClosure">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">dependencyCycles</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:dependencyCycles">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">dependencyGraph</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:dependencyGraph">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">dependencyInconsistencies</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:dependencyInconsistencies">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">DependencyMap</td><td class="module"><a href="Distribution-Types-DependencyMap.html#t:DependencyMap">Distribution.Types.DependencyMap</a></td></tr><tr><td class="src">depends</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:depends">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">depLibraryPaths</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:depLibraryPaths">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">depPkgName</td><td class="module"><a href="Distribution-Types-Dependency.html#v:depPkgName">Distribution.Types.Dependency</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">deprecatedExtensions</td><td class="module"><a href="Language-Haskell-Extension.html#v:deprecatedExtensions">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">depUnitId</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:depUnitId">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">depVerRange</td><td class="module"><a href="Distribution-Types-Dependency.html#v:depVerRange">Distribution.Types.Dependency</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">DeriveAnyClass</td><td class="module"><a href="Language-Haskell-Extension.html#v:DeriveAnyClass">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">DeriveDataTypeable</td><td class="module"><a href="Language-Haskell-Extension.html#v:DeriveDataTypeable">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">DeriveFoldable</td><td class="module"><a href="Language-Haskell-Extension.html#v:DeriveFoldable">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">DeriveFunctor</td><td class="module"><a href="Language-Haskell-Extension.html#v:DeriveFunctor">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">DeriveGeneric</td><td class="module"><a href="Language-Haskell-Extension.html#v:DeriveGeneric">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">DeriveLift</td><td class="module"><a href="Language-Haskell-Extension.html#v:DeriveLift">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">DeriveTraversable</td><td class="module"><a href="Language-Haskell-Extension.html#v:DeriveTraversable">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">descCabalVersion</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:descCabalVersion">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:descCabalVersion">Distribution.PackageDescription</a></td></tr><tr><td class="src">describe</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:describe">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">describeInvocation</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:describeInvocation">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">Description</td><td class="module"><a href="Distribution-Simple-Command.html#t:Description">Distribution.Simple.Command</a></td></tr><tr><td class="src">description</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:description">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:description">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:description">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">desugarBuildTool</td><td class="module"><a href="Distribution-Simple-BuildToolDepends.html#v:desugarBuildTool">Distribution.Simple.BuildToolDepends</a></td></tr><tr><td class="src">die</td><td class="module"><a href="Distribution-Simple-Utils.html#v:die">Distribution.Simple.Utils</a></td></tr><tr><td class="src">die'</td><td class="module"><a href="Distribution-Simple-Utils.html#v:die-39-">Distribution.Simple.Utils</a></td></tr><tr><td class="src">dieNoVerbosity</td><td class="module"><a href="Distribution-Simple-Utils.html#v:dieNoVerbosity">Distribution.Simple.Utils</a></td></tr><tr><td class="src">dieNoWrap</td><td class="module"><a href="Distribution-Simple-Utils.html#v:dieNoWrap">Distribution.Simple.Utils</a></td></tr><tr><td class="src">dieProgress</td><td class="module"><a href="Distribution-Utils-LogProgress.html#v:dieProgress">Distribution.Utils.LogProgress</a></td></tr><tr><td class="src">dieWithLocation</td><td class="module"><a href="Distribution-Simple-Utils.html#v:dieWithLocation">Distribution.Simple.Utils</a></td></tr><tr><td class="src">dieWithLocation'</td><td class="module"><a href="Distribution-Simple-Utils.html#v:dieWithLocation-39-">Distribution.Simple.Utils</a></td></tr><tr><td class="src">difference</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">differenceVersionRanges</td><td class="module"><a href="Distribution-Version.html#v:differenceVersionRanges">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">differenceWith</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">differenceWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">Direct</td><td class="module"><a href="Distribution-Simple-Setup.html#v:Direct">Distribution.Simple.Setup</a></td></tr><tr><td class="src">DisabledAllBenchmarks</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:DisabledAllBenchmarks">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">DisabledAllButOne</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:DisabledAllButOne">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">DisabledAllTests</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:DisabledAllTests">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">DisabledComponent</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:DisabledComponent">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">DisableExtension</td><td class="module"><a href="Language-Haskell-Extension.html#v:DisableExtension">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">DisambiguateRecordFields</td><td class="module"><a href="Language-Haskell-Extension.html#v:DisambiguateRecordFields">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">disp</td><td class="module"><a href="Distribution-Text.html#v:disp">Distribution.Text</a></td></tr><tr><td class="src">dispComponentsWithDeps</td><td class="module"><a href="Distribution-Backpack-ComponentsGraph.html#v:dispComponentsWithDeps">Distribution.Backpack.ComponentsGraph</a></td></tr><tr><td class="src">dispConfiguredComponent</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:dispConfiguredComponent">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">dispFlagAssignment</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:dispFlagAssignment">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:dispFlagAssignment">Distribution.PackageDescription</a></td></tr><tr><td class="src">display</td><td class="module"><a href="Distribution-Text.html#v:display">Distribution.Text</a></td></tr><tr><td class="src">displayException</td><td class="module"><a href="Distribution-Compat-Exception.html#v:displayException">Distribution.Compat.Exception</a></td></tr><tr><td class="src">dispLinkedComponent</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:dispLinkedComponent">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">dispOpenModuleSubst</td><td class="module"><a href="Distribution-Backpack.html#v:dispOpenModuleSubst">Distribution.Backpack</a></td></tr><tr><td class="src">dispOpenModuleSubstEntry</td><td class="module"><a href="Distribution-Backpack.html#v:dispOpenModuleSubstEntry">Distribution.Backpack</a></td></tr><tr><td class="src">div</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">divMod</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">DList</td><td class="module"><a href="Distribution-Compat-DList.html#t:DList">Distribution.Compat.DList</a></td></tr><tr><td class="src">dllExtension</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:dllExtension">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">DoAndIfThenElse</td><td class="module"><a href="Language-Haskell-Extension.html#v:DoAndIfThenElse">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">docdir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:docdir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">DocdirVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:DocdirVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">doctest</td><td class="module"><a href="Distribution-Simple-Doctest.html#v:doctest">Distribution.Simple.Doctest</a></td></tr><tr><td class="src">doctestCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:doctestCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">doctestDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:doctestDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">DoctestFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:DoctestFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:DoctestFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">doctestHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:doctestHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:doctestHook">Distribution.Simple</a></td></tr><tr><td class="src">doctestProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:doctestProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:doctestProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">doctestProgramArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:doctestProgramArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">doctestProgramPaths</td><td class="module"><a href="Distribution-Simple-Setup.html#v:doctestProgramPaths">Distribution.Simple.Setup</a></td></tr><tr><td class="src">doctestVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:doctestVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">doesDirectoryExist</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:doesDirectoryExist">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">doesExecutableExist</td><td class="module"><a href="Distribution-Simple-Utils.html#v:doesExecutableExist">Distribution.Simple.Utils</a></td></tr><tr><td class="src">doesFileExist</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:doesFileExist">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">doesPackageDBExist</td><td class="module"><a href="Distribution-Simple-Register.html#v:doesPackageDBExist">Distribution.Simple.Register</a></td></tr><tr><td class="src">DoRec</td><td class="module"><a href="Language-Haskell-Extension.html#v:DoRec">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Double</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">DragonFly</td><td class="module"><a href="Distribution-System.html#v:DragonFly">Distribution.System</a></td></tr><tr><td class="src">drop</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">dropExeExtension</td><td class="module"><a href="Distribution-Simple-Utils.html#v:dropExeExtension">Distribution.Simple.Utils</a></td></tr><tr><td class="src">dropWhile</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">dropWhileAntitone</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">dropWhileEndLE</td><td class="module"><a href="Distribution-Utils-Generic.html#v:dropWhileEndLE">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:dropWhileEndLE">Distribution.Simple.Utils</a></td></tr><tr><td class="src">dump</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:dump">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">dumpInvocation</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:dumpInvocation">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">DuplicateRecordFields</td><td class="module"><a href="Language-Haskell-Extension.html#v:DuplicateRecordFields">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Dyn</td><td class="module"><a href="Distribution-Simple-Hpc.html#v:Dyn">Distribution.Simple.Hpc</a></td></tr><tr><td class="src">dynlibdir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:dynlibdir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">DynlibdirVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:DynlibdirVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">EarlierVersion</td><td class="module"><a href="Distribution-Version.html#v:EarlierVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">earlierVersion</td><td class="module"><a href="Distribution-Version.html#v:earlierVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">Either</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">either</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">elem</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:elem">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">elemAt</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">elems</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">empty</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:empty">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Compat-Graph.html#v:empty">Distribution.Compat.Graph</a></td></tr><tr><td class="src">emptyBenchmark</td><td class="module"><a href="Distribution-Types-Benchmark.html#v:emptyBenchmark">Distribution.Types.Benchmark</a>, <a href="Distribution-PackageDescription.html#v:emptyBenchmark">Distribution.PackageDescription</a></td></tr><tr><td class="src">emptyBenchmarkFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyBenchmarkFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptyBuildFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyBuildFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptyBuildInfo</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:emptyBuildInfo">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:emptyBuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="src">EmptyCase</td><td class="module"><a href="Language-Haskell-Extension.html#v:EmptyCase">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">emptyCleanFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyCleanFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptyConfigFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyConfigFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptyCopyFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyCopyFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">EmptyDataDecls</td><td class="module"><a href="Language-Haskell-Extension.html#v:EmptyDataDecls">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">emptyDoctestFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyDoctestFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptyExecutable</td><td class="module"><a href="Distribution-Types-Executable.html#v:emptyExecutable">Distribution.Types.Executable</a>, <a href="Distribution-PackageDescription.html#v:emptyExecutable">Distribution.PackageDescription</a></td></tr><tr><td class="src">emptyFlag</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:emptyFlag">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:emptyFlag">Distribution.PackageDescription</a></td></tr><tr><td class="src">emptyForeignLib</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:emptyForeignLib">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">emptyGlobalFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyGlobalFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptyHaddockFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyHaddockFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptyHookedBuildInfo</td><td class="module"><a href="Distribution-Types-HookedBuildInfo.html#v:emptyHookedBuildInfo">Distribution.Types.HookedBuildInfo</a>, <a href="Distribution-PackageDescription.html#v:emptyHookedBuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="src">emptyHscolourFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyHscolourFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptyInstalledPackageInfo</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:emptyInstalledPackageInfo">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">emptyInstallFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyInstallFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptyLibrary</td><td class="module"><a href="Distribution-Types-Library.html#v:emptyLibrary">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#v:emptyLibrary">Distribution.PackageDescription</a></td></tr><tr><td class="src">emptyModuleShape</td><td class="module"><a href="Distribution-Backpack-ModuleShape.html#v:emptyModuleShape">Distribution.Backpack.ModuleShape</a></td></tr><tr><td class="src">emptyPackageDescription</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:emptyPackageDescription">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:emptyPackageDescription">Distribution.PackageDescription</a></td></tr><tr><td class="src">emptyProgramConfiguration</td><td class="module"><a href="Distribution-Simple-Program.html#v:emptyProgramConfiguration">Distribution.Simple.Program</a></td></tr><tr><td class="src">emptyProgramDb</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:emptyProgramDb">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:emptyProgramDb">Distribution.Simple.Program</a></td></tr><tr><td class="src">emptyProgramInvocation</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:emptyProgramInvocation">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:emptyProgramInvocation">Distribution.Simple.Program</a></td></tr><tr><td class="src">emptyRegisterFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyRegisterFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptySDistFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptySDistFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptySourceRepo</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:emptySourceRepo">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:emptySourceRepo">Distribution.PackageDescription</a></td></tr><tr><td class="src">emptyTestFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyTestFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptyTestSuite</td><td class="module"><a href="Distribution-Types-TestSuite.html#v:emptyTestSuite">Distribution.Types.TestSuite</a>, <a href="Distribution-PackageDescription.html#v:emptyTestSuite">Distribution.PackageDescription</a></td></tr><tr><td class="src">emptyUserHooks</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:emptyUserHooks">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:emptyUserHooks">Distribution.Simple</a></td></tr><tr><td class="src">enabledBenchLBIs</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:enabledBenchLBIs">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">enabledBuildInfos</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:enabledBuildInfos">Distribution.Types.PackageDescription</a></td></tr><tr><td class="src">enabledComponents</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:enabledComponents">Distribution.Types.PackageDescription</a></td></tr><tr><td class="src">enabledTestLBIs</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:enabledTestLBIs">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">EnableExtension</td><td class="module"><a href="Language-Haskell-Extension.html#v:EnableExtension">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">encode</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">encodeFile</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">encodeFloat</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">encodeStringUtf8</td><td class="module"><a href="Distribution-Utils-ShortText.html#v:encodeStringUtf8">Distribution.Utils.ShortText</a></td></tr><tr><td class="src">endBy</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:endBy">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">endBy1</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:endBy1">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">Enum</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">enumFrom</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">enumFromThen</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">enumFromThenTo</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">enumFromTo</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">eof</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:eof">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">EQ</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Eq</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">equating</td><td class="module"><a href="Distribution-Utils-Generic.html#v:equating">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:equating">Distribution.Simple.Utils</a></td></tr><tr><td class="src">Error</td><td class="module"><a href="Distribution-TestSuite.html#v:Error">Distribution.TestSuite</a></td></tr><tr><td class="src">error</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">errorWithoutStackTrace</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">even</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">ExclusiveBound</td><td class="module"><a href="Distribution-Version.html#v:ExclusiveBound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">exeBuildDir</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:exeBuildDir">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">ExeComponentLocalBuildInfo</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:ExeComponentLocalBuildInfo">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:ExeComponentLocalBuildInfo">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">exeCoverage</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:exeCoverage">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:exeCoverage">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">Executable</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-Executable.html#t:Executable">Distribution.Types.Executable</a>, <a href="Distribution-PackageDescription.html#t:Executable">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-Executable.html#v:Executable">Distribution.Types.Executable</a>, <a href="Distribution-PackageDescription.html#v:Executable">Distribution.PackageDescription</a></td></tr><tr><td class="src">executableFieldDescrs</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:executableFieldDescrs">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">ExecutableNameVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:ExecutableNameVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">ExecutablePrivate</td><td class="module"><a href="Distribution-Types-ExecutableScope.html#v:ExecutablePrivate">Distribution.Types.ExecutableScope</a></td></tr><tr><td class="src">ExecutablePublic</td><td class="module"><a href="Distribution-Types-ExecutableScope.html#v:ExecutablePublic">Distribution.Types.ExecutableScope</a></td></tr><tr><td class="src">executables</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:executables">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:executables">Distribution.PackageDescription</a></td></tr><tr><td class="src">ExecutableScope</td><td class="module"><a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">Distribution.Types.ExecutableScope</a></td></tr><tr><td class="src">ExecutableScopeUnknown</td><td class="module"><a href="Distribution-Types-ExecutableScope.html#v:ExecutableScopeUnknown">Distribution.Types.ExecutableScope</a></td></tr><tr><td class="src">ExeDependency</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-ExeDependency.html#t:ExeDependency">Distribution.Types.ExeDependency</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-ExeDependency.html#v:ExeDependency">Distribution.Types.ExeDependency</a></td></tr><tr><td class="src">exeExtension</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:exeExtension">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">exeExtensions</td><td class="module"><a href="Distribution-Simple-Utils.html#v:exeExtensions">Distribution.Simple.Utils</a></td></tr><tr><td class="src">exeModules</td><td class="module"><a href="Distribution-Types-Executable.html#v:exeModules">Distribution.Types.Executable</a>, <a href="Distribution-PackageDescription.html#v:exeModules">Distribution.PackageDescription</a></td></tr><tr><td class="src">exeModulesAutogen</td><td class="module"><a href="Distribution-Types-Executable.html#v:exeModulesAutogen">Distribution.Types.Executable</a>, <a href="Distribution-PackageDescription.html#v:exeModulesAutogen">Distribution.PackageDescription</a></td></tr><tr><td class="src">exeName</td><td class="module"><a href="Distribution-Types-Executable.html#v:exeName">Distribution.Types.Executable</a>, <a href="Distribution-PackageDescription.html#v:exeName">Distribution.PackageDescription</a></td></tr><tr><td class="src">exeScope</td><td class="module"><a href="Distribution-Types-Executable.html#v:exeScope">Distribution.Types.Executable</a>, <a href="Distribution-PackageDescription.html#v:exeScope">Distribution.PackageDescription</a></td></tr><tr><td class="src">ExistentialQuantification</td><td class="module"><a href="Language-Haskell-Extension.html#v:ExistentialQuantification">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">existsAndIsMoreRecentThan</td><td class="module"><a href="Distribution-Simple-Utils.html#v:existsAndIsMoreRecentThan">Distribution.Simple.Utils</a></td></tr><tr><td class="src">exp</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">expandOpenUnitId</td><td class="module"><a href="Distribution-Backpack-FullUnitId.html#v:expandOpenUnitId">Distribution.Backpack.FullUnitId</a></td></tr><tr><td class="src">expandUnitId</td><td class="module"><a href="Distribution-Backpack-FullUnitId.html#v:expandUnitId">Distribution.Backpack.FullUnitId</a></td></tr><tr><td class="src">explanation</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:explanation">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">ExplicitForAll</td><td class="module"><a href="Language-Haskell-Extension.html#v:ExplicitForAll">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">explicitLibModules</td><td class="module"><a href="Distribution-Types-Library.html#v:explicitLibModules">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#v:explicitLibModules">Distribution.PackageDescription</a></td></tr><tr><td class="src">ExplicitNamespaces</td><td class="module"><a href="Language-Haskell-Extension.html#v:ExplicitNamespaces">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">exponent</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">expose</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:expose">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">exposed</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:exposed">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">ExposedModule</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:ExposedModule">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">exposedModules</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-Library.html#v:exposedModules">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#v:exposedModules">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:exposedModules">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">exposedName</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:exposedName">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">exposedReexport</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:exposedReexport">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">exposeInvocation</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:exposeInvocation">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">extendConfiguredComponentMap</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:extendConfiguredComponentMap">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">ExtendedDefaultRules</td><td class="module"><a href="Language-Haskell-Extension.html#v:ExtendedDefaultRules">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">extendLinkedComponentMap</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:extendLinkedComponentMap">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">ExtensibleRecords</td><td class="module"><a href="Language-Haskell-Extension.html#v:ExtensibleRecords">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Extension</td><td class="module"><a href="Language-Haskell-Extension.html#t:Extension">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">extensionsToFlags</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:extensionsToFlags">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">externalPackageDeps</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:externalPackageDeps">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:externalPackageDeps">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">extraConfigArgs</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:extraConfigArgs">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:extraConfigArgs">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">extractCondition</td><td class="module"><a href="Distribution-Types-CondTree.html#v:extractCondition">Distribution.Types.CondTree</a>, <a href="Distribution-PackageDescription-Configuration.html#v:extractCondition">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">extractConditions</td><td class="module"><a href="Distribution-PackageDescription-Configuration.html#v:extractConditions">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">extraDocFiles</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:extraDocFiles">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:extraDocFiles">Distribution.PackageDescription</a></td></tr><tr><td class="src">extraFrameworkDirs</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:extraFrameworkDirs">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:extraFrameworkDirs">Distribution.PackageDescription</a></td></tr><tr><td class="src">extraGHCiLibraries</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:extraGHCiLibraries">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">extraGHCiLibs</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:extraGHCiLibs">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:extraGHCiLibs">Distribution.PackageDescription</a></td></tr><tr><td class="src">extraLibDirs</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:extraLibDirs">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:extraLibDirs">Distribution.PackageDescription</a></td></tr><tr><td class="src">extraLibraries</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:extraLibraries">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">extraLibs</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:extraLibs">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:extraLibs">Distribution.PackageDescription</a></td></tr><tr><td class="src">ExtraOptions</td><td class="module"><a href="Distribution-TestSuite.html#v:ExtraOptions">Distribution.TestSuite</a></td></tr><tr><td class="src">extraSrcFiles</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:extraSrcFiles">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:extraSrcFiles">Distribution.PackageDescription</a></td></tr><tr><td class="src">extraTmpFiles</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:extraTmpFiles">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:extraTmpFiles">Distribution.PackageDescription</a></td></tr><tr><td class="src">Fail</td><td class="module"><a href="Distribution-TestSuite.html#v:Fail">Distribution.TestSuite</a></td></tr><tr><td class="src">fail</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">failProgress</td><td class="module"><a href="Distribution-Utils-Progress.html#v:failProgress">Distribution.Utils.Progress</a></td></tr><tr><td class="src">failReadE</td><td class="module"><a href="Distribution-ReadE.html#v:failReadE">Distribution.ReadE</a></td></tr><tr><td class="src">Failures</td><td class="module"><a href="Distribution-Simple-Setup.html#v:Failures">Distribution.Simple.Setup</a></td></tr><tr><td class="src">False</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">falseArg</td><td class="module"><a href="Distribution-Simple-Setup.html#v:falseArg">Distribution.Simple.Setup</a></td></tr><tr><td class="src">FieldDescr</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:FieldDescr">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">fieldGet</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:fieldGet">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">fieldName</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:fieldName">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">fieldSet</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:fieldSet">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">fieldsInstalledPackageInfo</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:fieldsInstalledPackageInfo">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">FileGlob</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Utils.html#t:FileGlob">Distribution.Simple.Utils</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Utils.html#v:FileGlob">Distribution.Simple.Utils</a></td></tr><tr><td class="src">fileHasBOM</td><td class="module"><a href="Distribution-Utils-Generic.html#v:fileHasBOM">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:fileHasBOM">Distribution.Simple.Utils</a></td></tr><tr><td class="src">filenameCDialect</td><td class="module"><a href="Distribution-Simple-CCompiler.html#v:filenameCDialect">Distribution.Simple.CCompiler</a></td></tr><tr><td class="src">FilePath</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">filter</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">filterM</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:filterM">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">filterWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">finalizePackageDescription</td><td class="module"><a href="Distribution-PackageDescription-Configuration.html#v:finalizePackageDescription">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">finalizePD</td><td class="module"><a href="Distribution-PackageDescription-Configuration.html#v:finalizePD">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">find</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:find">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">findAllFilesWithExtension</td><td class="module"><a href="Distribution-Simple-Utils.html#v:findAllFilesWithExtension">Distribution.Simple.Utils</a></td></tr><tr><td class="src">findDistPref</td><td class="module"><a href="Distribution-Simple-Configure.html#v:findDistPref">Distribution.Simple.Configure</a></td></tr><tr><td class="src">findDistPrefOrDefault</td><td class="module"><a href="Distribution-Simple-Configure.html#v:findDistPrefOrDefault">Distribution.Simple.Configure</a></td></tr><tr><td class="src">findFile</td><td class="module"><a href="Distribution-Simple-Utils.html#v:findFile">Distribution.Simple.Utils</a></td></tr><tr><td class="src">findFileWithExtension</td><td class="module"><a href="Distribution-Simple-Utils.html#v:findFileWithExtension">Distribution.Simple.Utils</a></td></tr><tr><td class="src">findFileWithExtension'</td><td class="module"><a href="Distribution-Simple-Utils.html#v:findFileWithExtension-39-">Distribution.Simple.Utils</a></td></tr><tr><td class="src">findFirstFile</td><td class="module"><a href="Distribution-Simple-Utils.html#v:findFirstFile">Distribution.Simple.Utils</a></td></tr><tr><td class="src">findHookedPackageDesc</td><td class="module"><a href="Distribution-Simple-Utils.html#v:findHookedPackageDesc">Distribution.Simple.Utils</a></td></tr><tr><td class="src">findIndex</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">findMax</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">findMin</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">findModuleFile</td><td class="module"><a href="Distribution-Simple-Utils.html#v:findModuleFile">Distribution.Simple.Utils</a></td></tr><tr><td class="src">findModuleFiles</td><td class="module"><a href="Distribution-Simple-Utils.html#v:findModuleFiles">Distribution.Simple.Utils</a></td></tr><tr><td class="src">findPackageDesc</td><td class="module"><a href="Distribution-Simple-Utils.html#v:findPackageDesc">Distribution.Simple.Utils</a></td></tr><tr><td class="src">findProgramLocation</td><td class="module"><a href="Distribution-Simple-Utils.html#v:findProgramLocation">Distribution.Simple.Utils</a>, <a href="Distribution-Simple-Program.html#v:findProgramLocation">Distribution.Simple.Program</a></td></tr><tr><td class="src">findProgramOnPath</td><td class="module"><a href="Distribution-Simple-Program.html#v:findProgramOnPath">Distribution.Simple.Program</a></td></tr><tr><td class="src">findProgramOnSearchPath</td><td class="module"><a href="Distribution-Simple-Program-Find.html#v:findProgramOnSearchPath">Distribution.Simple.Program.Find</a>, <a href="Distribution-Simple-Program.html#v:findProgramOnSearchPath">Distribution.Simple.Program</a></td></tr><tr><td class="src">findProgramVersion</td><td class="module"><a href="Distribution-Simple-Utils.html#v:findProgramVersion">Distribution.Simple.Utils</a>, <a href="Distribution-Simple-Program.html#v:findProgramVersion">Distribution.Simple.Program</a></td></tr><tr><td class="src">findWithDefault</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">Finished</td><td class="module"><a href="Distribution-TestSuite.html#v:Finished">Distribution.TestSuite</a></td></tr><tr><td class="src">first</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:first">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Flag</td><td> </td></tr><tr><td class="alt">1 (Data Constructor)</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:Flag">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:Flag">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Type/Class)</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#t:Flag">Distribution.PackageDescription</a></td></tr><tr><td class="alt">3 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Compiler.html#t:Flag">Distribution.Simple.Compiler</a></td></tr><tr><td class="alt">4 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:Flag">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">5 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:Flag">Distribution.Simple.Setup</a></td></tr><tr><td class="src">FlagAssignment</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#t:FlagAssignment">Distribution.PackageDescription</a></td></tr><tr><td class="src">flagAssignment</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:flagAssignment">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:flagAssignment">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">flagDebugInfo</td><td class="module"><a href="Distribution-Simple-GHC.html#v:flagDebugInfo">Distribution.Simple.GHC</a></td></tr><tr><td class="src">flagDefault</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:flagDefault">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:flagDefault">Distribution.PackageDescription</a></td></tr><tr><td class="src">flagDescription</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:flagDescription">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:flagDescription">Distribution.PackageDescription</a></td></tr><tr><td class="src">flagFieldDescrs</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:flagFieldDescrs">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">flagGhciScript</td><td class="module"><a href="Distribution-Simple-GHC.html#v:flagGhciScript">Distribution.Simple.GHC</a></td></tr><tr><td class="src">flagManual</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:flagManual">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:flagManual">Distribution.PackageDescription</a></td></tr><tr><td class="src">FlagName</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#t:FlagName">Distribution.PackageDescription</a></td></tr><tr><td class="src">flagName</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:flagName">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:flagName">Distribution.PackageDescription</a></td></tr><tr><td class="src">flagPackageConf</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:flagPackageConf">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:flagPackageConf">Distribution.Simple.GHC</a></td></tr><tr><td class="src">flagProfAuto</td><td class="module"><a href="Distribution-Simple-GHC.html#v:flagProfAuto">Distribution.Simple.GHC</a></td></tr><tr><td class="src">flagToDebugInfoLevel</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:flagToDebugInfoLevel">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">flagToList</td><td class="module"><a href="Distribution-Simple-Setup.html#v:flagToList">Distribution.Simple.Setup</a></td></tr><tr><td class="src">flagToMaybe</td><td class="module"><a href="Distribution-Simple-Setup.html#v:flagToMaybe">Distribution.Simple.Setup</a></td></tr><tr><td class="src">flagToOptimisationLevel</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:flagToOptimisationLevel">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">flagToProfDetailLevel</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:flagToProfDetailLevel">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">flagToVerbosity</td><td class="module"><a href="Distribution-Verbosity.html#v:flagToVerbosity">Distribution.Verbosity</a></td></tr><tr><td class="src">flagWarnMissingHomeModules</td><td class="module"><a href="Distribution-Simple-GHC.html#v:flagWarnMissingHomeModules">Distribution.Simple.GHC</a></td></tr><tr><td class="src">flatStyle</td><td class="module"><a href="Distribution-Text.html#v:flatStyle">Distribution.Text</a></td></tr><tr><td class="src">flattenPackageDescription</td><td class="module"><a href="Distribution-PackageDescription-Configuration.html#v:flattenPackageDescription">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">FlexibleContexts</td><td class="module"><a href="Language-Haskell-Extension.html#v:FlexibleContexts">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">FlexibleInstances</td><td class="module"><a href="Language-Haskell-Extension.html#v:FlexibleInstances">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">flibBuildDir</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:flibBuildDir">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">FLibComponentLocalBuildInfo</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:FLibComponentLocalBuildInfo">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:FLibComponentLocalBuildInfo">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">flibdir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:flibdir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">flip</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Float</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">floatDigits</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Floating</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">floatRadix</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">floatRange</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">floor</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">fmap</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Foldable</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:Foldable">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">foldComponent</td><td class="module"><a href="Distribution-Types-Component.html#v:foldComponent">Distribution.Types.Component</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:foldComponent">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">foldl</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:foldl">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">foldl'</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:foldl-39-">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">foldl1</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:foldl1">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">foldlWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">foldlWithKey'</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">foldM</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:foldM">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">foldMap</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:foldMap">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">foldMapWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">foldProgress</td><td class="module"><a href="Distribution-Utils-Progress.html#v:foldProgress">Distribution.Utils.Progress</a></td></tr><tr><td class="src">foldr</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:foldr">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">foldr'</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">foldr1</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:foldr1">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">foldrWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">foldrWithKey'</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">foldVersionRange</td><td class="module"><a href="Distribution-Version.html#v:foldVersionRange">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">foldVersionRange'</td><td class="module"><a href="Distribution-Version.html#v:foldVersionRange-39-">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">for</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:for">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">ForDevelopment</td><td class="module"><a href="Distribution-Simple-Setup.html#v:ForDevelopment">Distribution.Simple.Setup</a></td></tr><tr><td class="src">ForeignFunctionInterface</td><td class="module"><a href="Language-Haskell-Extension.html#v:ForeignFunctionInterface">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">ForeignLib</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-ForeignLib.html#t:ForeignLib">Distribution.Types.ForeignLib</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:ForeignLib">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">foreignLibBuildInfo</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:foreignLibBuildInfo">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">foreignLibFieldDescrs</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:foreignLibFieldDescrs">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">foreignLibIsShared</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:foreignLibIsShared">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">foreignLibModDefFile</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:foreignLibModDefFile">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">foreignLibModules</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:foreignLibModules">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">foreignLibName</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:foreignLibName">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">ForeignLibNativeShared</td><td class="module"><a href="Distribution-Types-ForeignLibType.html#v:ForeignLibNativeShared">Distribution.Types.ForeignLibType</a></td></tr><tr><td class="src">ForeignLibNativeStatic</td><td class="module"><a href="Distribution-Types-ForeignLibType.html#v:ForeignLibNativeStatic">Distribution.Types.ForeignLibType</a></td></tr><tr><td class="src">ForeignLibOption</td><td class="module"><a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">Distribution.Types.ForeignLibOption</a></td></tr><tr><td class="src">foreignLibOptions</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:foreignLibOptions">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">foreignLibs</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:foreignLibs">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:foreignLibs">Distribution.PackageDescription</a></td></tr><tr><td class="src">ForeignLibStandalone</td><td class="module"><a href="Distribution-Types-ForeignLibOption.html#v:ForeignLibStandalone">Distribution.Types.ForeignLibOption</a></td></tr><tr><td class="src">ForeignLibType</td><td class="module"><a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">Distribution.Types.ForeignLibType</a></td></tr><tr><td class="src">foreignLibType</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:foreignLibType">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">foreignLibTypeIsShared</td><td class="module"><a href="Distribution-Types-ForeignLibType.html#v:foreignLibTypeIsShared">Distribution.Types.ForeignLibType</a></td></tr><tr><td class="src">ForeignLibTypeUnknown</td><td class="module"><a href="Distribution-Types-ForeignLibType.html#v:ForeignLibTypeUnknown">Distribution.Types.ForeignLibType</a></td></tr><tr><td class="src">foreignLibVersion</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:foreignLibVersion">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">foreignLibVersionInfo</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:foreignLibVersionInfo">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">foreignLibVersionLinux</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:foreignLibVersionLinux">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">ForHackage</td><td class="module"><a href="Distribution-Simple-Setup.html#v:ForHackage">Distribution.Simple.Setup</a></td></tr><tr><td class="src">for_</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:for_">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">FoundOnSystem</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:FoundOnSystem">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:FoundOnSystem">Distribution.Simple.Program</a></td></tr><tr><td class="src">Fractional</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">frameworkDirs</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:frameworkDirs">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">frameworks</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:frameworks">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:frameworks">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:frameworks">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">FreeBSD</td><td class="module"><a href="Distribution-System.html#v:FreeBSD">Distribution.System</a></td></tr><tr><td class="src">freeVars</td><td class="module"><a href="Distribution-PackageDescription-Configuration.html#v:freeVars">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">fromAscList</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">fromAscListWith</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">fromAscListWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">fromComponents</td><td class="module"><a href="Distribution-ModuleName.html#v:fromComponents">Distribution.ModuleName</a></td></tr><tr><td class="src">fromDepMap</td><td class="module"><a href="Distribution-Types-DependencyMap.html#v:fromDepMap">Distribution.Types.DependencyMap</a></td></tr><tr><td class="src">fromDescList</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">fromDescListWith</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">fromDescListWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">fromDistinctAscList</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">fromDistinctDescList</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">fromDistinctList</td><td class="module"><a href="Distribution-Compat-Graph.html#v:fromDistinctList">Distribution.Compat.Graph</a></td></tr><tr><td class="src">fromEnum</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">fromFlag</td><td class="module"><a href="Distribution-Simple-Setup.html#v:fromFlag">Distribution.Simple.Setup</a></td></tr><tr><td class="src">fromFlagOrDefault</td><td class="module"><a href="Distribution-Simple-Setup.html#v:fromFlagOrDefault">Distribution.Simple.Setup</a></td></tr><tr><td class="src">fromInteger</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">fromIntegral</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">fromList</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:fromList">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">fromListWith</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">fromListWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">fromMaybe</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:fromMaybe">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">fromNubList</td><td class="module"><a href="Distribution-Utils-NubList.html#v:fromNubList">Distribution.Utils.NubList</a></td></tr><tr><td class="src">fromNubListR</td><td class="module"><a href="Distribution-Utils-NubList.html#v:fromNubListR">Distribution.Utils.NubList</a></td></tr><tr><td class="src">fromPathTemplate</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:fromPathTemplate">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">fromRational</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">fromSet</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">fromShortText</td><td class="module"><a href="Distribution-Utils-ShortText.html#v:fromShortText">Distribution.Utils.ShortText</a></td></tr><tr><td class="src">FromString</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:FromString">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">fromString</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:fromString">Distribution.Compat.Prelude.Internal</a>, <a href="Distribution-ModuleName.html#v:fromString">Distribution.ModuleName</a></td></tr><tr><td class="src">fromUTF8</td><td class="module"><a href="Distribution-Utils-Generic.html#v:fromUTF8">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:fromUTF8">Distribution.Simple.Utils</a></td></tr><tr><td class="src">fromUTF8BS</td><td class="module"><a href="Distribution-Utils-Generic.html#v:fromUTF8BS">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:fromUTF8BS">Distribution.Simple.Utils</a></td></tr><tr><td class="src">fromUTF8LBS</td><td class="module"><a href="Distribution-Utils-Generic.html#v:fromUTF8LBS">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:fromUTF8LBS">Distribution.Simple.Utils</a></td></tr><tr><td class="src">fromVersionIntervals</td><td class="module"><a href="Distribution-Version.html#v:fromVersionIntervals">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">fst</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">FullDb</td><td class="module"><a href="Distribution-Backpack-FullUnitId.html#t:FullDb">Distribution.Backpack.FullUnitId</a></td></tr><tr><td class="src">FullUnitId</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Backpack-FullUnitId.html#t:FullUnitId">Distribution.Backpack.FullUnitId</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Backpack-FullUnitId.html#v:FullUnitId">Distribution.Backpack.FullUnitId</a></td></tr><tr><td class="src">FunctionalDependencies</td><td class="module"><a href="Language-Haskell-Extension.html#v:FunctionalDependencies">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Functor</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">GADTs</td><td class="module"><a href="Language-Haskell-Extension.html#v:GADTs">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">GADTSyntax</td><td class="module"><a href="Language-Haskell-Extension.html#v:GADTSyntax">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">gather</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:gather">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">GBinaryGet</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">GBinaryPut</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">gccProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:gccProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:gccProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">gcd</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">generalInstalledPackageInfo</td><td class="module"><a href="Distribution-Simple-Register.html#v:generalInstalledPackageInfo">Distribution.Simple.Register</a></td></tr><tr><td class="src">GeneralizedNewtypeDeriving</td><td class="module"><a href="Language-Haskell-Extension.html#v:GeneralizedNewtypeDeriving">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">generate</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-Build-Macros.html#v:generate">Distribution.Simple.Build.Macros</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Build-PathsModule.html#v:generate">Distribution.Simple.Build.PathsModule</a></td></tr><tr><td class="src">generatePackageVersionMacros</td><td class="module"><a href="Distribution-Simple-Build-Macros.html#v:generatePackageVersionMacros">Distribution.Simple.Build.Macros</a></td></tr><tr><td class="src">generateRegistrationInfo</td><td class="module"><a href="Distribution-Simple-Register.html#v:generateRegistrationInfo">Distribution.Simple.Register</a></td></tr><tr><td class="src">Generic</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">GenericPackageDescription</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:GenericPackageDescription">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:GenericPackageDescription">Distribution.PackageDescription</a></td></tr><tr><td class="src">genericRnf</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:genericRnf">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Generics</td><td class="module"><a href="Language-Haskell-Extension.html#v:Generics">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">genPackageFlags</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:genPackageFlags">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:genPackageFlags">Distribution.PackageDescription</a></td></tr><tr><td class="src">Get</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">get</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Binary, <a href="Distribution-Compat-Prelude-Internal.html#v:get">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:get">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">getAll</td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:getAll">Distribution.Compat.Semigroup</a></td></tr><tr><td class="src">getAllInternalToolDependencies</td><td class="module"><a href="Distribution-Simple-BuildToolDepends.html#v:getAllInternalToolDependencies">Distribution.Simple.BuildToolDepends</a></td></tr><tr><td class="src">getAllToolDependencies</td><td class="module"><a href="Distribution-Simple-BuildToolDepends.html#v:getAllToolDependencies">Distribution.Simple.BuildToolDepends</a></td></tr><tr><td class="src">getAny</td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:getAny">Distribution.Compat.Semigroup</a></td></tr><tr><td class="src">getChar</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">getCompilerVersion</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:getCompilerVersion">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="src">getComponent</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:getComponent">Distribution.Types.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:getComponent">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">getComponentLocalBuildInfo</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:getComponentLocalBuildInfo">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">getConfigStateFile</td><td class="module"><a href="Distribution-Simple-Configure.html#v:getConfigStateFile">Distribution.Simple.Configure</a></td></tr><tr><td class="src">getContents</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">getCurTime</td><td class="module"><a href="Distribution-Compat-Time.html#v:getCurTime">Distribution.Compat.Time</a></td></tr><tr><td class="src">getDbProgramOutput</td><td class="module"><a href="Distribution-Simple-Program.html#v:getDbProgramOutput">Distribution.Simple.Program</a></td></tr><tr><td class="src">getDirectoryContents</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:getDirectoryContents">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">getDirectoryContentsRecursive</td><td class="module"><a href="Distribution-Simple-Utils.html#v:getDirectoryContentsRecursive">Distribution.Simple.Utils</a></td></tr><tr><td class="src">getEffectiveEnvironment</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:getEffectiveEnvironment">Distribution.Simple.Program.Run</a></td></tr><tr><td class="src">getExeSourceFiles</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:getExeSourceFiles">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">getExtensions</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:getExtensions">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="src">getFileAge</td><td class="module"><a href="Distribution-Compat-Time.html#v:getFileAge">Distribution.Compat.Time</a></td></tr><tr><td class="src">getFileContents</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:getFileContents">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">getFLibSourceFiles</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:getFLibSourceFiles">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">getGhcInfo</td><td class="module"><a href="Distribution-Simple-GHC.html#v:getGhcInfo">Distribution.Simple.GHC</a></td></tr><tr><td class="src">getGlobalPackageDB</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:getGlobalPackageDB">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:getGlobalPackageDB">Distribution.Simple.GHC</a></td></tr><tr><td class="src">getHSLibraryName</td><td class="module"><a href="Distribution-Types-UnitId.html#v:getHSLibraryName">Distribution.Types.UnitId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">getImplInfo</td><td class="module"><a href="Distribution-Simple-GHC.html#v:getImplInfo">Distribution.Simple.GHC</a></td></tr><tr><td class="src">getInstalledPackages</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-UHC.html#v:getInstalledPackages">Distribution.Simple.UHC</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-LHC.html#v:getInstalledPackages">Distribution.Simple.LHC</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Simple-JHC.html#v:getInstalledPackages">Distribution.Simple.JHC</a></td></tr><tr><td class="alt">4 (Function)</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:getInstalledPackages">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="alt">5 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:getInstalledPackages">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">6 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:getInstalledPackages">Distribution.Simple.GHC</a></td></tr><tr><td class="alt">7 (Function)</td><td class="module"><a href="Distribution-Simple-Configure.html#v:getInstalledPackages">Distribution.Simple.Configure</a></td></tr><tr><td class="src">getInstalledPackagesMonitorFiles</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:getInstalledPackagesMonitorFiles">Distribution.Simple.GHC</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Configure.html#v:getInstalledPackagesMonitorFiles">Distribution.Simple.Configure</a></td></tr><tr><td class="src">getInternalPackages</td><td class="module"><a href="Distribution-Simple-Configure.html#v:getInternalPackages">Distribution.Simple.Configure</a></td></tr><tr><td class="src">getLanguages</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:getLanguages">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="src">getLast'</td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:getLast-39-">Distribution.Compat.Semigroup</a></td></tr><tr><td class="src">getLibDir</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:getLibDir">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:getLibDir">Distribution.Simple.GHC</a></td></tr><tr><td class="src">getLibSourceFiles</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:getLibSourceFiles">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">getLine</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">getModTime</td><td class="module"><a href="Distribution-Compat-Time.html#v:getModTime">Distribution.Compat.Time</a></td></tr><tr><td class="src">getNormalCommandDescriptions</td><td class="module"><a href="Distribution-Simple-Command.html#v:getNormalCommandDescriptions">Distribution.Simple.Command</a></td></tr><tr><td class="src">getPackageDBContents</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:getPackageDBContents">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:getPackageDBContents">Distribution.Simple.GHC</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Simple-Configure.html#v:getPackageDBContents">Distribution.Simple.Configure</a></td></tr><tr><td class="src">getPersistBuildConfig</td><td class="module"><a href="Distribution-Simple-Configure.html#v:getPersistBuildConfig">Distribution.Simple.Configure</a></td></tr><tr><td class="src">getProgramInvocationOutput</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:getProgramInvocationOutput">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:getProgramInvocationOutput">Distribution.Simple.Program</a></td></tr><tr><td class="src">getProgramOutput</td><td class="module"><a href="Distribution-Simple-Program.html#v:getProgramOutput">Distribution.Simple.Program</a></td></tr><tr><td class="src">getProgramSearchPath</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:getProgramSearchPath">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:getProgramSearchPath">Distribution.Simple.Program</a></td></tr><tr><td class="src">getSourceFiles</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:getSourceFiles">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">getSystemSearchPath</td><td class="module"><a href="Distribution-Simple-Program-Find.html#v:getSystemSearchPath">Distribution.Simple.Program.Find</a></td></tr><tr><td class="src">getWord8</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">gget</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">GHC</td><td class="module"><a href="Distribution-Compiler.html#v:GHC">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">GhcDynamicOnly</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcDynamicOnly">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcDynLinkMode</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#t:GhcDynLinkMode">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcEnvFileClearPackageDbStack</td><td class="module"><a href="Distribution-Simple-GHC.html#v:GhcEnvFileClearPackageDbStack">Distribution.Simple.GHC</a></td></tr><tr><td class="src">GhcEnvFileComment</td><td class="module"><a href="Distribution-Simple-GHC.html#v:GhcEnvFileComment">Distribution.Simple.GHC</a></td></tr><tr><td class="src">GhcEnvFilePackageDb</td><td class="module"><a href="Distribution-Simple-GHC.html#v:GhcEnvFilePackageDb">Distribution.Simple.GHC</a></td></tr><tr><td class="src">GhcEnvFilePackageId</td><td class="module"><a href="Distribution-Simple-GHC.html#v:GhcEnvFilePackageId">Distribution.Simple.GHC</a></td></tr><tr><td class="src">GhcEnvironmentFileEntry</td><td class="module"><a href="Distribution-Simple-GHC.html#t:GhcEnvironmentFileEntry">Distribution.Simple.GHC</a></td></tr><tr><td class="src">GHCForeignImportPrim</td><td class="module"><a href="Language-Haskell-Extension.html#v:GHCForeignImportPrim">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">GhcImplInfo</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-GHC.html#t:GhcImplInfo">Distribution.Simple.GHC</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:GhcImplInfo">Distribution.Simple.GHC</a></td></tr><tr><td class="src">ghcInvocation</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcInvocation">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GHCJS</td><td class="module"><a href="Distribution-Compiler.html#v:GHCJS">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">Ghcjs</td><td class="module"><a href="Distribution-System.html#v:Ghcjs">Distribution.System</a></td></tr><tr><td class="src">ghcjsPkgProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:ghcjsPkgProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:ghcjsPkgProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">ghcjsProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:ghcjsProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:ghcjsProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">GhcMaximumOptimisation</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcMaximumOptimisation">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcMode</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#t:GhcMode">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcModeAbiHash</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcModeAbiHash">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcModeCompile</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcModeCompile">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcModeInteractive</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcModeInteractive">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcModeLink</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcModeLink">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcModeMake</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcModeMake">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcNoOptimisation</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcNoOptimisation">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcNormalOptimisation</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcNormalOptimisation">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptCabal</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptCabal">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptCcOptions</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptCcOptions">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptCppIncludePath</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptCppIncludePath">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptCppIncludes</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptCppIncludes">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptCppOptions</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptCppOptions">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptDebugInfo</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptDebugInfo">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptDylibName</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptDylibName">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptDynHiSuffix</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptDynHiSuffix">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptDynLinkMode</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptDynLinkMode">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptDynObjSuffix</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptDynObjSuffix">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptExtensionMap</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptExtensionMap">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptExtensions</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptExtensions">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptExtra</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptExtra">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptExtraDefault</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptExtraDefault">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptExtraPath</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptExtraPath">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptFfiIncludes</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptFfiIncludes">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptFPic</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptFPic">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptGHCiScripts</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptGHCiScripts">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptHideAllPackages</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptHideAllPackages">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptHiDir</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptHiDir">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptHiSuffix</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptHiSuffix">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptHPCDir</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptHPCDir">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcOptimisation</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#t:GhcOptimisation">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptInputFiles</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptInputFiles">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptInputModules</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptInputModules">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptInstantiatedWith</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptInstantiatedWith">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcOptions</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcOptions">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptions</td><td class="module"><a href="Distribution-Simple-LHC.html#v:ghcOptions">Distribution.Simple.LHC</a></td></tr><tr><td class="src">ghcOptLanguage</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptLanguage">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptLinkFrameworkDirs</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptLinkFrameworkDirs">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptLinkFrameworks</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptLinkFrameworks">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptLinkLibPath</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptLinkLibPath">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptLinkLibs</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptLinkLibs">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptLinkModDefFiles</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptLinkModDefFiles">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptLinkNoHsMain</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptLinkNoHsMain">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptLinkOptions</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptLinkOptions">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptMode</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptMode">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptNoAutoLinkPackages</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptNoAutoLinkPackages">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptNoCode</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptNoCode">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptNoLink</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptNoLink">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptNumJobs</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptNumJobs">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptObjDir</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptObjDir">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptObjSuffix</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptObjSuffix">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptOptimisation</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptOptimisation">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptOutputDir</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptOutputDir">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptOutputDynFile</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptOutputDynFile">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptOutputFile</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptOutputFile">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptPackageDBs</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptPackageDBs">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptPackages</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptPackages">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptProfilingAuto</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptProfilingAuto">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptProfilingMode</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptProfilingMode">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptRPaths</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptRPaths">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptShared</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptShared">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptSourcePath</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptSourcePath">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptSourcePathClear</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptSourcePathClear">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptSplitObjs</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptSplitObjs">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptStaticLib</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptStaticLib">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptStubDir</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptStubDir">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptThisComponentId</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptThisComponentId">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptThisUnitId</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptThisUnitId">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptVerbosity</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptVerbosity">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptWarnMissingHomeModules</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptWarnMissingHomeModules">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcPkgProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:ghcPkgProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:ghcPkgProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">GhcProfAuto</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#t:GhcProfAuto">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcProfAutoAll</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcProfAutoAll">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcProfAutoExported</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcProfAutoExported">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcProfAutoToplevel</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcProfAutoToplevel">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:ghcProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:ghcProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">GhcSpecialOptimisation</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcSpecialOptimisation">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcStaticAndDynamic</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcStaticAndDynamic">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcStaticOnly</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcStaticOnly">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcVerbosityOptions</td><td class="module"><a href="Distribution-Simple-LHC.html#v:ghcVerbosityOptions">Distribution.Simple.LHC</a></td></tr><tr><td class="src">Git</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:Git">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:Git">Distribution.PackageDescription</a></td></tr><tr><td class="src">globalCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:globalCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">GlobalFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:GlobalFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:GlobalFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">globalNumericVersion</td><td class="module"><a href="Distribution-Simple-Setup.html#v:globalNumericVersion">Distribution.Simple.Setup</a></td></tr><tr><td class="src">GlobalPackageDB</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:GlobalPackageDB">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">globalVersion</td><td class="module"><a href="Distribution-Simple-Setup.html#v:globalVersion">Distribution.Simple.Setup</a></td></tr><tr><td class="src">gmappend</td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:gmappend">Distribution.Compat.Semigroup</a>, <a href="Distribution-Compat-Prelude-Internal.html#v:gmappend">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">gmempty</td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:gmempty">Distribution.Compat.Semigroup</a>, <a href="Distribution-Compat-Prelude-Internal.html#v:gmempty">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">GnuArch</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:GnuArch">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:GnuArch">Distribution.PackageDescription</a></td></tr><tr><td class="src">GPL</td><td class="module"><a href="Distribution-License.html#v:GPL">Distribution.License</a>, <a href="Distribution-Make.html#v:GPL">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">gput</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">Graph</td><td class="module"><a href="Distribution-Compat-Graph.html#t:Graph">Distribution.Compat.Graph</a></td></tr><tr><td class="src">greencardProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:greencardProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:greencardProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">Group</td><td class="module"><a href="Distribution-TestSuite.html#v:Group">Distribution.TestSuite</a></td></tr><tr><td class="src">GroupLogs</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:GroupLogs">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">groupName</td><td class="module"><a href="Distribution-TestSuite.html#v:groupName">Distribution.TestSuite</a></td></tr><tr><td class="src">groupTests</td><td class="module"><a href="Distribution-TestSuite.html#v:groupTests">Distribution.TestSuite</a></td></tr><tr><td class="src">GT</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">guessWay</td><td class="module"><a href="Distribution-Simple-Hpc.html#v:guessWay">Distribution.Simple.Hpc</a></td></tr><tr><td class="src">haddock</td><td class="module"><a href="Distribution-Simple-Haddock.html#v:haddock">Distribution.Simple.Haddock</a></td></tr><tr><td class="src">haddockBenchmarks</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockBenchmarks">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockContents</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockContents">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockCss</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockCss">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockdir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:haddockdir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">haddockDirName</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:haddockDirName">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">haddockDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockExecutables</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockExecutables">Distribution.Simple.Setup</a></td></tr><tr><td class="src">HaddockFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:HaddockFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:HaddockFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockForeignLibs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockForeignLibs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockForHackage</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockForHackage">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockHoogle</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockHoogle">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:haddockHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:haddockHook">Distribution.Simple</a></td></tr><tr><td class="src">haddockHscolour</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockHscolour">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockHscolourCss</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockHscolourCss">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockHtml</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockHtml">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockHtmlLocation</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockHtmlLocation">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockHTMLs</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:haddockHTMLs">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">haddockInterfaces</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:haddockInterfaces">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">haddockInternal</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockInternal">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockKeepTempFiles</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockKeepTempFiles">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockName</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:haddockName">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">haddockOptions</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockOptions">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockPackagePaths</td><td class="module"><a href="Distribution-Simple-Haddock.html#v:haddockPackagePaths">Distribution.Simple.Haddock</a></td></tr><tr><td class="src">haddockPref</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:haddockPref">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">haddockProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:haddockProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:haddockProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">haddockProgramArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockProgramArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockProgramPaths</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockProgramPaths">Distribution.Simple.Setup</a></td></tr><tr><td class="src">HaddockTarget</td><td class="module"><a href="Distribution-Simple-Setup.html#t:HaddockTarget">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockTestSuites</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockTestSuites">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">HaLVM</td><td class="module"><a href="Distribution-System.html#v:HaLVM">Distribution.System</a></td></tr><tr><td class="src">handleDoesNotExist</td><td class="module"><a href="Distribution-Simple-Utils.html#v:handleDoesNotExist">Distribution.Simple.Utils</a></td></tr><tr><td class="src">happyProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:happyProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:happyProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">hasBenchmarks</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:hasBenchmarks">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:hasBenchmarks">Distribution.PackageDescription</a></td></tr><tr><td class="src">hasExes</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:hasExes">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:hasExes">Distribution.PackageDescription</a></td></tr><tr><td class="src">hasForeignLibs</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:hasForeignLibs">Distribution.Types.PackageDescription</a></td></tr><tr><td class="src">hashModuleSubst</td><td class="module"><a href="Distribution-Backpack.html#v:hashModuleSubst">Distribution.Backpack</a></td></tr><tr><td class="src">Haskell2010</td><td class="module"><a href="Language-Haskell-Extension.html#v:Haskell2010">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Haskell98</td><td class="module"><a href="Language-Haskell-Extension.html#v:Haskell98">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">HaskellSuite</td><td class="module"><a href="Distribution-Compiler.html#v:HaskellSuite">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">haskellSuitePkgProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:haskellSuitePkgProgram">Distribution.Simple.Program.Builtin</a></td></tr><tr><td class="src">haskellSuiteProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:haskellSuiteProgram">Distribution.Simple.Program.Builtin</a></td></tr><tr><td class="src">hasLibs</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:hasLibs">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:hasLibs">Distribution.PackageDescription</a></td></tr><tr><td class="src">hasLowerBound</td><td class="module"><a href="Distribution-Version.html#v:hasLowerBound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">HasMungedPackageId</td><td class="module"><a href="Distribution-Package.html#t:HasMungedPackageId">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">hasPublicLib</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:hasPublicLib">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:hasPublicLib">Distribution.PackageDescription</a></td></tr><tr><td class="src">hasTests</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:hasTests">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:hasTests">Distribution.PackageDescription</a></td></tr><tr><td class="src">HasUnitId</td><td class="module"><a href="Distribution-Package.html#t:HasUnitId">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">hasUpperBound</td><td class="module"><a href="Distribution-Version.html#v:hasUpperBound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">HBC</td><td class="module"><a href="Distribution-Compiler.html#v:HBC">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">hcOptions</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:hcOptions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:hcOptions">Distribution.PackageDescription</a></td></tr><tr><td class="src">HcPkgInfo</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:HcPkgInfo">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">hcPkgInfo</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-LHC.html#v:hcPkgInfo">Distribution.Simple.LHC</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:hcPkgInfo">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:hcPkgInfo">Distribution.Simple.GHC</a></td></tr><tr><td class="src">hcPkgProgram</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:hcPkgProgram">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">hcProfOptions</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:hcProfOptions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:hcProfOptions">Distribution.PackageDescription</a></td></tr><tr><td class="src">hcSharedOptions</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:hcSharedOptions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:hcSharedOptions">Distribution.PackageDescription</a></td></tr><tr><td class="src">head</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Helium</td><td class="module"><a href="Distribution-Compiler.html#v:Helium">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">helpCommandUI</td><td class="module"><a href="Distribution-Simple-Command.html#v:helpCommandUI">Distribution.Simple.Command</a></td></tr><tr><td class="src">HereDocuments</td><td class="module"><a href="Language-Haskell-Extension.html#v:HereDocuments">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">HiddenCommand</td><td class="module"><a href="Distribution-Simple-Command.html#v:HiddenCommand">Distribution.Simple.Command</a></td></tr><tr><td class="src">hiddenCommand</td><td class="module"><a href="Distribution-Simple-Command.html#v:hiddenCommand">Distribution.Simple.Command</a></td></tr><tr><td class="src">hiddenModules</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:hiddenModules">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">hide</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:hide">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">hideInvocation</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:hideInvocation">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">HidingRenaming</td><td class="module"><a href="Distribution-Types-ModuleRenaming.html#v:HidingRenaming">Distribution.Types.ModuleRenaming</a>, <a href="Distribution-PackageDescription.html#v:HidingRenaming">Distribution.PackageDescription</a></td></tr><tr><td class="src">hmakeProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:hmakeProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:hmakeProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">homepage</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:homepage">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:homepage">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:homepage">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">HookedBuildInfo</td><td class="module"><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">Distribution.Types.HookedBuildInfo</a>, <a href="Distribution-PackageDescription.html#t:HookedBuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="src">hookedPreProcessors</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:hookedPreProcessors">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:hookedPreProcessors">Distribution.Simple</a></td></tr><tr><td class="src">hookedPrograms</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:hookedPrograms">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:hookedPrograms">Distribution.Simple</a></td></tr><tr><td class="src">hostPlatform</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:hostPlatform">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:hostPlatform">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">hpcProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:hpcProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:hpcProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">Hppa</td><td class="module"><a href="Distribution-System.html#v:Hppa">Distribution.System</a></td></tr><tr><td class="src">HPUX</td><td class="module"><a href="Distribution-System.html#v:HPUX">Distribution.System</a></td></tr><tr><td class="src">hsc2hsProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:hsc2hsProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:hsc2hsProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">hscolour</td><td class="module"><a href="Distribution-Simple-Haddock.html#v:hscolour">Distribution.Simple.Haddock</a></td></tr><tr><td class="src">hscolourBenchmarks</td><td class="module"><a href="Distribution-Simple-Setup.html#v:hscolourBenchmarks">Distribution.Simple.Setup</a></td></tr><tr><td class="src">hscolourCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:hscolourCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">hscolourCSS</td><td class="module"><a href="Distribution-Simple-Setup.html#v:hscolourCSS">Distribution.Simple.Setup</a></td></tr><tr><td class="src">hscolourDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:hscolourDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">hscolourExecutables</td><td class="module"><a href="Distribution-Simple-Setup.html#v:hscolourExecutables">Distribution.Simple.Setup</a></td></tr><tr><td class="src">HscolourFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:HscolourFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:HscolourFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">hscolourForeignLibs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:hscolourForeignLibs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">hscolourHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:hscolourHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:hscolourHook">Distribution.Simple</a></td></tr><tr><td class="src">hscolourPref</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:hscolourPref">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">hscolourProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:hscolourProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:hscolourProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">hscolourTestSuites</td><td class="module"><a href="Distribution-Simple-Setup.html#v:hscolourTestSuites">Distribution.Simple.Setup</a></td></tr><tr><td class="src">hscolourVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:hscolourVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">hsLibraries</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:hsLibraries">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">hsSourceDirs</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:hsSourceDirs">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:hsSourceDirs">Distribution.PackageDescription</a></td></tr><tr><td class="src">hstoolVersion</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:hstoolVersion">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="src">htmlDir</td><td class="module"><a href="Distribution-Simple-Hpc.html#v:htmlDir">Distribution.Simple.Hpc</a></td></tr><tr><td class="src">htmldir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:htmldir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">HtmldirVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:HtmldirVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">Hugs</td><td class="module"><a href="Distribution-Compiler.html#v:Hugs">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">Hurd</td><td class="module"><a href="Distribution-System.html#v:Hurd">Distribution.System</a></td></tr><tr><td class="src">I386</td><td class="module"><a href="Distribution-System.html#v:I386">Distribution.System</a></td></tr><tr><td class="src">IA64</td><td class="module"><a href="Distribution-System.html#v:IA64">Distribution.System</a></td></tr><tr><td class="src">id</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">ignoreBOM</td><td class="module"><a href="Distribution-Utils-Generic.html#v:ignoreBOM">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:ignoreBOM">Distribution.Simple.Utils</a></td></tr><tr><td class="src">ignoreConditions</td><td class="module"><a href="Distribution-Types-CondTree.html#v:ignoreConditions">Distribution.Types.CondTree</a></td></tr><tr><td class="src">Impl</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:Impl">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:Impl">Distribution.PackageDescription</a></td></tr><tr><td class="src">ImplicitParams</td><td class="module"><a href="Language-Haskell-Extension.html#v:ImplicitParams">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">ImplicitPrelude</td><td class="module"><a href="Language-Haskell-Extension.html#v:ImplicitPrelude">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">importDirs</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:importDirs">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">ImpredicativeTypes</td><td class="module"><a href="Language-Haskell-Extension.html#v:ImpredicativeTypes">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">includedir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:includedir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">includeDirs</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:includeDirs">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:includeDirs">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:includeDirs">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">includeProvidesRn</td><td class="module"><a href="Distribution-Types-IncludeRenaming.html#v:includeProvidesRn">Distribution.Types.IncludeRenaming</a></td></tr><tr><td class="src">IncludeRenaming</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">Distribution.Types.IncludeRenaming</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-IncludeRenaming.html#v:IncludeRenaming">Distribution.Types.IncludeRenaming</a></td></tr><tr><td class="src">includeRequiresRn</td><td class="module"><a href="Distribution-Types-IncludeRenaming.html#v:includeRequiresRn">Distribution.Types.IncludeRenaming</a></td></tr><tr><td class="src">includes</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:includes">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:includes">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:includes">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">InclusiveBound</td><td class="module"><a href="Distribution-Version.html#v:InclusiveBound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">IncoherentInstances</td><td class="module"><a href="Language-Haskell-Extension.html#v:IncoherentInstances">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">IndefFullUnitId</td><td class="module"><a href="Distribution-Backpack.html#v:IndefFullUnitId">Distribution.Backpack</a></td></tr><tr><td class="src">indefinite</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:indefinite">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">info</td><td class="module"><a href="Distribution-Simple-Utils.html#v:info">Distribution.Simple.Utils</a></td></tr><tr><td class="src">infoNoWrap</td><td class="module"><a href="Distribution-Simple-Utils.html#v:infoNoWrap">Distribution.Simple.Utils</a></td></tr><tr><td class="src">infoProgress</td><td class="module"><a href="Distribution-Utils-LogProgress.html#v:infoProgress">Distribution.Utils.LogProgress</a></td></tr><tr><td class="src">init</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:init">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">initialBuildSteps</td><td class="module"><a href="Distribution-Simple-Build.html#v:initialBuildSteps">Distribution.Simple.Build</a></td></tr><tr><td class="src">initialPathTemplateEnv</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:initialPathTemplateEnv">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">initInvocation</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:initInvocation">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">initPackageDB</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:initPackageDB">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Register.html#v:initPackageDB">Distribution.Simple.Register</a></td></tr><tr><td class="src">inplaceInstalledPackageInfo</td><td class="module"><a href="Distribution-Simple-Register.html#v:inplaceInstalledPackageInfo">Distribution.Simple.Register</a></td></tr><tr><td class="src">inplacePackageDbPath</td><td class="module"><a href="Distribution-Simple-UHC.html#v:inplacePackageDbPath">Distribution.Simple.UHC</a></td></tr><tr><td class="src">insert</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Compat-Graph.html#v:insert">Distribution.Compat.Graph</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:insert">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">insertLookupWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">insertWith</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">insertWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">install</td><td class="module"><a href="Distribution-Simple-Install.html#v:install">Distribution.Simple.Install</a></td></tr><tr><td class="src">installCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:installCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">installDirectoryContents</td><td class="module"><a href="Distribution-Simple-Utils.html#v:installDirectoryContents">Distribution.Simple.Utils</a></td></tr><tr><td class="src">InstallDirs</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:InstallDirs">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">installDirsOptions</td><td class="module"><a href="Distribution-Simple-Setup.html#v:installDirsOptions">Distribution.Simple.Setup</a></td></tr><tr><td class="src">installDirsTemplateEnv</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:installDirsTemplateEnv">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">InstallDirTemplates</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#t:InstallDirTemplates">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">installDirTemplates</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:installDirTemplates">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:installDirTemplates">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">installDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:installDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">installedComponentId</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:installedComponentId">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">installedComponentId_</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:installedComponentId_">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">installedDepends</td><td class="module"><a href="Distribution-Package.html#v:installedDepends">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">installedOpenUnitId</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:installedOpenUnitId">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">InstalledPackageId</td><td class="module"><a href="Distribution-Types-UnitId.html#t:InstalledPackageId">Distribution.Types.UnitId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">installedPackageId</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Package.html#v:installedPackageId">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:installedPackageId">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">InstalledPackageIndex</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">InstalledPackageInfo</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:InstalledPackageInfo">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">installedPkgs</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:installedPkgs">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:installedPkgs">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">installedUnitId</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Package.html#v:installedUnitId">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:installedUnitId">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">installExe</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-LHC.html#v:installExe">Distribution.Simple.LHC</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-JHC.html#v:installExe">Distribution.Simple.JHC</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:installExe">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">4 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:installExe">Distribution.Simple.GHC</a></td></tr><tr><td class="src">installExecutableFile</td><td class="module"><a href="Distribution-Simple-Utils.html#v:installExecutableFile">Distribution.Simple.Utils</a></td></tr><tr><td class="src">installExecutableFiles</td><td class="module"><a href="Distribution-Simple-Utils.html#v:installExecutableFiles">Distribution.Simple.Utils</a></td></tr><tr><td class="src">InstallFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:InstallFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:InstallFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">installFLib</td><td class="module"><a href="Distribution-Simple-GHC.html#v:installFLib">Distribution.Simple.GHC</a></td></tr><tr><td class="src">installIncludes</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:installIncludes">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:installIncludes">Distribution.PackageDescription</a></td></tr><tr><td class="src">installInPlace</td><td class="module"><a href="Distribution-Simple-Setup.html#v:installInPlace">Distribution.Simple.Setup</a></td></tr><tr><td class="src">installLib</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-UHC.html#v:installLib">Distribution.Simple.UHC</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-LHC.html#v:installLib">Distribution.Simple.LHC</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Simple-JHC.html#v:installLib">Distribution.Simple.JHC</a></td></tr><tr><td class="alt">4 (Function)</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:installLib">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="alt">5 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:installLib">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">6 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:installLib">Distribution.Simple.GHC</a></td></tr><tr><td class="src">installMaybeExecutableFile</td><td class="module"><a href="Distribution-Simple-Utils.html#v:installMaybeExecutableFile">Distribution.Simple.Utils</a></td></tr><tr><td class="src">installMaybeExecutableFiles</td><td class="module"><a href="Distribution-Simple-Utils.html#v:installMaybeExecutableFiles">Distribution.Simple.Utils</a></td></tr><tr><td class="src">installOrdinaryFile</td><td class="module"><a href="Distribution-Simple-Utils.html#v:installOrdinaryFile">Distribution.Simple.Utils</a></td></tr><tr><td class="src">installOrdinaryFiles</td><td class="module"><a href="Distribution-Simple-Utils.html#v:installOrdinaryFiles">Distribution.Simple.Utils</a></td></tr><tr><td class="src">installPackageDB</td><td class="module"><a href="Distribution-Simple-Setup.html#v:installPackageDB">Distribution.Simple.Setup</a></td></tr><tr><td class="src">installUseWrapper</td><td class="module"><a href="Distribution-Simple-Setup.html#v:installUseWrapper">Distribution.Simple.Setup</a></td></tr><tr><td class="src">installVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:installVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">InstanceSigs</td><td class="module"><a href="Language-Haskell-Extension.html#v:InstanceSigs">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">instantiatedWith</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:instantiatedWith">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">instHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:instHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:instHook">Distribution.Simple</a></td></tr><tr><td class="src">Int</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Int16</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:Int16">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Int32</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:Int32">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Int64</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:Int64">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Int8</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:Int8">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Integer</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Integral</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">interact</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">intercalate</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:intercalate">Distribution.Compat.Prelude.Internal</a>, <a href="Distribution-Utils-Generic.html#v:intercalate">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:intercalate">Distribution.Simple.Utils</a></td></tr><tr><td class="src">internalPackageDBPath</td><td class="module"><a href="Distribution-Simple-Register.html#v:internalPackageDBPath">Distribution.Simple.Register</a></td></tr><tr><td class="src">interpretPackageDbFlags</td><td class="module"><a href="Distribution-Simple-Configure.html#v:interpretPackageDbFlags">Distribution.Simple.Configure</a></td></tr><tr><td class="src">InterruptibleFFI</td><td class="module"><a href="Language-Haskell-Extension.html#v:InterruptibleFFI">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">intersection</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">intersectionWith</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">intersectionWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">intersectVersionIntervals</td><td class="module"><a href="Distribution-Version.html#v:intersectVersionIntervals">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">IntersectVersionRanges</td><td class="module"><a href="Distribution-Version.html#v:IntersectVersionRanges">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">intersectVersionRanges</td><td class="module"><a href="Distribution-Version.html#v:intersectVersionRanges">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">intersperse</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:intersperse">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">intToVerbosity</td><td class="module"><a href="Distribution-Verbosity.html#v:intToVerbosity">Distribution.Verbosity</a></td></tr><tr><td class="src">invertVersionIntervals</td><td class="module"><a href="Distribution-Version.html#v:invertVersionIntervals">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">invertVersionRange</td><td class="module"><a href="Distribution-Version.html#v:invertVersionRange">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">invocationAsBatchFile</td><td class="module"><a href="Distribution-Simple-Program-Script.html#v:invocationAsBatchFile">Distribution.Simple.Program.Script</a></td></tr><tr><td class="src">invocationAsShellScript</td><td class="module"><a href="Distribution-Simple-Program-Script.html#v:invocationAsShellScript">Distribution.Simple.Program.Script</a></td></tr><tr><td class="src">invocationAsSystemScript</td><td class="module"><a href="Distribution-Simple-Program-Script.html#v:invocationAsSystemScript">Distribution.Simple.Program.Script</a></td></tr><tr><td class="src">invoke</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:invoke">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">invokeHcPkg</td><td class="module"><a href="Distribution-Simple-Register.html#v:invokeHcPkg">Distribution.Simple.Register</a></td></tr><tr><td class="src">IO</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:IO">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">IOEncoding</td><td class="module"><a href="Distribution-Simple-Program-Run.html#t:IOEncoding">Distribution.Simple.Program.Run</a></td></tr><tr><td class="src">IOEncodingText</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:IOEncodingText">Distribution.Simple.Program.Run</a></td></tr><tr><td class="src">IOEncodingUTF8</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:IOEncodingUTF8">Distribution.Simple.Program.Run</a></td></tr><tr><td class="src">IOError</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">ioError</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">IOS</td><td class="module"><a href="Distribution-System.html#v:IOS">Distribution.System</a></td></tr><tr><td class="src">IRIX</td><td class="module"><a href="Distribution-System.html#v:IRIX">Distribution.System</a></td></tr><tr><td class="src">isAbsoluteOnAnyPlatform</td><td class="module"><a href="Distribution-Utils-Generic.html#v:isAbsoluteOnAnyPlatform">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:isAbsoluteOnAnyPlatform">Distribution.Simple.Utils</a></td></tr><tr><td class="src">isAlpha</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:isAlpha">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">isAlphaNum</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:isAlphaNum">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">isAnyVersion</td><td class="module"><a href="Distribution-Version.html#v:isAnyVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">isAscii</td><td class="module"><a href="Distribution-Utils-Generic.html#v:isAscii">Distribution.Utils.Generic</a></td></tr><tr><td class="src">isAsciiAlpha</td><td class="module"><a href="Distribution-Utils-Generic.html#v:isAsciiAlpha">Distribution.Utils.Generic</a></td></tr><tr><td class="src">isAsciiAlphaNum</td><td class="module"><a href="Distribution-Utils-Generic.html#v:isAsciiAlphaNum">Distribution.Utils.Generic</a></td></tr><tr><td class="src">ISC</td><td class="module"><a href="Distribution-License.html#v:ISC">Distribution.License</a>, <a href="Distribution-Make.html#v:ISC">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">isDefaultIncludeRenaming</td><td class="module"><a href="Distribution-Types-IncludeRenaming.html#v:isDefaultIncludeRenaming">Distribution.Types.IncludeRenaming</a></td></tr><tr><td class="src">isDefaultRenaming</td><td class="module"><a href="Distribution-Types-ModuleRenaming.html#v:isDefaultRenaming">Distribution.Types.ModuleRenaming</a></td></tr><tr><td class="src">isDenormalized</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">isDigit</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:isDigit">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">isDynamic</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:isDynamic">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:isDynamic">Distribution.Simple.GHC</a></td></tr><tr><td class="src">isIEEE</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">isInfinite</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">isInfixOf</td><td class="module"><a href="Distribution-Utils-Generic.html#v:isInfixOf">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:isInfixOf">Distribution.Simple.Utils</a></td></tr><tr><td class="src">isInSearchPath</td><td class="module"><a href="Distribution-Simple-Utils.html#v:isInSearchPath">Distribution.Simple.Utils</a></td></tr><tr><td class="src">isInternal</td><td class="module"><a href="Distribution-Simple-BuildToolDepends.html#v:isInternal">Distribution.Simple.BuildToolDepends</a></td></tr><tr><td class="src">isJust</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:isJust">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">isNaN</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">isNegativeZero</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">IsNode</td><td class="module"><a href="Distribution-Compat-Graph.html#t:IsNode">Distribution.Compat.Graph</a></td></tr><tr><td class="src">isNothing</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:isNothing">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">isNoVersion</td><td class="module"><a href="Distribution-Version.html#v:isNoVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">isPrefixOf</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:isPrefixOf">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">isProperSubmapOf</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">isProperSubmapOfBy</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">isRelativeOnAnyPlatform</td><td class="module"><a href="Distribution-Utils-Generic.html#v:isRelativeOnAnyPlatform">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:isRelativeOnAnyPlatform">Distribution.Simple.Utils</a></td></tr><tr><td class="src">isRelaxDeps</td><td class="module"><a href="Distribution-Simple-Setup.html#v:isRelaxDeps">Distribution.Simple.Setup</a></td></tr><tr><td class="src">isSpace</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:isSpace">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">isSpecificVersion</td><td class="module"><a href="Distribution-Version.html#v:isSpecificVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">IsString</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:IsString">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">isSubmapOf</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">isSubmapOfBy</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">isSuffixOf</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:isSuffixOf">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">isUpper</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:isUpper">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">isVerboseCallSite</td><td class="module"><a href="Distribution-Verbosity.html#v:isVerboseCallSite">Distribution.Verbosity</a></td></tr><tr><td class="src">isVerboseCallStack</td><td class="module"><a href="Distribution-Verbosity.html#v:isVerboseCallStack">Distribution.Verbosity</a></td></tr><tr><td class="src">isVerboseMarkOutput</td><td class="module"><a href="Distribution-Verbosity.html#v:isVerboseMarkOutput">Distribution.Verbosity</a></td></tr><tr><td class="src">isVerboseNoWrap</td><td class="module"><a href="Distribution-Verbosity.html#v:isVerboseNoWrap">Distribution.Verbosity</a></td></tr><tr><td class="src">isVerboseQuiet</td><td class="module"><a href="Distribution-Verbosity.html#v:isVerboseQuiet">Distribution.Verbosity</a></td></tr><tr><td class="src">iterate</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">JavaScript</td><td class="module"><a href="Distribution-System.html#v:JavaScript">Distribution.System</a></td></tr><tr><td class="src">JavaScriptFFI</td><td class="module"><a href="Language-Haskell-Extension.html#v:JavaScriptFFI">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">JHC</td><td class="module"><a href="Distribution-Compiler.html#v:JHC">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">jhcProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:jhcProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:jhcProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">jsSources</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:jsSources">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:jsSources">Distribution.PackageDescription</a></td></tr><tr><td class="src">Just</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Key</td><td class="module"><a href="Distribution-Compat-Graph.html#t:Key">Distribution.Compat.Graph</a></td></tr><tr><td class="src">keys</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Compat-Graph.html#v:keys">Distribution.Compat.Graph</a></td></tr><tr><td class="src">keysSet</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Compat-Graph.html#v:keysSet">Distribution.Compat.Graph</a></td></tr><tr><td class="src">KindSignatures</td><td class="module"><a href="Language-Haskell-Extension.html#v:KindSignatures">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">knownArches</td><td class="module"><a href="Distribution-System.html#v:knownArches">Distribution.System</a></td></tr><tr><td class="src">knownBenchmarkTypes</td><td class="module"><a href="Distribution-Types-BenchmarkType.html#v:knownBenchmarkTypes">Distribution.Types.BenchmarkType</a>, <a href="Distribution-PackageDescription.html#v:knownBenchmarkTypes">Distribution.PackageDescription</a></td></tr><tr><td class="src">knownBuildTypes</td><td class="module"><a href="Distribution-Types-BuildType.html#v:knownBuildTypes">Distribution.Types.BuildType</a>, <a href="Distribution-PackageDescription.html#v:knownBuildTypes">Distribution.PackageDescription</a></td></tr><tr><td class="src">KnownExtension</td><td class="module"><a href="Language-Haskell-Extension.html#t:KnownExtension">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">knownExtensions</td><td class="module"><a href="Language-Haskell-Extension.html#v:knownExtensions">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">knownForeignLibTypes</td><td class="module"><a href="Distribution-Types-ForeignLibType.html#v:knownForeignLibTypes">Distribution.Types.ForeignLibType</a></td></tr><tr><td class="src">knownLanguages</td><td class="module"><a href="Language-Haskell-Extension.html#v:knownLanguages">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">knownLicenses</td><td class="module"><a href="Distribution-License.html#v:knownLicenses">Distribution.License</a>, Distribution.Simple</td></tr><tr><td class="src">knownOSs</td><td class="module"><a href="Distribution-System.html#v:knownOSs">Distribution.System</a></td></tr><tr><td class="src">knownProfDetailLevels</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:knownProfDetailLevels">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">knownPrograms</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:knownPrograms">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:knownPrograms">Distribution.Simple.Program</a></td></tr><tr><td class="src">knownRepoTypes</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:knownRepoTypes">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:knownRepoTypes">Distribution.PackageDescription</a></td></tr><tr><td class="src">knownSuffixHandlers</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:knownSuffixHandlers">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">knownTestTypes</td><td class="module"><a href="Distribution-Types-TestType.html#v:knownTestTypes">Distribution.Types.TestType</a>, <a href="Distribution-PackageDescription.html#v:knownTestTypes">Distribution.PackageDescription</a></td></tr><tr><td class="src">LambdaCase</td><td class="module"><a href="Language-Haskell-Extension.html#v:LambdaCase">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Language</td><td class="module"><a href="Language-Haskell-Extension.html#t:Language">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">languageToFlags</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:languageToFlags">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">last</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Last'</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Compat-Semigroup.html#t:Last-39-">Distribution.Compat.Semigroup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:Last-39-">Distribution.Compat.Semigroup</a></td></tr><tr><td class="src">LaterVersion</td><td class="module"><a href="Distribution-Version.html#v:LaterVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">laterVersion</td><td class="module"><a href="Distribution-Version.html#v:laterVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">lcm</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">lc_ann_id</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:lc_ann_id">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">lc_cid</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:lc_cid">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">lc_component</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:lc_component">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">lc_exe_deps</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:lc_exe_deps">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">lc_includes</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:lc_includes">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">lc_insts</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:lc_insts">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">lc_pkgid</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:lc_pkgid">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">lc_public</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:lc_public">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">lc_shape</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:lc_shape">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">lc_sig_includes</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:lc_sig_includes">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">lc_uid</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:lc_uid">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">ldOptions</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:ldOptions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:ldOptions">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:ldOptions">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">ldProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:ldProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:ldProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">Left</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">LegacyExeDependency</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">Distribution.Types.LegacyExeDependency</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-LegacyExeDependency.html#v:LegacyExeDependency">Distribution.Types.LegacyExeDependency</a></td></tr><tr><td class="src">length</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:length">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">lessVerbose</td><td class="module"><a href="Distribution-Verbosity.html#v:lessVerbose">Distribution.Verbosity</a></td></tr><tr><td class="src">lex</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">LFlags</td><td class="module"><a href="Distribution-Simple-Command.html#t:LFlags">Distribution.Simple.Command</a></td></tr><tr><td class="src">LGPL</td><td class="module"><a href="Distribution-License.html#v:LGPL">Distribution.License</a>, <a href="Distribution-Make.html#v:LGPL">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">LHC</td><td class="module"><a href="Distribution-Compiler.html#v:LHC">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">lhcPkgProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:lhcPkgProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:lhcPkgProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">lhcProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:lhcProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:lhcProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">libAbiHash</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:libAbiHash">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:libAbiHash">Distribution.Simple.GHC</a></td></tr><tr><td class="src">libBuildInfo</td><td class="module"><a href="Distribution-Types-Library.html#v:libBuildInfo">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#v:libBuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="src">LibComponentLocalBuildInfo</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:LibComponentLocalBuildInfo">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:LibComponentLocalBuildInfo">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">libCoverage</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:libCoverage">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:libCoverage">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">libdir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:libdir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">LibdirVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:LibdirVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">LiberalTypeSynonyms</td><td class="module"><a href="Language-Haskell-Extension.html#v:LiberalTypeSynonyms">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">libexecdir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:libexecdir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">libexecsubdir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:libexecsubdir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">libExposed</td><td class="module"><a href="Distribution-Types-Library.html#v:libExposed">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#v:libExposed">Distribution.PackageDescription</a></td></tr><tr><td class="src">libFieldDescrs</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:libFieldDescrs">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">libModules</td><td class="module"><a href="Distribution-Types-Library.html#v:libModules">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#v:libModules">Distribution.PackageDescription</a></td></tr><tr><td class="src">libModulesAutogen</td><td class="module"><a href="Distribution-Types-Library.html#v:libModulesAutogen">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#v:libModulesAutogen">Distribution.PackageDescription</a></td></tr><tr><td class="src">libName</td><td class="module"><a href="Distribution-Types-Library.html#v:libName">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#v:libName">Distribution.PackageDescription</a></td></tr><tr><td class="src">LibNameVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:LibNameVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">Library</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-Library.html#t:Library">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#t:Library">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-Library.html#v:Library">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#v:Library">Distribution.PackageDescription</a></td></tr><tr><td class="src">library</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:library">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:library">Distribution.PackageDescription</a></td></tr><tr><td class="src">libraryComponentName</td><td class="module"><a href="Distribution-Types-ComponentName.html#v:libraryComponentName">Distribution.Types.ComponentName</a></td></tr><tr><td class="src">libraryDirs</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:libraryDirs">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">libraryDynDirs</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:libraryDynDirs">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">libraryDynDirSupported</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:libraryDynDirSupported">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">libsubdir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:libsubdir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">LibsubdirVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:LibsubdirVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">LibVersionInfo</td><td class="module"><a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">libVersionInfoCRA</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:libVersionInfoCRA">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">libVersionMajor</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:libVersionMajor">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">libVersionNumber</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:libVersionNumber">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">libVersionNumberShow</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:libVersionNumberShow">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">License</td><td class="module"><a href="Distribution-License.html#t:License">Distribution.License</a>, <a href="Distribution-Make.html#t:License">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">license</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:license">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:license">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:license">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">licenseFiles</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:licenseFiles">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:licenseFiles">Distribution.PackageDescription</a></td></tr><tr><td class="src">liftM</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:liftM">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">liftM2</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:liftM2">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">liftOption</td><td class="module"><a href="Distribution-Simple-Command.html#v:liftOption">Distribution.Simple.Command</a></td></tr><tr><td class="src">LineNo</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#t:LineNo">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">lines</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">LinkedComponent</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:LinkedComponent">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">LinkedComponentMap</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponentMap">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">Linux</td><td class="module"><a href="Distribution-System.html#v:Linux">Distribution.System</a></td></tr><tr><td class="src">list</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:list">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">listInvocation</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:listInvocation">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">listPackageSources</td><td class="module"><a href="Distribution-Simple-SrcDist.html#v:listPackageSources">Distribution.Simple.SrcDist</a></td></tr><tr><td class="src">listToMaybe</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:listToMaybe">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">listUnion</td><td class="module"><a href="Distribution-Utils-Generic.html#v:listUnion">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:listUnion">Distribution.Simple.Utils</a></td></tr><tr><td class="src">listUnionRight</td><td class="module"><a href="Distribution-Utils-Generic.html#v:listUnionRight">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:listUnionRight">Distribution.Simple.Utils</a></td></tr><tr><td class="src">Lit</td><td class="module"><a href="Distribution-Types-Condition.html#v:Lit">Distribution.Types.Condition</a>, <a href="Distribution-PackageDescription.html#v:Lit">Distribution.PackageDescription</a></td></tr><tr><td class="src">LocalBuildInfo</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:LocalBuildInfo">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:LocalBuildInfo">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">localBuildInfoFile</td><td class="module"><a href="Distribution-Simple-Configure.html#v:localBuildInfoFile">Distribution.Simple.Configure</a></td></tr><tr><td class="src">localCompatPackageKey</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:localCompatPackageKey">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:localCompatPackageKey">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">localComponentId</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:localComponentId">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:localComponentId">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">localPackage</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:localPackage">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">localPackageLog</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:localPackageLog">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">localPkgDescr</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:localPkgDescr">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:localPkgDescr">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">localUnitId</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:localUnitId">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:localUnitId">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">locationPath</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:locationPath">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:locationPath">Distribution.Simple.Program</a></td></tr><tr><td class="src">log</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">logBase</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">logFile</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:logFile">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">LogProgress</td><td class="module"><a href="Distribution-Utils-LogProgress.html#t:LogProgress">Distribution.Utils.LogProgress</a></td></tr><tr><td class="src">look</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:look">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">lookup</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Compat-Graph.html#v:lookup">Distribution.Compat.Graph</a></td></tr><tr><td class="src">lookupComponent</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:lookupComponent">Distribution.Types.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:lookupComponent">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">lookupComponentId</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:lookupComponentId">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">lookupDependency</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:lookupDependency">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">lookupGE</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">lookupGT</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">lookupIndex</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">lookupInstalledPackageId</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:lookupInstalledPackageId">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">lookupInternalDependency</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:lookupInternalDependency">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">lookupKnownProgram</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:lookupKnownProgram">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:lookupKnownProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">lookupLE</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">lookupLT</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">lookupMax</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">lookupMin</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">lookupPackageId</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:lookupPackageId">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">lookupPackageName</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:lookupPackageName">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">lookupProgram</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:lookupProgram">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:lookupProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">lookupProgramVersion</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:lookupProgramVersion">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:lookupProgramVersion">Distribution.Simple.Program</a></td></tr><tr><td class="src">lookupSourcePackageId</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:lookupSourcePackageId">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">lookupUnitId</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:lookupUnitId">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">LowerBound</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Version.html#t:LowerBound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Version.html#v:LowerBound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">lowercase</td><td class="module"><a href="Distribution-Utils-Generic.html#v:lowercase">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:lowercase">Distribution.Simple.Utils</a></td></tr><tr><td class="src">LT</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">M68k</td><td class="module"><a href="Distribution-System.html#v:M68k">Distribution.System</a></td></tr><tr><td class="src">MagicHash</td><td class="module"><a href="Language-Haskell-Extension.html#v:MagicHash">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">main</td><td class="module"><a href="Distribution-ModuleName.html#v:main">Distribution.ModuleName</a></td></tr><tr><td class="src">maintainer</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:maintainer">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:maintainer">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:maintainer">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">MajorBoundVersion</td><td class="module"><a href="Distribution-Version.html#v:MajorBoundVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">majorBoundVersion</td><td class="module"><a href="Distribution-Version.html#v:majorBoundVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">Make</td><td class="module"><a href="Distribution-Types-BuildType.html#v:Make">Distribution.Types.BuildType</a>, <a href="Distribution-PackageDescription.html#v:Make">Distribution.PackageDescription</a></td></tr><tr><td class="src">mandir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:mandir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">many</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:many">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:many">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">many1</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:many1">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">manyTill</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:manyTill">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">Map</td><td class="module">Distribution.Compat.Map.Strict, <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">map</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">mapAccum</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">mapAccumM</td><td class="module"><a href="Distribution-Utils-MapAccum.html#v:mapAccumM">Distribution.Utils.MapAccum</a></td></tr><tr><td class="src">mapAccumRWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">mapAccumWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">mapCondTree</td><td class="module"><a href="Distribution-Types-CondTree.html#v:mapCondTree">Distribution.Types.CondTree</a>, <a href="Distribution-PackageDescription-Configuration.html#v:mapCondTree">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">mapEither</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">mapEitherWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">mapKeys</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">mapKeysMonotonic</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">mapKeysWith</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">mapMaybe</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:mapMaybe">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">mapMaybeWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">mappend</td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:mappend">Distribution.Compat.Semigroup</a>, Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">mapTreeConds</td><td class="module"><a href="Distribution-Types-CondTree.html#v:mapTreeConds">Distribution.Types.CondTree</a>, <a href="Distribution-PackageDescription-Configuration.html#v:mapTreeConds">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">mapTreeConstrs</td><td class="module"><a href="Distribution-Types-CondTree.html#v:mapTreeConstrs">Distribution.Types.CondTree</a>, <a href="Distribution-PackageDescription-Configuration.html#v:mapTreeConstrs">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">mapTreeData</td><td class="module"><a href="Distribution-Types-CondTree.html#v:mapTreeData">Distribution.Types.CondTree</a>, <a href="Distribution-PackageDescription-Configuration.html#v:mapTreeData">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">mapWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">markup</td><td class="module"><a href="Distribution-Simple-Program-Hpc.html#v:markup">Distribution.Simple.Program.Hpc</a></td></tr><tr><td class="src">markupPackage</td><td class="module"><a href="Distribution-Simple-Hpc.html#v:markupPackage">Distribution.Simple.Hpc</a></td></tr><tr><td class="src">markupTest</td><td class="module"><a href="Distribution-Simple-Hpc.html#v:markupTest">Distribution.Simple.Hpc</a></td></tr><tr><td class="src">matchDirFileGlob</td><td class="module"><a href="Distribution-Simple-Utils.html#v:matchDirFileGlob">Distribution.Simple.Utils</a></td></tr><tr><td class="src">matchFileGlob</td><td class="module"><a href="Distribution-Simple-Utils.html#v:matchFileGlob">Distribution.Simple.Utils</a></td></tr><tr><td class="src">max</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">maxBound</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">MaximalDebugInfo</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:MaximalDebugInfo">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">maximum</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:maximum">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">MaximumOptimisation</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:MaximumOptimisation">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">maxView</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">maxViewWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">Maybe</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">maybe</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">maybeComponentInstantiatedWith</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:maybeComponentInstantiatedWith">Distribution.Types.ComponentLocalBuildInfo</a></td></tr><tr><td class="src">maybeExit</td><td class="module"><a href="Distribution-Simple-Utils.html#v:maybeExit">Distribution.Simple.Utils</a></td></tr><tr><td class="src">maybeGetPersistBuildConfig</td><td class="module"><a href="Distribution-Simple-Configure.html#v:maybeGetPersistBuildConfig">Distribution.Simple.Configure</a></td></tr><tr><td class="src">maybeToFlag</td><td class="module"><a href="Distribution-Simple-Setup.html#v:maybeToFlag">Distribution.Simple.Setup</a></td></tr><tr><td class="src">maybeToList</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:maybeToList">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">mconcat</td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:mconcat">Distribution.Compat.Semigroup</a>, Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">member</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Compat-Graph.html#v:member">Distribution.Compat.Graph</a></td></tr><tr><td class="src">mempty</td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:mempty">Distribution.Compat.Semigroup</a>, Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Mercurial</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:Mercurial">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:Mercurial">Distribution.PackageDescription</a></td></tr><tr><td class="src">merge</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:merge">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">mergeWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">min</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">minBound</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">MinimalDebugInfo</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:MinimalDebugInfo">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">minimum</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:minimum">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">minView</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">minViewWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">Mips</td><td class="module"><a href="Distribution-System.html#v:Mips">Distribution.System</a></td></tr><tr><td class="src">MIT</td><td class="module"><a href="Distribution-License.html#v:MIT">Distribution.License</a>, <a href="Distribution-Make.html#v:MIT">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">mixDir</td><td class="module"><a href="Distribution-Simple-Hpc.html#v:mixDir">Distribution.Simple.Hpc</a></td></tr><tr><td class="src">Mixin</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-Mixin.html#t:Mixin">Distribution.Types.Mixin</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-Mixin.html#v:Mixin">Distribution.Types.Mixin</a></td></tr><tr><td class="src">mixinIncludeRenaming</td><td class="module"><a href="Distribution-Types-Mixin.html#v:mixinIncludeRenaming">Distribution.Types.Mixin</a></td></tr><tr><td class="src">mixinPackageName</td><td class="module"><a href="Distribution-Types-Mixin.html#v:mixinPackageName">Distribution.Types.Mixin</a></td></tr><tr><td class="src">mixins</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:mixins">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:mixins">Distribution.PackageDescription</a></td></tr><tr><td class="src">mkAbiHash</td><td class="module"><a href="Distribution-Types-AbiHash.html#v:mkAbiHash">Distribution.Types.AbiHash</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">mkCommandUI</td><td class="module"><a href="Distribution-Simple-Command.html#v:mkCommandUI">Distribution.Simple.Command</a></td></tr><tr><td class="src">mkComponentId</td><td class="module"><a href="Distribution-Types-ComponentId.html#v:mkComponentId">Distribution.Types.ComponentId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">mkComponentsGraph</td><td class="module"><a href="Distribution-Backpack-ComponentsGraph.html#v:mkComponentsGraph">Distribution.Backpack.ComponentsGraph</a></td></tr><tr><td class="src">mkDefUnitId</td><td class="module"><a href="Distribution-Backpack.html#v:mkDefUnitId">Distribution.Backpack</a></td></tr><tr><td class="src">MkFlag</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:MkFlag">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:MkFlag">Distribution.PackageDescription</a></td></tr><tr><td class="src">mkFlagName</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:mkFlagName">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:mkFlagName">Distribution.PackageDescription</a></td></tr><tr><td class="src">mkLegacyUnitId</td><td class="module"><a href="Distribution-Types-UnitId.html#v:mkLegacyUnitId">Distribution.Types.UnitId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">mkLibName</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:mkLibName">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">mkLibVersionInfo</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:mkLibVersionInfo">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">mkMungedPackageName</td><td class="module"><a href="Distribution-Types-MungedPackageName.html#v:mkMungedPackageName">Distribution.Types.MungedPackageName</a></td></tr><tr><td class="src">mkOpenUnitId</td><td class="module"><a href="Distribution-Backpack.html#v:mkOpenUnitId">Distribution.Backpack</a></td></tr><tr><td class="src">MkOptDescr</td><td class="module"><a href="Distribution-Simple-Command.html#t:MkOptDescr">Distribution.Simple.Command</a></td></tr><tr><td class="src">mkPackageName</td><td class="module"><a href="Distribution-Types-PackageName.html#v:mkPackageName">Distribution.Types.PackageName</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">mkPkgconfigName</td><td class="module"><a href="Distribution-Types-PkgconfigName.html#v:mkPkgconfigName">Distribution.Types.PkgconfigName</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">mkProfLibName</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:mkProfLibName">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">mkSharedLibName</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:mkSharedLibName">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">mkSimplePreProcessor</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:mkSimplePreProcessor">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">mkUnitId</td><td class="module"><a href="Distribution-Types-UnitId.html#v:mkUnitId">Distribution.Types.UnitId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">mkUnqualComponentName</td><td class="module"><a href="Distribution-Types-UnqualComponentName.html#v:mkUnqualComponentName">Distribution.Types.UnqualComponentName</a></td></tr><tr><td class="src">mkVersion</td><td class="module"><a href="Distribution-Version.html#v:mkVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">mkVersion'</td><td class="module"><a href="Distribution-Version.html#v:mkVersion-39-">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">mkVersionIntervals</td><td class="module"><a href="Distribution-Version.html#v:mkVersionIntervals">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">mod</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">modifyProgramSearchPath</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:modifyProgramSearchPath">Distribution.Simple.Program.Db</a></td></tr><tr><td class="src">modifyVerbosity</td><td class="module"><a href="Distribution-Verbosity.html#v:modifyVerbosity">Distribution.Verbosity</a></td></tr><tr><td class="src">modShapeProvides</td><td class="module"><a href="Distribution-Backpack-ModuleShape.html#v:modShapeProvides">Distribution.Backpack.ModuleShape</a></td></tr><tr><td class="src">modShapeRequires</td><td class="module"><a href="Distribution-Backpack-ModuleShape.html#v:modShapeRequires">Distribution.Backpack.ModuleShape</a></td></tr><tr><td class="src">ModSubst</td><td class="module"><a href="Distribution-Backpack-ModSubst.html#t:ModSubst">Distribution.Backpack.ModSubst</a></td></tr><tr><td class="src">modSubst</td><td class="module"><a href="Distribution-Backpack-ModSubst.html#v:modSubst">Distribution.Backpack.ModSubst</a></td></tr><tr><td class="src">ModTime</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Compat-Time.html#t:ModTime">Distribution.Compat.Time</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Compat-Time.html#v:ModTime">Distribution.Compat.Time</a></td></tr><tr><td class="src">Module</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-Module.html#t:Module">Distribution.Types.Module</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-Module.html#v:Module">Distribution.Types.Module</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">ModuleName</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-ModuleName.html#t:ModuleName">Distribution.ModuleName</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-ModuleName.html#v:ModuleName">Distribution.ModuleName</a></td></tr><tr><td class="src">moduleNameIndex</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:moduleNameIndex">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">modulePath</td><td class="module"><a href="Distribution-Types-Executable.html#v:modulePath">Distribution.Types.Executable</a>, <a href="Distribution-PackageDescription.html#v:modulePath">Distribution.PackageDescription</a></td></tr><tr><td class="src">ModuleReexport</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">Distribution.Types.ModuleReexport</a>, <a href="Distribution-PackageDescription.html#t:ModuleReexport">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-ModuleReexport.html#v:ModuleReexport">Distribution.Types.ModuleReexport</a>, <a href="Distribution-PackageDescription.html#v:ModuleReexport">Distribution.PackageDescription</a></td></tr><tr><td class="src">moduleReexportName</td><td class="module"><a href="Distribution-Types-ModuleReexport.html#v:moduleReexportName">Distribution.Types.ModuleReexport</a>, <a href="Distribution-PackageDescription.html#v:moduleReexportName">Distribution.PackageDescription</a></td></tr><tr><td class="src">moduleReexportOriginalName</td><td class="module"><a href="Distribution-Types-ModuleReexport.html#v:moduleReexportOriginalName">Distribution.Types.ModuleReexport</a>, <a href="Distribution-PackageDescription.html#v:moduleReexportOriginalName">Distribution.PackageDescription</a></td></tr><tr><td class="src">moduleReexportOriginalPackage</td><td class="module"><a href="Distribution-Types-ModuleReexport.html#v:moduleReexportOriginalPackage">Distribution.Types.ModuleReexport</a>, <a href="Distribution-PackageDescription.html#v:moduleReexportOriginalPackage">Distribution.PackageDescription</a></td></tr><tr><td class="src">ModuleRenaming</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">Distribution.Types.ModuleRenaming</a>, <a href="Distribution-PackageDescription.html#t:ModuleRenaming">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-ModuleRenaming.html#v:ModuleRenaming">Distribution.Types.ModuleRenaming</a>, <a href="Distribution-PackageDescription.html#v:ModuleRenaming">Distribution.PackageDescription</a></td></tr><tr><td class="src">ModuleShape</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">Distribution.Backpack.ModuleShape</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Backpack-ModuleShape.html#v:ModuleShape">Distribution.Backpack.ModuleShape</a></td></tr><tr><td class="src">Monad</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">MonadComprehensions</td><td class="module"><a href="Language-Haskell-Extension.html#v:MonadComprehensions">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">MonadFailDesugaring</td><td class="module"><a href="Language-Haskell-Extension.html#v:MonadFailDesugaring">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">MonadPlus</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Monoid</td><td class="module"><a href="Distribution-Compat-Semigroup.html#t:Monoid">Distribution.Compat.Semigroup</a>, Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">MonoLocalBinds</td><td class="module"><a href="Language-Haskell-Extension.html#v:MonoLocalBinds">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">MonomorphismRestriction</td><td class="module"><a href="Language-Haskell-Extension.html#v:MonomorphismRestriction">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">MonoPatBinds</td><td class="module"><a href="Language-Haskell-Extension.html#v:MonoPatBinds">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Monotone</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:Monotone">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:Monotone">Distribution.PackageDescription</a></td></tr><tr><td class="src">moreRecentFile</td><td class="module"><a href="Distribution-Simple-Utils.html#v:moreRecentFile">Distribution.Simple.Utils</a></td></tr><tr><td class="src">moreVerbose</td><td class="module"><a href="Distribution-Verbosity.html#v:moreVerbose">Distribution.Verbosity</a></td></tr><tr><td class="src">MPL</td><td class="module"><a href="Distribution-License.html#v:MPL">Distribution.License</a>, <a href="Distribution-Make.html#v:MPL">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">mplus</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:mplus">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">multiOption</td><td class="module"><a href="Distribution-Simple-Command.html#v:multiOption">Distribution.Simple.Command</a></td></tr><tr><td class="src">MultiParamTypeClasses</td><td class="module"><a href="Language-Haskell-Extension.html#v:MultiParamTypeClasses">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">multiStageProgramInvocation</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:multiStageProgramInvocation">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program-Ar.html#v:multiStageProgramInvocation">Distribution.Simple.Program.Ar</a></td></tr><tr><td class="src">MultiWayIf</td><td class="module"><a href="Language-Haskell-Extension.html#v:MultiWayIf">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">munch</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:munch">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">munch1</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:munch1">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">mungedId</td><td class="module"><a href="Distribution-Package.html#v:mungedId">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">mungedName</td><td class="module"><a href="Distribution-Types-MungedPackageId.html#v:mungedName">Distribution.Types.MungedPackageId</a></td></tr><tr><td class="src">mungedName'</td><td class="module"><a href="Distribution-Package.html#v:mungedName-39-">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">MungedPackageId</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">Distribution.Types.MungedPackageId</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-MungedPackageId.html#v:MungedPackageId">Distribution.Types.MungedPackageId</a></td></tr><tr><td class="src">MungedPackageName</td><td class="module"><a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">Distribution.Types.MungedPackageName</a></td></tr><tr><td class="src">mungedVersion</td><td class="module"><a href="Distribution-Types-MungedPackageId.html#v:mungedVersion">Distribution.Types.MungedPackageId</a></td></tr><tr><td class="src">mungedVersion'</td><td class="module"><a href="Distribution-Package.html#v:mungedVersion-39-">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">mzero</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:mzero">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">N</td><td class="module"><a href="Distribution-Compat-Graph.html#v:N">Distribution.Compat.Graph</a></td></tr><tr><td class="src">Name</td><td class="module"><a href="Distribution-Simple-Command.html#t:Name">Distribution.Simple.Command</a></td></tr><tr><td class="src">name</td><td class="module"><a href="Distribution-TestSuite.html#v:name">Distribution.TestSuite</a></td></tr><tr><td class="src">NamedFieldPuns</td><td class="module"><a href="Language-Haskell-Extension.html#v:NamedFieldPuns">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">NamedWildCards</td><td class="module"><a href="Language-Haskell-Extension.html#v:NamedWildCards">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">nativeMultiInstance</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:nativeMultiInstance">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">neededTargetsInBuildOrder</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:neededTargetsInBuildOrder">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">neededTargetsInBuildOrder'</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:neededTargetsInBuildOrder-39-">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">negate</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">NegativeLiterals</td><td class="module"><a href="Language-Haskell-Extension.html#v:NegativeLiterals">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">neighbors</td><td class="module"><a href="Distribution-Compat-Graph.html#v:neighbors">Distribution.Compat.Graph</a></td></tr><tr><td class="src">NetBSD</td><td class="module"><a href="Distribution-System.html#v:NetBSD">Distribution.System</a></td></tr><tr><td class="src">Never</td><td class="module"><a href="Distribution-Simple-Setup.html#v:Never">Distribution.Simple.Setup</a></td></tr><tr><td class="src">newPackageDepsBehaviour</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:newPackageDepsBehaviour">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">NewQualifiedOperators</td><td class="module"><a href="Language-Haskell-Extension.html#v:NewQualifiedOperators">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">newSimpleUnitId</td><td class="module"><a href="Distribution-Types-UnitId.html#v:newSimpleUnitId">Distribution.Types.UnitId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">NFData</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:NFData">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">NHC</td><td class="module"><a href="Distribution-Compiler.html#v:NHC">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">NoAbiTag</td><td class="module"><a href="Distribution-Compiler.html#v:NoAbiTag">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">noArg</td><td class="module"><a href="Distribution-Simple-Command.html#v:noArg">Distribution.Simple.Command</a></td></tr><tr><td class="src">NoCallStackIO</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">NoCopyDest</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:NoCopyDest">Distribution.Simple.InstallDirs</a>, <a href="Distribution-Simple-Setup.html#v:NoCopyDest">Distribution.Simple.Setup</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">Node</td><td class="module"><a href="Distribution-Compat-Graph.html#t:Node">Distribution.Compat.Graph</a></td></tr><tr><td class="src">NoDebugInfo</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:NoDebugInfo">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">nodeKey</td><td class="module"><a href="Distribution-Compat-Graph.html#v:nodeKey">Distribution.Compat.Graph</a></td></tr><tr><td class="src">nodeNeighbors</td><td class="module"><a href="Distribution-Compat-Graph.html#v:nodeNeighbors">Distribution.Compat.Graph</a></td></tr><tr><td class="src">nodeValue</td><td class="module"><a href="Distribution-Compat-Graph.html#v:nodeValue">Distribution.Compat.Graph</a></td></tr><tr><td class="src">noExtraFlags</td><td class="module"><a href="Distribution-Simple-Command.html#v:noExtraFlags">Distribution.Simple.Command</a></td></tr><tr><td class="src">NoFlag</td><td class="module"><a href="Distribution-Simple-Setup.html#v:NoFlag">Distribution.Simple.Setup</a></td></tr><tr><td class="src">NoGlob</td><td class="module"><a href="Distribution-Simple-Utils.html#v:NoGlob">Distribution.Simple.Utils</a></td></tr><tr><td class="src">NondecreasingIndentation</td><td class="module"><a href="Language-Haskell-Extension.html#v:NondecreasingIndentation">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">None</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:None">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">NoOptimisation</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:NoOptimisation">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">NoParse</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:NoParse">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">noPkgDbStack</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:noPkgDbStack">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">normal</td><td class="module"><a href="Distribution-Verbosity.html#v:normal">Distribution.Verbosity</a></td></tr><tr><td class="src">NormalCommand</td><td class="module"><a href="Distribution-Simple-Command.html#v:NormalCommand">Distribution.Simple.Command</a></td></tr><tr><td class="src">NormalDebugInfo</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:NormalDebugInfo">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">normaliseLineEndings</td><td class="module"><a href="Distribution-Utils-Generic.html#v:normaliseLineEndings">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:normaliseLineEndings">Distribution.Simple.Utils</a></td></tr><tr><td class="src">NormalOptimisation</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:NormalOptimisation">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">not</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">notElem</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Nothing</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">notice</td><td class="module"><a href="Distribution-Simple-Utils.html#v:notice">Distribution.Simple.Utils</a></td></tr><tr><td class="src">noticeDoc</td><td class="module"><a href="Distribution-Simple-Utils.html#v:noticeDoc">Distribution.Simple.Utils</a></td></tr><tr><td class="src">noticeNoWrap</td><td class="module"><a href="Distribution-Simple-Utils.html#v:noticeNoWrap">Distribution.Simple.Utils</a></td></tr><tr><td class="src">notMember</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">notThisPackageVersion</td><td class="module"><a href="Distribution-Types-Dependency.html#v:notThisPackageVersion">Distribution.Types.Dependency</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">notThisVersion</td><td class="module"><a href="Distribution-Version.html#v:notThisVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">NoUpperBound</td><td class="module"><a href="Distribution-Version.html#v:NoUpperBound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">noVerboseFlag</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:noVerboseFlag">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">noVersion</td><td class="module"><a href="Distribution-Version.html#v:noVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">NPlusKPatterns</td><td class="module"><a href="Language-Haskell-Extension.html#v:NPlusKPatterns">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">nub</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:nub">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">nubBy</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:nubBy">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">NubList</td><td class="module"><a href="Distribution-Utils-NubList.html#t:NubList">Distribution.Utils.NubList</a></td></tr><tr><td class="src">NubListR</td><td class="module"><a href="Distribution-Utils-NubList.html#t:NubListR">Distribution.Utils.NubList</a></td></tr><tr><td class="src">null</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:null">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Compat-Graph.html#v:null">Distribution.Compat.Graph</a></td></tr><tr><td class="src">NullaryTypeClasses</td><td class="module"><a href="Language-Haskell-Extension.html#v:NullaryTypeClasses">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">nullVersion</td><td class="module"><a href="Distribution-Version.html#v:nullVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">Num</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">NumDecimals</td><td class="module"><a href="Language-Haskell-Extension.html#v:NumDecimals">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">numericVersion</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:numericVersion">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="src">ObjectiveC</td><td class="module"><a href="Distribution-Simple-CCompiler.html#v:ObjectiveC">Distribution.Simple.CCompiler</a></td></tr><tr><td class="src">ObjectiveCPlusPlus</td><td class="module"><a href="Distribution-Simple-CCompiler.html#v:ObjectiveCPlusPlus">Distribution.Simple.CCompiler</a></td></tr><tr><td class="src">objExtension</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:objExtension">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">odd</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">oldExtensions</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:oldExtensions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:oldExtensions">Distribution.PackageDescription</a></td></tr><tr><td class="src">OneComponentRequestedSpec</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:OneComponentRequestedSpec">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">OpenBSD</td><td class="module"><a href="Distribution-System.html#v:OpenBSD">Distribution.System</a></td></tr><tr><td class="src">OpenModule</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Backpack.html#t:OpenModule">Distribution.Backpack</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Backpack.html#v:OpenModule">Distribution.Backpack</a></td></tr><tr><td class="src">openModuleFreeHoles</td><td class="module"><a href="Distribution-Backpack.html#v:openModuleFreeHoles">Distribution.Backpack</a></td></tr><tr><td class="src">OpenModuleSubst</td><td class="module"><a href="Distribution-Backpack.html#t:OpenModuleSubst">Distribution.Backpack</a></td></tr><tr><td class="src">openModuleSubstFreeHoles</td><td class="module"><a href="Distribution-Backpack.html#v:openModuleSubstFreeHoles">Distribution.Backpack</a></td></tr><tr><td class="src">OpenModuleVar</td><td class="module"><a href="Distribution-Backpack.html#v:OpenModuleVar">Distribution.Backpack</a></td></tr><tr><td class="src">OpenUnitId</td><td class="module"><a href="Distribution-Backpack.html#t:OpenUnitId">Distribution.Backpack</a></td></tr><tr><td class="src">openUnitIdFreeHoles</td><td class="module"><a href="Distribution-Backpack.html#v:openUnitIdFreeHoles">Distribution.Backpack</a></td></tr><tr><td class="src">OptArg</td><td class="module"><a href="Distribution-Simple-Command.html#v:OptArg">Distribution.Simple.Command</a></td></tr><tr><td class="src">optArg</td><td class="module"><a href="Distribution-Simple-Command.html#v:optArg">Distribution.Simple.Command</a></td></tr><tr><td class="src">optArg'</td><td class="module"><a href="Distribution-Simple-Command.html#v:optArg-39-">Distribution.Simple.Command</a></td></tr><tr><td class="src">OptDescr</td><td class="module"><a href="Distribution-Simple-Command.html#t:OptDescr">Distribution.Simple.Command</a></td></tr><tr><td class="src">OptFlags</td><td class="module"><a href="Distribution-Simple-Command.html#t:OptFlags">Distribution.Simple.Command</a></td></tr><tr><td class="src">OptimisationLevel</td><td class="module"><a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">option</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:option">Distribution.Compat.ReadP</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Command.html#v:option">Distribution.Simple.Command</a></td></tr><tr><td class="src">optional</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:optional">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">OptionBool</td><td class="module"><a href="Distribution-TestSuite.html#v:OptionBool">Distribution.TestSuite</a></td></tr><tr><td class="src">optionDefault</td><td class="module"><a href="Distribution-TestSuite.html#v:optionDefault">Distribution.TestSuite</a></td></tr><tr><td class="src">OptionDescr</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-TestSuite.html#t:OptionDescr">Distribution.TestSuite</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-TestSuite.html#v:OptionDescr">Distribution.TestSuite</a></td></tr><tr><td class="src">optionDescr</td><td class="module"><a href="Distribution-Simple-Command.html#v:optionDescr">Distribution.Simple.Command</a></td></tr><tr><td class="src">optionDescription</td><td class="module"><a href="Distribution-TestSuite.html#v:optionDescription">Distribution.TestSuite</a></td></tr><tr><td class="src">optionDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:optionDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">OptionEnum</td><td class="module"><a href="Distribution-TestSuite.html#v:OptionEnum">Distribution.TestSuite</a></td></tr><tr><td class="src">OptionField</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Command.html#t:OptionField">Distribution.Simple.Command</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Command.html#v:OptionField">Distribution.Simple.Command</a></td></tr><tr><td class="src">OptionFile</td><td class="module"><a href="Distribution-TestSuite.html#v:OptionFile">Distribution.TestSuite</a></td></tr><tr><td class="src">optionFileExtensions</td><td class="module"><a href="Distribution-TestSuite.html#v:optionFileExtensions">Distribution.TestSuite</a></td></tr><tr><td class="src">optionFileIsDir</td><td class="module"><a href="Distribution-TestSuite.html#v:optionFileIsDir">Distribution.TestSuite</a></td></tr><tr><td class="src">optionFileMustExist</td><td class="module"><a href="Distribution-TestSuite.html#v:optionFileMustExist">Distribution.TestSuite</a></td></tr><tr><td class="src">optionName</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-TestSuite.html#v:optionName">Distribution.TestSuite</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Command.html#v:optionName">Distribution.Simple.Command</a></td></tr><tr><td class="src">OptionNumber</td><td class="module"><a href="Distribution-TestSuite.html#v:OptionNumber">Distribution.TestSuite</a></td></tr><tr><td class="src">optionNumberBounds</td><td class="module"><a href="Distribution-TestSuite.html#v:optionNumberBounds">Distribution.TestSuite</a></td></tr><tr><td class="src">optionNumberIsInt</td><td class="module"><a href="Distribution-TestSuite.html#v:optionNumberIsInt">Distribution.TestSuite</a></td></tr><tr><td class="src">optionNumJobs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:optionNumJobs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">OptionRngSeed</td><td class="module"><a href="Distribution-TestSuite.html#v:OptionRngSeed">Distribution.TestSuite</a></td></tr><tr><td class="src">Options</td><td class="module"><a href="Distribution-TestSuite.html#t:Options">Distribution.TestSuite</a></td></tr><tr><td class="src">options</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-TestSuite.html#v:options">Distribution.TestSuite</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:options">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:options">Distribution.PackageDescription</a></td></tr><tr><td class="src">OptionSet</td><td class="module"><a href="Distribution-TestSuite.html#v:OptionSet">Distribution.TestSuite</a></td></tr><tr><td class="src">OptionString</td><td class="module"><a href="Distribution-TestSuite.html#v:OptionString">Distribution.TestSuite</a></td></tr><tr><td class="src">optionStringMultiline</td><td class="module"><a href="Distribution-TestSuite.html#v:optionStringMultiline">Distribution.TestSuite</a></td></tr><tr><td class="src">OptionType</td><td class="module"><a href="Distribution-TestSuite.html#t:OptionType">Distribution.TestSuite</a></td></tr><tr><td class="src">optionType</td><td class="module"><a href="Distribution-TestSuite.html#v:optionType">Distribution.TestSuite</a></td></tr><tr><td class="src">optionVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:optionVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">optKeepTempFiles</td><td class="module"><a href="Distribution-Simple-Utils.html#v:optKeepTempFiles">Distribution.Simple.Utils</a></td></tr><tr><td class="src">or</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Ord</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">ord</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:ord">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Ordering</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">ordNub</td><td class="module"><a href="Distribution-Utils-Generic.html#v:ordNub">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:ordNub">Distribution.Simple.Utils</a></td></tr><tr><td class="src">ordNubBy</td><td class="module"><a href="Distribution-Utils-Generic.html#v:ordNubBy">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:ordNubBy">Distribution.Simple.Utils</a></td></tr><tr><td class="src">ordNubRight</td><td class="module"><a href="Distribution-Utils-Generic.html#v:ordNubRight">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:ordNubRight">Distribution.Simple.Utils</a></td></tr><tr><td class="src">orEarlierVersion</td><td class="module"><a href="Distribution-Version.html#v:orEarlierVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">orLaterVersion</td><td class="module"><a href="Distribution-Version.html#v:orLaterVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">OS</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-System.html#t:OS">Distribution.System</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:OS">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:OS">Distribution.PackageDescription</a></td></tr><tr><td class="src">OSVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:OSVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">OSX</td><td class="module"><a href="Distribution-System.html#v:OSX">Distribution.System</a></td></tr><tr><td class="src">OtherArch</td><td class="module"><a href="Distribution-System.html#v:OtherArch">Distribution.System</a></td></tr><tr><td class="src">OtherCompiler</td><td class="module"><a href="Distribution-Compiler.html#v:OtherCompiler">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">otherExtensions</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:otherExtensions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:otherExtensions">Distribution.PackageDescription</a></td></tr><tr><td class="src">otherLanguages</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:otherLanguages">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:otherLanguages">Distribution.PackageDescription</a></td></tr><tr><td class="src">OtherLicense</td><td class="module"><a href="Distribution-License.html#v:OtherLicense">Distribution.License</a>, <a href="Distribution-Make.html#v:OtherLicense">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">otherModules</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:otherModules">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:otherModules">Distribution.PackageDescription</a></td></tr><tr><td class="src">OtherOS</td><td class="module"><a href="Distribution-System.html#v:OtherOS">Distribution.System</a></td></tr><tr><td class="src">OtherRepoType</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:OtherRepoType">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:OtherRepoType">Distribution.PackageDescription</a></td></tr><tr><td class="src">otherwise</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">OverlappingInstances</td><td class="module"><a href="Language-Haskell-Extension.html#v:OverlappingInstances">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">OverloadedLabels</td><td class="module"><a href="Language-Haskell-Extension.html#v:OverloadedLabels">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">OverloadedLists</td><td class="module"><a href="Language-Haskell-Extension.html#v:OverloadedLists">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">OverloadedStrings</td><td class="module"><a href="Language-Haskell-Extension.html#v:OverloadedStrings">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">overNubList</td><td class="module"><a href="Distribution-Utils-NubList.html#v:overNubList">Distribution.Utils.NubList</a></td></tr><tr><td class="src">overNubListR</td><td class="module"><a href="Distribution-Utils-NubList.html#v:overNubListR">Distribution.Utils.NubList</a></td></tr><tr><td class="src">Package</td><td class="module"><a href="Distribution-Package.html#t:Package">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">package</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:package">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:package">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:package">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">PackageBuildImpossible</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:PackageBuildImpossible">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">PackageBuildWarning</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:PackageBuildWarning">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">PackageCheck</td><td class="module"><a href="Distribution-PackageDescription-Check.html#t:PackageCheck">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">PackageDB</td><td class="module"><a href="Distribution-Simple-Compiler.html#t:PackageDB">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">packageDbOpt</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:packageDbOpt">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="src">PackageDBStack</td><td class="module"><a href="Distribution-Simple-Compiler.html#t:PackageDBStack">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">PackageDescription</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#t:PackageDescription">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#t:PackageDescription">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:PackageDescription">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:PackageDescription">Distribution.PackageDescription</a></td></tr><tr><td class="src">packageDescription</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:packageDescription">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:packageDescription">Distribution.PackageDescription</a></td></tr><tr><td class="src">PackageDistInexcusable</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:PackageDistInexcusable">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">PackageDistSuspicious</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:PackageDistSuspicious">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">PackageDistSuspiciousWarn</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:PackageDistSuspiciousWarn">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">PackageId</td><td class="module"><a href="Distribution-Types-PackageId.html#t:PackageId">Distribution.Types.PackageId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">packageId</td><td class="module"><a href="Distribution-Package.html#v:packageId">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">PackageIdentifier</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-PackageId.html#t:PackageIdentifier">Distribution.Types.PackageId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-PackageId.html#v:PackageIdentifier">Distribution.Types.PackageId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">PackageImports</td><td class="module"><a href="Language-Haskell-Extension.html#v:PackageImports">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">PackageIndex</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">PackageInstalled</td><td class="module"><a href="Distribution-Package.html#t:PackageInstalled">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">packageKeySupported</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:packageKeySupported">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">PackageLog</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Test-Log.html#t:PackageLog">Distribution.Simple.Test.Log</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:PackageLog">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">PackageName</td><td class="module"><a href="Distribution-Types-PackageName.html#t:PackageName">Distribution.Types.PackageName</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">packageName</td><td class="module"><a href="Distribution-Package.html#v:packageName">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">packageNameToUnqualComponentName</td><td class="module"><a href="Distribution-Types-UnqualComponentName.html#v:packageNameToUnqualComponentName">Distribution.Types.UnqualComponentName</a></td></tr><tr><td class="src">packageTemplateEnv</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:packageTemplateEnv">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">packageVersion</td><td class="module"><a href="Distribution-Package.html#v:packageVersion">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">ParallelArrays</td><td class="module"><a href="Language-Haskell-Extension.html#v:ParallelArrays">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">ParallelListComp</td><td class="module"><a href="Language-Haskell-Extension.html#v:ParallelListComp">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">parentSrcLocPrefix</td><td class="module"><a href="Distribution-Compat-Stack.html#v:parentSrcLocPrefix">Distribution.Compat.Stack</a></td></tr><tr><td class="src">parmakeSupported</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:parmakeSupported">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">parse</td><td class="module"><a href="Distribution-Text.html#v:parse">Distribution.Text</a></td></tr><tr><td class="src">ParseArgs</td><td class="module"><a href="Distribution-Simple-Command.html#v:ParseArgs">Distribution.Simple.Command</a></td></tr><tr><td class="src">parseCompilerFlavorCompat</td><td class="module"><a href="Distribution-Compiler.html#v:parseCompilerFlavorCompat">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">parseCondition</td><td class="module"><a href="Distribution-PackageDescription-Configuration.html#v:parseCondition">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">ParseFailed</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:ParseFailed">Distribution.InstalledPackageInfo</a>, <a href="Distribution-PackageDescription-Parse.html#v:ParseFailed">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">parseFileGlob</td><td class="module"><a href="Distribution-Simple-Utils.html#v:parseFileGlob">Distribution.Simple.Utils</a></td></tr><tr><td class="src">parseFlagAssignment</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:parseFlagAssignment">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:parseFlagAssignment">Distribution.PackageDescription</a></td></tr><tr><td class="src">parseGenericPackageDescription</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:parseGenericPackageDescription">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">parseHookedBuildInfo</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:parseHookedBuildInfo">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">parseInstalledPackageInfo</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:parseInstalledPackageInfo">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">ParseOk</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:ParseOk">Distribution.InstalledPackageInfo</a>, <a href="Distribution-PackageDescription-Parse.html#v:ParseOk">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">parseOpenModuleSubst</td><td class="module"><a href="Distribution-Backpack.html#v:parseOpenModuleSubst">Distribution.Backpack</a></td></tr><tr><td class="src">parseOpenModuleSubstEntry</td><td class="module"><a href="Distribution-Backpack.html#v:parseOpenModuleSubstEntry">Distribution.Backpack</a></td></tr><tr><td class="src">parsePackageDescription</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:parsePackageDescription">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">parseReadE</td><td class="module"><a href="Distribution-ReadE.html#v:parseReadE">Distribution.ReadE</a></td></tr><tr><td class="src">ParseResult</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#t:ParseResult">Distribution.InstalledPackageInfo</a>, <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">PartialTypeSignatures</td><td class="module"><a href="Language-Haskell-Extension.html#v:PartialTypeSignatures">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">partition</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">partitionComponents</td><td class="module"><a href="Distribution-Types-Component.html#v:partitionComponents">Distribution.Types.Component</a></td></tr><tr><td class="src">partitionWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">Pass</td><td class="module"><a href="Distribution-TestSuite.html#v:Pass">Distribution.TestSuite</a></td></tr><tr><td class="src">PathTemplate</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">PathTemplateEnv</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#t:PathTemplateEnv">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">PathTemplateVariable</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">PatternGuards</td><td class="module"><a href="Language-Haskell-Extension.html#v:PatternGuards">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">PatternSignatures</td><td class="module"><a href="Language-Haskell-Extension.html#v:PatternSignatures">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">PatternSynonyms</td><td class="module"><a href="Language-Haskell-Extension.html#v:PatternSynonyms">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Permissive</td><td class="module"><a href="Distribution-System.html#v:Permissive">Distribution.System</a></td></tr><tr><td class="src">PError</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#t:PError">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">pfail</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:pfail">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">pi</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">pkgBuildableComponents</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:pkgBuildableComponents">Distribution.Types.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:pkgBuildableComponents">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">pkgComponents</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:pkgComponents">Distribution.Types.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:pkgComponents">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">PkgconfigDependency</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">Distribution.Types.PkgconfigDependency</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-PkgconfigDependency.html#v:PkgconfigDependency">Distribution.Types.PkgconfigDependency</a></td></tr><tr><td class="src">pkgconfigDepends</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:pkgconfigDepends">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:pkgconfigDepends">Distribution.PackageDescription</a></td></tr><tr><td class="src">PkgconfigName</td><td class="module"><a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">Distribution.Types.PkgconfigName</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">pkgConfigProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:pkgConfigProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:pkgConfigProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">pkgDescrFieldDescrs</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:pkgDescrFieldDescrs">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">pkgDescrFile</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:pkgDescrFile">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:pkgDescrFile">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">PkgIdVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:PkgIdVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">pkgName</td><td class="module"><a href="Distribution-Types-PackageId.html#v:pkgName">Distribution.Types.PackageId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">PkgNameVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:PkgNameVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">pkgPathEnvVar</td><td class="module"><a href="Distribution-Simple-Build-PathsModule.html#v:pkgPathEnvVar">Distribution.Simple.Build.PathsModule</a></td></tr><tr><td class="src">pkgRoot</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:pkgRoot">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:pkgRoot">Distribution.Simple.GHC</a></td></tr><tr><td class="src">pkgUrl</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:pkgUrl">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:pkgUrl">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:pkgUrl">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">pkgVersion</td><td class="module"><a href="Distribution-Types-PackageId.html#v:pkgVersion">Distribution.Types.PackageId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">PkgVerVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:PkgVerVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">plain</td><td class="module"><a href="Distribution-Simple-PreProcess-Unlit.html#v:plain">Distribution.Simple.PreProcess.Unlit</a></td></tr><tr><td class="src">Platform</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-System.html#t:Platform">Distribution.System</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-System.html#v:Platform">Distribution.System</a></td></tr><tr><td class="src">platform</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:platform">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">platformDefines</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:platformDefines">Distribution.Simple.PreProcess</a>, <a href="Distribution-Simple-Configure.html#v:platformDefines">Distribution.Simple.Configure</a></td></tr><tr><td class="src">platformFromTriple</td><td class="module"><a href="Distribution-System.html#v:platformFromTriple">Distribution.System</a></td></tr><tr><td class="src">platformIndependent</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:platformIndependent">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">platformTemplateEnv</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:platformTemplateEnv">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">PolyKinds</td><td class="module"><a href="Language-Haskell-Extension.html#v:PolyKinds">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">PolymorphicComponents</td><td class="module"><a href="Language-Haskell-Extension.html#v:PolymorphicComponents">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">posixSecondsToModTime</td><td class="module"><a href="Distribution-Compat-Time.html#v:posixSecondsToModTime">Distribution.Compat.Time</a></td></tr><tr><td class="src">postBench</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postBench">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postBench">Distribution.Simple</a></td></tr><tr><td class="src">postBuild</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postBuild">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postBuild">Distribution.Simple</a></td></tr><tr><td class="src">postClean</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postClean">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postClean">Distribution.Simple</a></td></tr><tr><td class="src">postConf</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postConf">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postConf">Distribution.Simple</a></td></tr><tr><td class="src">postCopy</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postCopy">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postCopy">Distribution.Simple</a></td></tr><tr><td class="src">postDoctest</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postDoctest">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postDoctest">Distribution.Simple</a></td></tr><tr><td class="src">PostfixOperators</td><td class="module"><a href="Language-Haskell-Extension.html#v:PostfixOperators">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">postHaddock</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postHaddock">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postHaddock">Distribution.Simple</a></td></tr><tr><td class="src">postHscolour</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postHscolour">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postHscolour">Distribution.Simple</a></td></tr><tr><td class="src">postInst</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postInst">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postInst">Distribution.Simple</a></td></tr><tr><td class="src">postReg</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postReg">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postReg">Distribution.Simple</a></td></tr><tr><td class="src">postRepl</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postRepl">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postRepl">Distribution.Simple</a></td></tr><tr><td class="src">postSDist</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postSDist">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postSDist">Distribution.Simple</a></td></tr><tr><td class="src">postTest</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postTest">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postTest">Distribution.Simple</a></td></tr><tr><td class="src">postUnreg</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postUnreg">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postUnreg">Distribution.Simple</a></td></tr><tr><td class="src">ppAlex</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:ppAlex">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">PPC</td><td class="module"><a href="Distribution-System.html#v:PPC">Distribution.System</a></td></tr><tr><td class="src">ppC2hs</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:ppC2hs">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">PPC64</td><td class="module"><a href="Distribution-System.html#v:PPC64">Distribution.System</a></td></tr><tr><td class="src">ppCpp</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:ppCpp">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">ppCpp'</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:ppCpp-39-">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">ppGreenCard</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:ppGreenCard">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">ppHappy</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:ppHappy">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">ppHsc2hs</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:ppHsc2hs">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">ppSuffixes</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:ppSuffixes">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">PPSuffixHandler</td><td class="module"><a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">ppUnlit</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:ppUnlit">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">preBench</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preBench">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preBench">Distribution.Simple</a></td></tr><tr><td class="src">preBuild</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preBuild">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preBuild">Distribution.Simple</a></td></tr><tr><td class="src">preClean</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preClean">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preClean">Distribution.Simple</a></td></tr><tr><td class="src">preConf</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preConf">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preConf">Distribution.Simple</a></td></tr><tr><td class="src">preCopy</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preCopy">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preCopy">Distribution.Simple</a></td></tr><tr><td class="src">pred</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">preDoctest</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preDoctest">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preDoctest">Distribution.Simple</a></td></tr><tr><td class="src">prefix</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:prefix">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">prefixRelativeComponentInstallDirs</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:prefixRelativeComponentInstallDirs">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">prefixRelativeInstallDirs</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:prefixRelativeInstallDirs">Distribution.Simple.InstallDirs</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:prefixRelativeInstallDirs">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">PrefixVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:PrefixVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">preHaddock</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preHaddock">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preHaddock">Distribution.Simple</a></td></tr><tr><td class="src">preHscolour</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preHscolour">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preHscolour">Distribution.Simple</a></td></tr><tr><td class="src">preInst</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preInst">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preInst">Distribution.Simple</a></td></tr><tr><td class="src">prepareSnapshotTree</td><td class="module"><a href="Distribution-Simple-SrcDist.html#v:prepareSnapshotTree">Distribution.Simple.SrcDist</a></td></tr><tr><td class="src">prepareTree</td><td class="module"><a href="Distribution-Simple-SrcDist.html#v:prepareTree">Distribution.Simple.SrcDist</a></td></tr><tr><td class="src">preprocessComponent</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:preprocessComponent">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">preprocessExtras</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:preprocessExtras">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">PreProcessor</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-PreProcess.html#t:PreProcessor">Distribution.Simple.PreProcess</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:PreProcessor">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">preReg</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preReg">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preReg">Distribution.Simple</a></td></tr><tr><td class="src">preRepl</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preRepl">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preRepl">Distribution.Simple</a></td></tr><tr><td class="src">preSDist</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preSDist">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preSDist">Distribution.Simple</a></td></tr><tr><td class="src">preTest</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preTest">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preTest">Distribution.Simple</a></td></tr><tr><td class="src">prettyCallStack</td><td class="module"><a href="Distribution-Compat-Stack.html#v:prettyCallStack">Distribution.Compat.Stack</a></td></tr><tr><td class="src">preUnreg</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preUnreg">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preUnreg">Distribution.Simple</a></td></tr><tr><td class="src">print</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">printPackageProblems</td><td class="module"><a href="Distribution-Simple-SrcDist.html#v:printPackageProblems">Distribution.Simple.SrcDist</a></td></tr><tr><td class="src">printRawCommandAndArgs</td><td class="module"><a href="Distribution-Simple-Utils.html#v:printRawCommandAndArgs">Distribution.Simple.Utils</a></td></tr><tr><td class="src">printRawCommandAndArgsAndEnv</td><td class="module"><a href="Distribution-Simple-Utils.html#v:printRawCommandAndArgsAndEnv">Distribution.Simple.Utils</a></td></tr><tr><td class="src">product</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:product">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Prof</td><td class="module"><a href="Distribution-Simple-Hpc.html#v:Prof">Distribution.Simple.Hpc</a></td></tr><tr><td class="src">ProfDetailAllFunctions</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:ProfDetailAllFunctions">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">ProfDetailDefault</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:ProfDetailDefault">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">ProfDetailExportedFunctions</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:ProfDetailExportedFunctions">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">ProfDetailLevel</td><td class="module"><a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">ProfDetailNone</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:ProfDetailNone">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">ProfDetailOther</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:ProfDetailOther">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">ProfDetailToplevelFunctions</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:ProfDetailToplevelFunctions">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">profilingSupported</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:profilingSupported">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">profOptions</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:profOptions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:profOptions">Distribution.PackageDescription</a></td></tr><tr><td class="src">ProgArg</td><td class="module"><a href="Distribution-Simple-Program-Types.html#t:ProgArg">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#t:ProgArg">Distribution.Simple.Program</a></td></tr><tr><td class="src">progInvokeArgs</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:progInvokeArgs">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:progInvokeArgs">Distribution.Simple.Program</a></td></tr><tr><td class="src">progInvokeCwd</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:progInvokeCwd">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:progInvokeCwd">Distribution.Simple.Program</a></td></tr><tr><td class="src">progInvokeEnv</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:progInvokeEnv">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:progInvokeEnv">Distribution.Simple.Program</a></td></tr><tr><td class="src">progInvokeInput</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:progInvokeInput">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:progInvokeInput">Distribution.Simple.Program</a></td></tr><tr><td class="src">progInvokeInputEncoding</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:progInvokeInputEncoding">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:progInvokeInputEncoding">Distribution.Simple.Program</a></td></tr><tr><td class="src">progInvokeOutputEncoding</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:progInvokeOutputEncoding">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:progInvokeOutputEncoding">Distribution.Simple.Program</a></td></tr><tr><td class="src">progInvokePath</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:progInvokePath">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:progInvokePath">Distribution.Simple.Program</a></td></tr><tr><td class="src">progInvokePathEnv</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:progInvokePathEnv">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:progInvokePathEnv">Distribution.Simple.Program</a></td></tr><tr><td class="src">progPrefix</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:progPrefix">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:progPrefix">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">Program</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Program-Types.html#t:Program">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#t:Program">Distribution.Simple.Program</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:Program">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:Program">Distribution.Simple.Program</a></td></tr><tr><td class="src">ProgramConfiguration</td><td class="module"><a href="Distribution-Simple-Program.html#t:ProgramConfiguration">Distribution.Simple.Program</a></td></tr><tr><td class="src">programConfigurationOptions</td><td class="module"><a href="Distribution-Simple-Setup.html#v:programConfigurationOptions">Distribution.Simple.Setup</a></td></tr><tr><td class="src">programConfigurationPaths'</td><td class="module"><a href="Distribution-Simple-Setup.html#v:programConfigurationPaths-39-">Distribution.Simple.Setup</a></td></tr><tr><td class="src">ProgramDb</td><td class="module"><a href="Distribution-Simple-Program-Db.html#t:ProgramDb">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#t:ProgramDb">Distribution.Simple.Program</a></td></tr><tr><td class="src">programDbOptions</td><td class="module"><a href="Distribution-Simple-Setup.html#v:programDbOptions">Distribution.Simple.Setup</a></td></tr><tr><td class="src">programDbPaths'</td><td class="module"><a href="Distribution-Simple-Setup.html#v:programDbPaths-39-">Distribution.Simple.Setup</a></td></tr><tr><td class="src">programDefaultArgs</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programDefaultArgs">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programDefaultArgs">Distribution.Simple.Program</a></td></tr><tr><td class="src">programFindLocation</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programFindLocation">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programFindLocation">Distribution.Simple.Program</a></td></tr><tr><td class="src">programFindVersion</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programFindVersion">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programFindVersion">Distribution.Simple.Program</a></td></tr><tr><td class="src">programId</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programId">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programId">Distribution.Simple.Program</a></td></tr><tr><td class="src">ProgramInvocation</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#t:ProgramInvocation">Distribution.Simple.Program</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:ProgramInvocation">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:ProgramInvocation">Distribution.Simple.Program</a></td></tr><tr><td class="src">programInvocation</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:programInvocation">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:programInvocation">Distribution.Simple.Program</a></td></tr><tr><td class="src">ProgramLocation</td><td class="module"><a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#t:ProgramLocation">Distribution.Simple.Program</a></td></tr><tr><td class="src">programLocation</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programLocation">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programLocation">Distribution.Simple.Program</a></td></tr><tr><td class="src">programMonitorFiles</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programMonitorFiles">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programMonitorFiles">Distribution.Simple.Program</a></td></tr><tr><td class="src">programName</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programName">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programName">Distribution.Simple.Program</a></td></tr><tr><td class="src">programOverrideArgs</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programOverrideArgs">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programOverrideArgs">Distribution.Simple.Program</a></td></tr><tr><td class="src">programOverrideEnv</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programOverrideEnv">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programOverrideEnv">Distribution.Simple.Program</a></td></tr><tr><td class="src">programPath</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programPath">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programPath">Distribution.Simple.Program</a></td></tr><tr><td class="src">programPostConf</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programPostConf">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programPostConf">Distribution.Simple.Program</a></td></tr><tr><td class="src">programProperties</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programProperties">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programProperties">Distribution.Simple.Program</a></td></tr><tr><td class="src">ProgramSearchPath</td><td class="module"><a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">Distribution.Simple.Program.Find</a>, <a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPath">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#t:ProgramSearchPath">Distribution.Simple.Program</a></td></tr><tr><td class="src">programSearchPathAsPATHVar</td><td class="module"><a href="Distribution-Simple-Program-Find.html#v:programSearchPathAsPATHVar">Distribution.Simple.Program.Find</a></td></tr><tr><td class="src">ProgramSearchPathDefault</td><td class="module"><a href="Distribution-Simple-Program-Find.html#v:ProgramSearchPathDefault">Distribution.Simple.Program.Find</a>, <a href="Distribution-Simple-Program-Types.html#v:ProgramSearchPathDefault">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:ProgramSearchPathDefault">Distribution.Simple.Program</a></td></tr><tr><td class="src">ProgramSearchPathDir</td><td class="module"><a href="Distribution-Simple-Program-Find.html#v:ProgramSearchPathDir">Distribution.Simple.Program.Find</a>, <a href="Distribution-Simple-Program-Types.html#v:ProgramSearchPathDir">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:ProgramSearchPathDir">Distribution.Simple.Program</a></td></tr><tr><td class="src">ProgramSearchPathEntry</td><td class="module"><a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">Distribution.Simple.Program.Find</a>, <a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPathEntry">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#t:ProgramSearchPathEntry">Distribution.Simple.Program</a></td></tr><tr><td class="src">programVersion</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programVersion">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programVersion">Distribution.Simple.Program</a></td></tr><tr><td class="src">Progress</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-TestSuite.html#t:Progress">Distribution.TestSuite</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-TestSuite.html#v:Progress">Distribution.TestSuite</a></td></tr><tr><td class="alt">3 (Type/Class)</td><td class="module"><a href="Distribution-Utils-Progress.html#t:Progress">Distribution.Utils.Progress</a></td></tr><tr><td class="src">progSuffix</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:progSuffix">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:progSuffix">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">properFraction</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">PublicDomain</td><td class="module"><a href="Distribution-License.html#v:PublicDomain">Distribution.License</a>, <a href="Distribution-Make.html#v:PublicDomain">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">pure</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Put</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">put</td><td class="module">Distribution.Compat.Binary, <a href="Distribution-Compat-Prelude-Internal.html#v:put">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">putChar</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">putList</td><td class="module">Distribution.Compat.Binary, <a href="Distribution-Compat-Prelude-Internal.html#v:putList">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">putStr</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">putStrLn</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">putWord8</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">PWarning</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#t:PWarning">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">QL1</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:QL1">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">QL2</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:QL2">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">QL3</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:QL3">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">qualifiedExeName</td><td class="module"><a href="Distribution-Types-ExeDependency.html#v:qualifiedExeName">Distribution.Types.ExeDependency</a></td></tr><tr><td class="src">QualLevel</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#t:QualLevel">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">QuasiQuotes</td><td class="module"><a href="Language-Haskell-Extension.html#v:QuasiQuotes">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">quot</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">quotRem</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Rank2Types</td><td class="module"><a href="Language-Haskell-Extension.html#v:Rank2Types">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">RankNTypes</td><td class="module"><a href="Language-Haskell-Extension.html#v:RankNTypes">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Rational</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">rawSystemExit</td><td class="module"><a href="Distribution-Simple-Utils.html#v:rawSystemExit">Distribution.Simple.Utils</a></td></tr><tr><td class="src">rawSystemExitCode</td><td class="module"><a href="Distribution-Simple-Utils.html#v:rawSystemExitCode">Distribution.Simple.Utils</a></td></tr><tr><td class="src">rawSystemExitWithEnv</td><td class="module"><a href="Distribution-Simple-Utils.html#v:rawSystemExitWithEnv">Distribution.Simple.Utils</a></td></tr><tr><td class="src">rawSystemIOWithEnv</td><td class="module"><a href="Distribution-Simple-Utils.html#v:rawSystemIOWithEnv">Distribution.Simple.Utils</a></td></tr><tr><td class="src">rawSystemProgram</td><td class="module"><a href="Distribution-Simple-Program.html#v:rawSystemProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">rawSystemProgramConf</td><td class="module"><a href="Distribution-Simple-Program.html#v:rawSystemProgramConf">Distribution.Simple.Program</a></td></tr><tr><td class="src">rawSystemProgramStdout</td><td class="module"><a href="Distribution-Simple-Program.html#v:rawSystemProgramStdout">Distribution.Simple.Program</a></td></tr><tr><td class="src">rawSystemProgramStdoutConf</td><td class="module"><a href="Distribution-Simple-Program.html#v:rawSystemProgramStdoutConf">Distribution.Simple.Program</a></td></tr><tr><td class="src">rawSystemStdInOut</td><td class="module"><a href="Distribution-Simple-Utils.html#v:rawSystemStdInOut">Distribution.Simple.Utils</a></td></tr><tr><td class="src">rawSystemStdout</td><td class="module"><a href="Distribution-Simple-Utils.html#v:rawSystemStdout">Distribution.Simple.Utils</a></td></tr><tr><td class="src">Read</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">read</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">readBuildTargets</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:readBuildTargets">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">readDesc</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:readDesc">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:readDesc">Distribution.Simple</a></td></tr><tr><td class="src">ReadE</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-ReadE.html#t:ReadE">Distribution.ReadE</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-ReadE.html#v:ReadE">Distribution.ReadE</a></td></tr><tr><td class="src">readEOrFail</td><td class="module"><a href="Distribution-ReadE.html#v:readEOrFail">Distribution.ReadE</a></td></tr><tr><td class="src">readFile</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">readGenericPackageDescription</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:readGenericPackageDescription">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">readHookedBuildInfo</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:readHookedBuildInfo">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">readIO</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">readList</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">readLn</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">ReadP</td><td class="module"><a href="Distribution-Compat-ReadP.html#t:ReadP">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">readPackageDbList</td><td class="module"><a href="Distribution-Simple-Setup.html#v:readPackageDbList">Distribution.Simple.Setup</a></td></tr><tr><td class="src">readPackageDescription</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:readPackageDescription">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">readParen</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">readPToMaybe</td><td class="module"><a href="Distribution-Simple-Setup.html#v:readPToMaybe">Distribution.Simple.Setup</a></td></tr><tr><td class="src">readP_to_E</td><td class="module"><a href="Distribution-ReadE.html#v:readP_to_E">Distribution.ReadE</a></td></tr><tr><td class="src">readP_to_S</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:readP_to_S">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">ReadS</td><td class="module"><a href="Distribution-Compat-ReadP.html#t:ReadS">Distribution.Compat.ReadP</a>, Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">reads</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">readsPrec</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">readS_to_P</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:readS_to_P">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">readTargetInfos</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:readTargetInfos">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">readUserBuildTargets</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:readUserBuildTargets">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">readUTF8File</td><td class="module"><a href="Distribution-Utils-Generic.html#v:readUTF8File">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:readUTF8File">Distribution.Simple.Utils</a></td></tr><tr><td class="src">Real</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">RealFloat</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">RealFrac</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">realToFrac</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">RebindableSyntax</td><td class="module"><a href="Language-Haskell-Extension.html#v:RebindableSyntax">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">recache</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:recache">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">recacheInvocation</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:recacheInvocation">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">recacheMultiInstance</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:recacheMultiInstance">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">recip</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">reconfigurePrograms</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:reconfigurePrograms">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:reconfigurePrograms">Distribution.Simple.Program</a></td></tr><tr><td class="src">RecordPuns</td><td class="module"><a href="Language-Haskell-Extension.html#v:RecordPuns">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">RecordWildCards</td><td class="module"><a href="Language-Haskell-Extension.html#v:RecordWildCards">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">RecursiveDo</td><td class="module"><a href="Language-Haskell-Extension.html#v:RecursiveDo">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">reexportedModules</td><td class="module"><a href="Distribution-Types-Library.html#v:reexportedModules">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#v:reexportedModules">Distribution.PackageDescription</a></td></tr><tr><td class="src">reexportedModulesSupported</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:reexportedModulesSupported">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">regArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:regArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">regDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:regDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">regGenPkgConf</td><td class="module"><a href="Distribution-Simple-Setup.html#v:regGenPkgConf">Distribution.Simple.Setup</a></td></tr><tr><td class="src">regGenScript</td><td class="module"><a href="Distribution-Simple-Setup.html#v:regGenScript">Distribution.Simple.Setup</a></td></tr><tr><td class="src">regHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:regHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:regHook">Distribution.Simple</a></td></tr><tr><td class="src">regInPlace</td><td class="module"><a href="Distribution-Simple-Setup.html#v:regInPlace">Distribution.Simple.Setup</a></td></tr><tr><td class="src">register</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:register">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Register.html#v:register">Distribution.Simple.Register</a></td></tr><tr><td class="src">registerAllowOverwrite</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:registerAllowOverwrite">Distribution.Simple.Program.HcPkg</a>, <a href="Distribution-Simple-Register.html#v:registerAllowOverwrite">Distribution.Simple.Register</a></td></tr><tr><td class="src">registerCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:registerCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">RegisterFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:RegisterFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:RegisterFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">registerInvocation</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:registerInvocation">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">registerMultiInstance</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:registerMultiInstance">Distribution.Simple.Program.HcPkg</a>, <a href="Distribution-Simple-Register.html#v:registerMultiInstance">Distribution.Simple.Register</a></td></tr><tr><td class="src">RegisterOptions</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#t:RegisterOptions">Distribution.Simple.Program.HcPkg</a>, <a href="Distribution-Simple-Register.html#t:RegisterOptions">Distribution.Simple.Register</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:RegisterOptions">Distribution.Simple.Program.HcPkg</a>, <a href="Distribution-Simple-Register.html#v:RegisterOptions">Distribution.Simple.Register</a></td></tr><tr><td class="src">registerPackage</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-UHC.html#v:registerPackage">Distribution.Simple.UHC</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-LHC.html#v:registerPackage">Distribution.Simple.LHC</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:registerPackage">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="alt">4 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:registerPackage">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">5 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:registerPackage">Distribution.Simple.GHC</a></td></tr><tr><td class="alt">6 (Function)</td><td class="module"><a href="Distribution-Simple-Register.html#v:registerPackage">Distribution.Simple.Register</a></td></tr><tr><td class="src">registerSuppressFilesCheck</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:registerSuppressFilesCheck">Distribution.Simple.Program.HcPkg</a>, <a href="Distribution-Simple-Register.html#v:registerSuppressFilesCheck">Distribution.Simple.Register</a></td></tr><tr><td class="src">registrationPackageDB</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:registrationPackageDB">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">regPackageDB</td><td class="module"><a href="Distribution-Simple-Setup.html#v:regPackageDB">Distribution.Simple.Setup</a></td></tr><tr><td class="src">regPrintId</td><td class="module"><a href="Distribution-Simple-Setup.html#v:regPrintId">Distribution.Simple.Setup</a></td></tr><tr><td class="src">RegularPatterns</td><td class="module"><a href="Language-Haskell-Extension.html#v:RegularPatterns">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">regVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:regVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">RelaxDeps</td><td class="module"><a href="Distribution-Simple-Setup.html#t:RelaxDeps">Distribution.Simple.Setup</a></td></tr><tr><td class="src">RelaxDepsAll</td><td class="module"><a href="Distribution-Simple-Setup.html#v:RelaxDepsAll">Distribution.Simple.Setup</a></td></tr><tr><td class="src">RelaxDepsNone</td><td class="module"><a href="Distribution-Simple-Setup.html#v:RelaxDepsNone">Distribution.Simple.Setup</a></td></tr><tr><td class="src">RelaxDepsSome</td><td class="module"><a href="Distribution-Simple-Setup.html#v:RelaxDepsSome">Distribution.Simple.Setup</a></td></tr><tr><td class="src">RelaxedDep</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:RelaxedDep">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:RelaxedDep">Distribution.Simple.Setup</a></td></tr><tr><td class="src">RelaxedDepScoped</td><td class="module"><a href="Distribution-Simple-Setup.html#v:RelaxedDepScoped">Distribution.Simple.Setup</a></td></tr><tr><td class="src">RelaxedPolyRec</td><td class="module"><a href="Language-Haskell-Extension.html#v:RelaxedPolyRec">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">relaxPackageDeps</td><td class="module"><a href="Distribution-Simple-Configure.html#v:relaxPackageDeps">Distribution.Simple.Configure</a></td></tr><tr><td class="src">relocatable</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:relocatable">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:relocatable">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">rem</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">removeLowerBound</td><td class="module"><a href="Distribution-Version.html#v:removeLowerBound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">removeUpperBound</td><td class="module"><a href="Distribution-Version.html#v:removeUpperBound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">renamingPackageFlagsSupported</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:renamingPackageFlagsSupported">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">renderGhcOptions</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:renderGhcOptions">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">repeat</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">repl</td><td class="module"><a href="Distribution-Simple-Build.html#v:repl">Distribution.Simple.Build</a></td></tr><tr><td class="src">replCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:replCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">replDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:replDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">replExe</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:replExe">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:replExe">Distribution.Simple.GHC</a></td></tr><tr><td class="src">ReplFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:ReplFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:ReplFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">replFLib</td><td class="module"><a href="Distribution-Simple-GHC.html#v:replFLib">Distribution.Simple.GHC</a></td></tr><tr><td class="src">replHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:replHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:replHook">Distribution.Simple</a></td></tr><tr><td class="src">replicate</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">replLib</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:replLib">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:replLib">Distribution.Simple.GHC</a></td></tr><tr><td class="src">replProgramArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:replProgramArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">replProgramPaths</td><td class="module"><a href="Distribution-Simple-Setup.html#v:replProgramPaths">Distribution.Simple.Setup</a></td></tr><tr><td class="src">replReload</td><td class="module"><a href="Distribution-Simple-Setup.html#v:replReload">Distribution.Simple.Setup</a></td></tr><tr><td class="src">replVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:replVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">repoBranch</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:repoBranch">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:repoBranch">Distribution.PackageDescription</a></td></tr><tr><td class="src">RepoHead</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:RepoHead">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:RepoHead">Distribution.PackageDescription</a></td></tr><tr><td class="src">RepoKind</td><td class="module"><a href="Distribution-Types-SourceRepo.html#t:RepoKind">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#t:RepoKind">Distribution.PackageDescription</a></td></tr><tr><td class="src">repoKind</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:repoKind">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:repoKind">Distribution.PackageDescription</a></td></tr><tr><td class="src">RepoKindUnknown</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:RepoKindUnknown">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:RepoKindUnknown">Distribution.PackageDescription</a></td></tr><tr><td class="src">repoLocation</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:repoLocation">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:repoLocation">Distribution.PackageDescription</a></td></tr><tr><td class="src">repoModule</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:repoModule">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:repoModule">Distribution.PackageDescription</a></td></tr><tr><td class="src">reportBuildTargetProblems</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:reportBuildTargetProblems">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">reportsNoExt</td><td class="module"><a href="Distribution-Simple-GHC.html#v:reportsNoExt">Distribution.Simple.GHC</a></td></tr><tr><td class="src">reportUserBuildTargetProblems</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:reportUserBuildTargetProblems">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">repoSubdir</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:repoSubdir">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:repoSubdir">Distribution.PackageDescription</a></td></tr><tr><td class="src">repoTag</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:repoTag">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:repoTag">Distribution.PackageDescription</a></td></tr><tr><td class="src">RepoThis</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:RepoThis">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:RepoThis">Distribution.PackageDescription</a></td></tr><tr><td class="src">RepoType</td><td class="module"><a href="Distribution-Types-SourceRepo.html#t:RepoType">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#t:RepoType">Distribution.PackageDescription</a></td></tr><tr><td class="src">repoType</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:repoType">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:repoType">Distribution.PackageDescription</a></td></tr><tr><td class="src">ReqArg</td><td class="module"><a href="Distribution-Simple-Command.html#v:ReqArg">Distribution.Simple.Command</a></td></tr><tr><td class="src">reqArg</td><td class="module"><a href="Distribution-Simple-Command.html#v:reqArg">Distribution.Simple.Command</a></td></tr><tr><td class="src">reqArg'</td><td class="module"><a href="Distribution-Simple-Command.html#v:reqArg-39-">Distribution.Simple.Command</a></td></tr><tr><td class="src">requiredSignatures</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:requiredSignatures">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">requireProgram</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:requireProgram">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:requireProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">requireProgramVersion</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:requireProgramVersion">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:requireProgramVersion">Distribution.Simple.Program</a></td></tr><tr><td class="src">requiresDirDbs</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:requiresDirDbs">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">resolveBuildTargets</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:resolveBuildTargets">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">restoreProgramConfiguration</td><td class="module"><a href="Distribution-Simple-Program.html#v:restoreProgramConfiguration">Distribution.Simple.Program</a></td></tr><tr><td class="src">restoreProgramDb</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:restoreProgramDb">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:restoreProgramDb">Distribution.Simple.Program</a></td></tr><tr><td class="src">RestrictedTypeSynonyms</td><td class="module"><a href="Language-Haskell-Extension.html#v:RestrictedTypeSynonyms">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">restrictKeys</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">Result</td><td class="module"><a href="Distribution-TestSuite.html#t:Result">Distribution.TestSuite</a></td></tr><tr><td class="src">return</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">revClosure</td><td class="module"><a href="Distribution-Compat-Graph.html#v:revClosure">Distribution.Compat.Graph</a></td></tr><tr><td class="src">reverse</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">reverseDependencyClosure</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:reverseDependencyClosure">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">reverseTopologicalOrder</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:reverseTopologicalOrder">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">revNeighbors</td><td class="module"><a href="Distribution-Compat-Graph.html#v:revNeighbors">Distribution.Compat.Graph</a></td></tr><tr><td class="src">revTopSort</td><td class="module"><a href="Distribution-Compat-Graph.html#v:revTopSort">Distribution.Compat.Graph</a></td></tr><tr><td class="src">rewriteFile</td><td class="module"><a href="Distribution-Simple-Utils.html#v:rewriteFile">Distribution.Simple.Utils</a></td></tr><tr><td class="src">rewriteFileEx</td><td class="module"><a href="Distribution-Simple-Utils.html#v:rewriteFileEx">Distribution.Simple.Utils</a></td></tr><tr><td class="src">Right</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">rnf</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:rnf">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">RoleAnnotations</td><td class="module"><a href="Language-Haskell-Extension.html#v:RoleAnnotations">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">round</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Rs6000</td><td class="module"><a href="Distribution-System.html#v:Rs6000">Distribution.System</a></td></tr><tr><td class="src">run</td><td class="module"><a href="Distribution-TestSuite.html#v:run">Distribution.TestSuite</a></td></tr><tr><td class="src">runCmd</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:runCmd">Distribution.Simple.GHCJS</a></td></tr><tr><td class="src">runDbProgram</td><td class="module"><a href="Distribution-Simple-Program.html#v:runDbProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">runDList</td><td class="module"><a href="Distribution-Compat-DList.html#v:runDList">Distribution.Compat.DList</a></td></tr><tr><td class="src">runGHC</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:runGHC">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">runghcProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:runghcProgram">Distribution.Simple.Program.Builtin</a></td></tr><tr><td class="src">runLogProgress</td><td class="module"><a href="Distribution-Utils-LogProgress.html#v:runLogProgress">Distribution.Utils.LogProgress</a></td></tr><tr><td class="src">runPreProcessor</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:runPreProcessor">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">runProgram</td><td class="module"><a href="Distribution-Simple-Program.html#v:runProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">runProgramInvocation</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:runProgramInvocation">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:runProgramInvocation">Distribution.Simple.Program</a></td></tr><tr><td class="src">runReadE</td><td class="module"><a href="Distribution-ReadE.html#v:runReadE">Distribution.ReadE</a></td></tr><tr><td class="src">runSimplePreProcessor</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:runSimplePreProcessor">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">runTest</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-Test-LibV09.html#v:runTest">Distribution.Simple.Test.LibV09</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Test-ExeV10.html#v:runTest">Distribution.Simple.Test.ExeV10</a></td></tr><tr><td class="src">runTests</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:runTests">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:runTests">Distribution.Simple</a></td></tr><tr><td class="src">S390</td><td class="module"><a href="Distribution-System.html#v:S390">Distribution.System</a></td></tr><tr><td class="src">Safe</td><td class="module"><a href="Language-Haskell-Extension.html#v:Safe">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">SafeImports</td><td class="module"><a href="Language-Haskell-Extension.html#v:SafeImports">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">safeTail</td><td class="module"><a href="Distribution-Utils-Generic.html#v:safeTail">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:safeTail">Distribution.Simple.Utils</a></td></tr><tr><td class="src">satisfy</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:satisfy">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">scaleFloat</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">scanl</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">scanl1</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">scanr</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">scanr1</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">SCC</td><td class="module"><a href="Distribution-Compat-Graph.html#t:SCC">Distribution.Compat.Graph</a></td></tr><tr><td class="src">ScopedTypeVariables</td><td class="module"><a href="Language-Haskell-Extension.html#v:ScopedTypeVariables">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">sdist</td><td class="module"><a href="Distribution-Simple-SrcDist.html#v:sdist">Distribution.Simple.SrcDist</a></td></tr><tr><td class="src">sdistCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:sdistCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">sDistDirectory</td><td class="module"><a href="Distribution-Simple-Setup.html#v:sDistDirectory">Distribution.Simple.Setup</a></td></tr><tr><td class="src">sDistDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:sDistDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">SDistFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:SDistFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:SDistFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">sDistHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:sDistHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:sDistHook">Distribution.Simple</a></td></tr><tr><td class="src">sDistListSources</td><td class="module"><a href="Distribution-Simple-Setup.html#v:sDistListSources">Distribution.Simple.Setup</a></td></tr><tr><td class="src">sDistSnapshot</td><td class="module"><a href="Distribution-Simple-Setup.html#v:sDistSnapshot">Distribution.Simple.Setup</a></td></tr><tr><td class="src">sDistVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:sDistVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">searchByName</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:searchByName">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">searchByNameSubstring</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:searchByNameSubstring">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">SearchResult</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#t:SearchResult">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">Semigroup</td><td class="module"><a href="Distribution-Compat-Semigroup.html#t:Semigroup">Distribution.Compat.Semigroup</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:Semigroup">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">sepBy</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:sepBy">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">sepBy1</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:sepBy1">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">seq</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">sequenceA</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:sequenceA">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">sequence_</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">setFileExecutable</td><td class="module"><a href="Distribution-Simple-Utils.html#v:setFileExecutable">Distribution.Simple.Utils</a></td></tr><tr><td class="src">setFileOrdinary</td><td class="module"><a href="Distribution-Simple-Utils.html#v:setFileOrdinary">Distribution.Simple.Utils</a></td></tr><tr><td class="src">setOption</td><td class="module"><a href="Distribution-TestSuite.html#v:setOption">Distribution.TestSuite</a></td></tr><tr><td class="src">setProgramSearchPath</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:setProgramSearchPath">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:setProgramSearchPath">Distribution.Simple.Program</a></td></tr><tr><td class="src">SetupBuildInfo</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">Distribution.Types.SetupBuildInfo</a>, <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-SetupBuildInfo.html#v:SetupBuildInfo">Distribution.Types.SetupBuildInfo</a>, <a href="Distribution-PackageDescription.html#v:SetupBuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="src">setupBuildInfo</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:setupBuildInfo">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:setupBuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="src">setupDepends</td><td class="module"><a href="Distribution-Types-SetupBuildInfo.html#v:setupDepends">Distribution.Types.SetupBuildInfo</a>, <a href="Distribution-PackageDescription.html#v:setupDepends">Distribution.PackageDescription</a></td></tr><tr><td class="src">setupMessage</td><td class="module"><a href="Distribution-Simple-Utils.html#v:setupMessage">Distribution.Simple.Utils</a></td></tr><tr><td class="src">setupMessage'</td><td class="module"><a href="Distribution-Backpack-DescribeUnitId.html#v:setupMessage-39-">Distribution.Backpack.DescribeUnitId</a></td></tr><tr><td class="src">SFlags</td><td class="module"><a href="Distribution-Simple-Command.html#t:SFlags">Distribution.Simple.Command</a></td></tr><tr><td class="src">SH</td><td class="module"><a href="Distribution-System.html#v:SH">Distribution.System</a></td></tr><tr><td class="src">shapeInstalledPackage</td><td class="module"><a href="Distribution-Backpack-ModuleShape.html#v:shapeInstalledPackage">Distribution.Backpack.ModuleShape</a></td></tr><tr><td class="src">sharedOptions</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:sharedOptions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:sharedOptions">Distribution.PackageDescription</a></td></tr><tr><td class="src">shortRelativePath</td><td class="module"><a href="Distribution-Simple-Utils.html#v:shortRelativePath">Distribution.Simple.Utils</a></td></tr><tr><td class="src">ShortText</td><td class="module"><a href="Distribution-Utils-ShortText.html#t:ShortText">Distribution.Utils.ShortText</a></td></tr><tr><td class="src">Show</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">show</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">ShowArgs</td><td class="module"><a href="Distribution-Simple-Command.html#v:ShowArgs">Distribution.Simple.Command</a></td></tr><tr><td class="src">showBuildTarget</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:showBuildTarget">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">showChar</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">showCompilerId</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:showCompilerId">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">showCompilerIdWithAbi</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:showCompilerIdWithAbi">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">showComponentName</td><td class="module"><a href="Distribution-Types-ComponentName.html#v:showComponentName">Distribution.Types.ComponentName</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:showComponentName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">showFlagValue</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:showFlagValue">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:showFlagValue">Distribution.PackageDescription</a></td></tr><tr><td class="src">showForCabal</td><td class="module"><a href="Distribution-Verbosity.html#v:showForCabal">Distribution.Verbosity</a></td></tr><tr><td class="src">showForGHC</td><td class="module"><a href="Distribution-Verbosity.html#v:showForGHC">Distribution.Verbosity</a></td></tr><tr><td class="src">showGenericPackageDescription</td><td class="module"><a href="Distribution-PackageDescription-PrettyPrint.html#v:showGenericPackageDescription">Distribution.PackageDescription.PrettyPrint</a></td></tr><tr><td class="src">showHookedBuildInfo</td><td class="module"><a href="Distribution-PackageDescription-PrettyPrint.html#v:showHookedBuildInfo">Distribution.PackageDescription.PrettyPrint</a></td></tr><tr><td class="src">showInstalledPackageInfo</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:showInstalledPackageInfo">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">showInstalledPackageInfoField</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:showInstalledPackageInfoField">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">showList</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">ShowOrParseArgs</td><td class="module"><a href="Distribution-Simple-Command.html#t:ShowOrParseArgs">Distribution.Simple.Command</a></td></tr><tr><td class="src">showPackageDbList</td><td class="module"><a href="Distribution-Simple-Setup.html#v:showPackageDbList">Distribution.Simple.Setup</a></td></tr><tr><td class="src">showPackageDescription</td><td class="module"><a href="Distribution-PackageDescription-PrettyPrint.html#v:showPackageDescription">Distribution.PackageDescription.PrettyPrint</a></td></tr><tr><td class="src">showParen</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">showProfDetailLevel</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:showProfDetailLevel">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">ShowS</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">shows</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">showSimpleInstalledPackageInfoField</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:showSimpleInstalledPackageInfoField">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">showsPrec</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">showString</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">showTree</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">showTreeWith</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">showUserBuildTarget</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:showUserBuildTarget">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">showVersion</td><td class="module"><a href="Distribution-Version.html#v:showVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">signatures</td><td class="module"><a href="Distribution-Types-Library.html#v:signatures">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#v:signatures">Distribution.PackageDescription</a></td></tr><tr><td class="src">significand</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">signum</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">silent</td><td class="module"><a href="Distribution-Verbosity.html#v:silent">Distribution.Verbosity</a></td></tr><tr><td class="src">Simple</td><td class="module"><a href="Distribution-Types-BuildType.html#v:Simple">Distribution.Types.BuildType</a>, <a href="Distribution-PackageDescription.html#v:Simple">Distribution.PackageDescription</a></td></tr><tr><td class="src">simple</td><td class="module"><a href="Distribution-ModuleName.html#v:simple">Distribution.ModuleName</a></td></tr><tr><td class="src">simpleConfiguredProgram</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:simpleConfiguredProgram">Distribution.Simple.Program.Types</a></td></tr><tr><td class="src">simpleGhcEnvironmentFile</td><td class="module"><a href="Distribution-Simple-GHC.html#v:simpleGhcEnvironmentFile">Distribution.Simple.GHC</a></td></tr><tr><td class="src">simpleParse</td><td class="module"><a href="Distribution-Text.html#v:simpleParse">Distribution.Text</a></td></tr><tr><td class="src">simpleProgram</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:simpleProgram">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:simpleProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">simpleProgramInvocation</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:simpleProgramInvocation">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:simpleProgramInvocation">Distribution.Simple.Program</a></td></tr><tr><td class="src">simpleTestStub</td><td class="module"><a href="Distribution-Simple-Test-LibV09.html#v:simpleTestStub">Distribution.Simple.Test.LibV09</a></td></tr><tr><td class="src">simpleUserHooks</td><td class="module"><a href="Distribution-Simple.html#v:simpleUserHooks">Distribution.Simple</a></td></tr><tr><td class="src">simplifyCondition</td><td class="module"><a href="Distribution-Types-Condition.html#v:simplifyCondition">Distribution.Types.Condition</a></td></tr><tr><td class="src">simplifyCondTree</td><td class="module"><a href="Distribution-Types-CondTree.html#v:simplifyCondTree">Distribution.Types.CondTree</a></td></tr><tr><td class="src">simplifyDependency</td><td class="module"><a href="Distribution-Types-Dependency.html#v:simplifyDependency">Distribution.Types.Dependency</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">simplifyVersionRange</td><td class="module"><a href="Distribution-Version.html#v:simplifyVersionRange">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">sin</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">singleton</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Compat-DList.html#v:singleton">Distribution.Compat.DList</a></td></tr><tr><td class="src">sinh</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">size</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Compat-Graph.html#v:size">Distribution.Compat.Graph</a></td></tr><tr><td class="src">skipMany</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:skipMany">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">skipMany1</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:skipMany1">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">skipSpaces</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:skipSpaces">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">skipSpaces1</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:skipSpaces1">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">smartCopySources</td><td class="module"><a href="Distribution-Simple-Utils.html#v:smartCopySources">Distribution.Simple.Utils</a></td></tr><tr><td class="src">snapshotPackage</td><td class="module"><a href="Distribution-Simple-SrcDist.html#v:snapshotPackage">Distribution.Simple.SrcDist</a></td></tr><tr><td class="src">snapshotVersion</td><td class="module"><a href="Distribution-Simple-SrcDist.html#v:snapshotVersion">Distribution.Simple.SrcDist</a></td></tr><tr><td class="src">snd</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">snoc</td><td class="module"><a href="Distribution-Compat-DList.html#v:snoc">Distribution.Compat.DList</a></td></tr><tr><td class="src">Solaris</td><td class="module"><a href="Distribution-System.html#v:Solaris">Distribution.System</a></td></tr><tr><td class="src">some</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:some">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">sort</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:sort">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">sortBy</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:sortBy">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">sourceComponentName</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:sourceComponentName">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">sourceLibName</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:sourceLibName">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">sourcePackageId</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:sourcePackageId">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">SourceRepo</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-SourceRepo.html#t:SourceRepo">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#t:SourceRepo">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:SourceRepo">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:SourceRepo">Distribution.PackageDescription</a></td></tr><tr><td class="src">sourceRepoFieldDescrs</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:sourceRepoFieldDescrs">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">sourceRepos</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:sourceRepos">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:sourceRepos">Distribution.PackageDescription</a></td></tr><tr><td class="src">span</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">spanAntitone</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">Sparc</td><td class="module"><a href="Distribution-System.html#v:Sparc">Distribution.System</a></td></tr><tr><td class="src">SpecificPackageDB</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:SpecificPackageDB">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">specVersion</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:specVersion">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:specVersion">Distribution.PackageDescription</a></td></tr><tr><td class="src">specVersionRaw</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:specVersionRaw">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:specVersionRaw">Distribution.PackageDescription</a></td></tr><tr><td class="src">split</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">splitArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:splitArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">splitAt</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">splitLookup</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">splitObjs</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:splitObjs">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:splitObjs">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">splitRoot</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">sqrt</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">srcPref</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:srcPref">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">stability</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:stability">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:stability">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:stability">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">StandaloneDeriving</td><td class="module"><a href="Language-Haskell-Extension.html#v:StandaloneDeriving">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">startInterpreter</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:startInterpreter">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:startInterpreter">Distribution.Simple.GHC</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Simple-Build.html#v:startInterpreter">Distribution.Simple.Build</a></td></tr><tr><td class="src">startsWithBOM</td><td class="module"><a href="Distribution-Utils-Generic.html#v:startsWithBOM">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:startsWithBOM">Distribution.Simple.Utils</a></td></tr><tr><td class="src">staticLibExtension</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:staticLibExtension">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">StaticPointers</td><td class="module"><a href="Language-Haskell-Extension.html#v:StaticPointers">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">stdParse</td><td class="module"><a href="Distribution-Text.html#v:stdParse">Distribution.Text</a></td></tr><tr><td class="src">stepProgress</td><td class="module"><a href="Distribution-Utils-Progress.html#v:stepProgress">Distribution.Utils.Progress</a></td></tr><tr><td class="src">Streaming</td><td class="module"><a href="Distribution-Simple-Setup.html#v:Streaming">Distribution.Simple.Setup</a></td></tr><tr><td class="src">Strict</td><td> </td></tr><tr><td class="alt">1 (Data Constructor)</td><td class="module"><a href="Distribution-System.html#v:Strict">Distribution.System</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Language-Haskell-Extension.html#v:Strict">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">StrictData</td><td class="module"><a href="Language-Haskell-Extension.html#v:StrictData">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">String</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">string</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:string">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">stripExe</td><td class="module"><a href="Distribution-Simple-Program-Strip.html#v:stripExe">Distribution.Simple.Program.Strip</a></td></tr><tr><td class="src">stripExes</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:stripExes">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:stripExes">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">stripExtractVersion</td><td class="module"><a href="Distribution-Simple-Program-Internal.html#v:stripExtractVersion">Distribution.Simple.Program.Internal</a></td></tr><tr><td class="src">stripLib</td><td class="module"><a href="Distribution-Simple-Program-Strip.html#v:stripLib">Distribution.Simple.Program.Strip</a></td></tr><tr><td class="src">stripLibs</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:stripLibs">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:stripLibs">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">stripProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:stripProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:stripProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">stronglyConnComp</td><td class="module"><a href="Distribution-Compat-Graph.html#v:stronglyConnComp">Distribution.Compat.Graph</a></td></tr><tr><td class="src">stubFilePath</td><td class="module"><a href="Distribution-Simple-Test-LibV09.html#v:stubFilePath">Distribution.Simple.Test.LibV09</a></td></tr><tr><td class="src">stubMain</td><td class="module"><a href="Distribution-Simple-Test-LibV09.html#v:stubMain">Distribution.Simple.Test.LibV09</a></td></tr><tr><td class="src">stubName</td><td class="module"><a href="Distribution-Simple-Test-LibV09.html#v:stubName">Distribution.Simple.Test.LibV09</a></td></tr><tr><td class="src">stubWriteLog</td><td class="module"><a href="Distribution-Simple-Test-LibV09.html#v:stubWriteLog">Distribution.Simple.Test.LibV09</a></td></tr><tr><td class="src">subLibraries</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:subLibraries">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:subLibraries">Distribution.PackageDescription</a></td></tr><tr><td class="src">substituteInstallDirTemplates</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:substituteInstallDirTemplates">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">substPathTemplate</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:substPathTemplate">Distribution.Simple.InstallDirs</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:substPathTemplate">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">subtract</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">succ</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">succeedReadE</td><td class="module"><a href="Distribution-ReadE.html#v:succeedReadE">Distribution.ReadE</a></td></tr><tr><td class="src">suiteError</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:suiteError">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">suiteFailed</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:suiteFailed">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">suitePassed</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:suitePassed">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">sum</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:sum">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">summarizePackage</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:summarizePackage">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">summarizeSuiteFinish</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:summarizeSuiteFinish">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">summarizeSuiteStart</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:summarizeSuiteStart">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">summarizeTest</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:summarizeTest">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">supportsDebugLevels</td><td class="module"><a href="Distribution-Simple-GHC.html#v:supportsDebugLevels">Distribution.Simple.GHC</a></td></tr><tr><td class="src">supportsDirDbs</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:supportsDirDbs">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">supportsHaskell2010</td><td class="module"><a href="Distribution-Simple-GHC.html#v:supportsHaskell2010">Distribution.Simple.GHC</a></td></tr><tr><td class="src">supportsPkgEnvFiles</td><td class="module"><a href="Distribution-Simple-GHC.html#v:supportsPkgEnvFiles">Distribution.Simple.GHC</a></td></tr><tr><td class="src">suppressFilesCheck</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:suppressFilesCheck">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">suppressOverrideArgs</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:suppressOverrideArgs">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:suppressOverrideArgs">Distribution.Simple.Program</a></td></tr><tr><td class="src">SVN</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:SVN">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:SVN">Distribution.PackageDescription</a></td></tr><tr><td class="src">synopsis</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:synopsis">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:synopsis">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:synopsis">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">sysconfdir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:sysconfdir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">TabsError</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:TabsError">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">tags</td><td class="module"><a href="Distribution-TestSuite.html#v:tags">Distribution.TestSuite</a></td></tr><tr><td class="src">tail</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">take</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">takeWhile</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">takeWhileAntitone</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">takeWhileEndLE</td><td class="module"><a href="Distribution-Utils-Generic.html#v:takeWhileEndLE">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:takeWhileEndLE">Distribution.Simple.Utils</a></td></tr><tr><td class="src">tan</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">tanh</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">targetBuildDepends</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:targetBuildDepends">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:targetBuildDepends">Distribution.PackageDescription</a></td></tr><tr><td class="src">targetCLBI</td><td class="module"><a href="Distribution-Types-TargetInfo.html#v:targetCLBI">Distribution.Types.TargetInfo</a></td></tr><tr><td class="src">targetComponent</td><td class="module"><a href="Distribution-Types-TargetInfo.html#v:targetComponent">Distribution.Types.TargetInfo</a></td></tr><tr><td class="src">TargetInfo</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-TargetInfo.html#t:TargetInfo">Distribution.Types.TargetInfo</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-TargetInfo.html#v:TargetInfo">Distribution.Types.TargetInfo</a></td></tr><tr><td class="src">tarProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:tarProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:tarProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">TempFileOptions</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Utils.html#t:TempFileOptions">Distribution.Simple.Utils</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Utils.html#v:TempFileOptions">Distribution.Simple.Utils</a></td></tr><tr><td class="src">TemplateHaskell</td><td class="module"><a href="Language-Haskell-Extension.html#v:TemplateHaskell">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">TemplateHaskellQuotes</td><td class="module"><a href="Language-Haskell-Extension.html#v:TemplateHaskellQuotes">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Test</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-TestSuite.html#t:Test">Distribution.TestSuite</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-TestSuite.html#v:Test">Distribution.TestSuite</a></td></tr><tr><td class="src">test</td><td class="module"><a href="Distribution-Simple-Test.html#v:test">Distribution.Simple.Test</a></td></tr><tr><td class="src">testBuildInfo</td><td class="module"><a href="Distribution-Types-TestSuite.html#v:testBuildInfo">Distribution.Types.TestSuite</a>, <a href="Distribution-PackageDescription.html#v:testBuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="src">testCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:testCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">TestComponentLocalBuildInfo</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:TestComponentLocalBuildInfo">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:TestComponentLocalBuildInfo">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">testCoverage</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:testCoverage">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">testDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:testDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">testedWith</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:testedWith">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:testedWith">Distribution.PackageDescription</a></td></tr><tr><td class="src">TestFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:TestFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:TestFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">testGroup</td><td class="module"><a href="Distribution-TestSuite.html#v:testGroup">Distribution.TestSuite</a></td></tr><tr><td class="src">testHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:testHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:testHook">Distribution.Simple</a></td></tr><tr><td class="src">testHumanLog</td><td class="module"><a href="Distribution-Simple-Setup.html#v:testHumanLog">Distribution.Simple.Setup</a></td></tr><tr><td class="src">TestInstance</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-TestSuite.html#t:TestInstance">Distribution.TestSuite</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-TestSuite.html#v:TestInstance">Distribution.TestSuite</a></td></tr><tr><td class="src">testInterface</td><td class="module"><a href="Distribution-Types-TestSuite.html#v:testInterface">Distribution.Types.TestSuite</a>, <a href="Distribution-PackageDescription.html#v:testInterface">Distribution.PackageDescription</a></td></tr><tr><td class="src">testKeepTix</td><td class="module"><a href="Distribution-Simple-Setup.html#v:testKeepTix">Distribution.Simple.Setup</a></td></tr><tr><td class="src">TestLog</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:TestLog">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">TestLogs</td><td class="module"><a href="Distribution-Simple-Test-Log.html#t:TestLogs">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">testLogs</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:testLogs">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">testMachineLog</td><td class="module"><a href="Distribution-Simple-Setup.html#v:testMachineLog">Distribution.Simple.Setup</a></td></tr><tr><td class="src">testModules</td><td class="module"><a href="Distribution-Types-TestSuite.html#v:testModules">Distribution.Types.TestSuite</a>, <a href="Distribution-PackageDescription.html#v:testModules">Distribution.PackageDescription</a></td></tr><tr><td class="src">testModulesAutogen</td><td class="module"><a href="Distribution-Types-TestSuite.html#v:testModulesAutogen">Distribution.Types.TestSuite</a>, <a href="Distribution-PackageDescription.html#v:testModulesAutogen">Distribution.PackageDescription</a></td></tr><tr><td class="src">testName</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-TestSuite.html#v:testName">Distribution.Types.TestSuite</a>, <a href="Distribution-PackageDescription.html#v:testName">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:testName">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">testOptions</td><td class="module"><a href="Distribution-Simple-Setup.html#v:testOptions">Distribution.Simple.Setup</a></td></tr><tr><td class="src">testOptionsReturned</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:testOptionsReturned">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">testResult</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:testResult">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">TestShowDetails</td><td class="module"><a href="Distribution-Simple-Setup.html#t:TestShowDetails">Distribution.Simple.Setup</a></td></tr><tr><td class="src">testShowDetails</td><td class="module"><a href="Distribution-Simple-Setup.html#v:testShowDetails">Distribution.Simple.Setup</a></td></tr><tr><td class="src">testsRequested</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:testsRequested">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">testStanzaBuildInfo</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:testStanzaBuildInfo">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">testStanzaMainIs</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:testStanzaMainIs">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">testStanzaTestModule</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:testStanzaTestModule">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">testStanzaTestType</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:testStanzaTestType">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">TestSuite</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-TestSuite.html#t:TestSuite">Distribution.Types.TestSuite</a>, <a href="Distribution-PackageDescription.html#t:TestSuite">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-TestSuite.html#v:TestSuite">Distribution.Types.TestSuite</a>, <a href="Distribution-PackageDescription.html#v:TestSuite">Distribution.PackageDescription</a></td></tr><tr><td class="src">TestSuiteExeV10</td><td class="module"><a href="Distribution-Types-TestSuiteInterface.html#v:TestSuiteExeV10">Distribution.Types.TestSuiteInterface</a>, <a href="Distribution-PackageDescription.html#v:TestSuiteExeV10">Distribution.PackageDescription</a></td></tr><tr><td class="src">testSuiteFieldDescrs</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:testSuiteFieldDescrs">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">TestSuiteInterface</td><td class="module"><a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">Distribution.Types.TestSuiteInterface</a>, <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">Distribution.PackageDescription</a></td></tr><tr><td class="src">TestSuiteLibV09</td><td class="module"><a href="Distribution-Types-TestSuiteInterface.html#v:TestSuiteLibV09">Distribution.Types.TestSuiteInterface</a>, <a href="Distribution-PackageDescription.html#v:TestSuiteLibV09">Distribution.PackageDescription</a></td></tr><tr><td class="src">TestSuiteLog</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">Distribution.Simple.Test.Log</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:TestSuiteLog">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">testSuiteLogPath</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:testSuiteLogPath">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">testSuiteName</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:testSuiteName">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">TestSuiteNameVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:TestSuiteNameVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">TestSuiteResultVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:TestSuiteResultVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">testSuites</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:testSuites">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:testSuites">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:testSuites">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">TestSuiteStanza</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#t:TestSuiteStanza">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:TestSuiteStanza">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">TestSuiteUnsupported</td><td class="module"><a href="Distribution-Types-TestSuiteInterface.html#v:TestSuiteUnsupported">Distribution.Types.TestSuiteInterface</a>, <a href="Distribution-PackageDescription.html#v:TestSuiteUnsupported">Distribution.PackageDescription</a></td></tr><tr><td class="src">TestType</td><td class="module"><a href="Distribution-Types-TestType.html#t:TestType">Distribution.Types.TestType</a>, <a href="Distribution-PackageDescription.html#t:TestType">Distribution.PackageDescription</a></td></tr><tr><td class="src">testType</td><td class="module"><a href="Distribution-Types-TestSuite.html#v:testType">Distribution.Types.TestSuite</a>, <a href="Distribution-PackageDescription.html#v:testType">Distribution.PackageDescription</a></td></tr><tr><td class="src">TestTypeExe</td><td class="module"><a href="Distribution-Types-TestType.html#v:TestTypeExe">Distribution.Types.TestType</a>, <a href="Distribution-PackageDescription.html#v:TestTypeExe">Distribution.PackageDescription</a></td></tr><tr><td class="src">TestTypeLib</td><td class="module"><a href="Distribution-Types-TestType.html#v:TestTypeLib">Distribution.Types.TestType</a>, <a href="Distribution-PackageDescription.html#v:TestTypeLib">Distribution.PackageDescription</a></td></tr><tr><td class="src">TestTypeUnknown</td><td class="module"><a href="Distribution-Types-TestType.html#v:TestTypeUnknown">Distribution.Types.TestType</a>, <a href="Distribution-PackageDescription.html#v:TestTypeUnknown">Distribution.PackageDescription</a></td></tr><tr><td class="src">testVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:testVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">Text</td><td class="module"><a href="Distribution-Text.html#t:Text">Distribution.Text</a></td></tr><tr><td class="src">thisPackageVersion</td><td class="module"><a href="Distribution-Types-Dependency.html#v:thisPackageVersion">Distribution.Types.Dependency</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">ThisVersion</td><td class="module"><a href="Distribution-Version.html#v:ThisVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">thisVersion</td><td class="module"><a href="Distribution-Version.html#v:thisVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">tixDir</td><td class="module"><a href="Distribution-Simple-Hpc.html#v:tixDir">Distribution.Simple.Hpc</a></td></tr><tr><td class="src">tixFilePath</td><td class="module"><a href="Distribution-Simple-Hpc.html#v:tixFilePath">Distribution.Simple.Hpc</a></td></tr><tr><td class="src">toAscList</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">toConfiguredComponent</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:toConfiguredComponent">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">toConfiguredComponents</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:toConfiguredComponents">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">toDepMap</td><td class="module"><a href="Distribution-Types-DependencyMap.html#v:toDepMap">Distribution.Types.DependencyMap</a></td></tr><tr><td class="src">toDescList</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">toEnum</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">toFilePath</td><td class="module"><a href="Distribution-ModuleName.html#v:toFilePath">Distribution.ModuleName</a></td></tr><tr><td class="src">toFlag</td><td class="module"><a href="Distribution-Simple-Setup.html#v:toFlag">Distribution.Simple.Setup</a></td></tr><tr><td class="src">toGraph</td><td class="module"><a href="Distribution-Compat-Graph.html#v:toGraph">Distribution.Compat.Graph</a></td></tr><tr><td class="src">toInteger</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">toLinkedComponent</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:toLinkedComponent">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">toLinkedComponents</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:toLinkedComponents">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">toList</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Compat-Graph.html#v:toList">Distribution.Compat.Graph</a></td></tr><tr><td class="src">toLower</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:toLower">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">toMap</td><td class="module"><a href="Distribution-Compat-Graph.html#v:toMap">Distribution.Compat.Graph</a></td></tr><tr><td class="src">toNubList</td><td class="module"><a href="Distribution-Utils-NubList.html#v:toNubList">Distribution.Utils.NubList</a></td></tr><tr><td class="src">toNubListR</td><td class="module"><a href="Distribution-Utils-NubList.html#v:toNubListR">Distribution.Utils.NubList</a></td></tr><tr><td class="src">toPathTemplate</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:toPathTemplate">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">topHandler</td><td class="module"><a href="Distribution-Simple-Utils.html#v:topHandler">Distribution.Simple.Utils</a></td></tr><tr><td class="src">topHandlerWith</td><td class="module"><a href="Distribution-Simple-Utils.html#v:topHandlerWith">Distribution.Simple.Utils</a></td></tr><tr><td class="src">topologicalOrder</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:topologicalOrder">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">topSort</td><td class="module"><a href="Distribution-Compat-Graph.html#v:topSort">Distribution.Compat.Graph</a></td></tr><tr><td class="src">toRational</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">toShortText</td><td class="module"><a href="Distribution-Utils-ShortText.html#v:toShortText">Distribution.Utils.ShortText</a></td></tr><tr><td class="src">toUpper</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:toUpper">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">toUTF8</td><td class="module"><a href="Distribution-Utils-Generic.html#v:toUTF8">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:toUTF8">Distribution.Simple.Utils</a></td></tr><tr><td class="src">toVersionIntervals</td><td class="module"><a href="Distribution-Version.html#v:toVersionIntervals">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">TraditionalRecordSyntax</td><td class="module"><a href="Language-Haskell-Extension.html#v:TraditionalRecordSyntax">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">transformAllBuildDepends</td><td class="module"><a href="Distribution-PackageDescription-Configuration.html#v:transformAllBuildDepends">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">transformAllBuildInfos</td><td class="module"><a href="Distribution-PackageDescription-Configuration.html#v:transformAllBuildInfos">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">TransformListComp</td><td class="module"><a href="Language-Haskell-Extension.html#v:TransformListComp">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Traversable</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:Traversable">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">traverse</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:traverse">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">traverseCondBranchV</td><td class="module"><a href="Distribution-Types-CondTree.html#v:traverseCondBranchV">Distribution.Types.CondTree</a></td></tr><tr><td class="src">traverseCondTreeV</td><td class="module"><a href="Distribution-Types-CondTree.html#v:traverseCondTreeV">Distribution.Types.CondTree</a></td></tr><tr><td class="src">traverseMaybeWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">traverseWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">traverse_</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:traverse_">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">True</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">trueArg</td><td class="module"><a href="Distribution-Simple-Setup.html#v:trueArg">Distribution.Simple.Setup</a></td></tr><tr><td class="src">truncate</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">trusted</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:trusted">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">Trustworthy</td><td class="module"><a href="Language-Haskell-Extension.html#v:Trustworthy">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">tryFindPackageDesc</td><td class="module"><a href="Distribution-Simple-Utils.html#v:tryFindPackageDesc">Distribution.Simple.Utils</a></td></tr><tr><td class="src">tryGetConfigStateFile</td><td class="module"><a href="Distribution-Simple-Configure.html#v:tryGetConfigStateFile">Distribution.Simple.Configure</a></td></tr><tr><td class="src">tryGetPersistBuildConfig</td><td class="module"><a href="Distribution-Simple-Configure.html#v:tryGetPersistBuildConfig">Distribution.Simple.Configure</a></td></tr><tr><td class="src">tryIO</td><td class="module"><a href="Distribution-Compat-Exception.html#v:tryIO">Distribution.Compat.Exception</a></td></tr><tr><td class="src">TupleSections</td><td class="module"><a href="Language-Haskell-Extension.html#v:TupleSections">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Typeable</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">TypeApplications</td><td class="module"><a href="Language-Haskell-Extension.html#v:TypeApplications">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">TypeFamilies</td><td class="module"><a href="Language-Haskell-Extension.html#v:TypeFamilies">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">TypeFamilyDependencies</td><td class="module"><a href="Language-Haskell-Extension.html#v:TypeFamilyDependencies">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">TypeInType</td><td class="module"><a href="Language-Haskell-Extension.html#v:TypeInType">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">TypeOperators</td><td class="module"><a href="Language-Haskell-Extension.html#v:TypeOperators">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">TypeSynonymInstances</td><td class="module"><a href="Language-Haskell-Extension.html#v:TypeSynonymInstances">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">UHC</td><td class="module"><a href="Distribution-Compiler.html#v:UHC">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">uhcProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:uhcProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:uhcProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">unAbiHash</td><td class="module"><a href="Distribution-Types-AbiHash.html#v:unAbiHash">Distribution.Types.AbiHash</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">unAllowNewer</td><td class="module"><a href="Distribution-Simple-Setup.html#v:unAllowNewer">Distribution.Simple.Setup</a></td></tr><tr><td class="src">unAllowOlder</td><td class="module"><a href="Distribution-Simple-Setup.html#v:unAllowOlder">Distribution.Simple.Setup</a></td></tr><tr><td class="src">Unambiguous</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:Unambiguous">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">UnboxedTuples</td><td class="module"><a href="Language-Haskell-Extension.html#v:UnboxedTuples">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">unComponentId</td><td class="module"><a href="Distribution-Types-ComponentId.html#v:unComponentId">Distribution.Types.ComponentId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">unconfigureProgram</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:unconfigureProgram">Distribution.Simple.Program.Db</a></td></tr><tr><td class="src">uncurry</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">UndecidableInstances</td><td class="module"><a href="Language-Haskell-Extension.html#v:UndecidableInstances">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">UndecidableSuperClasses</td><td class="module"><a href="Language-Haskell-Extension.html#v:UndecidableSuperClasses">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">undefined</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">unDefUnitId</td><td class="module"><a href="Distribution-Types-UnitId.html#v:unDefUnitId">Distribution.Types.UnitId</a>, <a href="Distribution-Backpack.html#v:unDefUnitId">Distribution.Backpack</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">unFlagName</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:unFlagName">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:unFlagName">Distribution.PackageDescription</a></td></tr><tr><td class="src">unfoldr</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:unfoldr">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">UnicodeSyntax</td><td class="module"><a href="Language-Haskell-Extension.html#v:UnicodeSyntax">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">unifiedIPIDRequired</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:unifiedIPIDRequired">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">unintersperse</td><td class="module"><a href="Distribution-Utils-Generic.html#v:unintersperse">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:unintersperse">Distribution.Simple.Utils</a></td></tr><tr><td class="src">union</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Program-Hpc.html#v:union">Distribution.Simple.Program.Hpc</a></td></tr><tr><td class="src">unionLeft</td><td class="module"><a href="Distribution-Compat-Graph.html#v:unionLeft">Distribution.Compat.Graph</a></td></tr><tr><td class="src">unionRight</td><td class="module"><a href="Distribution-Compat-Graph.html#v:unionRight">Distribution.Compat.Graph</a></td></tr><tr><td class="src">unions</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">unionsWith</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">unionVersionIntervals</td><td class="module"><a href="Distribution-Version.html#v:unionVersionIntervals">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">UnionVersionRanges</td><td class="module"><a href="Distribution-Version.html#v:UnionVersionRanges">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">unionVersionRanges</td><td class="module"><a href="Distribution-Version.html#v:unionVersionRanges">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">unionWith</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">unionWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">UnitId</td><td class="module"><a href="Distribution-Types-UnitId.html#t:UnitId">Distribution.Types.UnitId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">unitIdSupported</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:unitIdSupported">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">unitIdTarget</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:unitIdTarget">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">unitIdTarget'</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:unitIdTarget-39-">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">UnknownBuildType</td><td class="module"><a href="Distribution-Types-BuildType.html#v:UnknownBuildType">Distribution.Types.BuildType</a>, <a href="Distribution-PackageDescription.html#v:UnknownBuildType">Distribution.PackageDescription</a></td></tr><tr><td class="src">unknownCompilerInfo</td><td class="module"><a href="Distribution-Compiler.html#v:unknownCompilerInfo">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">UnknownExtension</td><td class="module"><a href="Language-Haskell-Extension.html#v:UnknownExtension">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">UnknownLanguage</td><td class="module"><a href="Language-Haskell-Extension.html#v:UnknownLanguage">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">UnknownLicense</td><td class="module"><a href="Distribution-License.html#v:UnknownLicense">Distribution.License</a>, <a href="Distribution-Make.html#v:UnknownLicense">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">unless</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:unless">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">UnliftedFFITypes</td><td class="module"><a href="Language-Haskell-Extension.html#v:UnliftedFFITypes">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">unlines</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">unlit</td><td class="module"><a href="Distribution-Simple-PreProcess-Unlit.html#v:unlit">Distribution.Simple.PreProcess.Unlit</a></td></tr><tr><td class="src">unMungedPackageName</td><td class="module"><a href="Distribution-Types-MungedPackageName.html#v:unMungedPackageName">Distribution.Types.MungedPackageName</a></td></tr><tr><td class="src">unPackageName</td><td class="module"><a href="Distribution-Types-PackageName.html#v:unPackageName">Distribution.Types.PackageName</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">unPkgconfigName</td><td class="module"><a href="Distribution-Types-PkgconfigName.html#v:unPkgconfigName">Distribution.Types.PkgconfigName</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">UnqualComponentName</td><td class="module"><a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">Distribution.Types.UnqualComponentName</a></td></tr><tr><td class="src">unqualComponentNameToPackageName</td><td class="module"><a href="Distribution-Types-UnqualComponentName.html#v:unqualComponentNameToPackageName">Distribution.Types.UnqualComponentName</a></td></tr><tr><td class="src">unregHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:unregHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:unregHook">Distribution.Simple</a></td></tr><tr><td class="src">unregister</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:unregister">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Register.html#v:unregister">Distribution.Simple.Register</a></td></tr><tr><td class="src">unregisterCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:unregisterCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">unregisterInvocation</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:unregisterInvocation">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">Unsafe</td><td class="module"><a href="Language-Haskell-Extension.html#v:Unsafe">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">unsafeMkDefUnitId</td><td class="module"><a href="Distribution-Types-UnitId.html#v:unsafeMkDefUnitId">Distribution.Types.UnitId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">UnspecifiedLicense</td><td class="module"><a href="Distribution-License.html#v:UnspecifiedLicense">Distribution.License</a>, <a href="Distribution-Make.html#v:UnspecifiedLicense">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">unsupportedExtensions</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:unsupportedExtensions">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">unsupportedLanguages</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:unsupportedLanguages">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">until</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">unUnitId</td><td class="module"><a href="Distribution-Types-UnitId.html#v:unUnitId">Distribution.Types.UnitId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">unUnqualComponentName</td><td class="module"><a href="Distribution-Types-UnqualComponentName.html#v:unUnqualComponentName">Distribution.Types.UnqualComponentName</a></td></tr><tr><td class="src">unwords</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">unzip</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">unzip3</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">update</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">updateAt</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">updateLookupWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">updateMax</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">updateMaxWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">updateMin</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">updateMinWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">updatePackageDescription</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:updatePackageDescription">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:updatePackageDescription">Distribution.PackageDescription</a></td></tr><tr><td class="src">updateProgram</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:updateProgram">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:updateProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">updateWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">UpperBound</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Version.html#t:UpperBound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Version.html#v:UpperBound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">usageAlternatives</td><td class="module"><a href="Distribution-Simple-Command.html#v:usageAlternatives">Distribution.Simple.Command</a></td></tr><tr><td class="src">usageDefault</td><td class="module"><a href="Distribution-Simple-Command.html#v:usageDefault">Distribution.Simple.Command</a></td></tr><tr><td class="src">usedExtensions</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:usedExtensions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:usedExtensions">Distribution.PackageDescription</a></td></tr><tr><td class="src">userBug</td><td class="module"><a href="Distribution-PackageDescription-Utils.html#v:userBug">Distribution.PackageDescription.Utils</a></td></tr><tr><td class="src">UserBuildTarget</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">UserBuildTargetProblem</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#t:UserBuildTargetProblem">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">UserBuildTargetUnrecognised</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:UserBuildTargetUnrecognised">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">userError</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">UserHooks</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-UserHooks.html#t:UserHooks">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#t:UserHooks">Distribution.Simple</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:UserHooks">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:UserHooks">Distribution.Simple</a></td></tr><tr><td class="src">userMaybeSpecifyPath</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:userMaybeSpecifyPath">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:userMaybeSpecifyPath">Distribution.Simple.Program</a></td></tr><tr><td class="src">UserPackageDB</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:UserPackageDB">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">UserSpecified</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:UserSpecified">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:UserSpecified">Distribution.Simple.Program</a></td></tr><tr><td class="src">userSpecifiedArgs</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:userSpecifiedArgs">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:userSpecifiedArgs">Distribution.Simple.Program</a></td></tr><tr><td class="src">userSpecifyArgs</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:userSpecifyArgs">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:userSpecifyArgs">Distribution.Simple.Program</a></td></tr><tr><td class="src">userSpecifyArgss</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:userSpecifyArgss">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:userSpecifyArgss">Distribution.Simple.Program</a></td></tr><tr><td class="src">userSpecifyPath</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:userSpecifyPath">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:userSpecifyPath">Distribution.Simple.Program</a></td></tr><tr><td class="src">userSpecifyPaths</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:userSpecifyPaths">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:userSpecifyPaths">Distribution.Simple.Program</a></td></tr><tr><td class="src">valid</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">validModuleComponent</td><td class="module"><a href="Distribution-ModuleName.html#v:validModuleComponent">Distribution.ModuleName</a></td></tr><tr><td class="src">Vanilla</td><td class="module"><a href="Distribution-Simple-Hpc.html#v:Vanilla">Distribution.Simple.Hpc</a></td></tr><tr><td class="src">Var</td><td class="module"><a href="Distribution-Types-Condition.html#v:Var">Distribution.Types.Condition</a>, <a href="Distribution-PackageDescription.html#v:Var">Distribution.PackageDescription</a></td></tr><tr><td class="src">Vax</td><td class="module"><a href="Distribution-System.html#v:Vax">Distribution.System</a></td></tr><tr><td class="src">verbose</td><td class="module"><a href="Distribution-Verbosity.html#v:verbose">Distribution.Verbosity</a></td></tr><tr><td class="src">verboseCallSite</td><td class="module"><a href="Distribution-Verbosity.html#v:verboseCallSite">Distribution.Verbosity</a></td></tr><tr><td class="src">verboseCallStack</td><td class="module"><a href="Distribution-Verbosity.html#v:verboseCallStack">Distribution.Verbosity</a></td></tr><tr><td class="src">verboseHasFlags</td><td class="module"><a href="Distribution-Verbosity.html#v:verboseHasFlags">Distribution.Verbosity</a></td></tr><tr><td class="src">verboseMarkOutput</td><td class="module"><a href="Distribution-Verbosity.html#v:verboseMarkOutput">Distribution.Verbosity</a></td></tr><tr><td class="src">verboseNoFlags</td><td class="module"><a href="Distribution-Verbosity.html#v:verboseNoFlags">Distribution.Verbosity</a></td></tr><tr><td class="src">verboseNoWrap</td><td class="module"><a href="Distribution-Verbosity.html#v:verboseNoWrap">Distribution.Verbosity</a></td></tr><tr><td class="src">verboseUnmarkOutput</td><td class="module"><a href="Distribution-Verbosity.html#v:verboseUnmarkOutput">Distribution.Verbosity</a></td></tr><tr><td class="src">Verbosity</td><td class="module"><a href="Distribution-Verbosity.html#t:Verbosity">Distribution.Verbosity</a></td></tr><tr><td class="src">Version</td><td class="module"><a href="Distribution-Version.html#t:Version">Distribution.Version</a>, <a href="Distribution-Make.html#t:Version">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">VersionInterval</td><td class="module"><a href="Distribution-Version.html#t:VersionInterval">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">VersionIntervals</td><td class="module"><a href="Distribution-Version.html#t:VersionIntervals">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">versionIntervals</td><td class="module"><a href="Distribution-Version.html#v:versionIntervals">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">versionNumbers</td><td class="module"><a href="Distribution-Version.html#v:versionNumbers">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">VersionRange</td><td class="module"><a href="Distribution-Version.html#t:VersionRange">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">VersionRangeParens</td><td class="module"><a href="Distribution-Version.html#v:VersionRangeParens">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">viewAsFieldDescr</td><td class="module"><a href="Distribution-Simple-Command.html#v:viewAsFieldDescr">Distribution.Simple.Command</a></td></tr><tr><td class="src">ViewPatterns</td><td class="module"><a href="Language-Haskell-Extension.html#v:ViewPatterns">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">void</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:void">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">warn</td><td class="module"><a href="Distribution-Simple-Utils.html#v:warn">Distribution.Simple.Utils</a></td></tr><tr><td class="src">warnProgress</td><td class="module"><a href="Distribution-Utils-LogProgress.html#v:warnProgress">Distribution.Utils.LogProgress</a></td></tr><tr><td class="src">Way</td><td class="module"><a href="Distribution-Simple-Hpc.html#t:Way">Distribution.Simple.Hpc</a></td></tr><tr><td class="src">when</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:when">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">WildcardVersion</td><td class="module"><a href="Distribution-Version.html#v:WildcardVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">Windows</td><td class="module"><a href="Distribution-System.html#v:Windows">Distribution.System</a></td></tr><tr><td class="src">withAllComponentsInBuildOrder</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:withAllComponentsInBuildOrder">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withAllTargetsInBuildOrder</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withAllTargetsInBuildOrder">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">withAllTargetsInBuildOrder'</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withAllTargetsInBuildOrder-39-">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">withBenchLBI</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:withBenchLBI">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withBenchmark</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:withBenchmark">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:withBenchmark">Distribution.PackageDescription</a></td></tr><tr><td class="src">WithCallStack</td><td class="module"><a href="Distribution-Compat-Stack.html#t:WithCallStack">Distribution.Compat.Stack</a></td></tr><tr><td class="src">withComponentsInBuildOrder</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:withComponentsInBuildOrder">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withComponentsLBI</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:withComponentsLBI">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withDebugInfo</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withDebugInfo">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withDebugInfo">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withDynExe</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withDynExe">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withDynExe">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withExe</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:withExe">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:withExe">Distribution.PackageDescription</a></td></tr><tr><td class="src">withExeLBI</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:withExeLBI">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withFileContents</td><td class="module"><a href="Distribution-Utils-Generic.html#v:withFileContents">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:withFileContents">Distribution.Simple.Utils</a></td></tr><tr><td class="src">withForeignLib</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:withForeignLib">Distribution.Types.PackageDescription</a></td></tr><tr><td class="src">withFrozenCallStack</td><td class="module"><a href="Distribution-Compat-Stack.html#v:withFrozenCallStack">Distribution.Compat.Stack</a></td></tr><tr><td class="src">withGHCiLib</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withGHCiLib">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withGHCiLib">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withinIntervals</td><td class="module"><a href="Distribution-Version.html#v:withinIntervals">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">withinRange</td><td class="module"><a href="Distribution-Version.html#v:withinRange">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">withinVersion</td><td class="module"><a href="Distribution-Version.html#v:withinVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">withLexicalCallStack</td><td class="module"><a href="Distribution-Compat-Stack.html#v:withLexicalCallStack">Distribution.Compat.Stack</a></td></tr><tr><td class="src">withLib</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:withLib">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:withLib">Distribution.PackageDescription</a></td></tr><tr><td class="src">withLibLBI</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:withLibLBI">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withNeededTargetsInBuildOrder</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withNeededTargetsInBuildOrder">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">withNeededTargetsInBuildOrder'</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withNeededTargetsInBuildOrder-39-">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">withOptimization</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withOptimization">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withOptimization">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withoutKeys</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">withPackageDB</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withPackageDB">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withPackageDB">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withProfExe</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withProfExe">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withProfExe">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withProfExeDetail</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withProfExeDetail">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withProfExeDetail">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withProfLib</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withProfLib">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withProfLib">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withProfLibDetail</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withProfLibDetail">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withProfLibDetail">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withPrograms</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withPrograms">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withPrograms">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withSharedLib</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withSharedLib">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withSharedLib">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withTempDirectory</td><td class="module"><a href="Distribution-Simple-Utils.html#v:withTempDirectory">Distribution.Simple.Utils</a></td></tr><tr><td class="src">withTempDirectoryEx</td><td class="module"><a href="Distribution-Simple-Utils.html#v:withTempDirectoryEx">Distribution.Simple.Utils</a></td></tr><tr><td class="src">withTempFile</td><td class="module"><a href="Distribution-Simple-Utils.html#v:withTempFile">Distribution.Simple.Utils</a></td></tr><tr><td class="src">withTempFileEx</td><td class="module"><a href="Distribution-Simple-Utils.html#v:withTempFileEx">Distribution.Simple.Utils</a></td></tr><tr><td class="src">withTest</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:withTest">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:withTest">Distribution.PackageDescription</a></td></tr><tr><td class="src">withTestLBI</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:withTestLBI">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withUTF8FileContents</td><td class="module"><a href="Distribution-Utils-Generic.html#v:withUTF8FileContents">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:withUTF8FileContents">Distribution.Simple.Utils</a></td></tr><tr><td class="src">withVanillaLib</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withVanillaLib">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withVanillaLib">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">Word</td><td class="module">Distribution.Compat.Binary, <a href="Distribution-Compat-Prelude-Internal.html#t:Word">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Word16</td><td class="module">Distribution.Compat.Binary, <a href="Distribution-Compat-Prelude-Internal.html#t:Word16">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Word32</td><td class="module">Distribution.Compat.Binary, <a href="Distribution-Compat-Prelude-Internal.html#t:Word32">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Word64</td><td class="module">Distribution.Compat.Binary, <a href="Distribution-Compat-Prelude-Internal.html#t:Word64">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Word8</td><td class="module">Distribution.Compat.Binary, <a href="Distribution-Compat-Prelude-Internal.html#t:Word8">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">words</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">wrapLine</td><td class="module"><a href="Distribution-Utils-Generic.html#v:wrapLine">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:wrapLine">Distribution.Simple.Utils</a></td></tr><tr><td class="src">wrapText</td><td class="module"><a href="Distribution-Utils-Generic.html#v:wrapText">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:wrapText">Distribution.Simple.Utils</a></td></tr><tr><td class="src">writeAutogenFiles</td><td class="module"><a href="Distribution-Simple-Build.html#v:writeAutogenFiles">Distribution.Simple.Build</a></td></tr><tr><td class="src">writeFile</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">writeFileAtomic</td><td class="module"><a href="Distribution-Utils-Generic.html#v:writeFileAtomic">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:writeFileAtomic">Distribution.Simple.Utils</a></td></tr><tr><td class="src">writeGenericPackageDescription</td><td class="module"><a href="Distribution-PackageDescription-PrettyPrint.html#v:writeGenericPackageDescription">Distribution.PackageDescription.PrettyPrint</a></td></tr><tr><td class="src">writeGhcEnvironmentFile</td><td class="module"><a href="Distribution-Simple-GHC.html#v:writeGhcEnvironmentFile">Distribution.Simple.GHC</a></td></tr><tr><td class="src">writeHookedBuildInfo</td><td class="module"><a href="Distribution-PackageDescription-PrettyPrint.html#v:writeHookedBuildInfo">Distribution.PackageDescription.PrettyPrint</a></td></tr><tr><td class="src">writePackageDescription</td><td class="module"><a href="Distribution-PackageDescription-PrettyPrint.html#v:writePackageDescription">Distribution.PackageDescription.PrettyPrint</a></td></tr><tr><td class="src">writePersistBuildConfig</td><td class="module"><a href="Distribution-Simple-Configure.html#v:writePersistBuildConfig">Distribution.Simple.Configure</a></td></tr><tr><td class="src">writeSimpleTestStub</td><td class="module"><a href="Distribution-Simple-Test-LibV09.html#v:writeSimpleTestStub">Distribution.Simple.Test.LibV09</a></td></tr><tr><td class="src">writeUTF8File</td><td class="module"><a href="Distribution-Utils-Generic.html#v:writeUTF8File">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:writeUTF8File">Distribution.Simple.Utils</a></td></tr><tr><td class="src">X86_64</td><td class="module"><a href="Distribution-System.html#v:X86_64">Distribution.System</a></td></tr><tr><td class="src">xargs</td><td class="module"><a href="Distribution-Simple-Utils.html#v:xargs">Distribution.Simple.Utils</a></td></tr><tr><td class="src">XmlSyntax</td><td class="module"><a href="Language-Haskell-Extension.html#v:XmlSyntax">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">YHC</td><td class="module"><a href="Distribution-Compiler.html#v:YHC">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">zip</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">zip3</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">zipWith</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">zipWith3</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">\\</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">^</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">^^</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">||</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - B)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - B</p><table><tr><td class="src">backpackSupported</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:backpackSupported">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">BangPatterns</td><td class="module"><a href="Language-Haskell-Extension.html#v:BangPatterns">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Bazaar</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:Bazaar">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:Bazaar">Distribution.PackageDescription</a></td></tr><tr><td class="src">bench</td><td class="module"><a href="Distribution-Simple-Bench.html#v:bench">Distribution.Simple.Bench</a></td></tr><tr><td class="src">BenchComponentLocalBuildInfo</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:BenchComponentLocalBuildInfo">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:BenchComponentLocalBuildInfo">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">benchHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:benchHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:benchHook">Distribution.Simple</a></td></tr><tr><td class="src">Benchmark</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-Benchmark.html#t:Benchmark">Distribution.Types.Benchmark</a>, <a href="Distribution-PackageDescription.html#t:Benchmark">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-Benchmark.html#v:Benchmark">Distribution.Types.Benchmark</a>, <a href="Distribution-PackageDescription.html#v:Benchmark">Distribution.PackageDescription</a></td></tr><tr><td class="src">benchmarkBuildInfo</td><td class="module"><a href="Distribution-Types-Benchmark.html#v:benchmarkBuildInfo">Distribution.Types.Benchmark</a>, <a href="Distribution-PackageDescription.html#v:benchmarkBuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="src">benchmarkCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:benchmarkCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">benchmarkDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:benchmarkDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">BenchmarkExeV10</td><td class="module"><a href="Distribution-Types-BenchmarkInterface.html#v:BenchmarkExeV10">Distribution.Types.BenchmarkInterface</a>, <a href="Distribution-PackageDescription.html#v:BenchmarkExeV10">Distribution.PackageDescription</a></td></tr><tr><td class="src">benchmarkFieldDescrs</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:benchmarkFieldDescrs">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">BenchmarkFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:BenchmarkFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:BenchmarkFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">BenchmarkInterface</td><td class="module"><a href="Distribution-Types-BenchmarkInterface.html#t:BenchmarkInterface">Distribution.Types.BenchmarkInterface</a>, <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">Distribution.PackageDescription</a></td></tr><tr><td class="src">benchmarkInterface</td><td class="module"><a href="Distribution-Types-Benchmark.html#v:benchmarkInterface">Distribution.Types.Benchmark</a>, <a href="Distribution-PackageDescription.html#v:benchmarkInterface">Distribution.PackageDescription</a></td></tr><tr><td class="src">benchmarkModules</td><td class="module"><a href="Distribution-Types-Benchmark.html#v:benchmarkModules">Distribution.Types.Benchmark</a>, <a href="Distribution-PackageDescription.html#v:benchmarkModules">Distribution.PackageDescription</a></td></tr><tr><td class="src">benchmarkModulesAutogen</td><td class="module"><a href="Distribution-Types-Benchmark.html#v:benchmarkModulesAutogen">Distribution.Types.Benchmark</a>, <a href="Distribution-PackageDescription.html#v:benchmarkModulesAutogen">Distribution.PackageDescription</a></td></tr><tr><td class="src">benchmarkName</td><td class="module"><a href="Distribution-Types-Benchmark.html#v:benchmarkName">Distribution.Types.Benchmark</a>, <a href="Distribution-PackageDescription.html#v:benchmarkName">Distribution.PackageDescription</a></td></tr><tr><td class="src">BenchmarkNameVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:BenchmarkNameVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">benchmarkOptions</td><td class="module"><a href="Distribution-Simple-Setup.html#v:benchmarkOptions">Distribution.Simple.Setup</a></td></tr><tr><td class="src">benchmarks</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:benchmarks">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:benchmarks">Distribution.PackageDescription</a></td></tr><tr><td class="src">benchmarksRequested</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:benchmarksRequested">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">BenchmarkStanza</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#t:BenchmarkStanza">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:BenchmarkStanza">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">benchmarkStanzaBenchmarkModule</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:benchmarkStanzaBenchmarkModule">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">benchmarkStanzaBenchmarkType</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:benchmarkStanzaBenchmarkType">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">benchmarkStanzaBuildInfo</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:benchmarkStanzaBuildInfo">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">benchmarkStanzaMainIs</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:benchmarkStanzaMainIs">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">BenchmarkType</td><td class="module"><a href="Distribution-Types-BenchmarkType.html#t:BenchmarkType">Distribution.Types.BenchmarkType</a>, <a href="Distribution-PackageDescription.html#t:BenchmarkType">Distribution.PackageDescription</a></td></tr><tr><td class="src">benchmarkType</td><td class="module"><a href="Distribution-Types-Benchmark.html#v:benchmarkType">Distribution.Types.Benchmark</a>, <a href="Distribution-PackageDescription.html#v:benchmarkType">Distribution.PackageDescription</a></td></tr><tr><td class="src">BenchmarkTypeExe</td><td class="module"><a href="Distribution-Types-BenchmarkType.html#v:BenchmarkTypeExe">Distribution.Types.BenchmarkType</a>, <a href="Distribution-PackageDescription.html#v:BenchmarkTypeExe">Distribution.PackageDescription</a></td></tr><tr><td class="src">BenchmarkTypeUnknown</td><td class="module"><a href="Distribution-Types-BenchmarkType.html#v:BenchmarkTypeUnknown">Distribution.Types.BenchmarkType</a>, <a href="Distribution-PackageDescription.html#v:BenchmarkTypeUnknown">Distribution.PackageDescription</a></td></tr><tr><td class="src">BenchmarkUnsupported</td><td class="module"><a href="Distribution-Types-BenchmarkInterface.html#v:BenchmarkUnsupported">Distribution.Types.BenchmarkInterface</a>, <a href="Distribution-PackageDescription.html#v:BenchmarkUnsupported">Distribution.PackageDescription</a></td></tr><tr><td class="src">benchmarkVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:benchmarkVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">between</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:between">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">betweenVersionsInclusive</td><td class="module"><a href="Distribution-Version.html#v:betweenVersionsInclusive">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">Binary</td><td class="module">Distribution.Compat.Binary, <a href="Distribution-Compat-Prelude-Internal.html#t:Binary">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">BinaryLiterals</td><td class="module"><a href="Language-Haskell-Extension.html#v:BinaryLiterals">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">bindir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:bindir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">BindirVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:BindirVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">binfoFieldDescrs</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:binfoFieldDescrs">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">Bool</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">BooleanFlag</td><td class="module"><a href="Distribution-Simple-Setup.html#t:BooleanFlag">Distribution.Simple.Setup</a></td></tr><tr><td class="src">BoolOpt</td><td class="module"><a href="Distribution-Simple-Command.html#v:BoolOpt">Distribution.Simple.Command</a></td></tr><tr><td class="src">boolOpt</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-Command.html#v:boolOpt">Distribution.Simple.Command</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:boolOpt">Distribution.Simple.Setup</a></td></tr><tr><td class="src">boolOpt'</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-Command.html#v:boolOpt-39-">Distribution.Simple.Command</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:boolOpt-39-">Distribution.Simple.Setup</a></td></tr><tr><td class="src">Bound</td><td class="module"><a href="Distribution-Version.html#t:Bound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">Bounded</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">break</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">broken</td><td class="module"><a href="Distribution-Compat-Graph.html#v:broken">Distribution.Compat.Graph</a></td></tr><tr><td class="src">brokenPackages</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:brokenPackages">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">BSD2</td><td class="module"><a href="Distribution-License.html#v:BSD2">Distribution.License</a>, <a href="Distribution-Make.html#v:BSD2">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">BSD3</td><td class="module"><a href="Distribution-License.html#v:BSD3">Distribution.License</a>, <a href="Distribution-Make.html#v:BSD3">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">BSD4</td><td class="module"><a href="Distribution-License.html#v:BSD4">Distribution.License</a>, <a href="Distribution-Make.html#v:BSD4">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">bugReports</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:bugReports">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:bugReports">Distribution.PackageDescription</a></td></tr><tr><td class="src">build</td><td class="module"><a href="Distribution-Simple-Build.html#v:build">Distribution.Simple.Build</a></td></tr><tr><td class="src">buildable</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:buildable">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:buildable">Distribution.PackageDescription</a></td></tr><tr><td class="src">buildArch</td><td class="module"><a href="Distribution-System.html#v:buildArch">Distribution.System</a></td></tr><tr><td class="src">buildArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:buildArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">buildCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:buildCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">buildCompilerFlavor</td><td class="module"><a href="Distribution-Compiler.html#v:buildCompilerFlavor">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">buildCompilerId</td><td class="module"><a href="Distribution-Compiler.html#v:buildCompilerId">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">buildDepends</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:buildDepends">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:buildDepends">Distribution.PackageDescription</a></td></tr><tr><td class="src">buildDir</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:buildDir">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:buildDir">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">buildDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:buildDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">buildExe</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-UHC.html#v:buildExe">Distribution.Simple.UHC</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-LHC.html#v:buildExe">Distribution.Simple.LHC</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Simple-JHC.html#v:buildExe">Distribution.Simple.JHC</a></td></tr><tr><td class="alt">4 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:buildExe">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">5 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:buildExe">Distribution.Simple.GHC</a></td></tr><tr><td class="src">BuildFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:BuildFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:BuildFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">buildFLib</td><td class="module"><a href="Distribution-Simple-GHC.html#v:buildFLib">Distribution.Simple.GHC</a></td></tr><tr><td class="src">buildHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:buildHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:buildHook">Distribution.Simple</a></td></tr><tr><td class="src">BuildInfo</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-BuildInfo.html#t:BuildInfo">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#t:BuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:BuildInfo">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:BuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="src">buildInfo</td><td class="module"><a href="Distribution-Types-Executable.html#v:buildInfo">Distribution.Types.Executable</a>, <a href="Distribution-PackageDescription.html#v:buildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="src">buildLib</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-UHC.html#v:buildLib">Distribution.Simple.UHC</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-LHC.html#v:buildLib">Distribution.Simple.LHC</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Simple-JHC.html#v:buildLib">Distribution.Simple.JHC</a></td></tr><tr><td class="alt">4 (Function)</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:buildLib">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="alt">5 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:buildLib">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">6 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:buildLib">Distribution.Simple.GHC</a></td></tr><tr><td class="src">buildNumJobs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:buildNumJobs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">buildOptions</td><td class="module"><a href="Distribution-Simple-Setup.html#v:buildOptions">Distribution.Simple.Setup</a></td></tr><tr><td class="src">buildOS</td><td class="module"><a href="Distribution-System.html#v:buildOS">Distribution.System</a></td></tr><tr><td class="src">buildPlatform</td><td class="module"><a href="Distribution-System.html#v:buildPlatform">Distribution.System</a></td></tr><tr><td class="src">buildProgramArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:buildProgramArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">buildProgramPaths</td><td class="module"><a href="Distribution-Simple-Setup.html#v:buildProgramPaths">Distribution.Simple.Setup</a></td></tr><tr><td class="src">BuildTarget</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#t:BuildTarget">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">BuildTargetAmbiguous</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:BuildTargetAmbiguous">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">BuildTargetComponent</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:BuildTargetComponent">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">buildTargetComponentName</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:buildTargetComponentName">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">BuildTargetExpected</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:BuildTargetExpected">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">BuildTargetFile</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:BuildTargetFile">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">BuildTargetModule</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:BuildTargetModule">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">BuildTargetNoSuch</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:BuildTargetNoSuch">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">BuildTargetProblem</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#t:BuildTargetProblem">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">buildToolDepends</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:buildToolDepends">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:buildToolDepends">Distribution.PackageDescription</a></td></tr><tr><td class="src">buildTools</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:buildTools">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:buildTools">Distribution.PackageDescription</a></td></tr><tr><td class="src">BuildType</td><td class="module"><a href="Distribution-Types-BuildType.html#t:BuildType">Distribution.Types.BuildType</a>, <a href="Distribution-PackageDescription.html#t:BuildType">Distribution.PackageDescription</a></td></tr><tr><td class="src">buildType</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:buildType">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:buildType">Distribution.PackageDescription</a></td></tr><tr><td class="src">buildVerbose</td><td class="module"><a href="Distribution-Simple-Setup.html#v:buildVerbose">Distribution.Simple.Setup</a></td></tr><tr><td class="src">buildVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:buildVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">builtinPrograms</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:builtinPrograms">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:builtinPrograms">Distribution.Simple.Program</a></td></tr><tr><td class="src">byteSwap16</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">byteSwap32</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">byteSwap64</td><td class="module">Distribution.Compat.Binary</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - C)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - C</p><table><tr><td class="src">C</td><td class="module"><a href="Distribution-Simple-CCompiler.html#v:C">Distribution.Simple.CCompiler</a></td></tr><tr><td class="src">c2hsProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:c2hsProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:c2hsProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">cabalBug</td><td class="module"><a href="Distribution-PackageDescription-Utils.html#v:cabalBug">Distribution.PackageDescription.Utils</a></td></tr><tr><td class="src">cabalVersion</td><td class="module"><a href="Distribution-Simple-Utils.html#v:cabalVersion">Distribution.Simple.Utils</a></td></tr><tr><td class="src">calibrateMtimeChangeDelay</td><td class="module"><a href="Distribution-Compat-Time.html#v:calibrateMtimeChangeDelay">Distribution.Compat.Time</a></td></tr><tr><td class="src">CallStack</td><td class="module"><a href="Distribution-Compat-Stack.html#t:CallStack">Distribution.Compat.Stack</a></td></tr><tr><td class="src">callStack</td><td class="module"><a href="Distribution-Compat-Stack.html#v:callStack">Distribution.Compat.Stack</a></td></tr><tr><td class="src">CAnd</td><td class="module"><a href="Distribution-Types-Condition.html#v:CAnd">Distribution.Types.Condition</a>, <a href="Distribution-PackageDescription.html#v:CAnd">Distribution.PackageDescription</a></td></tr><tr><td class="src">cAnd</td><td class="module"><a href="Distribution-Types-Condition.html#v:cAnd">Distribution.Types.Condition</a>, <a href="Distribution-PackageDescription.html#v:cAnd">Distribution.PackageDescription</a></td></tr><tr><td class="src">CApiFFI</td><td class="module"><a href="Language-Haskell-Extension.html#v:CApiFFI">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">catchExit</td><td class="module"><a href="Distribution-Compat-Exception.html#v:catchExit">Distribution.Compat.Exception</a></td></tr><tr><td class="src">catchIO</td><td class="module"><a href="Distribution-Compat-Exception.html#v:catchIO">Distribution.Compat.Exception</a></td></tr><tr><td class="src">category</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:category">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:category">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:category">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">catMaybes</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:catMaybes">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">CBench</td><td class="module"><a href="Distribution-Types-Component.html#v:CBench">Distribution.Types.Component</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:CBench">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">CBenchName</td><td class="module"><a href="Distribution-Types-ComponentName.html#v:CBenchName">Distribution.Types.ComponentName</a>, <a href="Distribution-PackageDescription.html#v:CBenchName">Distribution.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:CBenchName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">ccLdOptionsBuildInfo</td><td class="module"><a href="Distribution-Simple-Configure.html#v:ccLdOptionsBuildInfo">Distribution.Simple.Configure</a></td></tr><tr><td class="src">ccOptions</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:ccOptions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:ccOptions">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:ccOptions">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">cc_ann_id</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:cc_ann_id">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">cc_cid</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:cc_cid">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">cc_component</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:cc_component">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">cc_exe_deps</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:cc_exe_deps">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">cc_includes</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:cc_includes">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">cc_name</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:cc_name">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">cc_pkgid</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:cc_pkgid">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">cc_public</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:cc_public">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">CDialect</td><td class="module"><a href="Distribution-Simple-CCompiler.html#t:CDialect">Distribution.Simple.CCompiler</a></td></tr><tr><td class="src">cDialectFilenameExtension</td><td class="module"><a href="Distribution-Simple-CCompiler.html#v:cDialectFilenameExtension">Distribution.Simple.CCompiler</a></td></tr><tr><td class="src">ceiling</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">CExe</td><td class="module"><a href="Distribution-Types-Component.html#v:CExe">Distribution.Types.Component</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:CExe">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">CExeName</td><td class="module"><a href="Distribution-Types-ComponentName.html#v:CExeName">Distribution.Types.ComponentName</a>, <a href="Distribution-PackageDescription.html#v:CExeName">Distribution.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:CExeName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">CFLib</td><td class="module"><a href="Distribution-Types-Component.html#v:CFLib">Distribution.Types.Component</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:CFLib">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">CFLibName</td><td class="module"><a href="Distribution-Types-ComponentName.html#v:CFLibName">Distribution.Types.ComponentName</a>, <a href="Distribution-PackageDescription.html#v:CFLibName">Distribution.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:CFLibName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">chainl</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:chainl">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">chainl1</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:chainl1">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">chainr</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:chainr">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">chainr1</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:chainr1">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">Char</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">char</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:char">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">chattyTry</td><td class="module"><a href="Distribution-Simple-Utils.html#v:chattyTry">Distribution.Simple.Utils</a></td></tr><tr><td class="src">checkConfiguredPackage</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:checkConfiguredPackage">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">checkForeignDeps</td><td class="module"><a href="Distribution-Simple-Configure.html#v:checkForeignDeps">Distribution.Simple.Configure</a></td></tr><tr><td class="src">checkPackage</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:checkPackage">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">checkPackageContent</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:checkPackageContent">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">CheckPackageContentOps</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-PackageDescription-Check.html#t:CheckPackageContentOps">Distribution.PackageDescription.Check</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:CheckPackageContentOps">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">checkPackageFileNames</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:checkPackageFileNames">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">checkPackageFiles</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:checkPackageFiles">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">checkPersistBuildConfigOutdated</td><td class="module"><a href="Distribution-Simple-Configure.html#v:checkPersistBuildConfigOutdated">Distribution.Simple.Configure</a></td></tr><tr><td class="src">choice</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:choice">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">ChoiceOpt</td><td class="module"><a href="Distribution-Simple-Command.html#v:ChoiceOpt">Distribution.Simple.Command</a></td></tr><tr><td class="src">choiceOpt</td><td class="module"><a href="Distribution-Simple-Command.html#v:choiceOpt">Distribution.Simple.Command</a></td></tr><tr><td class="src">choiceOptFromEnum</td><td class="module"><a href="Distribution-Simple-Command.html#v:choiceOptFromEnum">Distribution.Simple.Command</a></td></tr><tr><td class="src">chr</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:chr">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">ci_ann_id</td><td class="module"><a href="Distribution-Types-ComponentInclude.html#v:ci_ann_id">Distribution.Types.ComponentInclude</a></td></tr><tr><td class="src">ci_cname</td><td class="module"><a href="Distribution-Types-ComponentInclude.html#v:ci_cname">Distribution.Types.ComponentInclude</a></td></tr><tr><td class="src">ci_id</td><td class="module"><a href="Distribution-Types-ComponentInclude.html#v:ci_id">Distribution.Types.ComponentInclude</a></td></tr><tr><td class="src">ci_implicit</td><td class="module"><a href="Distribution-Types-ComponentInclude.html#v:ci_implicit">Distribution.Types.ComponentInclude</a></td></tr><tr><td class="src">ci_pkgid</td><td class="module"><a href="Distribution-Types-ComponentInclude.html#v:ci_pkgid">Distribution.Types.ComponentInclude</a></td></tr><tr><td class="src">ci_renaming</td><td class="module"><a href="Distribution-Types-ComponentInclude.html#v:ci_renaming">Distribution.Types.ComponentInclude</a></td></tr><tr><td class="src">ClassificationStrictness</td><td class="module"><a href="Distribution-System.html#t:ClassificationStrictness">Distribution.System</a></td></tr><tr><td class="src">classifyArch</td><td class="module"><a href="Distribution-System.html#v:classifyArch">Distribution.System</a></td></tr><tr><td class="src">classifyCompilerFlavor</td><td class="module"><a href="Distribution-Compiler.html#v:classifyCompilerFlavor">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">classifyExtension</td><td class="module"><a href="Language-Haskell-Extension.html#v:classifyExtension">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">classifyLanguage</td><td class="module"><a href="Language-Haskell-Extension.html#v:classifyLanguage">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">classifyOS</td><td class="module"><a href="Distribution-System.html#v:classifyOS">Distribution.System</a></td></tr><tr><td class="src">classifyRepoKind</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:classifyRepoKind">Distribution.Types.SourceRepo</a></td></tr><tr><td class="src">classifyRepoType</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:classifyRepoType">Distribution.Types.SourceRepo</a></td></tr><tr><td class="src">cleanCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:cleanCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">cleanDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:cleanDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">CleanFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:CleanFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:CleanFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">cleanHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:cleanHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:cleanHook">Distribution.Simple</a></td></tr><tr><td class="src">cleanSaveConf</td><td class="module"><a href="Distribution-Simple-Setup.html#v:cleanSaveConf">Distribution.Simple.Setup</a></td></tr><tr><td class="src">cleanVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:cleanVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">CLib</td><td class="module"><a href="Distribution-Types-Component.html#v:CLib">Distribution.Types.Component</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:CLib">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">CLibName</td><td class="module"><a href="Distribution-Types-ComponentName.html#v:CLibName">Distribution.Types.ComponentName</a>, <a href="Distribution-PackageDescription.html#v:CLibName">Distribution.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:CLibName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">closure</td><td class="module"><a href="Distribution-Compat-Graph.html#v:closure">Distribution.Compat.Graph</a></td></tr><tr><td class="src">CNot</td><td class="module"><a href="Distribution-Types-Condition.html#v:CNot">Distribution.Types.Condition</a>, <a href="Distribution-PackageDescription.html#v:CNot">Distribution.PackageDescription</a></td></tr><tr><td class="src">cNot</td><td class="module"><a href="Distribution-Types-Condition.html#v:cNot">Distribution.Types.Condition</a>, <a href="Distribution-PackageDescription.html#v:cNot">Distribution.PackageDescription</a></td></tr><tr><td class="src">combineInstallDirs</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:combineInstallDirs">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">combineObjectFiles</td><td class="module"><a href="Distribution-Simple-Program-Ld.html#v:combineObjectFiles">Distribution.Simple.Program.Ld</a></td></tr><tr><td class="src">combinePathTemplate</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:combinePathTemplate">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">Command</td><td class="module"><a href="Distribution-Simple-Command.html#t:Command">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandAddAction</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandAddAction">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandDefaultFlags</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandDefaultFlags">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandDescription</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandDescription">Distribution.Simple.Command</a></td></tr><tr><td class="src">CommandErrors</td><td class="module"><a href="Distribution-Simple-Command.html#v:CommandErrors">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandFromSpec</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandFromSpec">Distribution.Simple.Command</a></td></tr><tr><td class="src">CommandHelp</td><td class="module"><a href="Distribution-Simple-Command.html#v:CommandHelp">Distribution.Simple.Command</a></td></tr><tr><td class="src">CommandList</td><td class="module"><a href="Distribution-Simple-Command.html#v:CommandList">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandName</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandName">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandNotes</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandNotes">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandOptions</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandOptions">Distribution.Simple.Command</a></td></tr><tr><td class="src">CommandParse</td><td class="module"><a href="Distribution-Simple-Command.html#t:CommandParse">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandParseArgs</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandParseArgs">Distribution.Simple.Command</a></td></tr><tr><td class="src">CommandReadyToGo</td><td class="module"><a href="Distribution-Simple-Command.html#v:CommandReadyToGo">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandShowOptions</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandShowOptions">Distribution.Simple.Command</a></td></tr><tr><td class="src">CommandSpec</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Command.html#t:CommandSpec">Distribution.Simple.Command</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Command.html#v:CommandSpec">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandsRun</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandsRun">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandSynopsis</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandSynopsis">Distribution.Simple.Command</a></td></tr><tr><td class="src">CommandType</td><td class="module"><a href="Distribution-Simple-Command.html#t:CommandType">Distribution.Simple.Command</a></td></tr><tr><td class="src">CommandUI</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Command.html#t:CommandUI">Distribution.Simple.Command</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Command.html#v:CommandUI">Distribution.Simple.Command</a></td></tr><tr><td class="src">commandUsage</td><td class="module"><a href="Distribution-Simple-Command.html#v:commandUsage">Distribution.Simple.Command</a></td></tr><tr><td class="src">compare</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">comparing</td><td class="module"><a href="Distribution-Utils-Generic.html#v:comparing">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:comparing">Distribution.Simple.Utils</a></td></tr><tr><td class="src">Compat</td><td class="module"><a href="Distribution-System.html#v:Compat">Distribution.System</a></td></tr><tr><td class="src">compatPackageKey</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:compatPackageKey">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">Compiler</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Compiler.html#t:Compiler">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:Compiler">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">compiler</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:compiler">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:compiler">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:compiler">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">compilerAbiTag</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:compilerAbiTag">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">compilerCompat</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:compilerCompat">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">compilerCompatFlavor</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:compilerCompatFlavor">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">compilerCompatVersion</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:compilerCompatVersion">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">compilerExtensions</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:compilerExtensions">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">CompilerFlavor</td><td class="module"><a href="Distribution-Compiler.html#t:CompilerFlavor">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">compilerFlavor</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:compilerFlavor">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">CompilerId</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Compiler.html#t:CompilerId">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Compiler.html#v:CompilerId">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">compilerId</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:compilerId">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">CompilerInfo</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Compiler.html#t:CompilerInfo">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Compiler.html#v:CompilerInfo">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">compilerInfo</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:compilerInfo">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">compilerInfoAbiTag</td><td class="module"><a href="Distribution-Compiler.html#v:compilerInfoAbiTag">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">compilerInfoCompat</td><td class="module"><a href="Distribution-Compiler.html#v:compilerInfoCompat">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">compilerInfoExtensions</td><td class="module"><a href="Distribution-Compiler.html#v:compilerInfoExtensions">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">compilerInfoId</td><td class="module"><a href="Distribution-Compiler.html#v:compilerInfoId">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">compilerInfoLanguages</td><td class="module"><a href="Distribution-Compiler.html#v:compilerInfoLanguages">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">compilerLanguages</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:compilerLanguages">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">compilerProperties</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:compilerProperties">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">compilerTemplateEnv</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:compilerTemplateEnv">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">CompilerVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:CompilerVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">compilerVersion</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:compilerVersion">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">Component</td><td class="module"><a href="Distribution-Types-Component.html#t:Component">Distribution.Types.Component</a>, <a href="Distribution-Simple-LocalBuildInfo.html#t:Component">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentBuildable</td><td class="module"><a href="Distribution-Types-Component.html#v:componentBuildable">Distribution.Types.Component</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentBuildable">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentBuildDir</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:componentBuildDir">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentBuildInfo</td><td class="module"><a href="Distribution-Types-Component.html#v:componentBuildInfo">Distribution.Types.Component</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentBuildInfo">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentCcGhcOptions</td><td class="module"><a href="Distribution-Simple-GHC.html#v:componentCcGhcOptions">Distribution.Simple.GHC</a></td></tr><tr><td class="src">componentCompatPackageKey</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentCompatPackageKey">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentCompatPackageKey">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentCompatPackageName</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentCompatPackageName">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentCompatPackageName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentComponentId</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentComponentId">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentComponentId">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentCycleMsg</td><td class="module"><a href="Distribution-Backpack-ComponentsGraph.html#v:componentCycleMsg">Distribution.Backpack.ComponentsGraph</a></td></tr><tr><td class="src">ComponentDisabledReason</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentDisabledReason">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">componentDisabledReason</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:componentDisabledReason">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">componentEnabled</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:componentEnabled">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">componentEnabledSpec</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:componentEnabledSpec">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentEnabledSpec">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentExeDeps</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentExeDeps">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentExeDeps">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentExposedModules</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentExposedModules">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentExposedModules">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentGhcOptions</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:componentGhcOptions">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:componentGhcOptions">Distribution.Simple.GHC</a></td></tr><tr><td class="src">componentGraph</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:componentGraph">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentGraph">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">ComponentId</td><td class="module"><a href="Distribution-Types-ComponentId.html#t:ComponentId">Distribution.Types.ComponentId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">ComponentInclude</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-ComponentInclude.html#t:ComponentInclude">Distribution.Types.ComponentInclude</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-ComponentInclude.html#v:ComponentInclude">Distribution.Types.ComponentInclude</a></td></tr><tr><td class="src">componentIncludes</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentIncludes">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentIncludes">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentInitialBuildSteps</td><td class="module"><a href="Distribution-Simple-Build.html#v:componentInitialBuildSteps">Distribution.Simple.Build</a></td></tr><tr><td class="src">componentInstantiatedWith</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentInstantiatedWith">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentInstantiatedWith">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentInternalDeps</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentInternalDeps">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentInternalDeps">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentIsIndefinite</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentIsIndefinite">Distribution.Types.ComponentLocalBuildInfo</a></td></tr><tr><td class="src">componentIsIndefinite_</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentIsIndefinite_">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentIsIndefinite_">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentIsPublic</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentIsPublic">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentIsPublic">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">ComponentLocalBuildInfo</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentLocalBuildInfo">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentLocalName</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentLocalName">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentLocalName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">ComponentName</td><td class="module"><a href="Distribution-Types-ComponentName.html#t:ComponentName">Distribution.Types.ComponentName</a>, <a href="Distribution-PackageDescription.html#t:ComponentName">Distribution.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#t:ComponentName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentName</td><td class="module"><a href="Distribution-Types-Component.html#v:componentName">Distribution.Types.Component</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentNameCLBIs</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:componentNameCLBIs">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">componentNameMap</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:componentNameMap">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentNameMap">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentNameRequested</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:componentNameRequested">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">componentNameStanza</td><td class="module"><a href="Distribution-Types-ComponentName.html#v:componentNameStanza">Distribution.Types.ComponentName</a></td></tr><tr><td class="src">componentNameString</td><td class="module"><a href="Distribution-Types-ComponentName.html#v:componentNameString">Distribution.Types.ComponentName</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentNameString">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">componentNameTargets</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:componentNameTargets">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">componentNameTargets'</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:componentNameTargets-39-">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">componentPackageDeps</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentPackageDeps">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentPackageDeps">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">ComponentRequestedSpec</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:ComponentRequestedSpec">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">components</td><td class="module"><a href="Distribution-ModuleName.html#v:components">Distribution.ModuleName</a></td></tr><tr><td class="src">componentsConfigs</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:componentsConfigs">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">ComponentsGraph</td><td class="module"><a href="Distribution-Backpack-ComponentsGraph.html#t:ComponentsGraph">Distribution.Backpack.ComponentsGraph</a></td></tr><tr><td class="src">componentsGraphToList</td><td class="module"><a href="Distribution-Backpack-ComponentsGraph.html#v:componentsGraphToList">Distribution.Backpack.ComponentsGraph</a></td></tr><tr><td class="src">componentsInBuildOrder</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:componentsInBuildOrder">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">ComponentsWithDeps</td><td class="module"><a href="Distribution-Backpack-ComponentsGraph.html#t:ComponentsWithDeps">Distribution.Backpack.ComponentsGraph</a></td></tr><tr><td class="src">componentUnitId</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:componentUnitId">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:componentUnitId">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">computeCompatPackageId</td><td class="module"><a href="Distribution-Types-MungedPackageId.html#v:computeCompatPackageId">Distribution.Types.MungedPackageId</a></td></tr><tr><td class="src">computeCompatPackageKey</td><td class="module"><a href="Distribution-Simple-Configure.html#v:computeCompatPackageKey">Distribution.Simple.Configure</a></td></tr><tr><td class="src">computeCompatPackageName</td><td class="module"><a href="Distribution-Types-MungedPackageName.html#v:computeCompatPackageName">Distribution.Types.MungedPackageName</a>, <a href="Distribution-Simple-Configure.html#v:computeCompatPackageName">Distribution.Simple.Configure</a></td></tr><tr><td class="src">computeComponentId</td><td class="module"><a href="Distribution-Simple-Configure.html#v:computeComponentId">Distribution.Simple.Configure</a></td></tr><tr><td class="src">computeEffectiveProfiling</td><td class="module"><a href="Distribution-Simple-Configure.html#v:computeEffectiveProfiling">Distribution.Simple.Configure</a></td></tr><tr><td class="src">concat</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">concatMap</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">concurrently</td><td class="module"><a href="Distribution-TestSuite.html#v:concurrently">Distribution.TestSuite</a></td></tr><tr><td class="src">condBenchmarks</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:condBenchmarks">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:condBenchmarks">Distribution.PackageDescription</a></td></tr><tr><td class="src">CondBranch</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-CondTree.html#t:CondBranch">Distribution.Types.CondTree</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-CondTree.html#v:CondBranch">Distribution.Types.CondTree</a></td></tr><tr><td class="src">condBranchCondition</td><td class="module"><a href="Distribution-Types-CondTree.html#v:condBranchCondition">Distribution.Types.CondTree</a></td></tr><tr><td class="src">condBranchIfFalse</td><td class="module"><a href="Distribution-Types-CondTree.html#v:condBranchIfFalse">Distribution.Types.CondTree</a></td></tr><tr><td class="src">condBranchIfTrue</td><td class="module"><a href="Distribution-Types-CondTree.html#v:condBranchIfTrue">Distribution.Types.CondTree</a></td></tr><tr><td class="src">condExecutables</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:condExecutables">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:condExecutables">Distribution.PackageDescription</a></td></tr><tr><td class="src">condForeignLibs</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:condForeignLibs">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:condForeignLibs">Distribution.PackageDescription</a></td></tr><tr><td class="src">condIfThen</td><td class="module"><a href="Distribution-Types-CondTree.html#v:condIfThen">Distribution.Types.CondTree</a></td></tr><tr><td class="src">condIfThenElse</td><td class="module"><a href="Distribution-Types-CondTree.html#v:condIfThenElse">Distribution.Types.CondTree</a></td></tr><tr><td class="src">Condition</td><td class="module"><a href="Distribution-Types-Condition.html#t:Condition">Distribution.Types.Condition</a>, <a href="Distribution-PackageDescription.html#t:Condition">Distribution.PackageDescription</a></td></tr><tr><td class="src">condLibrary</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:condLibrary">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:condLibrary">Distribution.PackageDescription</a></td></tr><tr><td class="src">CondNode</td><td class="module"><a href="Distribution-Types-CondTree.html#v:CondNode">Distribution.Types.CondTree</a>, <a href="Distribution-PackageDescription.html#v:CondNode">Distribution.PackageDescription</a></td></tr><tr><td class="src">condSubLibraries</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:condSubLibraries">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:condSubLibraries">Distribution.PackageDescription</a></td></tr><tr><td class="src">condTestSuites</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:condTestSuites">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:condTestSuites">Distribution.PackageDescription</a></td></tr><tr><td class="src">CondTree</td><td class="module"><a href="Distribution-Types-CondTree.html#t:CondTree">Distribution.Types.CondTree</a>, <a href="Distribution-PackageDescription.html#t:CondTree">Distribution.PackageDescription</a></td></tr><tr><td class="src">condTreeComponents</td><td class="module"><a href="Distribution-Types-CondTree.html#v:condTreeComponents">Distribution.Types.CondTree</a>, <a href="Distribution-PackageDescription.html#v:condTreeComponents">Distribution.PackageDescription</a></td></tr><tr><td class="src">condTreeConstraints</td><td class="module"><a href="Distribution-Types-CondTree.html#v:condTreeConstraints">Distribution.Types.CondTree</a>, <a href="Distribution-PackageDescription.html#v:condTreeConstraints">Distribution.PackageDescription</a></td></tr><tr><td class="src">condTreeData</td><td class="module"><a href="Distribution-Types-CondTree.html#v:condTreeData">Distribution.Types.CondTree</a>, <a href="Distribution-PackageDescription.html#v:condTreeData">Distribution.PackageDescription</a></td></tr><tr><td class="src">confHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:confHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:confHook">Distribution.Simple</a></td></tr><tr><td class="src">configAbsolutePaths</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configAbsolutePaths">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configAllowNewer</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configAllowNewer">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configAllowOlder</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configAllowOlder">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configBenchmarks</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configBenchmarks">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configCabalFilePath</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configCabalFilePath">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configCID</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configCID">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configCompiler</td><td class="module"><a href="Distribution-Simple-Configure.html#v:configCompiler">Distribution.Simple.Configure</a></td></tr><tr><td class="src">configCompilerAux</td><td class="module"><a href="Distribution-Simple-Configure.html#v:configCompilerAux">Distribution.Simple.Configure</a></td></tr><tr><td class="src">configCompilerAuxEx</td><td class="module"><a href="Distribution-Simple-Configure.html#v:configCompilerAuxEx">Distribution.Simple.Configure</a></td></tr><tr><td class="src">configCompilerEx</td><td class="module"><a href="Distribution-Simple-Configure.html#v:configCompilerEx">Distribution.Simple.Configure</a></td></tr><tr><td class="src">configConfigurationsFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configConfigurationsFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configConfigureArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configConfigureArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configConstraints</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configConstraints">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configCoverage</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configCoverage">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configDebugInfo</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configDebugInfo">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configDependencies</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configDependencies">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configDeterministic</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configDeterministic">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configDynExe</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configDynExe">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configExactConfiguration</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configExactConfiguration">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configExtraFrameworkDirs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configExtraFrameworkDirs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configExtraIncludeDirs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configExtraIncludeDirs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configExtraLibDirs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configExtraLibDirs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configFlagError</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configFlagError">Distribution.Simple.Setup</a></td></tr><tr><td class="src">ConfigFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:ConfigFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:ConfigFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configFlags</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:configFlags">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:configFlags">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">configGHCiLib</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configGHCiLib">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configHcFlavor</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configHcFlavor">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configHcPath</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configHcPath">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configHcPkg</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configHcPkg">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configInstallDirs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configInstallDirs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configInstantiateWith</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configInstantiateWith">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configIPID</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configIPID">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configLibCoverage</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configLibCoverage">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configOptimization</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configOptimization">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configPackageDBs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configPackageDBs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configProf</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configProf">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configProfDetail</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configProfDetail">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configProfExe</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configProfExe">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configProfLib</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configProfLib">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configProfLibDetail</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configProfLibDetail">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configProgPrefix</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configProgPrefix">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configProgramArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configProgramArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configProgramPathExtra</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configProgramPathExtra">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configProgramPaths</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configProgramPaths">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configPrograms</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configPrograms">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configPrograms_</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configPrograms_">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configProgSuffix</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configProgSuffix">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configRelocatable</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configRelocatable">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configScratchDir</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configScratchDir">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configSharedLib</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configSharedLib">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configSplitObjs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configSplitObjs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">ConfigStateFileBadHeader</td><td class="module"><a href="Distribution-Simple-Configure.html#v:ConfigStateFileBadHeader">Distribution.Simple.Configure</a></td></tr><tr><td class="src">ConfigStateFileBadVersion</td><td class="module"><a href="Distribution-Simple-Configure.html#v:ConfigStateFileBadVersion">Distribution.Simple.Configure</a></td></tr><tr><td class="src">ConfigStateFileError</td><td class="module"><a href="Distribution-Simple-Configure.html#t:ConfigStateFileError">Distribution.Simple.Configure</a></td></tr><tr><td class="src">ConfigStateFileMissing</td><td class="module"><a href="Distribution-Simple-Configure.html#v:ConfigStateFileMissing">Distribution.Simple.Configure</a></td></tr><tr><td class="src">ConfigStateFileNoHeader</td><td class="module"><a href="Distribution-Simple-Configure.html#v:ConfigStateFileNoHeader">Distribution.Simple.Configure</a></td></tr><tr><td class="src">ConfigStateFileNoParse</td><td class="module"><a href="Distribution-Simple-Configure.html#v:ConfigStateFileNoParse">Distribution.Simple.Configure</a></td></tr><tr><td class="src">configStripExes</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configStripExes">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configStripLibs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configStripLibs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configTests</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configTests">Distribution.Simple.Setup</a></td></tr><tr><td class="src">Configure</td><td class="module"><a href="Distribution-Types-BuildType.html#v:Configure">Distribution.Types.BuildType</a>, <a href="Distribution-PackageDescription.html#v:Configure">Distribution.PackageDescription</a></td></tr><tr><td class="src">configure</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-UHC.html#v:configure">Distribution.Simple.UHC</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-LHC.html#v:configure">Distribution.Simple.LHC</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Simple-JHC.html#v:configure">Distribution.Simple.JHC</a></td></tr><tr><td class="alt">4 (Function)</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:configure">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="alt">5 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:configure">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">6 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:configure">Distribution.Simple.GHC</a></td></tr><tr><td class="alt">7 (Function)</td><td class="module"><a href="Distribution-Simple-Configure.html#v:configure">Distribution.Simple.Configure</a></td></tr><tr><td class="src">configureAllKnownPrograms</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:configureAllKnownPrograms">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:configureAllKnownPrograms">Distribution.Simple.Program</a></td></tr><tr><td class="src">configureArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configureArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configureCCompiler</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configureCCompiler">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configureCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configureCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configureComponentLocalBuildInfos</td><td class="module"><a href="Distribution-Backpack-Configure.html#v:configureComponentLocalBuildInfos">Distribution.Backpack.Configure</a></td></tr><tr><td class="src">ConfiguredComponent</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponent">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:ConfiguredComponent">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">ConfiguredComponentMap</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#t:ConfiguredComponentMap">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">ConfiguredProgram</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#t:ConfiguredProgram">Distribution.Simple.Program</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:ConfiguredProgram">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:ConfiguredProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">configuredPrograms</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:configuredPrograms">Distribution.Simple.Program.Db</a></td></tr><tr><td class="src">configureLinker</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configureLinker">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configureOptions</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configureOptions">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configureProgram</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:configureProgram">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:configureProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">configUserInstall</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configUserInstall">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configVanillaLib</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configVanillaLib">Distribution.Simple.Setup</a></td></tr><tr><td class="src">configVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:configVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">ConfVar</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#t:ConfVar">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#t:ConfVar">Distribution.PackageDescription</a></td></tr><tr><td class="src">const</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">constrainBy</td><td class="module"><a href="Distribution-Types-DependencyMap.html#v:constrainBy">Distribution.Types.DependencyMap</a></td></tr><tr><td class="src">ConstrainedClassMethods</td><td class="module"><a href="Language-Haskell-Extension.html#v:ConstrainedClassMethods">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">ConstraintKinds</td><td class="module"><a href="Language-Haskell-Extension.html#v:ConstraintKinds">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">copyArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:copyArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">copyCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:copyCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">CopyDest</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#t:CopyDest">Distribution.Simple.InstallDirs</a>, <a href="Distribution-Simple-Setup.html#t:CopyDest">Distribution.Simple.Setup</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">copyDest</td><td class="module"><a href="Distribution-Simple-Setup.html#v:copyDest">Distribution.Simple.Setup</a></td></tr><tr><td class="src">copyDirectoryRecursive</td><td class="module"><a href="Distribution-Simple-Utils.html#v:copyDirectoryRecursive">Distribution.Simple.Utils</a></td></tr><tr><td class="src">copyDirectoryRecursiveVerbose</td><td class="module"><a href="Distribution-Simple-Utils.html#v:copyDirectoryRecursiveVerbose">Distribution.Simple.Utils</a></td></tr><tr><td class="src">copyDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:copyDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">copyFiles</td><td class="module"><a href="Distribution-Simple-Utils.html#v:copyFiles">Distribution.Simple.Utils</a></td></tr><tr><td class="src">copyFileTo</td><td class="module"><a href="Distribution-Simple-Utils.html#v:copyFileTo">Distribution.Simple.Utils</a></td></tr><tr><td class="src">copyFileVerbose</td><td class="module"><a href="Distribution-Simple-Utils.html#v:copyFileVerbose">Distribution.Simple.Utils</a></td></tr><tr><td class="src">CopyFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:CopyFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:CopyFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">copyHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:copyHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:copyHook">Distribution.Simple</a></td></tr><tr><td class="src">copyright</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:copyright">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:copyright">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:copyright">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">CopyTo</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:CopyTo">Distribution.Simple.InstallDirs</a>, <a href="Distribution-Simple-Setup.html#v:CopyTo">Distribution.Simple.Setup</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">copyVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:copyVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">COr</td><td class="module"><a href="Distribution-Types-Condition.html#v:COr">Distribution.Types.Condition</a>, <a href="Distribution-PackageDescription.html#v:COr">Distribution.PackageDescription</a></td></tr><tr><td class="src">cOr</td><td class="module"><a href="Distribution-Types-Condition.html#v:cOr">Distribution.Types.Condition</a>, <a href="Distribution-PackageDescription.html#v:cOr">Distribution.PackageDescription</a></td></tr><tr><td class="src">cos</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">cosh</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">count</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:count">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">countTestResults</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:countTestResults">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">coverageSupported</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:coverageSupported">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">CPlusPlus</td><td class="module"><a href="Distribution-Simple-CCompiler.html#v:CPlusPlus">Distribution.Simple.CCompiler</a></td></tr><tr><td class="src">CPP</td><td class="module"><a href="Language-Haskell-Extension.html#v:CPP">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">cppHeaderName</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:cppHeaderName">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">cpphsProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:cpphsProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:cpphsProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">cppOptions</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:cppOptions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:cppOptions">Distribution.PackageDescription</a></td></tr><tr><td class="src">cppProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:cppProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:cppProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">createArchive</td><td class="module"><a href="Distribution-Simple-SrcDist.html#v:createArchive">Distribution.Simple.SrcDist</a></td></tr><tr><td class="src">createArLibArchive</td><td class="module"><a href="Distribution-Simple-Program-Ar.html#v:createArLibArchive">Distribution.Simple.Program.Ar</a></td></tr><tr><td class="src">createDirectoryIfMissingVerbose</td><td class="module"><a href="Distribution-Simple-Utils.html#v:createDirectoryIfMissingVerbose">Distribution.Simple.Utils</a></td></tr><tr><td class="src">createPackageDB</td><td class="module"><a href="Distribution-Simple-Register.html#v:createPackageDB">Distribution.Simple.Register</a></td></tr><tr><td class="src">createPipe</td><td class="module"><a href="Distribution-Compat-CreatePipe.html#v:createPipe">Distribution.Compat.CreatePipe</a></td></tr><tr><td class="src">createProcessWithEnv</td><td class="module"><a href="Distribution-Simple-Utils.html#v:createProcessWithEnv">Distribution.Simple.Utils</a></td></tr><tr><td class="src">cSourceExtensions</td><td class="module"><a href="Distribution-Simple-CCompiler.html#v:cSourceExtensions">Distribution.Simple.CCompiler</a></td></tr><tr><td class="src">cSources</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:cSources">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:cSources">Distribution.PackageDescription</a></td></tr><tr><td class="src">CSubLibName</td><td class="module"><a href="Distribution-Types-ComponentName.html#v:CSubLibName">Distribution.Types.ComponentName</a>, <a href="Distribution-PackageDescription.html#v:CSubLibName">Distribution.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:CSubLibName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">CTest</td><td class="module"><a href="Distribution-Types-Component.html#v:CTest">Distribution.Types.Component</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:CTest">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">CTestName</td><td class="module"><a href="Distribution-Types-ComponentName.html#v:CTestName">Distribution.Types.ComponentName</a>, <a href="Distribution-PackageDescription.html#v:CTestName">Distribution.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:CTestName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">currentDir</td><td class="module"><a href="Distribution-Simple-Utils.html#v:currentDir">Distribution.Simple.Utils</a></td></tr><tr><td class="src">curry</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Custom</td><td class="module"><a href="Distribution-Types-BuildType.html#v:Custom">Distribution.Types.BuildType</a>, <a href="Distribution-PackageDescription.html#v:Custom">Distribution.PackageDescription</a></td></tr><tr><td class="src">customFieldsBI</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:customFieldsBI">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:customFieldsBI">Distribution.PackageDescription</a></td></tr><tr><td class="src">customFieldsPD</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:customFieldsPD">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:customFieldsPD">Distribution.PackageDescription</a></td></tr><tr><td class="src">CVS</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:CVS">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:CVS">Distribution.PackageDescription</a></td></tr><tr><td class="src">cycle</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">cycles</td><td class="module"><a href="Distribution-Compat-Graph.html#v:cycles">Distribution.Compat.Graph</a></td></tr><tr><td class="src">CyclicSCC</td><td class="module"><a href="Distribution-Compat-Graph.html#v:CyclicSCC">Distribution.Compat.Graph</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - D)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - D</p><table><tr><td class="src">Darcs</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:Darcs">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:Darcs">Distribution.PackageDescription</a></td></tr><tr><td class="src">Data</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:Data">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">dataDir</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:dataDir">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:dataDir">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:dataDir">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">datadir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:datadir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">DatadirVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:DatadirVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">dataFiles</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:dataFiles">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:dataFiles">Distribution.PackageDescription</a></td></tr><tr><td class="src">DataKinds</td><td class="module"><a href="Language-Haskell-Extension.html#v:DataKinds">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">datasubdir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:datasubdir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">DatasubdirVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:DatasubdirVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">DatatypeContexts</td><td class="module"><a href="Language-Haskell-Extension.html#v:DatatypeContexts">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">dateToSnapshotNumber</td><td class="module"><a href="Distribution-Simple-SrcDist.html#v:dateToSnapshotNumber">Distribution.Simple.SrcDist</a></td></tr><tr><td class="src">deafening</td><td class="module"><a href="Distribution-Verbosity.html#v:deafening">Distribution.Verbosity</a></td></tr><tr><td class="src">debug</td><td class="module"><a href="Distribution-Simple-Utils.html#v:debug">Distribution.Simple.Utils</a></td></tr><tr><td class="src">DebugInfoLevel</td><td class="module"><a href="Distribution-Simple-Compiler.html#t:DebugInfoLevel">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">debugNoWrap</td><td class="module"><a href="Distribution-Simple-Utils.html#v:debugNoWrap">Distribution.Simple.Utils</a></td></tr><tr><td class="src">decode</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">decodeCompatPackageName</td><td class="module"><a href="Distribution-Types-MungedPackageName.html#v:decodeCompatPackageName">Distribution.Types.MungedPackageName</a></td></tr><tr><td class="src">decodeFile</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">decodeFileOrFail</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">decodeFileOrFail'</td><td class="module"><a href="Distribution-Compat-Binary.html#v:decodeFileOrFail-39-">Distribution.Compat.Binary</a></td></tr><tr><td class="src">decodeFloat</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">decodeOrFail</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">decodeOrFailIO</td><td class="module"><a href="Distribution-Compat-Binary.html#v:decodeOrFailIO">Distribution.Compat.Binary</a></td></tr><tr><td class="src">decodeStringUtf8</td><td class="module"><a href="Distribution-Utils-ShortText.html#v:decodeStringUtf8">Distribution.Utils.ShortText</a></td></tr><tr><td class="src">defaultBenchmarkFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultBenchmarkFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultBuildFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultBuildFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultCleanFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultCleanFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultCompilerFlavor</td><td class="module"><a href="Distribution-Compiler.html#v:defaultCompilerFlavor">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">defaultComponentRequestedSpec</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:defaultComponentRequestedSpec">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">defaultConfigFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultConfigFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultCopyFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultCopyFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultDistPref">Distribution.Simple.Setup</a>, <a href="Distribution-Simple-BuildPaths.html#v:defaultDistPref">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">defaultDoctestFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultDoctestFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultExtensions</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:defaultExtensions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:defaultExtensions">Distribution.PackageDescription</a></td></tr><tr><td class="src">defaultGlobalFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultGlobalFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultHaddockFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultHaddockFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultHookedPackageDesc</td><td class="module"><a href="Distribution-Simple-Utils.html#v:defaultHookedPackageDesc">Distribution.Simple.Utils</a>, <a href="Distribution-Simple.html#v:defaultHookedPackageDesc">Distribution.Simple</a></td></tr><tr><td class="src">defaultHscolourFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultHscolourFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultIncludeRenaming</td><td class="module"><a href="Distribution-Types-IncludeRenaming.html#v:defaultIncludeRenaming">Distribution.Types.IncludeRenaming</a></td></tr><tr><td class="src">defaultInstallDirs</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:defaultInstallDirs">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">defaultInstallDirs'</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:defaultInstallDirs-39-">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">defaultInstallFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultInstallFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultLanguage</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:defaultLanguage">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:defaultLanguage">Distribution.PackageDescription</a></td></tr><tr><td class="src">defaultLibName</td><td class="module"><a href="Distribution-Types-ComponentName.html#v:defaultLibName">Distribution.Types.ComponentName</a>, <a href="Distribution-PackageDescription.html#v:defaultLibName">Distribution.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:defaultLibName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">defaultMain</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Make.html#v:defaultMain">Distribution.Make</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple.html#v:defaultMain">Distribution.Simple</a></td></tr><tr><td class="src">defaultMainArgs</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Make.html#v:defaultMainArgs">Distribution.Make</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple.html#v:defaultMainArgs">Distribution.Simple</a></td></tr><tr><td class="src">defaultMainNoRead</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Make.html#v:defaultMainNoRead">Distribution.Make</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple.html#v:defaultMainNoRead">Distribution.Simple</a></td></tr><tr><td class="src">defaultMainWithHooks</td><td class="module"><a href="Distribution-Simple.html#v:defaultMainWithHooks">Distribution.Simple</a></td></tr><tr><td class="src">defaultMainWithHooksArgs</td><td class="module"><a href="Distribution-Simple.html#v:defaultMainWithHooksArgs">Distribution.Simple</a></td></tr><tr><td class="src">defaultMainWithHooksNoRead</td><td class="module"><a href="Distribution-Simple.html#v:defaultMainWithHooksNoRead">Distribution.Simple</a></td></tr><tr><td class="src">defaultPackageDesc</td><td class="module"><a href="Distribution-Simple-Utils.html#v:defaultPackageDesc">Distribution.Simple.Utils</a></td></tr><tr><td class="src">defaultProgramConfiguration</td><td class="module"><a href="Distribution-Simple-Program.html#v:defaultProgramConfiguration">Distribution.Simple.Program</a></td></tr><tr><td class="src">defaultProgramDb</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:defaultProgramDb">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:defaultProgramDb">Distribution.Simple.Program</a></td></tr><tr><td class="src">defaultProgramSearchPath</td><td class="module"><a href="Distribution-Simple-Program-Find.html#v:defaultProgramSearchPath">Distribution.Simple.Program.Find</a>, <a href="Distribution-Simple-Program.html#v:defaultProgramSearchPath">Distribution.Simple.Program</a></td></tr><tr><td class="src">defaultRegisterFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultRegisterFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultRegisterOptions</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:defaultRegisterOptions">Distribution.Simple.Program.HcPkg</a>, <a href="Distribution-Simple-Register.html#v:defaultRegisterOptions">Distribution.Simple.Register</a></td></tr><tr><td class="src">DefaultRenaming</td><td class="module"><a href="Distribution-Types-ModuleRenaming.html#v:DefaultRenaming">Distribution.Types.ModuleRenaming</a>, <a href="Distribution-PackageDescription.html#v:DefaultRenaming">Distribution.PackageDescription</a></td></tr><tr><td class="src">defaultRenaming</td><td class="module"><a href="Distribution-Types-ModuleRenaming.html#v:defaultRenaming">Distribution.Types.ModuleRenaming</a>, <a href="Distribution-PackageDescription.html#v:defaultRenaming">Distribution.PackageDescription</a></td></tr><tr><td class="src">defaultReplFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultReplFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultSDistFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultSDistFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultSetupDepends</td><td class="module"><a href="Distribution-Types-SetupBuildInfo.html#v:defaultSetupDepends">Distribution.Types.SetupBuildInfo</a>, <a href="Distribution-PackageDescription.html#v:defaultSetupDepends">Distribution.PackageDescription</a></td></tr><tr><td class="src">DefaultSignatures</td><td class="module"><a href="Language-Haskell-Extension.html#v:DefaultSignatures">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">defaultStyle</td><td class="module"><a href="Distribution-Text.html#v:defaultStyle">Distribution.Text</a></td></tr><tr><td class="src">defaultTempFileOptions</td><td class="module"><a href="Distribution-Simple-Utils.html#v:defaultTempFileOptions">Distribution.Simple.Utils</a></td></tr><tr><td class="src">defaultTestFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:defaultTestFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">defaultUserHooks</td><td class="module"><a href="Distribution-Simple.html#v:defaultUserHooks">Distribution.Simple</a></td></tr><tr><td class="src">DefiniteUnitId</td><td class="module"><a href="Distribution-Backpack.html#v:DefiniteUnitId">Distribution.Backpack</a></td></tr><tr><td class="src">DefUnitId</td><td class="module"><a href="Distribution-Types-UnitId.html#t:DefUnitId">Distribution.Types.UnitId</a>, <a href="Distribution-Backpack.html#t:DefUnitId">Distribution.Backpack</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">delete</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">deleteAt</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">deleteFindMax</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">deleteFindMin</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">deleteInstalledPackageId</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:deleteInstalledPackageId">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">deleteKey</td><td class="module"><a href="Distribution-Compat-Graph.html#v:deleteKey">Distribution.Compat.Graph</a></td></tr><tr><td class="src">deleteLookup</td><td class="module"><a href="Distribution-Compat-Graph.html#v:deleteLookup">Distribution.Compat.Graph</a></td></tr><tr><td class="src">deleteMax</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">deleteMin</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">deletePackageDB</td><td class="module"><a href="Distribution-Simple-Register.html#v:deletePackageDB">Distribution.Simple.Register</a></td></tr><tr><td class="src">deletePackageName</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:deletePackageName">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">deleteSourcePackageId</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:deleteSourcePackageId">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">deleteUnitId</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:deleteUnitId">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">depAbiHash</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:depAbiHash">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">Dependency</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-Dependency.html#t:Dependency">Distribution.Types.Dependency</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-Dependency.html#v:Dependency">Distribution.Types.Dependency</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">dependencyClosure</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:dependencyClosure">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">dependencyCycles</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:dependencyCycles">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">dependencyGraph</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:dependencyGraph">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">dependencyInconsistencies</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:dependencyInconsistencies">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">DependencyMap</td><td class="module"><a href="Distribution-Types-DependencyMap.html#t:DependencyMap">Distribution.Types.DependencyMap</a></td></tr><tr><td class="src">depends</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:depends">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">depLibraryPaths</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:depLibraryPaths">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">depPkgName</td><td class="module"><a href="Distribution-Types-Dependency.html#v:depPkgName">Distribution.Types.Dependency</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">deprecatedExtensions</td><td class="module"><a href="Language-Haskell-Extension.html#v:deprecatedExtensions">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">depUnitId</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:depUnitId">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">depVerRange</td><td class="module"><a href="Distribution-Types-Dependency.html#v:depVerRange">Distribution.Types.Dependency</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">DeriveAnyClass</td><td class="module"><a href="Language-Haskell-Extension.html#v:DeriveAnyClass">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">DeriveDataTypeable</td><td class="module"><a href="Language-Haskell-Extension.html#v:DeriveDataTypeable">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">DeriveFoldable</td><td class="module"><a href="Language-Haskell-Extension.html#v:DeriveFoldable">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">DeriveFunctor</td><td class="module"><a href="Language-Haskell-Extension.html#v:DeriveFunctor">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">DeriveGeneric</td><td class="module"><a href="Language-Haskell-Extension.html#v:DeriveGeneric">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">DeriveLift</td><td class="module"><a href="Language-Haskell-Extension.html#v:DeriveLift">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">DeriveTraversable</td><td class="module"><a href="Language-Haskell-Extension.html#v:DeriveTraversable">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">descCabalVersion</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:descCabalVersion">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:descCabalVersion">Distribution.PackageDescription</a></td></tr><tr><td class="src">describe</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:describe">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">describeInvocation</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:describeInvocation">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">Description</td><td class="module"><a href="Distribution-Simple-Command.html#t:Description">Distribution.Simple.Command</a></td></tr><tr><td class="src">description</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:description">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:description">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:description">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">desugarBuildTool</td><td class="module"><a href="Distribution-Simple-BuildToolDepends.html#v:desugarBuildTool">Distribution.Simple.BuildToolDepends</a></td></tr><tr><td class="src">die</td><td class="module"><a href="Distribution-Simple-Utils.html#v:die">Distribution.Simple.Utils</a></td></tr><tr><td class="src">die'</td><td class="module"><a href="Distribution-Simple-Utils.html#v:die-39-">Distribution.Simple.Utils</a></td></tr><tr><td class="src">dieNoVerbosity</td><td class="module"><a href="Distribution-Simple-Utils.html#v:dieNoVerbosity">Distribution.Simple.Utils</a></td></tr><tr><td class="src">dieNoWrap</td><td class="module"><a href="Distribution-Simple-Utils.html#v:dieNoWrap">Distribution.Simple.Utils</a></td></tr><tr><td class="src">dieProgress</td><td class="module"><a href="Distribution-Utils-LogProgress.html#v:dieProgress">Distribution.Utils.LogProgress</a></td></tr><tr><td class="src">dieWithLocation</td><td class="module"><a href="Distribution-Simple-Utils.html#v:dieWithLocation">Distribution.Simple.Utils</a></td></tr><tr><td class="src">dieWithLocation'</td><td class="module"><a href="Distribution-Simple-Utils.html#v:dieWithLocation-39-">Distribution.Simple.Utils</a></td></tr><tr><td class="src">difference</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">differenceVersionRanges</td><td class="module"><a href="Distribution-Version.html#v:differenceVersionRanges">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">differenceWith</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">differenceWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">Direct</td><td class="module"><a href="Distribution-Simple-Setup.html#v:Direct">Distribution.Simple.Setup</a></td></tr><tr><td class="src">DisabledAllBenchmarks</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:DisabledAllBenchmarks">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">DisabledAllButOne</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:DisabledAllButOne">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">DisabledAllTests</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:DisabledAllTests">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">DisabledComponent</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:DisabledComponent">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">DisableExtension</td><td class="module"><a href="Language-Haskell-Extension.html#v:DisableExtension">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">DisambiguateRecordFields</td><td class="module"><a href="Language-Haskell-Extension.html#v:DisambiguateRecordFields">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">disp</td><td class="module"><a href="Distribution-Text.html#v:disp">Distribution.Text</a></td></tr><tr><td class="src">dispComponentsWithDeps</td><td class="module"><a href="Distribution-Backpack-ComponentsGraph.html#v:dispComponentsWithDeps">Distribution.Backpack.ComponentsGraph</a></td></tr><tr><td class="src">dispConfiguredComponent</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:dispConfiguredComponent">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">dispFlagAssignment</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:dispFlagAssignment">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:dispFlagAssignment">Distribution.PackageDescription</a></td></tr><tr><td class="src">display</td><td class="module"><a href="Distribution-Text.html#v:display">Distribution.Text</a></td></tr><tr><td class="src">displayException</td><td class="module"><a href="Distribution-Compat-Exception.html#v:displayException">Distribution.Compat.Exception</a></td></tr><tr><td class="src">dispLinkedComponent</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:dispLinkedComponent">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">dispOpenModuleSubst</td><td class="module"><a href="Distribution-Backpack.html#v:dispOpenModuleSubst">Distribution.Backpack</a></td></tr><tr><td class="src">dispOpenModuleSubstEntry</td><td class="module"><a href="Distribution-Backpack.html#v:dispOpenModuleSubstEntry">Distribution.Backpack</a></td></tr><tr><td class="src">div</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">divMod</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">DList</td><td class="module"><a href="Distribution-Compat-DList.html#t:DList">Distribution.Compat.DList</a></td></tr><tr><td class="src">dllExtension</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:dllExtension">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">DoAndIfThenElse</td><td class="module"><a href="Language-Haskell-Extension.html#v:DoAndIfThenElse">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">docdir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:docdir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">DocdirVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:DocdirVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">doctest</td><td class="module"><a href="Distribution-Simple-Doctest.html#v:doctest">Distribution.Simple.Doctest</a></td></tr><tr><td class="src">doctestCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:doctestCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">doctestDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:doctestDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">DoctestFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:DoctestFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:DoctestFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">doctestHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:doctestHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:doctestHook">Distribution.Simple</a></td></tr><tr><td class="src">doctestProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:doctestProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:doctestProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">doctestProgramArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:doctestProgramArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">doctestProgramPaths</td><td class="module"><a href="Distribution-Simple-Setup.html#v:doctestProgramPaths">Distribution.Simple.Setup</a></td></tr><tr><td class="src">doctestVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:doctestVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">doesDirectoryExist</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:doesDirectoryExist">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">doesExecutableExist</td><td class="module"><a href="Distribution-Simple-Utils.html#v:doesExecutableExist">Distribution.Simple.Utils</a></td></tr><tr><td class="src">doesFileExist</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:doesFileExist">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">doesPackageDBExist</td><td class="module"><a href="Distribution-Simple-Register.html#v:doesPackageDBExist">Distribution.Simple.Register</a></td></tr><tr><td class="src">DoRec</td><td class="module"><a href="Language-Haskell-Extension.html#v:DoRec">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Double</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">DragonFly</td><td class="module"><a href="Distribution-System.html#v:DragonFly">Distribution.System</a></td></tr><tr><td class="src">drop</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">dropExeExtension</td><td class="module"><a href="Distribution-Simple-Utils.html#v:dropExeExtension">Distribution.Simple.Utils</a></td></tr><tr><td class="src">dropWhile</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">dropWhileAntitone</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">dropWhileEndLE</td><td class="module"><a href="Distribution-Utils-Generic.html#v:dropWhileEndLE">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:dropWhileEndLE">Distribution.Simple.Utils</a></td></tr><tr><td class="src">dump</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:dump">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">dumpInvocation</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:dumpInvocation">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">DuplicateRecordFields</td><td class="module"><a href="Language-Haskell-Extension.html#v:DuplicateRecordFields">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Dyn</td><td class="module"><a href="Distribution-Simple-Hpc.html#v:Dyn">Distribution.Simple.Hpc</a></td></tr><tr><td class="src">dynlibdir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:dynlibdir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">DynlibdirVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:DynlibdirVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - E)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - E</p><table><tr><td class="src">EarlierVersion</td><td class="module"><a href="Distribution-Version.html#v:EarlierVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">earlierVersion</td><td class="module"><a href="Distribution-Version.html#v:earlierVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">Either</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">either</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">elem</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:elem">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">elemAt</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">elems</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">empty</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:empty">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Compat-Graph.html#v:empty">Distribution.Compat.Graph</a></td></tr><tr><td class="src">emptyBenchmark</td><td class="module"><a href="Distribution-Types-Benchmark.html#v:emptyBenchmark">Distribution.Types.Benchmark</a>, <a href="Distribution-PackageDescription.html#v:emptyBenchmark">Distribution.PackageDescription</a></td></tr><tr><td class="src">emptyBenchmarkFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyBenchmarkFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptyBuildFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyBuildFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptyBuildInfo</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:emptyBuildInfo">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:emptyBuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="src">EmptyCase</td><td class="module"><a href="Language-Haskell-Extension.html#v:EmptyCase">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">emptyCleanFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyCleanFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptyConfigFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyConfigFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptyCopyFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyCopyFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">EmptyDataDecls</td><td class="module"><a href="Language-Haskell-Extension.html#v:EmptyDataDecls">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">emptyDoctestFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyDoctestFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptyExecutable</td><td class="module"><a href="Distribution-Types-Executable.html#v:emptyExecutable">Distribution.Types.Executable</a>, <a href="Distribution-PackageDescription.html#v:emptyExecutable">Distribution.PackageDescription</a></td></tr><tr><td class="src">emptyFlag</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:emptyFlag">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:emptyFlag">Distribution.PackageDescription</a></td></tr><tr><td class="src">emptyForeignLib</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:emptyForeignLib">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">emptyGlobalFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyGlobalFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptyHaddockFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyHaddockFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptyHookedBuildInfo</td><td class="module"><a href="Distribution-Types-HookedBuildInfo.html#v:emptyHookedBuildInfo">Distribution.Types.HookedBuildInfo</a>, <a href="Distribution-PackageDescription.html#v:emptyHookedBuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="src">emptyHscolourFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyHscolourFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptyInstalledPackageInfo</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:emptyInstalledPackageInfo">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">emptyInstallFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyInstallFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptyLibrary</td><td class="module"><a href="Distribution-Types-Library.html#v:emptyLibrary">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#v:emptyLibrary">Distribution.PackageDescription</a></td></tr><tr><td class="src">emptyModuleShape</td><td class="module"><a href="Distribution-Backpack-ModuleShape.html#v:emptyModuleShape">Distribution.Backpack.ModuleShape</a></td></tr><tr><td class="src">emptyPackageDescription</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:emptyPackageDescription">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:emptyPackageDescription">Distribution.PackageDescription</a></td></tr><tr><td class="src">emptyProgramConfiguration</td><td class="module"><a href="Distribution-Simple-Program.html#v:emptyProgramConfiguration">Distribution.Simple.Program</a></td></tr><tr><td class="src">emptyProgramDb</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:emptyProgramDb">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:emptyProgramDb">Distribution.Simple.Program</a></td></tr><tr><td class="src">emptyProgramInvocation</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:emptyProgramInvocation">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:emptyProgramInvocation">Distribution.Simple.Program</a></td></tr><tr><td class="src">emptyRegisterFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyRegisterFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptySDistFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptySDistFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptySourceRepo</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:emptySourceRepo">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:emptySourceRepo">Distribution.PackageDescription</a></td></tr><tr><td class="src">emptyTestFlags</td><td class="module"><a href="Distribution-Simple-Setup.html#v:emptyTestFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">emptyTestSuite</td><td class="module"><a href="Distribution-Types-TestSuite.html#v:emptyTestSuite">Distribution.Types.TestSuite</a>, <a href="Distribution-PackageDescription.html#v:emptyTestSuite">Distribution.PackageDescription</a></td></tr><tr><td class="src">emptyUserHooks</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:emptyUserHooks">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:emptyUserHooks">Distribution.Simple</a></td></tr><tr><td class="src">enabledBenchLBIs</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:enabledBenchLBIs">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">enabledBuildInfos</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:enabledBuildInfos">Distribution.Types.PackageDescription</a></td></tr><tr><td class="src">enabledComponents</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:enabledComponents">Distribution.Types.PackageDescription</a></td></tr><tr><td class="src">enabledTestLBIs</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:enabledTestLBIs">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">EnableExtension</td><td class="module"><a href="Language-Haskell-Extension.html#v:EnableExtension">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">encode</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">encodeFile</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">encodeFloat</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">encodeStringUtf8</td><td class="module"><a href="Distribution-Utils-ShortText.html#v:encodeStringUtf8">Distribution.Utils.ShortText</a></td></tr><tr><td class="src">endBy</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:endBy">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">endBy1</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:endBy1">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">Enum</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">enumFrom</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">enumFromThen</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">enumFromThenTo</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">enumFromTo</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">eof</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:eof">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">EQ</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Eq</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">equating</td><td class="module"><a href="Distribution-Utils-Generic.html#v:equating">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:equating">Distribution.Simple.Utils</a></td></tr><tr><td class="src">Error</td><td class="module"><a href="Distribution-TestSuite.html#v:Error">Distribution.TestSuite</a></td></tr><tr><td class="src">error</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">errorWithoutStackTrace</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">even</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">ExclusiveBound</td><td class="module"><a href="Distribution-Version.html#v:ExclusiveBound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">exeBuildDir</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:exeBuildDir">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">ExeComponentLocalBuildInfo</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:ExeComponentLocalBuildInfo">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:ExeComponentLocalBuildInfo">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">exeCoverage</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:exeCoverage">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:exeCoverage">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">Executable</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-Executable.html#t:Executable">Distribution.Types.Executable</a>, <a href="Distribution-PackageDescription.html#t:Executable">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-Executable.html#v:Executable">Distribution.Types.Executable</a>, <a href="Distribution-PackageDescription.html#v:Executable">Distribution.PackageDescription</a></td></tr><tr><td class="src">executableFieldDescrs</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:executableFieldDescrs">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">ExecutableNameVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:ExecutableNameVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">ExecutablePrivate</td><td class="module"><a href="Distribution-Types-ExecutableScope.html#v:ExecutablePrivate">Distribution.Types.ExecutableScope</a></td></tr><tr><td class="src">ExecutablePublic</td><td class="module"><a href="Distribution-Types-ExecutableScope.html#v:ExecutablePublic">Distribution.Types.ExecutableScope</a></td></tr><tr><td class="src">executables</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:executables">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:executables">Distribution.PackageDescription</a></td></tr><tr><td class="src">ExecutableScope</td><td class="module"><a href="Distribution-Types-ExecutableScope.html#t:ExecutableScope">Distribution.Types.ExecutableScope</a></td></tr><tr><td class="src">ExecutableScopeUnknown</td><td class="module"><a href="Distribution-Types-ExecutableScope.html#v:ExecutableScopeUnknown">Distribution.Types.ExecutableScope</a></td></tr><tr><td class="src">ExeDependency</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-ExeDependency.html#t:ExeDependency">Distribution.Types.ExeDependency</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-ExeDependency.html#v:ExeDependency">Distribution.Types.ExeDependency</a></td></tr><tr><td class="src">exeExtension</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:exeExtension">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">exeExtensions</td><td class="module"><a href="Distribution-Simple-Utils.html#v:exeExtensions">Distribution.Simple.Utils</a></td></tr><tr><td class="src">exeModules</td><td class="module"><a href="Distribution-Types-Executable.html#v:exeModules">Distribution.Types.Executable</a>, <a href="Distribution-PackageDescription.html#v:exeModules">Distribution.PackageDescription</a></td></tr><tr><td class="src">exeModulesAutogen</td><td class="module"><a href="Distribution-Types-Executable.html#v:exeModulesAutogen">Distribution.Types.Executable</a>, <a href="Distribution-PackageDescription.html#v:exeModulesAutogen">Distribution.PackageDescription</a></td></tr><tr><td class="src">exeName</td><td class="module"><a href="Distribution-Types-Executable.html#v:exeName">Distribution.Types.Executable</a>, <a href="Distribution-PackageDescription.html#v:exeName">Distribution.PackageDescription</a></td></tr><tr><td class="src">exeScope</td><td class="module"><a href="Distribution-Types-Executable.html#v:exeScope">Distribution.Types.Executable</a>, <a href="Distribution-PackageDescription.html#v:exeScope">Distribution.PackageDescription</a></td></tr><tr><td class="src">ExistentialQuantification</td><td class="module"><a href="Language-Haskell-Extension.html#v:ExistentialQuantification">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">existsAndIsMoreRecentThan</td><td class="module"><a href="Distribution-Simple-Utils.html#v:existsAndIsMoreRecentThan">Distribution.Simple.Utils</a></td></tr><tr><td class="src">exp</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">expandOpenUnitId</td><td class="module"><a href="Distribution-Backpack-FullUnitId.html#v:expandOpenUnitId">Distribution.Backpack.FullUnitId</a></td></tr><tr><td class="src">expandUnitId</td><td class="module"><a href="Distribution-Backpack-FullUnitId.html#v:expandUnitId">Distribution.Backpack.FullUnitId</a></td></tr><tr><td class="src">explanation</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:explanation">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">ExplicitForAll</td><td class="module"><a href="Language-Haskell-Extension.html#v:ExplicitForAll">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">explicitLibModules</td><td class="module"><a href="Distribution-Types-Library.html#v:explicitLibModules">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#v:explicitLibModules">Distribution.PackageDescription</a></td></tr><tr><td class="src">ExplicitNamespaces</td><td class="module"><a href="Language-Haskell-Extension.html#v:ExplicitNamespaces">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">exponent</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">expose</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:expose">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">exposed</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:exposed">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">ExposedModule</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#t:ExposedModule">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:ExposedModule">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">exposedModules</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-Library.html#v:exposedModules">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#v:exposedModules">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:exposedModules">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">exposedName</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:exposedName">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">exposedReexport</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:exposedReexport">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">exposeInvocation</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:exposeInvocation">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">extendConfiguredComponentMap</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:extendConfiguredComponentMap">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">ExtendedDefaultRules</td><td class="module"><a href="Language-Haskell-Extension.html#v:ExtendedDefaultRules">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">extendLinkedComponentMap</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:extendLinkedComponentMap">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">ExtensibleRecords</td><td class="module"><a href="Language-Haskell-Extension.html#v:ExtensibleRecords">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Extension</td><td class="module"><a href="Language-Haskell-Extension.html#t:Extension">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">extensionsToFlags</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:extensionsToFlags">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">externalPackageDeps</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:externalPackageDeps">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:externalPackageDeps">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">extraConfigArgs</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:extraConfigArgs">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:extraConfigArgs">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">extractCondition</td><td class="module"><a href="Distribution-Types-CondTree.html#v:extractCondition">Distribution.Types.CondTree</a>, <a href="Distribution-PackageDescription-Configuration.html#v:extractCondition">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">extractConditions</td><td class="module"><a href="Distribution-PackageDescription-Configuration.html#v:extractConditions">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">extraDocFiles</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:extraDocFiles">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:extraDocFiles">Distribution.PackageDescription</a></td></tr><tr><td class="src">extraFrameworkDirs</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:extraFrameworkDirs">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:extraFrameworkDirs">Distribution.PackageDescription</a></td></tr><tr><td class="src">extraGHCiLibraries</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:extraGHCiLibraries">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">extraGHCiLibs</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:extraGHCiLibs">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:extraGHCiLibs">Distribution.PackageDescription</a></td></tr><tr><td class="src">extraLibDirs</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:extraLibDirs">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:extraLibDirs">Distribution.PackageDescription</a></td></tr><tr><td class="src">extraLibraries</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:extraLibraries">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">extraLibs</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:extraLibs">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:extraLibs">Distribution.PackageDescription</a></td></tr><tr><td class="src">ExtraOptions</td><td class="module"><a href="Distribution-TestSuite.html#v:ExtraOptions">Distribution.TestSuite</a></td></tr><tr><td class="src">extraSrcFiles</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:extraSrcFiles">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:extraSrcFiles">Distribution.PackageDescription</a></td></tr><tr><td class="src">extraTmpFiles</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:extraTmpFiles">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:extraTmpFiles">Distribution.PackageDescription</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - F)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - F</p><table><tr><td class="src">Fail</td><td class="module"><a href="Distribution-TestSuite.html#v:Fail">Distribution.TestSuite</a></td></tr><tr><td class="src">fail</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">failProgress</td><td class="module"><a href="Distribution-Utils-Progress.html#v:failProgress">Distribution.Utils.Progress</a></td></tr><tr><td class="src">failReadE</td><td class="module"><a href="Distribution-ReadE.html#v:failReadE">Distribution.ReadE</a></td></tr><tr><td class="src">Failures</td><td class="module"><a href="Distribution-Simple-Setup.html#v:Failures">Distribution.Simple.Setup</a></td></tr><tr><td class="src">False</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">falseArg</td><td class="module"><a href="Distribution-Simple-Setup.html#v:falseArg">Distribution.Simple.Setup</a></td></tr><tr><td class="src">FieldDescr</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:FieldDescr">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">fieldGet</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:fieldGet">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">fieldName</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:fieldName">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">fieldSet</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:fieldSet">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">fieldsInstalledPackageInfo</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:fieldsInstalledPackageInfo">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">FileGlob</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Utils.html#t:FileGlob">Distribution.Simple.Utils</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Utils.html#v:FileGlob">Distribution.Simple.Utils</a></td></tr><tr><td class="src">fileHasBOM</td><td class="module"><a href="Distribution-Utils-Generic.html#v:fileHasBOM">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:fileHasBOM">Distribution.Simple.Utils</a></td></tr><tr><td class="src">filenameCDialect</td><td class="module"><a href="Distribution-Simple-CCompiler.html#v:filenameCDialect">Distribution.Simple.CCompiler</a></td></tr><tr><td class="src">FilePath</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">filter</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">filterM</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:filterM">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">filterWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">finalizePackageDescription</td><td class="module"><a href="Distribution-PackageDescription-Configuration.html#v:finalizePackageDescription">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">finalizePD</td><td class="module"><a href="Distribution-PackageDescription-Configuration.html#v:finalizePD">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">find</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:find">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">findAllFilesWithExtension</td><td class="module"><a href="Distribution-Simple-Utils.html#v:findAllFilesWithExtension">Distribution.Simple.Utils</a></td></tr><tr><td class="src">findDistPref</td><td class="module"><a href="Distribution-Simple-Configure.html#v:findDistPref">Distribution.Simple.Configure</a></td></tr><tr><td class="src">findDistPrefOrDefault</td><td class="module"><a href="Distribution-Simple-Configure.html#v:findDistPrefOrDefault">Distribution.Simple.Configure</a></td></tr><tr><td class="src">findFile</td><td class="module"><a href="Distribution-Simple-Utils.html#v:findFile">Distribution.Simple.Utils</a></td></tr><tr><td class="src">findFileWithExtension</td><td class="module"><a href="Distribution-Simple-Utils.html#v:findFileWithExtension">Distribution.Simple.Utils</a></td></tr><tr><td class="src">findFileWithExtension'</td><td class="module"><a href="Distribution-Simple-Utils.html#v:findFileWithExtension-39-">Distribution.Simple.Utils</a></td></tr><tr><td class="src">findFirstFile</td><td class="module"><a href="Distribution-Simple-Utils.html#v:findFirstFile">Distribution.Simple.Utils</a></td></tr><tr><td class="src">findHookedPackageDesc</td><td class="module"><a href="Distribution-Simple-Utils.html#v:findHookedPackageDesc">Distribution.Simple.Utils</a></td></tr><tr><td class="src">findIndex</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">findMax</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">findMin</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">findModuleFile</td><td class="module"><a href="Distribution-Simple-Utils.html#v:findModuleFile">Distribution.Simple.Utils</a></td></tr><tr><td class="src">findModuleFiles</td><td class="module"><a href="Distribution-Simple-Utils.html#v:findModuleFiles">Distribution.Simple.Utils</a></td></tr><tr><td class="src">findPackageDesc</td><td class="module"><a href="Distribution-Simple-Utils.html#v:findPackageDesc">Distribution.Simple.Utils</a></td></tr><tr><td class="src">findProgramLocation</td><td class="module"><a href="Distribution-Simple-Utils.html#v:findProgramLocation">Distribution.Simple.Utils</a>, <a href="Distribution-Simple-Program.html#v:findProgramLocation">Distribution.Simple.Program</a></td></tr><tr><td class="src">findProgramOnPath</td><td class="module"><a href="Distribution-Simple-Program.html#v:findProgramOnPath">Distribution.Simple.Program</a></td></tr><tr><td class="src">findProgramOnSearchPath</td><td class="module"><a href="Distribution-Simple-Program-Find.html#v:findProgramOnSearchPath">Distribution.Simple.Program.Find</a>, <a href="Distribution-Simple-Program.html#v:findProgramOnSearchPath">Distribution.Simple.Program</a></td></tr><tr><td class="src">findProgramVersion</td><td class="module"><a href="Distribution-Simple-Utils.html#v:findProgramVersion">Distribution.Simple.Utils</a>, <a href="Distribution-Simple-Program.html#v:findProgramVersion">Distribution.Simple.Program</a></td></tr><tr><td class="src">findWithDefault</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">Finished</td><td class="module"><a href="Distribution-TestSuite.html#v:Finished">Distribution.TestSuite</a></td></tr><tr><td class="src">first</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:first">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Flag</td><td> </td></tr><tr><td class="alt">1 (Data Constructor)</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:Flag">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:Flag">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Type/Class)</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#t:Flag">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#t:Flag">Distribution.PackageDescription</a></td></tr><tr><td class="alt">3 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Compiler.html#t:Flag">Distribution.Simple.Compiler</a></td></tr><tr><td class="alt">4 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:Flag">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">5 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:Flag">Distribution.Simple.Setup</a></td></tr><tr><td class="src">FlagAssignment</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#t:FlagAssignment">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#t:FlagAssignment">Distribution.PackageDescription</a></td></tr><tr><td class="src">flagAssignment</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:flagAssignment">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:flagAssignment">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">flagDebugInfo</td><td class="module"><a href="Distribution-Simple-GHC.html#v:flagDebugInfo">Distribution.Simple.GHC</a></td></tr><tr><td class="src">flagDefault</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:flagDefault">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:flagDefault">Distribution.PackageDescription</a></td></tr><tr><td class="src">flagDescription</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:flagDescription">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:flagDescription">Distribution.PackageDescription</a></td></tr><tr><td class="src">flagFieldDescrs</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:flagFieldDescrs">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">flagGhciScript</td><td class="module"><a href="Distribution-Simple-GHC.html#v:flagGhciScript">Distribution.Simple.GHC</a></td></tr><tr><td class="src">flagManual</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:flagManual">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:flagManual">Distribution.PackageDescription</a></td></tr><tr><td class="src">FlagName</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#t:FlagName">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#t:FlagName">Distribution.PackageDescription</a></td></tr><tr><td class="src">flagName</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:flagName">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:flagName">Distribution.PackageDescription</a></td></tr><tr><td class="src">flagPackageConf</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:flagPackageConf">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:flagPackageConf">Distribution.Simple.GHC</a></td></tr><tr><td class="src">flagProfAuto</td><td class="module"><a href="Distribution-Simple-GHC.html#v:flagProfAuto">Distribution.Simple.GHC</a></td></tr><tr><td class="src">flagToDebugInfoLevel</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:flagToDebugInfoLevel">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">flagToList</td><td class="module"><a href="Distribution-Simple-Setup.html#v:flagToList">Distribution.Simple.Setup</a></td></tr><tr><td class="src">flagToMaybe</td><td class="module"><a href="Distribution-Simple-Setup.html#v:flagToMaybe">Distribution.Simple.Setup</a></td></tr><tr><td class="src">flagToOptimisationLevel</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:flagToOptimisationLevel">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">flagToProfDetailLevel</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:flagToProfDetailLevel">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">flagToVerbosity</td><td class="module"><a href="Distribution-Verbosity.html#v:flagToVerbosity">Distribution.Verbosity</a></td></tr><tr><td class="src">flagWarnMissingHomeModules</td><td class="module"><a href="Distribution-Simple-GHC.html#v:flagWarnMissingHomeModules">Distribution.Simple.GHC</a></td></tr><tr><td class="src">flatStyle</td><td class="module"><a href="Distribution-Text.html#v:flatStyle">Distribution.Text</a></td></tr><tr><td class="src">flattenPackageDescription</td><td class="module"><a href="Distribution-PackageDescription-Configuration.html#v:flattenPackageDescription">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">FlexibleContexts</td><td class="module"><a href="Language-Haskell-Extension.html#v:FlexibleContexts">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">FlexibleInstances</td><td class="module"><a href="Language-Haskell-Extension.html#v:FlexibleInstances">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">flibBuildDir</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:flibBuildDir">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">FLibComponentLocalBuildInfo</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:FLibComponentLocalBuildInfo">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:FLibComponentLocalBuildInfo">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">flibdir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:flibdir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">flip</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Float</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">floatDigits</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Floating</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">floatRadix</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">floatRange</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">floor</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">fmap</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Foldable</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:Foldable">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">foldComponent</td><td class="module"><a href="Distribution-Types-Component.html#v:foldComponent">Distribution.Types.Component</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:foldComponent">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">foldl</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:foldl">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">foldl'</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:foldl-39-">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">foldl1</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:foldl1">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">foldlWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">foldlWithKey'</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">foldM</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:foldM">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">foldMap</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:foldMap">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">foldMapWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">foldProgress</td><td class="module"><a href="Distribution-Utils-Progress.html#v:foldProgress">Distribution.Utils.Progress</a></td></tr><tr><td class="src">foldr</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:foldr">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">foldr'</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">foldr1</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:foldr1">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">foldrWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">foldrWithKey'</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">foldVersionRange</td><td class="module"><a href="Distribution-Version.html#v:foldVersionRange">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">foldVersionRange'</td><td class="module"><a href="Distribution-Version.html#v:foldVersionRange-39-">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">for</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:for">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">ForDevelopment</td><td class="module"><a href="Distribution-Simple-Setup.html#v:ForDevelopment">Distribution.Simple.Setup</a></td></tr><tr><td class="src">ForeignFunctionInterface</td><td class="module"><a href="Language-Haskell-Extension.html#v:ForeignFunctionInterface">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">ForeignLib</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-ForeignLib.html#t:ForeignLib">Distribution.Types.ForeignLib</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:ForeignLib">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">foreignLibBuildInfo</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:foreignLibBuildInfo">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">foreignLibFieldDescrs</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:foreignLibFieldDescrs">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">foreignLibIsShared</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:foreignLibIsShared">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">foreignLibModDefFile</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:foreignLibModDefFile">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">foreignLibModules</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:foreignLibModules">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">foreignLibName</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:foreignLibName">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">ForeignLibNativeShared</td><td class="module"><a href="Distribution-Types-ForeignLibType.html#v:ForeignLibNativeShared">Distribution.Types.ForeignLibType</a></td></tr><tr><td class="src">ForeignLibNativeStatic</td><td class="module"><a href="Distribution-Types-ForeignLibType.html#v:ForeignLibNativeStatic">Distribution.Types.ForeignLibType</a></td></tr><tr><td class="src">ForeignLibOption</td><td class="module"><a href="Distribution-Types-ForeignLibOption.html#t:ForeignLibOption">Distribution.Types.ForeignLibOption</a></td></tr><tr><td class="src">foreignLibOptions</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:foreignLibOptions">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">foreignLibs</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:foreignLibs">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:foreignLibs">Distribution.PackageDescription</a></td></tr><tr><td class="src">ForeignLibStandalone</td><td class="module"><a href="Distribution-Types-ForeignLibOption.html#v:ForeignLibStandalone">Distribution.Types.ForeignLibOption</a></td></tr><tr><td class="src">ForeignLibType</td><td class="module"><a href="Distribution-Types-ForeignLibType.html#t:ForeignLibType">Distribution.Types.ForeignLibType</a></td></tr><tr><td class="src">foreignLibType</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:foreignLibType">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">foreignLibTypeIsShared</td><td class="module"><a href="Distribution-Types-ForeignLibType.html#v:foreignLibTypeIsShared">Distribution.Types.ForeignLibType</a></td></tr><tr><td class="src">ForeignLibTypeUnknown</td><td class="module"><a href="Distribution-Types-ForeignLibType.html#v:ForeignLibTypeUnknown">Distribution.Types.ForeignLibType</a></td></tr><tr><td class="src">foreignLibVersion</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:foreignLibVersion">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">foreignLibVersionInfo</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:foreignLibVersionInfo">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">foreignLibVersionLinux</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:foreignLibVersionLinux">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">ForHackage</td><td class="module"><a href="Distribution-Simple-Setup.html#v:ForHackage">Distribution.Simple.Setup</a></td></tr><tr><td class="src">for_</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:for_">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">FoundOnSystem</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:FoundOnSystem">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:FoundOnSystem">Distribution.Simple.Program</a></td></tr><tr><td class="src">Fractional</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">frameworkDirs</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:frameworkDirs">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">frameworks</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:frameworks">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:frameworks">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:frameworks">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">FreeBSD</td><td class="module"><a href="Distribution-System.html#v:FreeBSD">Distribution.System</a></td></tr><tr><td class="src">freeVars</td><td class="module"><a href="Distribution-PackageDescription-Configuration.html#v:freeVars">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">fromAscList</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">fromAscListWith</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">fromAscListWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">fromComponents</td><td class="module"><a href="Distribution-ModuleName.html#v:fromComponents">Distribution.ModuleName</a></td></tr><tr><td class="src">fromDepMap</td><td class="module"><a href="Distribution-Types-DependencyMap.html#v:fromDepMap">Distribution.Types.DependencyMap</a></td></tr><tr><td class="src">fromDescList</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">fromDescListWith</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">fromDescListWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">fromDistinctAscList</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">fromDistinctDescList</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">fromDistinctList</td><td class="module"><a href="Distribution-Compat-Graph.html#v:fromDistinctList">Distribution.Compat.Graph</a></td></tr><tr><td class="src">fromEnum</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">fromFlag</td><td class="module"><a href="Distribution-Simple-Setup.html#v:fromFlag">Distribution.Simple.Setup</a></td></tr><tr><td class="src">fromFlagOrDefault</td><td class="module"><a href="Distribution-Simple-Setup.html#v:fromFlagOrDefault">Distribution.Simple.Setup</a></td></tr><tr><td class="src">fromInteger</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">fromIntegral</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">fromList</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:fromList">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">fromListWith</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">fromListWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">fromMaybe</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:fromMaybe">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">fromNubList</td><td class="module"><a href="Distribution-Utils-NubList.html#v:fromNubList">Distribution.Utils.NubList</a></td></tr><tr><td class="src">fromNubListR</td><td class="module"><a href="Distribution-Utils-NubList.html#v:fromNubListR">Distribution.Utils.NubList</a></td></tr><tr><td class="src">fromPathTemplate</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:fromPathTemplate">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">fromRational</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">fromSet</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">fromShortText</td><td class="module"><a href="Distribution-Utils-ShortText.html#v:fromShortText">Distribution.Utils.ShortText</a></td></tr><tr><td class="src">FromString</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:FromString">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">fromString</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:fromString">Distribution.Compat.Prelude.Internal</a>, <a href="Distribution-ModuleName.html#v:fromString">Distribution.ModuleName</a></td></tr><tr><td class="src">fromUTF8</td><td class="module"><a href="Distribution-Utils-Generic.html#v:fromUTF8">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:fromUTF8">Distribution.Simple.Utils</a></td></tr><tr><td class="src">fromUTF8BS</td><td class="module"><a href="Distribution-Utils-Generic.html#v:fromUTF8BS">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:fromUTF8BS">Distribution.Simple.Utils</a></td></tr><tr><td class="src">fromUTF8LBS</td><td class="module"><a href="Distribution-Utils-Generic.html#v:fromUTF8LBS">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:fromUTF8LBS">Distribution.Simple.Utils</a></td></tr><tr><td class="src">fromVersionIntervals</td><td class="module"><a href="Distribution-Version.html#v:fromVersionIntervals">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">fst</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">FullDb</td><td class="module"><a href="Distribution-Backpack-FullUnitId.html#t:FullDb">Distribution.Backpack.FullUnitId</a></td></tr><tr><td class="src">FullUnitId</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Backpack-FullUnitId.html#t:FullUnitId">Distribution.Backpack.FullUnitId</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Backpack-FullUnitId.html#v:FullUnitId">Distribution.Backpack.FullUnitId</a></td></tr><tr><td class="src">FunctionalDependencies</td><td class="module"><a href="Language-Haskell-Extension.html#v:FunctionalDependencies">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Functor</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - G)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - G</p><table><tr><td class="src">GADTs</td><td class="module"><a href="Language-Haskell-Extension.html#v:GADTs">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">GADTSyntax</td><td class="module"><a href="Language-Haskell-Extension.html#v:GADTSyntax">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">gather</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:gather">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">GBinaryGet</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">GBinaryPut</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">gccProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:gccProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:gccProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">gcd</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">generalInstalledPackageInfo</td><td class="module"><a href="Distribution-Simple-Register.html#v:generalInstalledPackageInfo">Distribution.Simple.Register</a></td></tr><tr><td class="src">GeneralizedNewtypeDeriving</td><td class="module"><a href="Language-Haskell-Extension.html#v:GeneralizedNewtypeDeriving">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">generate</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-Build-Macros.html#v:generate">Distribution.Simple.Build.Macros</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Build-PathsModule.html#v:generate">Distribution.Simple.Build.PathsModule</a></td></tr><tr><td class="src">generatePackageVersionMacros</td><td class="module"><a href="Distribution-Simple-Build-Macros.html#v:generatePackageVersionMacros">Distribution.Simple.Build.Macros</a></td></tr><tr><td class="src">generateRegistrationInfo</td><td class="module"><a href="Distribution-Simple-Register.html#v:generateRegistrationInfo">Distribution.Simple.Register</a></td></tr><tr><td class="src">Generic</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:Generic">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">GenericPackageDescription</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#t:GenericPackageDescription">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:GenericPackageDescription">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:GenericPackageDescription">Distribution.PackageDescription</a></td></tr><tr><td class="src">genericRnf</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:genericRnf">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Generics</td><td class="module"><a href="Language-Haskell-Extension.html#v:Generics">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">genPackageFlags</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:genPackageFlags">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:genPackageFlags">Distribution.PackageDescription</a></td></tr><tr><td class="src">Get</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">get</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Binary, <a href="Distribution-Compat-Prelude-Internal.html#v:get">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:get">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">getAll</td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:getAll">Distribution.Compat.Semigroup</a></td></tr><tr><td class="src">getAllInternalToolDependencies</td><td class="module"><a href="Distribution-Simple-BuildToolDepends.html#v:getAllInternalToolDependencies">Distribution.Simple.BuildToolDepends</a></td></tr><tr><td class="src">getAllToolDependencies</td><td class="module"><a href="Distribution-Simple-BuildToolDepends.html#v:getAllToolDependencies">Distribution.Simple.BuildToolDepends</a></td></tr><tr><td class="src">getAny</td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:getAny">Distribution.Compat.Semigroup</a></td></tr><tr><td class="src">getChar</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">getCompilerVersion</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:getCompilerVersion">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="src">getComponent</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:getComponent">Distribution.Types.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:getComponent">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">getComponentLocalBuildInfo</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:getComponentLocalBuildInfo">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">getConfigStateFile</td><td class="module"><a href="Distribution-Simple-Configure.html#v:getConfigStateFile">Distribution.Simple.Configure</a></td></tr><tr><td class="src">getContents</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">getCurTime</td><td class="module"><a href="Distribution-Compat-Time.html#v:getCurTime">Distribution.Compat.Time</a></td></tr><tr><td class="src">getDbProgramOutput</td><td class="module"><a href="Distribution-Simple-Program.html#v:getDbProgramOutput">Distribution.Simple.Program</a></td></tr><tr><td class="src">getDirectoryContents</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:getDirectoryContents">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">getDirectoryContentsRecursive</td><td class="module"><a href="Distribution-Simple-Utils.html#v:getDirectoryContentsRecursive">Distribution.Simple.Utils</a></td></tr><tr><td class="src">getEffectiveEnvironment</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:getEffectiveEnvironment">Distribution.Simple.Program.Run</a></td></tr><tr><td class="src">getExeSourceFiles</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:getExeSourceFiles">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">getExtensions</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:getExtensions">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="src">getFileAge</td><td class="module"><a href="Distribution-Compat-Time.html#v:getFileAge">Distribution.Compat.Time</a></td></tr><tr><td class="src">getFileContents</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:getFileContents">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">getFLibSourceFiles</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:getFLibSourceFiles">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">getGhcInfo</td><td class="module"><a href="Distribution-Simple-GHC.html#v:getGhcInfo">Distribution.Simple.GHC</a></td></tr><tr><td class="src">getGlobalPackageDB</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:getGlobalPackageDB">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:getGlobalPackageDB">Distribution.Simple.GHC</a></td></tr><tr><td class="src">getHSLibraryName</td><td class="module"><a href="Distribution-Types-UnitId.html#v:getHSLibraryName">Distribution.Types.UnitId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">getImplInfo</td><td class="module"><a href="Distribution-Simple-GHC.html#v:getImplInfo">Distribution.Simple.GHC</a></td></tr><tr><td class="src">getInstalledPackages</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-UHC.html#v:getInstalledPackages">Distribution.Simple.UHC</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-LHC.html#v:getInstalledPackages">Distribution.Simple.LHC</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Simple-JHC.html#v:getInstalledPackages">Distribution.Simple.JHC</a></td></tr><tr><td class="alt">4 (Function)</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:getInstalledPackages">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="alt">5 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:getInstalledPackages">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">6 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:getInstalledPackages">Distribution.Simple.GHC</a></td></tr><tr><td class="alt">7 (Function)</td><td class="module"><a href="Distribution-Simple-Configure.html#v:getInstalledPackages">Distribution.Simple.Configure</a></td></tr><tr><td class="src">getInstalledPackagesMonitorFiles</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:getInstalledPackagesMonitorFiles">Distribution.Simple.GHC</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Configure.html#v:getInstalledPackagesMonitorFiles">Distribution.Simple.Configure</a></td></tr><tr><td class="src">getInternalPackages</td><td class="module"><a href="Distribution-Simple-Configure.html#v:getInternalPackages">Distribution.Simple.Configure</a></td></tr><tr><td class="src">getLanguages</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:getLanguages">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="src">getLast'</td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:getLast-39-">Distribution.Compat.Semigroup</a></td></tr><tr><td class="src">getLibDir</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:getLibDir">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:getLibDir">Distribution.Simple.GHC</a></td></tr><tr><td class="src">getLibSourceFiles</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:getLibSourceFiles">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">getLine</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">getModTime</td><td class="module"><a href="Distribution-Compat-Time.html#v:getModTime">Distribution.Compat.Time</a></td></tr><tr><td class="src">getNormalCommandDescriptions</td><td class="module"><a href="Distribution-Simple-Command.html#v:getNormalCommandDescriptions">Distribution.Simple.Command</a></td></tr><tr><td class="src">getPackageDBContents</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:getPackageDBContents">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:getPackageDBContents">Distribution.Simple.GHC</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Simple-Configure.html#v:getPackageDBContents">Distribution.Simple.Configure</a></td></tr><tr><td class="src">getPersistBuildConfig</td><td class="module"><a href="Distribution-Simple-Configure.html#v:getPersistBuildConfig">Distribution.Simple.Configure</a></td></tr><tr><td class="src">getProgramInvocationOutput</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:getProgramInvocationOutput">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:getProgramInvocationOutput">Distribution.Simple.Program</a></td></tr><tr><td class="src">getProgramOutput</td><td class="module"><a href="Distribution-Simple-Program.html#v:getProgramOutput">Distribution.Simple.Program</a></td></tr><tr><td class="src">getProgramSearchPath</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:getProgramSearchPath">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:getProgramSearchPath">Distribution.Simple.Program</a></td></tr><tr><td class="src">getSourceFiles</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:getSourceFiles">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">getSystemSearchPath</td><td class="module"><a href="Distribution-Simple-Program-Find.html#v:getSystemSearchPath">Distribution.Simple.Program.Find</a></td></tr><tr><td class="src">getWord8</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">gget</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">GHC</td><td class="module"><a href="Distribution-Compiler.html#v:GHC">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">GhcDynamicOnly</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcDynamicOnly">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcDynLinkMode</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#t:GhcDynLinkMode">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcEnvFileClearPackageDbStack</td><td class="module"><a href="Distribution-Simple-GHC.html#v:GhcEnvFileClearPackageDbStack">Distribution.Simple.GHC</a></td></tr><tr><td class="src">GhcEnvFileComment</td><td class="module"><a href="Distribution-Simple-GHC.html#v:GhcEnvFileComment">Distribution.Simple.GHC</a></td></tr><tr><td class="src">GhcEnvFilePackageDb</td><td class="module"><a href="Distribution-Simple-GHC.html#v:GhcEnvFilePackageDb">Distribution.Simple.GHC</a></td></tr><tr><td class="src">GhcEnvFilePackageId</td><td class="module"><a href="Distribution-Simple-GHC.html#v:GhcEnvFilePackageId">Distribution.Simple.GHC</a></td></tr><tr><td class="src">GhcEnvironmentFileEntry</td><td class="module"><a href="Distribution-Simple-GHC.html#t:GhcEnvironmentFileEntry">Distribution.Simple.GHC</a></td></tr><tr><td class="src">GHCForeignImportPrim</td><td class="module"><a href="Language-Haskell-Extension.html#v:GHCForeignImportPrim">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">GhcImplInfo</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-GHC.html#t:GhcImplInfo">Distribution.Simple.GHC</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:GhcImplInfo">Distribution.Simple.GHC</a></td></tr><tr><td class="src">ghcInvocation</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcInvocation">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GHCJS</td><td class="module"><a href="Distribution-Compiler.html#v:GHCJS">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">Ghcjs</td><td class="module"><a href="Distribution-System.html#v:Ghcjs">Distribution.System</a></td></tr><tr><td class="src">ghcjsPkgProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:ghcjsPkgProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:ghcjsPkgProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">ghcjsProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:ghcjsProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:ghcjsProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">GhcMaximumOptimisation</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcMaximumOptimisation">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcMode</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#t:GhcMode">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcModeAbiHash</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcModeAbiHash">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcModeCompile</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcModeCompile">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcModeInteractive</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcModeInteractive">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcModeLink</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcModeLink">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcModeMake</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcModeMake">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcNoOptimisation</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcNoOptimisation">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcNormalOptimisation</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcNormalOptimisation">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptCabal</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptCabal">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptCcOptions</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptCcOptions">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptCppIncludePath</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptCppIncludePath">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptCppIncludes</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptCppIncludes">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptCppOptions</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptCppOptions">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptDebugInfo</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptDebugInfo">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptDylibName</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptDylibName">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptDynHiSuffix</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptDynHiSuffix">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptDynLinkMode</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptDynLinkMode">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptDynObjSuffix</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptDynObjSuffix">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptExtensionMap</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptExtensionMap">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptExtensions</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptExtensions">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptExtra</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptExtra">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptExtraDefault</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptExtraDefault">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptExtraPath</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptExtraPath">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptFfiIncludes</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptFfiIncludes">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptFPic</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptFPic">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptGHCiScripts</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptGHCiScripts">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptHideAllPackages</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptHideAllPackages">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptHiDir</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptHiDir">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptHiSuffix</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptHiSuffix">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptHPCDir</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptHPCDir">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcOptimisation</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#t:GhcOptimisation">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptInputFiles</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptInputFiles">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptInputModules</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptInputModules">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptInstantiatedWith</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptInstantiatedWith">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcOptions</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#t:GhcOptions">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcOptions">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptions</td><td class="module"><a href="Distribution-Simple-LHC.html#v:ghcOptions">Distribution.Simple.LHC</a></td></tr><tr><td class="src">ghcOptLanguage</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptLanguage">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptLinkFrameworkDirs</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptLinkFrameworkDirs">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptLinkFrameworks</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptLinkFrameworks">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptLinkLibPath</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptLinkLibPath">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptLinkLibs</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptLinkLibs">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptLinkModDefFiles</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptLinkModDefFiles">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptLinkNoHsMain</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptLinkNoHsMain">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptLinkOptions</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptLinkOptions">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptMode</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptMode">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptNoAutoLinkPackages</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptNoAutoLinkPackages">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptNoCode</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptNoCode">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptNoLink</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptNoLink">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptNumJobs</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptNumJobs">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptObjDir</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptObjDir">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptObjSuffix</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptObjSuffix">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptOptimisation</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptOptimisation">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptOutputDir</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptOutputDir">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptOutputDynFile</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptOutputDynFile">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptOutputFile</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptOutputFile">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptPackageDBs</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptPackageDBs">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptPackages</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptPackages">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptProfilingAuto</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptProfilingAuto">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptProfilingMode</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptProfilingMode">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptRPaths</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptRPaths">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptShared</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptShared">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptSourcePath</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptSourcePath">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptSourcePathClear</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptSourcePathClear">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptSplitObjs</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptSplitObjs">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptStaticLib</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptStaticLib">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptStubDir</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptStubDir">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptThisComponentId</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptThisComponentId">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptThisUnitId</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptThisUnitId">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptVerbosity</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptVerbosity">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcOptWarnMissingHomeModules</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:ghcOptWarnMissingHomeModules">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcPkgProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:ghcPkgProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:ghcPkgProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">GhcProfAuto</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#t:GhcProfAuto">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcProfAutoAll</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcProfAutoAll">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcProfAutoExported</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcProfAutoExported">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcProfAutoToplevel</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcProfAutoToplevel">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:ghcProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:ghcProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">GhcSpecialOptimisation</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcSpecialOptimisation">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcStaticAndDynamic</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcStaticAndDynamic">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">GhcStaticOnly</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:GhcStaticOnly">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">ghcVerbosityOptions</td><td class="module"><a href="Distribution-Simple-LHC.html#v:ghcVerbosityOptions">Distribution.Simple.LHC</a></td></tr><tr><td class="src">Git</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:Git">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:Git">Distribution.PackageDescription</a></td></tr><tr><td class="src">globalCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:globalCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">GlobalFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:GlobalFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:GlobalFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">globalNumericVersion</td><td class="module"><a href="Distribution-Simple-Setup.html#v:globalNumericVersion">Distribution.Simple.Setup</a></td></tr><tr><td class="src">GlobalPackageDB</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:GlobalPackageDB">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">globalVersion</td><td class="module"><a href="Distribution-Simple-Setup.html#v:globalVersion">Distribution.Simple.Setup</a></td></tr><tr><td class="src">gmappend</td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:gmappend">Distribution.Compat.Semigroup</a>, <a href="Distribution-Compat-Prelude-Internal.html#v:gmappend">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">gmempty</td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:gmempty">Distribution.Compat.Semigroup</a>, <a href="Distribution-Compat-Prelude-Internal.html#v:gmempty">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">GnuArch</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:GnuArch">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:GnuArch">Distribution.PackageDescription</a></td></tr><tr><td class="src">GPL</td><td class="module"><a href="Distribution-License.html#v:GPL">Distribution.License</a>, <a href="Distribution-Make.html#v:GPL">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">gput</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">Graph</td><td class="module"><a href="Distribution-Compat-Graph.html#t:Graph">Distribution.Compat.Graph</a></td></tr><tr><td class="src">greencardProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:greencardProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:greencardProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">Group</td><td class="module"><a href="Distribution-TestSuite.html#v:Group">Distribution.TestSuite</a></td></tr><tr><td class="src">GroupLogs</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:GroupLogs">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">groupName</td><td class="module"><a href="Distribution-TestSuite.html#v:groupName">Distribution.TestSuite</a></td></tr><tr><td class="src">groupTests</td><td class="module"><a href="Distribution-TestSuite.html#v:groupTests">Distribution.TestSuite</a></td></tr><tr><td class="src">GT</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">guessWay</td><td class="module"><a href="Distribution-Simple-Hpc.html#v:guessWay">Distribution.Simple.Hpc</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - H)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - H</p><table><tr><td class="src">haddock</td><td class="module"><a href="Distribution-Simple-Haddock.html#v:haddock">Distribution.Simple.Haddock</a></td></tr><tr><td class="src">haddockBenchmarks</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockBenchmarks">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockContents</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockContents">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockCss</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockCss">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockdir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:haddockdir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">haddockDirName</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:haddockDirName">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">haddockDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockExecutables</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockExecutables">Distribution.Simple.Setup</a></td></tr><tr><td class="src">HaddockFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:HaddockFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:HaddockFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockForeignLibs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockForeignLibs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockForHackage</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockForHackage">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockHoogle</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockHoogle">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:haddockHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:haddockHook">Distribution.Simple</a></td></tr><tr><td class="src">haddockHscolour</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockHscolour">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockHscolourCss</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockHscolourCss">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockHtml</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockHtml">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockHtmlLocation</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockHtmlLocation">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockHTMLs</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:haddockHTMLs">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">haddockInterfaces</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:haddockInterfaces">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">haddockInternal</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockInternal">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockKeepTempFiles</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockKeepTempFiles">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockName</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:haddockName">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">haddockOptions</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockOptions">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockPackagePaths</td><td class="module"><a href="Distribution-Simple-Haddock.html#v:haddockPackagePaths">Distribution.Simple.Haddock</a></td></tr><tr><td class="src">haddockPref</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:haddockPref">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">haddockProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:haddockProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:haddockProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">haddockProgramArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockProgramArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockProgramPaths</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockProgramPaths">Distribution.Simple.Setup</a></td></tr><tr><td class="src">HaddockTarget</td><td class="module"><a href="Distribution-Simple-Setup.html#t:HaddockTarget">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockTestSuites</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockTestSuites">Distribution.Simple.Setup</a></td></tr><tr><td class="src">haddockVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:haddockVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">HaLVM</td><td class="module"><a href="Distribution-System.html#v:HaLVM">Distribution.System</a></td></tr><tr><td class="src">handleDoesNotExist</td><td class="module"><a href="Distribution-Simple-Utils.html#v:handleDoesNotExist">Distribution.Simple.Utils</a></td></tr><tr><td class="src">happyProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:happyProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:happyProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">hasBenchmarks</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:hasBenchmarks">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:hasBenchmarks">Distribution.PackageDescription</a></td></tr><tr><td class="src">hasExes</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:hasExes">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:hasExes">Distribution.PackageDescription</a></td></tr><tr><td class="src">hasForeignLibs</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:hasForeignLibs">Distribution.Types.PackageDescription</a></td></tr><tr><td class="src">hashModuleSubst</td><td class="module"><a href="Distribution-Backpack.html#v:hashModuleSubst">Distribution.Backpack</a></td></tr><tr><td class="src">Haskell2010</td><td class="module"><a href="Language-Haskell-Extension.html#v:Haskell2010">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Haskell98</td><td class="module"><a href="Language-Haskell-Extension.html#v:Haskell98">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">HaskellSuite</td><td class="module"><a href="Distribution-Compiler.html#v:HaskellSuite">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">haskellSuitePkgProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:haskellSuitePkgProgram">Distribution.Simple.Program.Builtin</a></td></tr><tr><td class="src">haskellSuiteProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:haskellSuiteProgram">Distribution.Simple.Program.Builtin</a></td></tr><tr><td class="src">hasLibs</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:hasLibs">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:hasLibs">Distribution.PackageDescription</a></td></tr><tr><td class="src">hasLowerBound</td><td class="module"><a href="Distribution-Version.html#v:hasLowerBound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">HasMungedPackageId</td><td class="module"><a href="Distribution-Package.html#t:HasMungedPackageId">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">hasPublicLib</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:hasPublicLib">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:hasPublicLib">Distribution.PackageDescription</a></td></tr><tr><td class="src">hasTests</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:hasTests">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:hasTests">Distribution.PackageDescription</a></td></tr><tr><td class="src">HasUnitId</td><td class="module"><a href="Distribution-Package.html#t:HasUnitId">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">hasUpperBound</td><td class="module"><a href="Distribution-Version.html#v:hasUpperBound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">HBC</td><td class="module"><a href="Distribution-Compiler.html#v:HBC">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">hcOptions</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:hcOptions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:hcOptions">Distribution.PackageDescription</a></td></tr><tr><td class="src">HcPkgInfo</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:HcPkgInfo">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">hcPkgInfo</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-LHC.html#v:hcPkgInfo">Distribution.Simple.LHC</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:hcPkgInfo">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:hcPkgInfo">Distribution.Simple.GHC</a></td></tr><tr><td class="src">hcPkgProgram</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:hcPkgProgram">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">hcProfOptions</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:hcProfOptions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:hcProfOptions">Distribution.PackageDescription</a></td></tr><tr><td class="src">hcSharedOptions</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:hcSharedOptions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:hcSharedOptions">Distribution.PackageDescription</a></td></tr><tr><td class="src">head</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Helium</td><td class="module"><a href="Distribution-Compiler.html#v:Helium">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">helpCommandUI</td><td class="module"><a href="Distribution-Simple-Command.html#v:helpCommandUI">Distribution.Simple.Command</a></td></tr><tr><td class="src">HereDocuments</td><td class="module"><a href="Language-Haskell-Extension.html#v:HereDocuments">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">HiddenCommand</td><td class="module"><a href="Distribution-Simple-Command.html#v:HiddenCommand">Distribution.Simple.Command</a></td></tr><tr><td class="src">hiddenCommand</td><td class="module"><a href="Distribution-Simple-Command.html#v:hiddenCommand">Distribution.Simple.Command</a></td></tr><tr><td class="src">hiddenModules</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:hiddenModules">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">hide</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:hide">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">hideInvocation</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:hideInvocation">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">HidingRenaming</td><td class="module"><a href="Distribution-Types-ModuleRenaming.html#v:HidingRenaming">Distribution.Types.ModuleRenaming</a>, <a href="Distribution-PackageDescription.html#v:HidingRenaming">Distribution.PackageDescription</a></td></tr><tr><td class="src">hmakeProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:hmakeProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:hmakeProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">homepage</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:homepage">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:homepage">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:homepage">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">HookedBuildInfo</td><td class="module"><a href="Distribution-Types-HookedBuildInfo.html#t:HookedBuildInfo">Distribution.Types.HookedBuildInfo</a>, <a href="Distribution-PackageDescription.html#t:HookedBuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="src">hookedPreProcessors</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:hookedPreProcessors">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:hookedPreProcessors">Distribution.Simple</a></td></tr><tr><td class="src">hookedPrograms</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:hookedPrograms">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:hookedPrograms">Distribution.Simple</a></td></tr><tr><td class="src">hostPlatform</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:hostPlatform">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:hostPlatform">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">hpcProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:hpcProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:hpcProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">Hppa</td><td class="module"><a href="Distribution-System.html#v:Hppa">Distribution.System</a></td></tr><tr><td class="src">HPUX</td><td class="module"><a href="Distribution-System.html#v:HPUX">Distribution.System</a></td></tr><tr><td class="src">hsc2hsProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:hsc2hsProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:hsc2hsProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">hscolour</td><td class="module"><a href="Distribution-Simple-Haddock.html#v:hscolour">Distribution.Simple.Haddock</a></td></tr><tr><td class="src">hscolourBenchmarks</td><td class="module"><a href="Distribution-Simple-Setup.html#v:hscolourBenchmarks">Distribution.Simple.Setup</a></td></tr><tr><td class="src">hscolourCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:hscolourCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">hscolourCSS</td><td class="module"><a href="Distribution-Simple-Setup.html#v:hscolourCSS">Distribution.Simple.Setup</a></td></tr><tr><td class="src">hscolourDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:hscolourDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">hscolourExecutables</td><td class="module"><a href="Distribution-Simple-Setup.html#v:hscolourExecutables">Distribution.Simple.Setup</a></td></tr><tr><td class="src">HscolourFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:HscolourFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:HscolourFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">hscolourForeignLibs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:hscolourForeignLibs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">hscolourHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:hscolourHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:hscolourHook">Distribution.Simple</a></td></tr><tr><td class="src">hscolourPref</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:hscolourPref">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">hscolourProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:hscolourProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:hscolourProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">hscolourTestSuites</td><td class="module"><a href="Distribution-Simple-Setup.html#v:hscolourTestSuites">Distribution.Simple.Setup</a></td></tr><tr><td class="src">hscolourVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:hscolourVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">hsLibraries</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:hsLibraries">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">hsSourceDirs</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:hsSourceDirs">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:hsSourceDirs">Distribution.PackageDescription</a></td></tr><tr><td class="src">hstoolVersion</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:hstoolVersion">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="src">htmlDir</td><td class="module"><a href="Distribution-Simple-Hpc.html#v:htmlDir">Distribution.Simple.Hpc</a></td></tr><tr><td class="src">htmldir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:htmldir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">HtmldirVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:HtmldirVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">Hugs</td><td class="module"><a href="Distribution-Compiler.html#v:Hugs">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">Hurd</td><td class="module"><a href="Distribution-System.html#v:Hurd">Distribution.System</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - I)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - I</p><table><tr><td class="src">I386</td><td class="module"><a href="Distribution-System.html#v:I386">Distribution.System</a></td></tr><tr><td class="src">IA64</td><td class="module"><a href="Distribution-System.html#v:IA64">Distribution.System</a></td></tr><tr><td class="src">id</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">ignoreBOM</td><td class="module"><a href="Distribution-Utils-Generic.html#v:ignoreBOM">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:ignoreBOM">Distribution.Simple.Utils</a></td></tr><tr><td class="src">ignoreConditions</td><td class="module"><a href="Distribution-Types-CondTree.html#v:ignoreConditions">Distribution.Types.CondTree</a></td></tr><tr><td class="src">Impl</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:Impl">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:Impl">Distribution.PackageDescription</a></td></tr><tr><td class="src">ImplicitParams</td><td class="module"><a href="Language-Haskell-Extension.html#v:ImplicitParams">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">ImplicitPrelude</td><td class="module"><a href="Language-Haskell-Extension.html#v:ImplicitPrelude">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">importDirs</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:importDirs">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">ImpredicativeTypes</td><td class="module"><a href="Language-Haskell-Extension.html#v:ImpredicativeTypes">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">includedir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:includedir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">includeDirs</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:includeDirs">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:includeDirs">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:includeDirs">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">includeProvidesRn</td><td class="module"><a href="Distribution-Types-IncludeRenaming.html#v:includeProvidesRn">Distribution.Types.IncludeRenaming</a></td></tr><tr><td class="src">IncludeRenaming</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-IncludeRenaming.html#t:IncludeRenaming">Distribution.Types.IncludeRenaming</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-IncludeRenaming.html#v:IncludeRenaming">Distribution.Types.IncludeRenaming</a></td></tr><tr><td class="src">includeRequiresRn</td><td class="module"><a href="Distribution-Types-IncludeRenaming.html#v:includeRequiresRn">Distribution.Types.IncludeRenaming</a></td></tr><tr><td class="src">includes</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:includes">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:includes">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:includes">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">InclusiveBound</td><td class="module"><a href="Distribution-Version.html#v:InclusiveBound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">IncoherentInstances</td><td class="module"><a href="Language-Haskell-Extension.html#v:IncoherentInstances">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">IndefFullUnitId</td><td class="module"><a href="Distribution-Backpack.html#v:IndefFullUnitId">Distribution.Backpack</a></td></tr><tr><td class="src">indefinite</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:indefinite">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">info</td><td class="module"><a href="Distribution-Simple-Utils.html#v:info">Distribution.Simple.Utils</a></td></tr><tr><td class="src">infoNoWrap</td><td class="module"><a href="Distribution-Simple-Utils.html#v:infoNoWrap">Distribution.Simple.Utils</a></td></tr><tr><td class="src">infoProgress</td><td class="module"><a href="Distribution-Utils-LogProgress.html#v:infoProgress">Distribution.Utils.LogProgress</a></td></tr><tr><td class="src">init</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:init">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">initialBuildSteps</td><td class="module"><a href="Distribution-Simple-Build.html#v:initialBuildSteps">Distribution.Simple.Build</a></td></tr><tr><td class="src">initialPathTemplateEnv</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:initialPathTemplateEnv">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">initInvocation</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:initInvocation">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">initPackageDB</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:initPackageDB">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Register.html#v:initPackageDB">Distribution.Simple.Register</a></td></tr><tr><td class="src">inplaceInstalledPackageInfo</td><td class="module"><a href="Distribution-Simple-Register.html#v:inplaceInstalledPackageInfo">Distribution.Simple.Register</a></td></tr><tr><td class="src">inplacePackageDbPath</td><td class="module"><a href="Distribution-Simple-UHC.html#v:inplacePackageDbPath">Distribution.Simple.UHC</a></td></tr><tr><td class="src">insert</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Compat-Graph.html#v:insert">Distribution.Compat.Graph</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:insert">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">insertLookupWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">insertWith</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">insertWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">install</td><td class="module"><a href="Distribution-Simple-Install.html#v:install">Distribution.Simple.Install</a></td></tr><tr><td class="src">installCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:installCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">installDirectoryContents</td><td class="module"><a href="Distribution-Simple-Utils.html#v:installDirectoryContents">Distribution.Simple.Utils</a></td></tr><tr><td class="src">InstallDirs</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#t:InstallDirs">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:InstallDirs">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">installDirsOptions</td><td class="module"><a href="Distribution-Simple-Setup.html#v:installDirsOptions">Distribution.Simple.Setup</a></td></tr><tr><td class="src">installDirsTemplateEnv</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:installDirsTemplateEnv">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">InstallDirTemplates</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#t:InstallDirTemplates">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">installDirTemplates</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:installDirTemplates">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:installDirTemplates">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">installDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:installDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">installedComponentId</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:installedComponentId">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">installedComponentId_</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:installedComponentId_">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">installedDepends</td><td class="module"><a href="Distribution-Package.html#v:installedDepends">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">installedOpenUnitId</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:installedOpenUnitId">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">InstalledPackageId</td><td class="module"><a href="Distribution-Types-UnitId.html#t:InstalledPackageId">Distribution.Types.UnitId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">installedPackageId</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Package.html#v:installedPackageId">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:installedPackageId">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">InstalledPackageIndex</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">InstalledPackageInfo</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:InstalledPackageInfo">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">installedPkgs</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:installedPkgs">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:installedPkgs">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">installedUnitId</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Package.html#v:installedUnitId">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:installedUnitId">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">installExe</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-LHC.html#v:installExe">Distribution.Simple.LHC</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-JHC.html#v:installExe">Distribution.Simple.JHC</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:installExe">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">4 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:installExe">Distribution.Simple.GHC</a></td></tr><tr><td class="src">installExecutableFile</td><td class="module"><a href="Distribution-Simple-Utils.html#v:installExecutableFile">Distribution.Simple.Utils</a></td></tr><tr><td class="src">installExecutableFiles</td><td class="module"><a href="Distribution-Simple-Utils.html#v:installExecutableFiles">Distribution.Simple.Utils</a></td></tr><tr><td class="src">InstallFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:InstallFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:InstallFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">installFLib</td><td class="module"><a href="Distribution-Simple-GHC.html#v:installFLib">Distribution.Simple.GHC</a></td></tr><tr><td class="src">installIncludes</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:installIncludes">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:installIncludes">Distribution.PackageDescription</a></td></tr><tr><td class="src">installInPlace</td><td class="module"><a href="Distribution-Simple-Setup.html#v:installInPlace">Distribution.Simple.Setup</a></td></tr><tr><td class="src">installLib</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-UHC.html#v:installLib">Distribution.Simple.UHC</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-LHC.html#v:installLib">Distribution.Simple.LHC</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Simple-JHC.html#v:installLib">Distribution.Simple.JHC</a></td></tr><tr><td class="alt">4 (Function)</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:installLib">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="alt">5 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:installLib">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">6 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:installLib">Distribution.Simple.GHC</a></td></tr><tr><td class="src">installMaybeExecutableFile</td><td class="module"><a href="Distribution-Simple-Utils.html#v:installMaybeExecutableFile">Distribution.Simple.Utils</a></td></tr><tr><td class="src">installMaybeExecutableFiles</td><td class="module"><a href="Distribution-Simple-Utils.html#v:installMaybeExecutableFiles">Distribution.Simple.Utils</a></td></tr><tr><td class="src">installOrdinaryFile</td><td class="module"><a href="Distribution-Simple-Utils.html#v:installOrdinaryFile">Distribution.Simple.Utils</a></td></tr><tr><td class="src">installOrdinaryFiles</td><td class="module"><a href="Distribution-Simple-Utils.html#v:installOrdinaryFiles">Distribution.Simple.Utils</a></td></tr><tr><td class="src">installPackageDB</td><td class="module"><a href="Distribution-Simple-Setup.html#v:installPackageDB">Distribution.Simple.Setup</a></td></tr><tr><td class="src">installUseWrapper</td><td class="module"><a href="Distribution-Simple-Setup.html#v:installUseWrapper">Distribution.Simple.Setup</a></td></tr><tr><td class="src">installVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:installVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">InstanceSigs</td><td class="module"><a href="Language-Haskell-Extension.html#v:InstanceSigs">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">instantiatedWith</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:instantiatedWith">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">instHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:instHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:instHook">Distribution.Simple</a></td></tr><tr><td class="src">Int</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Int16</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:Int16">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Int32</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:Int32">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Int64</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:Int64">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Int8</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:Int8">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Integer</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Integral</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">interact</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">intercalate</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:intercalate">Distribution.Compat.Prelude.Internal</a>, <a href="Distribution-Utils-Generic.html#v:intercalate">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:intercalate">Distribution.Simple.Utils</a></td></tr><tr><td class="src">internalPackageDBPath</td><td class="module"><a href="Distribution-Simple-Register.html#v:internalPackageDBPath">Distribution.Simple.Register</a></td></tr><tr><td class="src">interpretPackageDbFlags</td><td class="module"><a href="Distribution-Simple-Configure.html#v:interpretPackageDbFlags">Distribution.Simple.Configure</a></td></tr><tr><td class="src">InterruptibleFFI</td><td class="module"><a href="Language-Haskell-Extension.html#v:InterruptibleFFI">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">intersection</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">intersectionWith</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">intersectionWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">intersectVersionIntervals</td><td class="module"><a href="Distribution-Version.html#v:intersectVersionIntervals">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">IntersectVersionRanges</td><td class="module"><a href="Distribution-Version.html#v:IntersectVersionRanges">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">intersectVersionRanges</td><td class="module"><a href="Distribution-Version.html#v:intersectVersionRanges">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">intersperse</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:intersperse">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">intToVerbosity</td><td class="module"><a href="Distribution-Verbosity.html#v:intToVerbosity">Distribution.Verbosity</a></td></tr><tr><td class="src">invertVersionIntervals</td><td class="module"><a href="Distribution-Version.html#v:invertVersionIntervals">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">invertVersionRange</td><td class="module"><a href="Distribution-Version.html#v:invertVersionRange">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">invocationAsBatchFile</td><td class="module"><a href="Distribution-Simple-Program-Script.html#v:invocationAsBatchFile">Distribution.Simple.Program.Script</a></td></tr><tr><td class="src">invocationAsShellScript</td><td class="module"><a href="Distribution-Simple-Program-Script.html#v:invocationAsShellScript">Distribution.Simple.Program.Script</a></td></tr><tr><td class="src">invocationAsSystemScript</td><td class="module"><a href="Distribution-Simple-Program-Script.html#v:invocationAsSystemScript">Distribution.Simple.Program.Script</a></td></tr><tr><td class="src">invoke</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:invoke">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">invokeHcPkg</td><td class="module"><a href="Distribution-Simple-Register.html#v:invokeHcPkg">Distribution.Simple.Register</a></td></tr><tr><td class="src">IO</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:IO">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">IOEncoding</td><td class="module"><a href="Distribution-Simple-Program-Run.html#t:IOEncoding">Distribution.Simple.Program.Run</a></td></tr><tr><td class="src">IOEncodingText</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:IOEncodingText">Distribution.Simple.Program.Run</a></td></tr><tr><td class="src">IOEncodingUTF8</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:IOEncodingUTF8">Distribution.Simple.Program.Run</a></td></tr><tr><td class="src">IOError</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">ioError</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">IOS</td><td class="module"><a href="Distribution-System.html#v:IOS">Distribution.System</a></td></tr><tr><td class="src">IRIX</td><td class="module"><a href="Distribution-System.html#v:IRIX">Distribution.System</a></td></tr><tr><td class="src">isAbsoluteOnAnyPlatform</td><td class="module"><a href="Distribution-Utils-Generic.html#v:isAbsoluteOnAnyPlatform">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:isAbsoluteOnAnyPlatform">Distribution.Simple.Utils</a></td></tr><tr><td class="src">isAlpha</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:isAlpha">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">isAlphaNum</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:isAlphaNum">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">isAnyVersion</td><td class="module"><a href="Distribution-Version.html#v:isAnyVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">isAscii</td><td class="module"><a href="Distribution-Utils-Generic.html#v:isAscii">Distribution.Utils.Generic</a></td></tr><tr><td class="src">isAsciiAlpha</td><td class="module"><a href="Distribution-Utils-Generic.html#v:isAsciiAlpha">Distribution.Utils.Generic</a></td></tr><tr><td class="src">isAsciiAlphaNum</td><td class="module"><a href="Distribution-Utils-Generic.html#v:isAsciiAlphaNum">Distribution.Utils.Generic</a></td></tr><tr><td class="src">ISC</td><td class="module"><a href="Distribution-License.html#v:ISC">Distribution.License</a>, <a href="Distribution-Make.html#v:ISC">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">isDefaultIncludeRenaming</td><td class="module"><a href="Distribution-Types-IncludeRenaming.html#v:isDefaultIncludeRenaming">Distribution.Types.IncludeRenaming</a></td></tr><tr><td class="src">isDefaultRenaming</td><td class="module"><a href="Distribution-Types-ModuleRenaming.html#v:isDefaultRenaming">Distribution.Types.ModuleRenaming</a></td></tr><tr><td class="src">isDenormalized</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">isDigit</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:isDigit">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">isDynamic</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:isDynamic">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:isDynamic">Distribution.Simple.GHC</a></td></tr><tr><td class="src">isIEEE</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">isInfinite</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">isInfixOf</td><td class="module"><a href="Distribution-Utils-Generic.html#v:isInfixOf">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:isInfixOf">Distribution.Simple.Utils</a></td></tr><tr><td class="src">isInSearchPath</td><td class="module"><a href="Distribution-Simple-Utils.html#v:isInSearchPath">Distribution.Simple.Utils</a></td></tr><tr><td class="src">isInternal</td><td class="module"><a href="Distribution-Simple-BuildToolDepends.html#v:isInternal">Distribution.Simple.BuildToolDepends</a></td></tr><tr><td class="src">isJust</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:isJust">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">isNaN</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">isNegativeZero</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">IsNode</td><td class="module"><a href="Distribution-Compat-Graph.html#t:IsNode">Distribution.Compat.Graph</a></td></tr><tr><td class="src">isNothing</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:isNothing">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">isNoVersion</td><td class="module"><a href="Distribution-Version.html#v:isNoVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">isPrefixOf</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:isPrefixOf">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">isProperSubmapOf</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">isProperSubmapOfBy</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">isRelativeOnAnyPlatform</td><td class="module"><a href="Distribution-Utils-Generic.html#v:isRelativeOnAnyPlatform">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:isRelativeOnAnyPlatform">Distribution.Simple.Utils</a></td></tr><tr><td class="src">isRelaxDeps</td><td class="module"><a href="Distribution-Simple-Setup.html#v:isRelaxDeps">Distribution.Simple.Setup</a></td></tr><tr><td class="src">isSpace</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:isSpace">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">isSpecificVersion</td><td class="module"><a href="Distribution-Version.html#v:isSpecificVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">IsString</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:IsString">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">isSubmapOf</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">isSubmapOfBy</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">isSuffixOf</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:isSuffixOf">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">isUpper</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:isUpper">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">isVerboseCallSite</td><td class="module"><a href="Distribution-Verbosity.html#v:isVerboseCallSite">Distribution.Verbosity</a></td></tr><tr><td class="src">isVerboseCallStack</td><td class="module"><a href="Distribution-Verbosity.html#v:isVerboseCallStack">Distribution.Verbosity</a></td></tr><tr><td class="src">isVerboseMarkOutput</td><td class="module"><a href="Distribution-Verbosity.html#v:isVerboseMarkOutput">Distribution.Verbosity</a></td></tr><tr><td class="src">isVerboseNoWrap</td><td class="module"><a href="Distribution-Verbosity.html#v:isVerboseNoWrap">Distribution.Verbosity</a></td></tr><tr><td class="src">isVerboseQuiet</td><td class="module"><a href="Distribution-Verbosity.html#v:isVerboseQuiet">Distribution.Verbosity</a></td></tr><tr><td class="src">iterate</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - J)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - J</p><table><tr><td class="src">JavaScript</td><td class="module"><a href="Distribution-System.html#v:JavaScript">Distribution.System</a></td></tr><tr><td class="src">JavaScriptFFI</td><td class="module"><a href="Language-Haskell-Extension.html#v:JavaScriptFFI">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">JHC</td><td class="module"><a href="Distribution-Compiler.html#v:JHC">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">jhcProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:jhcProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:jhcProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">jsSources</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:jsSources">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:jsSources">Distribution.PackageDescription</a></td></tr><tr><td class="src">Just</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - K)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - K</p><table><tr><td class="src">Key</td><td class="module"><a href="Distribution-Compat-Graph.html#t:Key">Distribution.Compat.Graph</a></td></tr><tr><td class="src">keys</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Compat-Graph.html#v:keys">Distribution.Compat.Graph</a></td></tr><tr><td class="src">keysSet</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Compat-Graph.html#v:keysSet">Distribution.Compat.Graph</a></td></tr><tr><td class="src">KindSignatures</td><td class="module"><a href="Language-Haskell-Extension.html#v:KindSignatures">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">knownArches</td><td class="module"><a href="Distribution-System.html#v:knownArches">Distribution.System</a></td></tr><tr><td class="src">knownBenchmarkTypes</td><td class="module"><a href="Distribution-Types-BenchmarkType.html#v:knownBenchmarkTypes">Distribution.Types.BenchmarkType</a>, <a href="Distribution-PackageDescription.html#v:knownBenchmarkTypes">Distribution.PackageDescription</a></td></tr><tr><td class="src">knownBuildTypes</td><td class="module"><a href="Distribution-Types-BuildType.html#v:knownBuildTypes">Distribution.Types.BuildType</a>, <a href="Distribution-PackageDescription.html#v:knownBuildTypes">Distribution.PackageDescription</a></td></tr><tr><td class="src">KnownExtension</td><td class="module"><a href="Language-Haskell-Extension.html#t:KnownExtension">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">knownExtensions</td><td class="module"><a href="Language-Haskell-Extension.html#v:knownExtensions">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">knownForeignLibTypes</td><td class="module"><a href="Distribution-Types-ForeignLibType.html#v:knownForeignLibTypes">Distribution.Types.ForeignLibType</a></td></tr><tr><td class="src">knownLanguages</td><td class="module"><a href="Language-Haskell-Extension.html#v:knownLanguages">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">knownLicenses</td><td class="module"><a href="Distribution-License.html#v:knownLicenses">Distribution.License</a>, Distribution.Simple</td></tr><tr><td class="src">knownOSs</td><td class="module"><a href="Distribution-System.html#v:knownOSs">Distribution.System</a></td></tr><tr><td class="src">knownProfDetailLevels</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:knownProfDetailLevels">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">knownPrograms</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:knownPrograms">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:knownPrograms">Distribution.Simple.Program</a></td></tr><tr><td class="src">knownRepoTypes</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:knownRepoTypes">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:knownRepoTypes">Distribution.PackageDescription</a></td></tr><tr><td class="src">knownSuffixHandlers</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:knownSuffixHandlers">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">knownTestTypes</td><td class="module"><a href="Distribution-Types-TestType.html#v:knownTestTypes">Distribution.Types.TestType</a>, <a href="Distribution-PackageDescription.html#v:knownTestTypes">Distribution.PackageDescription</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - L)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - L</p><table><tr><td class="src">LambdaCase</td><td class="module"><a href="Language-Haskell-Extension.html#v:LambdaCase">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Language</td><td class="module"><a href="Language-Haskell-Extension.html#t:Language">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">languageToFlags</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:languageToFlags">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">last</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Last'</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Compat-Semigroup.html#t:Last-39-">Distribution.Compat.Semigroup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:Last-39-">Distribution.Compat.Semigroup</a></td></tr><tr><td class="src">LaterVersion</td><td class="module"><a href="Distribution-Version.html#v:LaterVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">laterVersion</td><td class="module"><a href="Distribution-Version.html#v:laterVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">lcm</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">lc_ann_id</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:lc_ann_id">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">lc_cid</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:lc_cid">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">lc_component</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:lc_component">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">lc_exe_deps</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:lc_exe_deps">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">lc_includes</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:lc_includes">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">lc_insts</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:lc_insts">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">lc_pkgid</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:lc_pkgid">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">lc_public</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:lc_public">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">lc_shape</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:lc_shape">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">lc_sig_includes</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:lc_sig_includes">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">lc_uid</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:lc_uid">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">ldOptions</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:ldOptions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:ldOptions">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:ldOptions">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">ldProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:ldProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:ldProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">Left</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">LegacyExeDependency</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-LegacyExeDependency.html#t:LegacyExeDependency">Distribution.Types.LegacyExeDependency</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-LegacyExeDependency.html#v:LegacyExeDependency">Distribution.Types.LegacyExeDependency</a></td></tr><tr><td class="src">length</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:length">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">lessVerbose</td><td class="module"><a href="Distribution-Verbosity.html#v:lessVerbose">Distribution.Verbosity</a></td></tr><tr><td class="src">lex</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">LFlags</td><td class="module"><a href="Distribution-Simple-Command.html#t:LFlags">Distribution.Simple.Command</a></td></tr><tr><td class="src">LGPL</td><td class="module"><a href="Distribution-License.html#v:LGPL">Distribution.License</a>, <a href="Distribution-Make.html#v:LGPL">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">LHC</td><td class="module"><a href="Distribution-Compiler.html#v:LHC">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">lhcPkgProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:lhcPkgProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:lhcPkgProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">lhcProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:lhcProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:lhcProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">libAbiHash</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:libAbiHash">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:libAbiHash">Distribution.Simple.GHC</a></td></tr><tr><td class="src">libBuildInfo</td><td class="module"><a href="Distribution-Types-Library.html#v:libBuildInfo">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#v:libBuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="src">LibComponentLocalBuildInfo</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:LibComponentLocalBuildInfo">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:LibComponentLocalBuildInfo">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">libCoverage</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:libCoverage">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:libCoverage">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">libdir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:libdir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">LibdirVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:LibdirVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">LiberalTypeSynonyms</td><td class="module"><a href="Language-Haskell-Extension.html#v:LiberalTypeSynonyms">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">libexecdir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:libexecdir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">libexecsubdir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:libexecsubdir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">libExposed</td><td class="module"><a href="Distribution-Types-Library.html#v:libExposed">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#v:libExposed">Distribution.PackageDescription</a></td></tr><tr><td class="src">libFieldDescrs</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:libFieldDescrs">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">libModules</td><td class="module"><a href="Distribution-Types-Library.html#v:libModules">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#v:libModules">Distribution.PackageDescription</a></td></tr><tr><td class="src">libModulesAutogen</td><td class="module"><a href="Distribution-Types-Library.html#v:libModulesAutogen">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#v:libModulesAutogen">Distribution.PackageDescription</a></td></tr><tr><td class="src">libName</td><td class="module"><a href="Distribution-Types-Library.html#v:libName">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#v:libName">Distribution.PackageDescription</a></td></tr><tr><td class="src">LibNameVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:LibNameVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">Library</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-Library.html#t:Library">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#t:Library">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-Library.html#v:Library">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#v:Library">Distribution.PackageDescription</a></td></tr><tr><td class="src">library</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:library">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:library">Distribution.PackageDescription</a></td></tr><tr><td class="src">libraryComponentName</td><td class="module"><a href="Distribution-Types-ComponentName.html#v:libraryComponentName">Distribution.Types.ComponentName</a></td></tr><tr><td class="src">libraryDirs</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:libraryDirs">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">libraryDynDirs</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:libraryDynDirs">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">libraryDynDirSupported</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:libraryDynDirSupported">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">libsubdir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:libsubdir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">LibsubdirVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:LibsubdirVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">LibVersionInfo</td><td class="module"><a href="Distribution-Types-ForeignLib.html#t:LibVersionInfo">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">libVersionInfoCRA</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:libVersionInfoCRA">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">libVersionMajor</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:libVersionMajor">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">libVersionNumber</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:libVersionNumber">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">libVersionNumberShow</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:libVersionNumberShow">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">License</td><td class="module"><a href="Distribution-License.html#t:License">Distribution.License</a>, <a href="Distribution-Make.html#t:License">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">license</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:license">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:license">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:license">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">licenseFiles</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:licenseFiles">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:licenseFiles">Distribution.PackageDescription</a></td></tr><tr><td class="src">liftM</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:liftM">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">liftM2</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:liftM2">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">liftOption</td><td class="module"><a href="Distribution-Simple-Command.html#v:liftOption">Distribution.Simple.Command</a></td></tr><tr><td class="src">LineNo</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#t:LineNo">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">lines</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">LinkedComponent</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponent">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:LinkedComponent">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">LinkedComponentMap</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#t:LinkedComponentMap">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">Linux</td><td class="module"><a href="Distribution-System.html#v:Linux">Distribution.System</a></td></tr><tr><td class="src">list</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:list">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">listInvocation</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:listInvocation">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">listPackageSources</td><td class="module"><a href="Distribution-Simple-SrcDist.html#v:listPackageSources">Distribution.Simple.SrcDist</a></td></tr><tr><td class="src">listToMaybe</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:listToMaybe">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">listUnion</td><td class="module"><a href="Distribution-Utils-Generic.html#v:listUnion">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:listUnion">Distribution.Simple.Utils</a></td></tr><tr><td class="src">listUnionRight</td><td class="module"><a href="Distribution-Utils-Generic.html#v:listUnionRight">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:listUnionRight">Distribution.Simple.Utils</a></td></tr><tr><td class="src">Lit</td><td class="module"><a href="Distribution-Types-Condition.html#v:Lit">Distribution.Types.Condition</a>, <a href="Distribution-PackageDescription.html#v:Lit">Distribution.PackageDescription</a></td></tr><tr><td class="src">LocalBuildInfo</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#t:LocalBuildInfo">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:LocalBuildInfo">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:LocalBuildInfo">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">localBuildInfoFile</td><td class="module"><a href="Distribution-Simple-Configure.html#v:localBuildInfoFile">Distribution.Simple.Configure</a></td></tr><tr><td class="src">localCompatPackageKey</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:localCompatPackageKey">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:localCompatPackageKey">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">localComponentId</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:localComponentId">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:localComponentId">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">localPackage</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:localPackage">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">localPackageLog</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:localPackageLog">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">localPkgDescr</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:localPkgDescr">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:localPkgDescr">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">localUnitId</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:localUnitId">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:localUnitId">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">locationPath</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:locationPath">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:locationPath">Distribution.Simple.Program</a></td></tr><tr><td class="src">log</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">logBase</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">logFile</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:logFile">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">LogProgress</td><td class="module"><a href="Distribution-Utils-LogProgress.html#t:LogProgress">Distribution.Utils.LogProgress</a></td></tr><tr><td class="src">look</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:look">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">lookup</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Compat-Graph.html#v:lookup">Distribution.Compat.Graph</a></td></tr><tr><td class="src">lookupComponent</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:lookupComponent">Distribution.Types.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:lookupComponent">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">lookupComponentId</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:lookupComponentId">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">lookupDependency</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:lookupDependency">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">lookupGE</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">lookupGT</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">lookupIndex</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">lookupInstalledPackageId</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:lookupInstalledPackageId">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">lookupInternalDependency</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:lookupInternalDependency">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">lookupKnownProgram</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:lookupKnownProgram">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:lookupKnownProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">lookupLE</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">lookupLT</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">lookupMax</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">lookupMin</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">lookupPackageId</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:lookupPackageId">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">lookupPackageName</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:lookupPackageName">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">lookupProgram</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:lookupProgram">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:lookupProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">lookupProgramVersion</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:lookupProgramVersion">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:lookupProgramVersion">Distribution.Simple.Program</a></td></tr><tr><td class="src">lookupSourcePackageId</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:lookupSourcePackageId">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">lookupUnitId</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:lookupUnitId">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">LowerBound</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Version.html#t:LowerBound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Version.html#v:LowerBound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">lowercase</td><td class="module"><a href="Distribution-Utils-Generic.html#v:lowercase">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:lowercase">Distribution.Simple.Utils</a></td></tr><tr><td class="src">LT</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - M)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - M</p><table><tr><td class="src">M68k</td><td class="module"><a href="Distribution-System.html#v:M68k">Distribution.System</a></td></tr><tr><td class="src">MagicHash</td><td class="module"><a href="Language-Haskell-Extension.html#v:MagicHash">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">main</td><td class="module"><a href="Distribution-ModuleName.html#v:main">Distribution.ModuleName</a></td></tr><tr><td class="src">maintainer</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:maintainer">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:maintainer">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:maintainer">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">MajorBoundVersion</td><td class="module"><a href="Distribution-Version.html#v:MajorBoundVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">majorBoundVersion</td><td class="module"><a href="Distribution-Version.html#v:majorBoundVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">Make</td><td class="module"><a href="Distribution-Types-BuildType.html#v:Make">Distribution.Types.BuildType</a>, <a href="Distribution-PackageDescription.html#v:Make">Distribution.PackageDescription</a></td></tr><tr><td class="src">mandir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:mandir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">many</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:many">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:many">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">many1</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:many1">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">manyTill</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:manyTill">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">Map</td><td class="module">Distribution.Compat.Map.Strict, <a href="Distribution-Compat-Prelude-Internal.html#t:Map">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">map</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">mapAccum</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">mapAccumM</td><td class="module"><a href="Distribution-Utils-MapAccum.html#v:mapAccumM">Distribution.Utils.MapAccum</a></td></tr><tr><td class="src">mapAccumRWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">mapAccumWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">mapCondTree</td><td class="module"><a href="Distribution-Types-CondTree.html#v:mapCondTree">Distribution.Types.CondTree</a>, <a href="Distribution-PackageDescription-Configuration.html#v:mapCondTree">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">mapEither</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">mapEitherWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">mapKeys</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">mapKeysMonotonic</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">mapKeysWith</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">mapMaybe</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:mapMaybe">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">mapMaybeWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">mappend</td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:mappend">Distribution.Compat.Semigroup</a>, Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">mapTreeConds</td><td class="module"><a href="Distribution-Types-CondTree.html#v:mapTreeConds">Distribution.Types.CondTree</a>, <a href="Distribution-PackageDescription-Configuration.html#v:mapTreeConds">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">mapTreeConstrs</td><td class="module"><a href="Distribution-Types-CondTree.html#v:mapTreeConstrs">Distribution.Types.CondTree</a>, <a href="Distribution-PackageDescription-Configuration.html#v:mapTreeConstrs">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">mapTreeData</td><td class="module"><a href="Distribution-Types-CondTree.html#v:mapTreeData">Distribution.Types.CondTree</a>, <a href="Distribution-PackageDescription-Configuration.html#v:mapTreeData">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">mapWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">markup</td><td class="module"><a href="Distribution-Simple-Program-Hpc.html#v:markup">Distribution.Simple.Program.Hpc</a></td></tr><tr><td class="src">markupPackage</td><td class="module"><a href="Distribution-Simple-Hpc.html#v:markupPackage">Distribution.Simple.Hpc</a></td></tr><tr><td class="src">markupTest</td><td class="module"><a href="Distribution-Simple-Hpc.html#v:markupTest">Distribution.Simple.Hpc</a></td></tr><tr><td class="src">matchDirFileGlob</td><td class="module"><a href="Distribution-Simple-Utils.html#v:matchDirFileGlob">Distribution.Simple.Utils</a></td></tr><tr><td class="src">matchFileGlob</td><td class="module"><a href="Distribution-Simple-Utils.html#v:matchFileGlob">Distribution.Simple.Utils</a></td></tr><tr><td class="src">max</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">maxBound</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">MaximalDebugInfo</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:MaximalDebugInfo">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">maximum</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:maximum">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">MaximumOptimisation</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:MaximumOptimisation">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">maxView</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">maxViewWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">Maybe</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">maybe</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">maybeComponentInstantiatedWith</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:maybeComponentInstantiatedWith">Distribution.Types.ComponentLocalBuildInfo</a></td></tr><tr><td class="src">maybeExit</td><td class="module"><a href="Distribution-Simple-Utils.html#v:maybeExit">Distribution.Simple.Utils</a></td></tr><tr><td class="src">maybeGetPersistBuildConfig</td><td class="module"><a href="Distribution-Simple-Configure.html#v:maybeGetPersistBuildConfig">Distribution.Simple.Configure</a></td></tr><tr><td class="src">maybeToFlag</td><td class="module"><a href="Distribution-Simple-Setup.html#v:maybeToFlag">Distribution.Simple.Setup</a></td></tr><tr><td class="src">maybeToList</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:maybeToList">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">mconcat</td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:mconcat">Distribution.Compat.Semigroup</a>, Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">member</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Compat-Graph.html#v:member">Distribution.Compat.Graph</a></td></tr><tr><td class="src">mempty</td><td class="module"><a href="Distribution-Compat-Semigroup.html#v:mempty">Distribution.Compat.Semigroup</a>, Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Mercurial</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:Mercurial">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:Mercurial">Distribution.PackageDescription</a></td></tr><tr><td class="src">merge</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:merge">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">mergeWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">min</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">minBound</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">MinimalDebugInfo</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:MinimalDebugInfo">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">minimum</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:minimum">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">minView</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">minViewWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">Mips</td><td class="module"><a href="Distribution-System.html#v:Mips">Distribution.System</a></td></tr><tr><td class="src">MIT</td><td class="module"><a href="Distribution-License.html#v:MIT">Distribution.License</a>, <a href="Distribution-Make.html#v:MIT">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">mixDir</td><td class="module"><a href="Distribution-Simple-Hpc.html#v:mixDir">Distribution.Simple.Hpc</a></td></tr><tr><td class="src">Mixin</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-Mixin.html#t:Mixin">Distribution.Types.Mixin</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-Mixin.html#v:Mixin">Distribution.Types.Mixin</a></td></tr><tr><td class="src">mixinIncludeRenaming</td><td class="module"><a href="Distribution-Types-Mixin.html#v:mixinIncludeRenaming">Distribution.Types.Mixin</a></td></tr><tr><td class="src">mixinPackageName</td><td class="module"><a href="Distribution-Types-Mixin.html#v:mixinPackageName">Distribution.Types.Mixin</a></td></tr><tr><td class="src">mixins</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:mixins">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:mixins">Distribution.PackageDescription</a></td></tr><tr><td class="src">mkAbiHash</td><td class="module"><a href="Distribution-Types-AbiHash.html#v:mkAbiHash">Distribution.Types.AbiHash</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">mkCommandUI</td><td class="module"><a href="Distribution-Simple-Command.html#v:mkCommandUI">Distribution.Simple.Command</a></td></tr><tr><td class="src">mkComponentId</td><td class="module"><a href="Distribution-Types-ComponentId.html#v:mkComponentId">Distribution.Types.ComponentId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">mkComponentsGraph</td><td class="module"><a href="Distribution-Backpack-ComponentsGraph.html#v:mkComponentsGraph">Distribution.Backpack.ComponentsGraph</a></td></tr><tr><td class="src">mkDefUnitId</td><td class="module"><a href="Distribution-Backpack.html#v:mkDefUnitId">Distribution.Backpack</a></td></tr><tr><td class="src">MkFlag</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:MkFlag">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:MkFlag">Distribution.PackageDescription</a></td></tr><tr><td class="src">mkFlagName</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:mkFlagName">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:mkFlagName">Distribution.PackageDescription</a></td></tr><tr><td class="src">mkLegacyUnitId</td><td class="module"><a href="Distribution-Types-UnitId.html#v:mkLegacyUnitId">Distribution.Types.UnitId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">mkLibName</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:mkLibName">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">mkLibVersionInfo</td><td class="module"><a href="Distribution-Types-ForeignLib.html#v:mkLibVersionInfo">Distribution.Types.ForeignLib</a></td></tr><tr><td class="src">mkMungedPackageName</td><td class="module"><a href="Distribution-Types-MungedPackageName.html#v:mkMungedPackageName">Distribution.Types.MungedPackageName</a></td></tr><tr><td class="src">mkOpenUnitId</td><td class="module"><a href="Distribution-Backpack.html#v:mkOpenUnitId">Distribution.Backpack</a></td></tr><tr><td class="src">MkOptDescr</td><td class="module"><a href="Distribution-Simple-Command.html#t:MkOptDescr">Distribution.Simple.Command</a></td></tr><tr><td class="src">mkPackageName</td><td class="module"><a href="Distribution-Types-PackageName.html#v:mkPackageName">Distribution.Types.PackageName</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">mkPkgconfigName</td><td class="module"><a href="Distribution-Types-PkgconfigName.html#v:mkPkgconfigName">Distribution.Types.PkgconfigName</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">mkProfLibName</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:mkProfLibName">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">mkSharedLibName</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:mkSharedLibName">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">mkSimplePreProcessor</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:mkSimplePreProcessor">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">mkUnitId</td><td class="module"><a href="Distribution-Types-UnitId.html#v:mkUnitId">Distribution.Types.UnitId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">mkUnqualComponentName</td><td class="module"><a href="Distribution-Types-UnqualComponentName.html#v:mkUnqualComponentName">Distribution.Types.UnqualComponentName</a></td></tr><tr><td class="src">mkVersion</td><td class="module"><a href="Distribution-Version.html#v:mkVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">mkVersion'</td><td class="module"><a href="Distribution-Version.html#v:mkVersion-39-">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">mkVersionIntervals</td><td class="module"><a href="Distribution-Version.html#v:mkVersionIntervals">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">mod</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">modifyProgramSearchPath</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:modifyProgramSearchPath">Distribution.Simple.Program.Db</a></td></tr><tr><td class="src">modifyVerbosity</td><td class="module"><a href="Distribution-Verbosity.html#v:modifyVerbosity">Distribution.Verbosity</a></td></tr><tr><td class="src">modShapeProvides</td><td class="module"><a href="Distribution-Backpack-ModuleShape.html#v:modShapeProvides">Distribution.Backpack.ModuleShape</a></td></tr><tr><td class="src">modShapeRequires</td><td class="module"><a href="Distribution-Backpack-ModuleShape.html#v:modShapeRequires">Distribution.Backpack.ModuleShape</a></td></tr><tr><td class="src">ModSubst</td><td class="module"><a href="Distribution-Backpack-ModSubst.html#t:ModSubst">Distribution.Backpack.ModSubst</a></td></tr><tr><td class="src">modSubst</td><td class="module"><a href="Distribution-Backpack-ModSubst.html#v:modSubst">Distribution.Backpack.ModSubst</a></td></tr><tr><td class="src">ModTime</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Compat-Time.html#t:ModTime">Distribution.Compat.Time</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Compat-Time.html#v:ModTime">Distribution.Compat.Time</a></td></tr><tr><td class="src">Module</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-Module.html#t:Module">Distribution.Types.Module</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-Module.html#v:Module">Distribution.Types.Module</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">ModuleName</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-ModuleName.html#t:ModuleName">Distribution.ModuleName</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-ModuleName.html#v:ModuleName">Distribution.ModuleName</a></td></tr><tr><td class="src">moduleNameIndex</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:moduleNameIndex">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">modulePath</td><td class="module"><a href="Distribution-Types-Executable.html#v:modulePath">Distribution.Types.Executable</a>, <a href="Distribution-PackageDescription.html#v:modulePath">Distribution.PackageDescription</a></td></tr><tr><td class="src">ModuleReexport</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-ModuleReexport.html#t:ModuleReexport">Distribution.Types.ModuleReexport</a>, <a href="Distribution-PackageDescription.html#t:ModuleReexport">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-ModuleReexport.html#v:ModuleReexport">Distribution.Types.ModuleReexport</a>, <a href="Distribution-PackageDescription.html#v:ModuleReexport">Distribution.PackageDescription</a></td></tr><tr><td class="src">moduleReexportName</td><td class="module"><a href="Distribution-Types-ModuleReexport.html#v:moduleReexportName">Distribution.Types.ModuleReexport</a>, <a href="Distribution-PackageDescription.html#v:moduleReexportName">Distribution.PackageDescription</a></td></tr><tr><td class="src">moduleReexportOriginalName</td><td class="module"><a href="Distribution-Types-ModuleReexport.html#v:moduleReexportOriginalName">Distribution.Types.ModuleReexport</a>, <a href="Distribution-PackageDescription.html#v:moduleReexportOriginalName">Distribution.PackageDescription</a></td></tr><tr><td class="src">moduleReexportOriginalPackage</td><td class="module"><a href="Distribution-Types-ModuleReexport.html#v:moduleReexportOriginalPackage">Distribution.Types.ModuleReexport</a>, <a href="Distribution-PackageDescription.html#v:moduleReexportOriginalPackage">Distribution.PackageDescription</a></td></tr><tr><td class="src">ModuleRenaming</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-ModuleRenaming.html#t:ModuleRenaming">Distribution.Types.ModuleRenaming</a>, <a href="Distribution-PackageDescription.html#t:ModuleRenaming">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-ModuleRenaming.html#v:ModuleRenaming">Distribution.Types.ModuleRenaming</a>, <a href="Distribution-PackageDescription.html#v:ModuleRenaming">Distribution.PackageDescription</a></td></tr><tr><td class="src">ModuleShape</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Backpack-ModuleShape.html#t:ModuleShape">Distribution.Backpack.ModuleShape</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Backpack-ModuleShape.html#v:ModuleShape">Distribution.Backpack.ModuleShape</a></td></tr><tr><td class="src">Monad</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">MonadComprehensions</td><td class="module"><a href="Language-Haskell-Extension.html#v:MonadComprehensions">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">MonadFailDesugaring</td><td class="module"><a href="Language-Haskell-Extension.html#v:MonadFailDesugaring">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">MonadPlus</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Monoid</td><td class="module"><a href="Distribution-Compat-Semigroup.html#t:Monoid">Distribution.Compat.Semigroup</a>, Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">MonoLocalBinds</td><td class="module"><a href="Language-Haskell-Extension.html#v:MonoLocalBinds">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">MonomorphismRestriction</td><td class="module"><a href="Language-Haskell-Extension.html#v:MonomorphismRestriction">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">MonoPatBinds</td><td class="module"><a href="Language-Haskell-Extension.html#v:MonoPatBinds">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Monotone</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:Monotone">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:Monotone">Distribution.PackageDescription</a></td></tr><tr><td class="src">moreRecentFile</td><td class="module"><a href="Distribution-Simple-Utils.html#v:moreRecentFile">Distribution.Simple.Utils</a></td></tr><tr><td class="src">moreVerbose</td><td class="module"><a href="Distribution-Verbosity.html#v:moreVerbose">Distribution.Verbosity</a></td></tr><tr><td class="src">MPL</td><td class="module"><a href="Distribution-License.html#v:MPL">Distribution.License</a>, <a href="Distribution-Make.html#v:MPL">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">mplus</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:mplus">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">multiOption</td><td class="module"><a href="Distribution-Simple-Command.html#v:multiOption">Distribution.Simple.Command</a></td></tr><tr><td class="src">MultiParamTypeClasses</td><td class="module"><a href="Language-Haskell-Extension.html#v:MultiParamTypeClasses">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">multiStageProgramInvocation</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:multiStageProgramInvocation">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program-Ar.html#v:multiStageProgramInvocation">Distribution.Simple.Program.Ar</a></td></tr><tr><td class="src">MultiWayIf</td><td class="module"><a href="Language-Haskell-Extension.html#v:MultiWayIf">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">munch</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:munch">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">munch1</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:munch1">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">mungedId</td><td class="module"><a href="Distribution-Package.html#v:mungedId">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">mungedName</td><td class="module"><a href="Distribution-Types-MungedPackageId.html#v:mungedName">Distribution.Types.MungedPackageId</a></td></tr><tr><td class="src">mungedName'</td><td class="module"><a href="Distribution-Package.html#v:mungedName-39-">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">MungedPackageId</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-MungedPackageId.html#t:MungedPackageId">Distribution.Types.MungedPackageId</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-MungedPackageId.html#v:MungedPackageId">Distribution.Types.MungedPackageId</a></td></tr><tr><td class="src">MungedPackageName</td><td class="module"><a href="Distribution-Types-MungedPackageName.html#t:MungedPackageName">Distribution.Types.MungedPackageName</a></td></tr><tr><td class="src">mungedVersion</td><td class="module"><a href="Distribution-Types-MungedPackageId.html#v:mungedVersion">Distribution.Types.MungedPackageId</a></td></tr><tr><td class="src">mungedVersion'</td><td class="module"><a href="Distribution-Package.html#v:mungedVersion-39-">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">mzero</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:mzero">Distribution.Compat.Prelude.Internal</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - N)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - N</p><table><tr><td class="src">N</td><td class="module"><a href="Distribution-Compat-Graph.html#v:N">Distribution.Compat.Graph</a></td></tr><tr><td class="src">Name</td><td class="module"><a href="Distribution-Simple-Command.html#t:Name">Distribution.Simple.Command</a></td></tr><tr><td class="src">name</td><td class="module"><a href="Distribution-TestSuite.html#v:name">Distribution.TestSuite</a></td></tr><tr><td class="src">NamedFieldPuns</td><td class="module"><a href="Language-Haskell-Extension.html#v:NamedFieldPuns">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">NamedWildCards</td><td class="module"><a href="Language-Haskell-Extension.html#v:NamedWildCards">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">nativeMultiInstance</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:nativeMultiInstance">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">neededTargetsInBuildOrder</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:neededTargetsInBuildOrder">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">neededTargetsInBuildOrder'</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:neededTargetsInBuildOrder-39-">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">negate</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">NegativeLiterals</td><td class="module"><a href="Language-Haskell-Extension.html#v:NegativeLiterals">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">neighbors</td><td class="module"><a href="Distribution-Compat-Graph.html#v:neighbors">Distribution.Compat.Graph</a></td></tr><tr><td class="src">NetBSD</td><td class="module"><a href="Distribution-System.html#v:NetBSD">Distribution.System</a></td></tr><tr><td class="src">Never</td><td class="module"><a href="Distribution-Simple-Setup.html#v:Never">Distribution.Simple.Setup</a></td></tr><tr><td class="src">newPackageDepsBehaviour</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:newPackageDepsBehaviour">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">NewQualifiedOperators</td><td class="module"><a href="Language-Haskell-Extension.html#v:NewQualifiedOperators">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">newSimpleUnitId</td><td class="module"><a href="Distribution-Types-UnitId.html#v:newSimpleUnitId">Distribution.Types.UnitId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">NFData</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:NFData">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">NHC</td><td class="module"><a href="Distribution-Compiler.html#v:NHC">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">NoAbiTag</td><td class="module"><a href="Distribution-Compiler.html#v:NoAbiTag">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">noArg</td><td class="module"><a href="Distribution-Simple-Command.html#v:noArg">Distribution.Simple.Command</a></td></tr><tr><td class="src">NoCallStackIO</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">NoCopyDest</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:NoCopyDest">Distribution.Simple.InstallDirs</a>, <a href="Distribution-Simple-Setup.html#v:NoCopyDest">Distribution.Simple.Setup</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">Node</td><td class="module"><a href="Distribution-Compat-Graph.html#t:Node">Distribution.Compat.Graph</a></td></tr><tr><td class="src">NoDebugInfo</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:NoDebugInfo">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">nodeKey</td><td class="module"><a href="Distribution-Compat-Graph.html#v:nodeKey">Distribution.Compat.Graph</a></td></tr><tr><td class="src">nodeNeighbors</td><td class="module"><a href="Distribution-Compat-Graph.html#v:nodeNeighbors">Distribution.Compat.Graph</a></td></tr><tr><td class="src">nodeValue</td><td class="module"><a href="Distribution-Compat-Graph.html#v:nodeValue">Distribution.Compat.Graph</a></td></tr><tr><td class="src">noExtraFlags</td><td class="module"><a href="Distribution-Simple-Command.html#v:noExtraFlags">Distribution.Simple.Command</a></td></tr><tr><td class="src">NoFlag</td><td class="module"><a href="Distribution-Simple-Setup.html#v:NoFlag">Distribution.Simple.Setup</a></td></tr><tr><td class="src">NoGlob</td><td class="module"><a href="Distribution-Simple-Utils.html#v:NoGlob">Distribution.Simple.Utils</a></td></tr><tr><td class="src">NondecreasingIndentation</td><td class="module"><a href="Language-Haskell-Extension.html#v:NondecreasingIndentation">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">None</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:None">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">NoOptimisation</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:NoOptimisation">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">NoParse</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:NoParse">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">noPkgDbStack</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:noPkgDbStack">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">normal</td><td class="module"><a href="Distribution-Verbosity.html#v:normal">Distribution.Verbosity</a></td></tr><tr><td class="src">NormalCommand</td><td class="module"><a href="Distribution-Simple-Command.html#v:NormalCommand">Distribution.Simple.Command</a></td></tr><tr><td class="src">NormalDebugInfo</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:NormalDebugInfo">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">normaliseLineEndings</td><td class="module"><a href="Distribution-Utils-Generic.html#v:normaliseLineEndings">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:normaliseLineEndings">Distribution.Simple.Utils</a></td></tr><tr><td class="src">NormalOptimisation</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:NormalOptimisation">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">not</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">notElem</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Nothing</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">notice</td><td class="module"><a href="Distribution-Simple-Utils.html#v:notice">Distribution.Simple.Utils</a></td></tr><tr><td class="src">noticeDoc</td><td class="module"><a href="Distribution-Simple-Utils.html#v:noticeDoc">Distribution.Simple.Utils</a></td></tr><tr><td class="src">noticeNoWrap</td><td class="module"><a href="Distribution-Simple-Utils.html#v:noticeNoWrap">Distribution.Simple.Utils</a></td></tr><tr><td class="src">notMember</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">notThisPackageVersion</td><td class="module"><a href="Distribution-Types-Dependency.html#v:notThisPackageVersion">Distribution.Types.Dependency</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">notThisVersion</td><td class="module"><a href="Distribution-Version.html#v:notThisVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">NoUpperBound</td><td class="module"><a href="Distribution-Version.html#v:NoUpperBound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">noVerboseFlag</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:noVerboseFlag">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">noVersion</td><td class="module"><a href="Distribution-Version.html#v:noVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">NPlusKPatterns</td><td class="module"><a href="Language-Haskell-Extension.html#v:NPlusKPatterns">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">nub</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:nub">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">nubBy</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:nubBy">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">NubList</td><td class="module"><a href="Distribution-Utils-NubList.html#t:NubList">Distribution.Utils.NubList</a></td></tr><tr><td class="src">NubListR</td><td class="module"><a href="Distribution-Utils-NubList.html#t:NubListR">Distribution.Utils.NubList</a></td></tr><tr><td class="src">null</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:null">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Compat-Graph.html#v:null">Distribution.Compat.Graph</a></td></tr><tr><td class="src">NullaryTypeClasses</td><td class="module"><a href="Language-Haskell-Extension.html#v:NullaryTypeClasses">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">nullVersion</td><td class="module"><a href="Distribution-Version.html#v:nullVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">Num</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">NumDecimals</td><td class="module"><a href="Language-Haskell-Extension.html#v:NumDecimals">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">numericVersion</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:numericVersion">Distribution.Simple.HaskellSuite</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - O)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - O</p><table><tr><td class="src">ObjectiveC</td><td class="module"><a href="Distribution-Simple-CCompiler.html#v:ObjectiveC">Distribution.Simple.CCompiler</a></td></tr><tr><td class="src">ObjectiveCPlusPlus</td><td class="module"><a href="Distribution-Simple-CCompiler.html#v:ObjectiveCPlusPlus">Distribution.Simple.CCompiler</a></td></tr><tr><td class="src">objExtension</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:objExtension">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">odd</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">oldExtensions</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:oldExtensions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:oldExtensions">Distribution.PackageDescription</a></td></tr><tr><td class="src">OneComponentRequestedSpec</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:OneComponentRequestedSpec">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">OpenBSD</td><td class="module"><a href="Distribution-System.html#v:OpenBSD">Distribution.System</a></td></tr><tr><td class="src">OpenModule</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Backpack.html#t:OpenModule">Distribution.Backpack</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Backpack.html#v:OpenModule">Distribution.Backpack</a></td></tr><tr><td class="src">openModuleFreeHoles</td><td class="module"><a href="Distribution-Backpack.html#v:openModuleFreeHoles">Distribution.Backpack</a></td></tr><tr><td class="src">OpenModuleSubst</td><td class="module"><a href="Distribution-Backpack.html#t:OpenModuleSubst">Distribution.Backpack</a></td></tr><tr><td class="src">openModuleSubstFreeHoles</td><td class="module"><a href="Distribution-Backpack.html#v:openModuleSubstFreeHoles">Distribution.Backpack</a></td></tr><tr><td class="src">OpenModuleVar</td><td class="module"><a href="Distribution-Backpack.html#v:OpenModuleVar">Distribution.Backpack</a></td></tr><tr><td class="src">OpenUnitId</td><td class="module"><a href="Distribution-Backpack.html#t:OpenUnitId">Distribution.Backpack</a></td></tr><tr><td class="src">openUnitIdFreeHoles</td><td class="module"><a href="Distribution-Backpack.html#v:openUnitIdFreeHoles">Distribution.Backpack</a></td></tr><tr><td class="src">OptArg</td><td class="module"><a href="Distribution-Simple-Command.html#v:OptArg">Distribution.Simple.Command</a></td></tr><tr><td class="src">optArg</td><td class="module"><a href="Distribution-Simple-Command.html#v:optArg">Distribution.Simple.Command</a></td></tr><tr><td class="src">optArg'</td><td class="module"><a href="Distribution-Simple-Command.html#v:optArg-39-">Distribution.Simple.Command</a></td></tr><tr><td class="src">OptDescr</td><td class="module"><a href="Distribution-Simple-Command.html#t:OptDescr">Distribution.Simple.Command</a></td></tr><tr><td class="src">OptFlags</td><td class="module"><a href="Distribution-Simple-Command.html#t:OptFlags">Distribution.Simple.Command</a></td></tr><tr><td class="src">OptimisationLevel</td><td class="module"><a href="Distribution-Simple-Compiler.html#t:OptimisationLevel">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">option</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:option">Distribution.Compat.ReadP</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Command.html#v:option">Distribution.Simple.Command</a></td></tr><tr><td class="src">optional</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:optional">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">OptionBool</td><td class="module"><a href="Distribution-TestSuite.html#v:OptionBool">Distribution.TestSuite</a></td></tr><tr><td class="src">optionDefault</td><td class="module"><a href="Distribution-TestSuite.html#v:optionDefault">Distribution.TestSuite</a></td></tr><tr><td class="src">OptionDescr</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-TestSuite.html#t:OptionDescr">Distribution.TestSuite</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-TestSuite.html#v:OptionDescr">Distribution.TestSuite</a></td></tr><tr><td class="src">optionDescr</td><td class="module"><a href="Distribution-Simple-Command.html#v:optionDescr">Distribution.Simple.Command</a></td></tr><tr><td class="src">optionDescription</td><td class="module"><a href="Distribution-TestSuite.html#v:optionDescription">Distribution.TestSuite</a></td></tr><tr><td class="src">optionDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:optionDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">OptionEnum</td><td class="module"><a href="Distribution-TestSuite.html#v:OptionEnum">Distribution.TestSuite</a></td></tr><tr><td class="src">OptionField</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Command.html#t:OptionField">Distribution.Simple.Command</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Command.html#v:OptionField">Distribution.Simple.Command</a></td></tr><tr><td class="src">OptionFile</td><td class="module"><a href="Distribution-TestSuite.html#v:OptionFile">Distribution.TestSuite</a></td></tr><tr><td class="src">optionFileExtensions</td><td class="module"><a href="Distribution-TestSuite.html#v:optionFileExtensions">Distribution.TestSuite</a></td></tr><tr><td class="src">optionFileIsDir</td><td class="module"><a href="Distribution-TestSuite.html#v:optionFileIsDir">Distribution.TestSuite</a></td></tr><tr><td class="src">optionFileMustExist</td><td class="module"><a href="Distribution-TestSuite.html#v:optionFileMustExist">Distribution.TestSuite</a></td></tr><tr><td class="src">optionName</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-TestSuite.html#v:optionName">Distribution.TestSuite</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Command.html#v:optionName">Distribution.Simple.Command</a></td></tr><tr><td class="src">OptionNumber</td><td class="module"><a href="Distribution-TestSuite.html#v:OptionNumber">Distribution.TestSuite</a></td></tr><tr><td class="src">optionNumberBounds</td><td class="module"><a href="Distribution-TestSuite.html#v:optionNumberBounds">Distribution.TestSuite</a></td></tr><tr><td class="src">optionNumberIsInt</td><td class="module"><a href="Distribution-TestSuite.html#v:optionNumberIsInt">Distribution.TestSuite</a></td></tr><tr><td class="src">optionNumJobs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:optionNumJobs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">OptionRngSeed</td><td class="module"><a href="Distribution-TestSuite.html#v:OptionRngSeed">Distribution.TestSuite</a></td></tr><tr><td class="src">Options</td><td class="module"><a href="Distribution-TestSuite.html#t:Options">Distribution.TestSuite</a></td></tr><tr><td class="src">options</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-TestSuite.html#v:options">Distribution.TestSuite</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:options">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:options">Distribution.PackageDescription</a></td></tr><tr><td class="src">OptionSet</td><td class="module"><a href="Distribution-TestSuite.html#v:OptionSet">Distribution.TestSuite</a></td></tr><tr><td class="src">OptionString</td><td class="module"><a href="Distribution-TestSuite.html#v:OptionString">Distribution.TestSuite</a></td></tr><tr><td class="src">optionStringMultiline</td><td class="module"><a href="Distribution-TestSuite.html#v:optionStringMultiline">Distribution.TestSuite</a></td></tr><tr><td class="src">OptionType</td><td class="module"><a href="Distribution-TestSuite.html#t:OptionType">Distribution.TestSuite</a></td></tr><tr><td class="src">optionType</td><td class="module"><a href="Distribution-TestSuite.html#v:optionType">Distribution.TestSuite</a></td></tr><tr><td class="src">optionVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:optionVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">optKeepTempFiles</td><td class="module"><a href="Distribution-Simple-Utils.html#v:optKeepTempFiles">Distribution.Simple.Utils</a></td></tr><tr><td class="src">or</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Ord</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">ord</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:ord">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Ordering</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">ordNub</td><td class="module"><a href="Distribution-Utils-Generic.html#v:ordNub">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:ordNub">Distribution.Simple.Utils</a></td></tr><tr><td class="src">ordNubBy</td><td class="module"><a href="Distribution-Utils-Generic.html#v:ordNubBy">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:ordNubBy">Distribution.Simple.Utils</a></td></tr><tr><td class="src">ordNubRight</td><td class="module"><a href="Distribution-Utils-Generic.html#v:ordNubRight">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:ordNubRight">Distribution.Simple.Utils</a></td></tr><tr><td class="src">orEarlierVersion</td><td class="module"><a href="Distribution-Version.html#v:orEarlierVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">orLaterVersion</td><td class="module"><a href="Distribution-Version.html#v:orLaterVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">OS</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-System.html#t:OS">Distribution.System</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:OS">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:OS">Distribution.PackageDescription</a></td></tr><tr><td class="src">OSVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:OSVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">OSX</td><td class="module"><a href="Distribution-System.html#v:OSX">Distribution.System</a></td></tr><tr><td class="src">OtherArch</td><td class="module"><a href="Distribution-System.html#v:OtherArch">Distribution.System</a></td></tr><tr><td class="src">OtherCompiler</td><td class="module"><a href="Distribution-Compiler.html#v:OtherCompiler">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">otherExtensions</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:otherExtensions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:otherExtensions">Distribution.PackageDescription</a></td></tr><tr><td class="src">otherLanguages</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:otherLanguages">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:otherLanguages">Distribution.PackageDescription</a></td></tr><tr><td class="src">OtherLicense</td><td class="module"><a href="Distribution-License.html#v:OtherLicense">Distribution.License</a>, <a href="Distribution-Make.html#v:OtherLicense">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">otherModules</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:otherModules">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:otherModules">Distribution.PackageDescription</a></td></tr><tr><td class="src">OtherOS</td><td class="module"><a href="Distribution-System.html#v:OtherOS">Distribution.System</a></td></tr><tr><td class="src">OtherRepoType</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:OtherRepoType">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:OtherRepoType">Distribution.PackageDescription</a></td></tr><tr><td class="src">otherwise</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">OverlappingInstances</td><td class="module"><a href="Language-Haskell-Extension.html#v:OverlappingInstances">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">OverloadedLabels</td><td class="module"><a href="Language-Haskell-Extension.html#v:OverloadedLabels">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">OverloadedLists</td><td class="module"><a href="Language-Haskell-Extension.html#v:OverloadedLists">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">OverloadedStrings</td><td class="module"><a href="Language-Haskell-Extension.html#v:OverloadedStrings">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">overNubList</td><td class="module"><a href="Distribution-Utils-NubList.html#v:overNubList">Distribution.Utils.NubList</a></td></tr><tr><td class="src">overNubListR</td><td class="module"><a href="Distribution-Utils-NubList.html#v:overNubListR">Distribution.Utils.NubList</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - P)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - P</p><table><tr><td class="src">Package</td><td class="module"><a href="Distribution-Package.html#t:Package">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">package</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:package">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:package">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:package">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">PackageBuildImpossible</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:PackageBuildImpossible">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">PackageBuildWarning</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:PackageBuildWarning">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">PackageCheck</td><td class="module"><a href="Distribution-PackageDescription-Check.html#t:PackageCheck">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">PackageDB</td><td class="module"><a href="Distribution-Simple-Compiler.html#t:PackageDB">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">packageDbOpt</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:packageDbOpt">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="src">PackageDBStack</td><td class="module"><a href="Distribution-Simple-Compiler.html#t:PackageDBStack">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">PackageDescription</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#t:PackageDescription">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#t:PackageDescription">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:PackageDescription">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:PackageDescription">Distribution.PackageDescription</a></td></tr><tr><td class="src">packageDescription</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:packageDescription">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:packageDescription">Distribution.PackageDescription</a></td></tr><tr><td class="src">PackageDistInexcusable</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:PackageDistInexcusable">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">PackageDistSuspicious</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:PackageDistSuspicious">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">PackageDistSuspiciousWarn</td><td class="module"><a href="Distribution-PackageDescription-Check.html#v:PackageDistSuspiciousWarn">Distribution.PackageDescription.Check</a></td></tr><tr><td class="src">PackageId</td><td class="module"><a href="Distribution-Types-PackageId.html#t:PackageId">Distribution.Types.PackageId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">packageId</td><td class="module"><a href="Distribution-Package.html#v:packageId">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">PackageIdentifier</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-PackageId.html#t:PackageIdentifier">Distribution.Types.PackageId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-PackageId.html#v:PackageIdentifier">Distribution.Types.PackageId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">PackageImports</td><td class="module"><a href="Language-Haskell-Extension.html#v:PackageImports">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">PackageIndex</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#t:PackageIndex">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">PackageInstalled</td><td class="module"><a href="Distribution-Package.html#t:PackageInstalled">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">packageKeySupported</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:packageKeySupported">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">PackageLog</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Test-Log.html#t:PackageLog">Distribution.Simple.Test.Log</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:PackageLog">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">PackageName</td><td class="module"><a href="Distribution-Types-PackageName.html#t:PackageName">Distribution.Types.PackageName</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">packageName</td><td class="module"><a href="Distribution-Package.html#v:packageName">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">packageNameToUnqualComponentName</td><td class="module"><a href="Distribution-Types-UnqualComponentName.html#v:packageNameToUnqualComponentName">Distribution.Types.UnqualComponentName</a></td></tr><tr><td class="src">packageTemplateEnv</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:packageTemplateEnv">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">packageVersion</td><td class="module"><a href="Distribution-Package.html#v:packageVersion">Distribution.Package</a>, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">ParallelArrays</td><td class="module"><a href="Language-Haskell-Extension.html#v:ParallelArrays">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">ParallelListComp</td><td class="module"><a href="Language-Haskell-Extension.html#v:ParallelListComp">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">parentSrcLocPrefix</td><td class="module"><a href="Distribution-Compat-Stack.html#v:parentSrcLocPrefix">Distribution.Compat.Stack</a></td></tr><tr><td class="src">parmakeSupported</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:parmakeSupported">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">parse</td><td class="module"><a href="Distribution-Text.html#v:parse">Distribution.Text</a></td></tr><tr><td class="src">ParseArgs</td><td class="module"><a href="Distribution-Simple-Command.html#v:ParseArgs">Distribution.Simple.Command</a></td></tr><tr><td class="src">parseCompilerFlavorCompat</td><td class="module"><a href="Distribution-Compiler.html#v:parseCompilerFlavorCompat">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">parseCondition</td><td class="module"><a href="Distribution-PackageDescription-Configuration.html#v:parseCondition">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">ParseFailed</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:ParseFailed">Distribution.InstalledPackageInfo</a>, <a href="Distribution-PackageDescription-Parse.html#v:ParseFailed">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">parseFileGlob</td><td class="module"><a href="Distribution-Simple-Utils.html#v:parseFileGlob">Distribution.Simple.Utils</a></td></tr><tr><td class="src">parseFlagAssignment</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:parseFlagAssignment">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:parseFlagAssignment">Distribution.PackageDescription</a></td></tr><tr><td class="src">parseGenericPackageDescription</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:parseGenericPackageDescription">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">parseHookedBuildInfo</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:parseHookedBuildInfo">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">parseInstalledPackageInfo</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:parseInstalledPackageInfo">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">ParseOk</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:ParseOk">Distribution.InstalledPackageInfo</a>, <a href="Distribution-PackageDescription-Parse.html#v:ParseOk">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">parseOpenModuleSubst</td><td class="module"><a href="Distribution-Backpack.html#v:parseOpenModuleSubst">Distribution.Backpack</a></td></tr><tr><td class="src">parseOpenModuleSubstEntry</td><td class="module"><a href="Distribution-Backpack.html#v:parseOpenModuleSubstEntry">Distribution.Backpack</a></td></tr><tr><td class="src">parsePackageDescription</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:parsePackageDescription">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">parseReadE</td><td class="module"><a href="Distribution-ReadE.html#v:parseReadE">Distribution.ReadE</a></td></tr><tr><td class="src">ParseResult</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#t:ParseResult">Distribution.InstalledPackageInfo</a>, <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">PartialTypeSignatures</td><td class="module"><a href="Language-Haskell-Extension.html#v:PartialTypeSignatures">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">partition</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">partitionComponents</td><td class="module"><a href="Distribution-Types-Component.html#v:partitionComponents">Distribution.Types.Component</a></td></tr><tr><td class="src">partitionWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">Pass</td><td class="module"><a href="Distribution-TestSuite.html#v:Pass">Distribution.TestSuite</a></td></tr><tr><td class="src">PathTemplate</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#t:PathTemplate">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">PathTemplateEnv</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#t:PathTemplateEnv">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">PathTemplateVariable</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#t:PathTemplateVariable">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">PatternGuards</td><td class="module"><a href="Language-Haskell-Extension.html#v:PatternGuards">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">PatternSignatures</td><td class="module"><a href="Language-Haskell-Extension.html#v:PatternSignatures">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">PatternSynonyms</td><td class="module"><a href="Language-Haskell-Extension.html#v:PatternSynonyms">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Permissive</td><td class="module"><a href="Distribution-System.html#v:Permissive">Distribution.System</a></td></tr><tr><td class="src">PError</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#t:PError">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">pfail</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:pfail">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">pi</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">pkgBuildableComponents</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:pkgBuildableComponents">Distribution.Types.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:pkgBuildableComponents">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">pkgComponents</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:pkgComponents">Distribution.Types.PackageDescription</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:pkgComponents">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">PkgconfigDependency</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-PkgconfigDependency.html#t:PkgconfigDependency">Distribution.Types.PkgconfigDependency</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-PkgconfigDependency.html#v:PkgconfigDependency">Distribution.Types.PkgconfigDependency</a></td></tr><tr><td class="src">pkgconfigDepends</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:pkgconfigDepends">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:pkgconfigDepends">Distribution.PackageDescription</a></td></tr><tr><td class="src">PkgconfigName</td><td class="module"><a href="Distribution-Types-PkgconfigName.html#t:PkgconfigName">Distribution.Types.PkgconfigName</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">pkgConfigProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:pkgConfigProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:pkgConfigProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">pkgDescrFieldDescrs</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:pkgDescrFieldDescrs">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">pkgDescrFile</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:pkgDescrFile">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:pkgDescrFile">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">PkgIdVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:PkgIdVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">pkgName</td><td class="module"><a href="Distribution-Types-PackageId.html#v:pkgName">Distribution.Types.PackageId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">PkgNameVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:PkgNameVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">pkgPathEnvVar</td><td class="module"><a href="Distribution-Simple-Build-PathsModule.html#v:pkgPathEnvVar">Distribution.Simple.Build.PathsModule</a></td></tr><tr><td class="src">pkgRoot</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:pkgRoot">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:pkgRoot">Distribution.Simple.GHC</a></td></tr><tr><td class="src">pkgUrl</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:pkgUrl">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:pkgUrl">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:pkgUrl">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">pkgVersion</td><td class="module"><a href="Distribution-Types-PackageId.html#v:pkgVersion">Distribution.Types.PackageId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">PkgVerVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:PkgVerVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">plain</td><td class="module"><a href="Distribution-Simple-PreProcess-Unlit.html#v:plain">Distribution.Simple.PreProcess.Unlit</a></td></tr><tr><td class="src">Platform</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-System.html#t:Platform">Distribution.System</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-System.html#v:Platform">Distribution.System</a></td></tr><tr><td class="src">platform</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:platform">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">platformDefines</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:platformDefines">Distribution.Simple.PreProcess</a>, <a href="Distribution-Simple-Configure.html#v:platformDefines">Distribution.Simple.Configure</a></td></tr><tr><td class="src">platformFromTriple</td><td class="module"><a href="Distribution-System.html#v:platformFromTriple">Distribution.System</a></td></tr><tr><td class="src">platformIndependent</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:platformIndependent">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">platformTemplateEnv</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:platformTemplateEnv">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">PolyKinds</td><td class="module"><a href="Language-Haskell-Extension.html#v:PolyKinds">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">PolymorphicComponents</td><td class="module"><a href="Language-Haskell-Extension.html#v:PolymorphicComponents">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">posixSecondsToModTime</td><td class="module"><a href="Distribution-Compat-Time.html#v:posixSecondsToModTime">Distribution.Compat.Time</a></td></tr><tr><td class="src">postBench</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postBench">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postBench">Distribution.Simple</a></td></tr><tr><td class="src">postBuild</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postBuild">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postBuild">Distribution.Simple</a></td></tr><tr><td class="src">postClean</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postClean">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postClean">Distribution.Simple</a></td></tr><tr><td class="src">postConf</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postConf">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postConf">Distribution.Simple</a></td></tr><tr><td class="src">postCopy</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postCopy">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postCopy">Distribution.Simple</a></td></tr><tr><td class="src">postDoctest</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postDoctest">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postDoctest">Distribution.Simple</a></td></tr><tr><td class="src">PostfixOperators</td><td class="module"><a href="Language-Haskell-Extension.html#v:PostfixOperators">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">postHaddock</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postHaddock">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postHaddock">Distribution.Simple</a></td></tr><tr><td class="src">postHscolour</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postHscolour">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postHscolour">Distribution.Simple</a></td></tr><tr><td class="src">postInst</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postInst">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postInst">Distribution.Simple</a></td></tr><tr><td class="src">postReg</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postReg">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postReg">Distribution.Simple</a></td></tr><tr><td class="src">postRepl</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postRepl">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postRepl">Distribution.Simple</a></td></tr><tr><td class="src">postSDist</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postSDist">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postSDist">Distribution.Simple</a></td></tr><tr><td class="src">postTest</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postTest">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postTest">Distribution.Simple</a></td></tr><tr><td class="src">postUnreg</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:postUnreg">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:postUnreg">Distribution.Simple</a></td></tr><tr><td class="src">ppAlex</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:ppAlex">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">PPC</td><td class="module"><a href="Distribution-System.html#v:PPC">Distribution.System</a></td></tr><tr><td class="src">ppC2hs</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:ppC2hs">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">PPC64</td><td class="module"><a href="Distribution-System.html#v:PPC64">Distribution.System</a></td></tr><tr><td class="src">ppCpp</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:ppCpp">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">ppCpp'</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:ppCpp-39-">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">ppGreenCard</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:ppGreenCard">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">ppHappy</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:ppHappy">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">ppHsc2hs</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:ppHsc2hs">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">ppSuffixes</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:ppSuffixes">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">PPSuffixHandler</td><td class="module"><a href="Distribution-Simple-PreProcess.html#t:PPSuffixHandler">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">ppUnlit</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:ppUnlit">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">preBench</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preBench">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preBench">Distribution.Simple</a></td></tr><tr><td class="src">preBuild</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preBuild">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preBuild">Distribution.Simple</a></td></tr><tr><td class="src">preClean</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preClean">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preClean">Distribution.Simple</a></td></tr><tr><td class="src">preConf</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preConf">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preConf">Distribution.Simple</a></td></tr><tr><td class="src">preCopy</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preCopy">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preCopy">Distribution.Simple</a></td></tr><tr><td class="src">pred</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">preDoctest</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preDoctest">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preDoctest">Distribution.Simple</a></td></tr><tr><td class="src">prefix</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:prefix">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">prefixRelativeComponentInstallDirs</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:prefixRelativeComponentInstallDirs">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">prefixRelativeInstallDirs</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:prefixRelativeInstallDirs">Distribution.Simple.InstallDirs</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:prefixRelativeInstallDirs">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">PrefixVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:PrefixVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">preHaddock</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preHaddock">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preHaddock">Distribution.Simple</a></td></tr><tr><td class="src">preHscolour</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preHscolour">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preHscolour">Distribution.Simple</a></td></tr><tr><td class="src">preInst</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preInst">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preInst">Distribution.Simple</a></td></tr><tr><td class="src">prepareSnapshotTree</td><td class="module"><a href="Distribution-Simple-SrcDist.html#v:prepareSnapshotTree">Distribution.Simple.SrcDist</a></td></tr><tr><td class="src">prepareTree</td><td class="module"><a href="Distribution-Simple-SrcDist.html#v:prepareTree">Distribution.Simple.SrcDist</a></td></tr><tr><td class="src">preprocessComponent</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:preprocessComponent">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">preprocessExtras</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:preprocessExtras">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">PreProcessor</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-PreProcess.html#t:PreProcessor">Distribution.Simple.PreProcess</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:PreProcessor">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">preReg</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preReg">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preReg">Distribution.Simple</a></td></tr><tr><td class="src">preRepl</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preRepl">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preRepl">Distribution.Simple</a></td></tr><tr><td class="src">preSDist</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preSDist">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preSDist">Distribution.Simple</a></td></tr><tr><td class="src">preTest</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preTest">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preTest">Distribution.Simple</a></td></tr><tr><td class="src">prettyCallStack</td><td class="module"><a href="Distribution-Compat-Stack.html#v:prettyCallStack">Distribution.Compat.Stack</a></td></tr><tr><td class="src">preUnreg</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:preUnreg">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:preUnreg">Distribution.Simple</a></td></tr><tr><td class="src">print</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">printPackageProblems</td><td class="module"><a href="Distribution-Simple-SrcDist.html#v:printPackageProblems">Distribution.Simple.SrcDist</a></td></tr><tr><td class="src">printRawCommandAndArgs</td><td class="module"><a href="Distribution-Simple-Utils.html#v:printRawCommandAndArgs">Distribution.Simple.Utils</a></td></tr><tr><td class="src">printRawCommandAndArgsAndEnv</td><td class="module"><a href="Distribution-Simple-Utils.html#v:printRawCommandAndArgsAndEnv">Distribution.Simple.Utils</a></td></tr><tr><td class="src">product</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:product">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Prof</td><td class="module"><a href="Distribution-Simple-Hpc.html#v:Prof">Distribution.Simple.Hpc</a></td></tr><tr><td class="src">ProfDetailAllFunctions</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:ProfDetailAllFunctions">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">ProfDetailDefault</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:ProfDetailDefault">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">ProfDetailExportedFunctions</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:ProfDetailExportedFunctions">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">ProfDetailLevel</td><td class="module"><a href="Distribution-Simple-Compiler.html#t:ProfDetailLevel">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">ProfDetailNone</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:ProfDetailNone">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">ProfDetailOther</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:ProfDetailOther">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">ProfDetailToplevelFunctions</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:ProfDetailToplevelFunctions">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">profilingSupported</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:profilingSupported">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">profOptions</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:profOptions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:profOptions">Distribution.PackageDescription</a></td></tr><tr><td class="src">ProgArg</td><td class="module"><a href="Distribution-Simple-Program-Types.html#t:ProgArg">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#t:ProgArg">Distribution.Simple.Program</a></td></tr><tr><td class="src">progInvokeArgs</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:progInvokeArgs">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:progInvokeArgs">Distribution.Simple.Program</a></td></tr><tr><td class="src">progInvokeCwd</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:progInvokeCwd">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:progInvokeCwd">Distribution.Simple.Program</a></td></tr><tr><td class="src">progInvokeEnv</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:progInvokeEnv">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:progInvokeEnv">Distribution.Simple.Program</a></td></tr><tr><td class="src">progInvokeInput</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:progInvokeInput">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:progInvokeInput">Distribution.Simple.Program</a></td></tr><tr><td class="src">progInvokeInputEncoding</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:progInvokeInputEncoding">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:progInvokeInputEncoding">Distribution.Simple.Program</a></td></tr><tr><td class="src">progInvokeOutputEncoding</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:progInvokeOutputEncoding">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:progInvokeOutputEncoding">Distribution.Simple.Program</a></td></tr><tr><td class="src">progInvokePath</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:progInvokePath">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:progInvokePath">Distribution.Simple.Program</a></td></tr><tr><td class="src">progInvokePathEnv</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:progInvokePathEnv">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:progInvokePathEnv">Distribution.Simple.Program</a></td></tr><tr><td class="src">progPrefix</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:progPrefix">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:progPrefix">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">Program</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Program-Types.html#t:Program">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#t:Program">Distribution.Simple.Program</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:Program">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:Program">Distribution.Simple.Program</a></td></tr><tr><td class="src">ProgramConfiguration</td><td class="module"><a href="Distribution-Simple-Program.html#t:ProgramConfiguration">Distribution.Simple.Program</a></td></tr><tr><td class="src">programConfigurationOptions</td><td class="module"><a href="Distribution-Simple-Setup.html#v:programConfigurationOptions">Distribution.Simple.Setup</a></td></tr><tr><td class="src">programConfigurationPaths'</td><td class="module"><a href="Distribution-Simple-Setup.html#v:programConfigurationPaths-39-">Distribution.Simple.Setup</a></td></tr><tr><td class="src">ProgramDb</td><td class="module"><a href="Distribution-Simple-Program-Db.html#t:ProgramDb">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#t:ProgramDb">Distribution.Simple.Program</a></td></tr><tr><td class="src">programDbOptions</td><td class="module"><a href="Distribution-Simple-Setup.html#v:programDbOptions">Distribution.Simple.Setup</a></td></tr><tr><td class="src">programDbPaths'</td><td class="module"><a href="Distribution-Simple-Setup.html#v:programDbPaths-39-">Distribution.Simple.Setup</a></td></tr><tr><td class="src">programDefaultArgs</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programDefaultArgs">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programDefaultArgs">Distribution.Simple.Program</a></td></tr><tr><td class="src">programFindLocation</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programFindLocation">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programFindLocation">Distribution.Simple.Program</a></td></tr><tr><td class="src">programFindVersion</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programFindVersion">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programFindVersion">Distribution.Simple.Program</a></td></tr><tr><td class="src">programId</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programId">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programId">Distribution.Simple.Program</a></td></tr><tr><td class="src">ProgramInvocation</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Program-Run.html#t:ProgramInvocation">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#t:ProgramInvocation">Distribution.Simple.Program</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:ProgramInvocation">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:ProgramInvocation">Distribution.Simple.Program</a></td></tr><tr><td class="src">programInvocation</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:programInvocation">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:programInvocation">Distribution.Simple.Program</a></td></tr><tr><td class="src">ProgramLocation</td><td class="module"><a href="Distribution-Simple-Program-Types.html#t:ProgramLocation">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#t:ProgramLocation">Distribution.Simple.Program</a></td></tr><tr><td class="src">programLocation</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programLocation">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programLocation">Distribution.Simple.Program</a></td></tr><tr><td class="src">programMonitorFiles</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programMonitorFiles">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programMonitorFiles">Distribution.Simple.Program</a></td></tr><tr><td class="src">programName</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programName">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programName">Distribution.Simple.Program</a></td></tr><tr><td class="src">programOverrideArgs</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programOverrideArgs">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programOverrideArgs">Distribution.Simple.Program</a></td></tr><tr><td class="src">programOverrideEnv</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programOverrideEnv">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programOverrideEnv">Distribution.Simple.Program</a></td></tr><tr><td class="src">programPath</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programPath">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programPath">Distribution.Simple.Program</a></td></tr><tr><td class="src">programPostConf</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programPostConf">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programPostConf">Distribution.Simple.Program</a></td></tr><tr><td class="src">programProperties</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programProperties">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programProperties">Distribution.Simple.Program</a></td></tr><tr><td class="src">ProgramSearchPath</td><td class="module"><a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">Distribution.Simple.Program.Find</a>, <a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPath">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#t:ProgramSearchPath">Distribution.Simple.Program</a></td></tr><tr><td class="src">programSearchPathAsPATHVar</td><td class="module"><a href="Distribution-Simple-Program-Find.html#v:programSearchPathAsPATHVar">Distribution.Simple.Program.Find</a></td></tr><tr><td class="src">ProgramSearchPathDefault</td><td class="module"><a href="Distribution-Simple-Program-Find.html#v:ProgramSearchPathDefault">Distribution.Simple.Program.Find</a>, <a href="Distribution-Simple-Program-Types.html#v:ProgramSearchPathDefault">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:ProgramSearchPathDefault">Distribution.Simple.Program</a></td></tr><tr><td class="src">ProgramSearchPathDir</td><td class="module"><a href="Distribution-Simple-Program-Find.html#v:ProgramSearchPathDir">Distribution.Simple.Program.Find</a>, <a href="Distribution-Simple-Program-Types.html#v:ProgramSearchPathDir">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:ProgramSearchPathDir">Distribution.Simple.Program</a></td></tr><tr><td class="src">ProgramSearchPathEntry</td><td class="module"><a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">Distribution.Simple.Program.Find</a>, <a href="Distribution-Simple-Program-Types.html#t:ProgramSearchPathEntry">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#t:ProgramSearchPathEntry">Distribution.Simple.Program</a></td></tr><tr><td class="src">programVersion</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:programVersion">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:programVersion">Distribution.Simple.Program</a></td></tr><tr><td class="src">Progress</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-TestSuite.html#t:Progress">Distribution.TestSuite</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-TestSuite.html#v:Progress">Distribution.TestSuite</a></td></tr><tr><td class="alt">3 (Type/Class)</td><td class="module"><a href="Distribution-Utils-Progress.html#t:Progress">Distribution.Utils.Progress</a></td></tr><tr><td class="src">progSuffix</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:progSuffix">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:progSuffix">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">properFraction</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">PublicDomain</td><td class="module"><a href="Distribution-License.html#v:PublicDomain">Distribution.License</a>, <a href="Distribution-Make.html#v:PublicDomain">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">pure</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Put</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">put</td><td class="module">Distribution.Compat.Binary, <a href="Distribution-Compat-Prelude-Internal.html#v:put">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">putChar</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">putList</td><td class="module">Distribution.Compat.Binary, <a href="Distribution-Compat-Prelude-Internal.html#v:putList">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">putStr</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">putStrLn</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">putWord8</td><td class="module">Distribution.Compat.Binary</td></tr><tr><td class="src">PWarning</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#t:PWarning">Distribution.InstalledPackageInfo</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - Q)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - Q</p><table><tr><td class="src">QL1</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:QL1">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">QL2</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:QL2">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">QL3</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:QL3">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">qualifiedExeName</td><td class="module"><a href="Distribution-Types-ExeDependency.html#v:qualifiedExeName">Distribution.Types.ExeDependency</a></td></tr><tr><td class="src">QualLevel</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#t:QualLevel">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">QuasiQuotes</td><td class="module"><a href="Language-Haskell-Extension.html#v:QuasiQuotes">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">quot</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">quotRem</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - R)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - R</p><table><tr><td class="src">Rank2Types</td><td class="module"><a href="Language-Haskell-Extension.html#v:Rank2Types">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">RankNTypes</td><td class="module"><a href="Language-Haskell-Extension.html#v:RankNTypes">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Rational</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">rawSystemExit</td><td class="module"><a href="Distribution-Simple-Utils.html#v:rawSystemExit">Distribution.Simple.Utils</a></td></tr><tr><td class="src">rawSystemExitCode</td><td class="module"><a href="Distribution-Simple-Utils.html#v:rawSystemExitCode">Distribution.Simple.Utils</a></td></tr><tr><td class="src">rawSystemExitWithEnv</td><td class="module"><a href="Distribution-Simple-Utils.html#v:rawSystemExitWithEnv">Distribution.Simple.Utils</a></td></tr><tr><td class="src">rawSystemIOWithEnv</td><td class="module"><a href="Distribution-Simple-Utils.html#v:rawSystemIOWithEnv">Distribution.Simple.Utils</a></td></tr><tr><td class="src">rawSystemProgram</td><td class="module"><a href="Distribution-Simple-Program.html#v:rawSystemProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">rawSystemProgramConf</td><td class="module"><a href="Distribution-Simple-Program.html#v:rawSystemProgramConf">Distribution.Simple.Program</a></td></tr><tr><td class="src">rawSystemProgramStdout</td><td class="module"><a href="Distribution-Simple-Program.html#v:rawSystemProgramStdout">Distribution.Simple.Program</a></td></tr><tr><td class="src">rawSystemProgramStdoutConf</td><td class="module"><a href="Distribution-Simple-Program.html#v:rawSystemProgramStdoutConf">Distribution.Simple.Program</a></td></tr><tr><td class="src">rawSystemStdInOut</td><td class="module"><a href="Distribution-Simple-Utils.html#v:rawSystemStdInOut">Distribution.Simple.Utils</a></td></tr><tr><td class="src">rawSystemStdout</td><td class="module"><a href="Distribution-Simple-Utils.html#v:rawSystemStdout">Distribution.Simple.Utils</a></td></tr><tr><td class="src">Read</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">read</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">readBuildTargets</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:readBuildTargets">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">readDesc</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:readDesc">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:readDesc">Distribution.Simple</a></td></tr><tr><td class="src">ReadE</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-ReadE.html#t:ReadE">Distribution.ReadE</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-ReadE.html#v:ReadE">Distribution.ReadE</a></td></tr><tr><td class="src">readEOrFail</td><td class="module"><a href="Distribution-ReadE.html#v:readEOrFail">Distribution.ReadE</a></td></tr><tr><td class="src">readFile</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">readGenericPackageDescription</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:readGenericPackageDescription">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">readHookedBuildInfo</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:readHookedBuildInfo">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">readIO</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">readList</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">readLn</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">ReadP</td><td class="module"><a href="Distribution-Compat-ReadP.html#t:ReadP">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">readPackageDbList</td><td class="module"><a href="Distribution-Simple-Setup.html#v:readPackageDbList">Distribution.Simple.Setup</a></td></tr><tr><td class="src">readPackageDescription</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:readPackageDescription">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">readParen</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">readPToMaybe</td><td class="module"><a href="Distribution-Simple-Setup.html#v:readPToMaybe">Distribution.Simple.Setup</a></td></tr><tr><td class="src">readP_to_E</td><td class="module"><a href="Distribution-ReadE.html#v:readP_to_E">Distribution.ReadE</a></td></tr><tr><td class="src">readP_to_S</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:readP_to_S">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">ReadS</td><td class="module"><a href="Distribution-Compat-ReadP.html#t:ReadS">Distribution.Compat.ReadP</a>, Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">reads</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">readsPrec</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">readS_to_P</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:readS_to_P">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">readTargetInfos</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:readTargetInfos">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">readUserBuildTargets</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:readUserBuildTargets">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">readUTF8File</td><td class="module"><a href="Distribution-Utils-Generic.html#v:readUTF8File">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:readUTF8File">Distribution.Simple.Utils</a></td></tr><tr><td class="src">Real</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">RealFloat</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">RealFrac</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">realToFrac</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">RebindableSyntax</td><td class="module"><a href="Language-Haskell-Extension.html#v:RebindableSyntax">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">recache</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:recache">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">recacheInvocation</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:recacheInvocation">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">recacheMultiInstance</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:recacheMultiInstance">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">recip</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">reconfigurePrograms</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:reconfigurePrograms">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:reconfigurePrograms">Distribution.Simple.Program</a></td></tr><tr><td class="src">RecordPuns</td><td class="module"><a href="Language-Haskell-Extension.html#v:RecordPuns">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">RecordWildCards</td><td class="module"><a href="Language-Haskell-Extension.html#v:RecordWildCards">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">RecursiveDo</td><td class="module"><a href="Language-Haskell-Extension.html#v:RecursiveDo">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">reexportedModules</td><td class="module"><a href="Distribution-Types-Library.html#v:reexportedModules">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#v:reexportedModules">Distribution.PackageDescription</a></td></tr><tr><td class="src">reexportedModulesSupported</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:reexportedModulesSupported">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">regArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:regArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">regDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:regDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">regGenPkgConf</td><td class="module"><a href="Distribution-Simple-Setup.html#v:regGenPkgConf">Distribution.Simple.Setup</a></td></tr><tr><td class="src">regGenScript</td><td class="module"><a href="Distribution-Simple-Setup.html#v:regGenScript">Distribution.Simple.Setup</a></td></tr><tr><td class="src">regHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:regHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:regHook">Distribution.Simple</a></td></tr><tr><td class="src">regInPlace</td><td class="module"><a href="Distribution-Simple-Setup.html#v:regInPlace">Distribution.Simple.Setup</a></td></tr><tr><td class="src">register</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:register">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Register.html#v:register">Distribution.Simple.Register</a></td></tr><tr><td class="src">registerAllowOverwrite</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:registerAllowOverwrite">Distribution.Simple.Program.HcPkg</a>, <a href="Distribution-Simple-Register.html#v:registerAllowOverwrite">Distribution.Simple.Register</a></td></tr><tr><td class="src">registerCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:registerCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">RegisterFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:RegisterFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:RegisterFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">registerInvocation</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:registerInvocation">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">registerMultiInstance</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:registerMultiInstance">Distribution.Simple.Program.HcPkg</a>, <a href="Distribution-Simple-Register.html#v:registerMultiInstance">Distribution.Simple.Register</a></td></tr><tr><td class="src">RegisterOptions</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#t:RegisterOptions">Distribution.Simple.Program.HcPkg</a>, <a href="Distribution-Simple-Register.html#t:RegisterOptions">Distribution.Simple.Register</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:RegisterOptions">Distribution.Simple.Program.HcPkg</a>, <a href="Distribution-Simple-Register.html#v:RegisterOptions">Distribution.Simple.Register</a></td></tr><tr><td class="src">registerPackage</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-UHC.html#v:registerPackage">Distribution.Simple.UHC</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-LHC.html#v:registerPackage">Distribution.Simple.LHC</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Simple-HaskellSuite.html#v:registerPackage">Distribution.Simple.HaskellSuite</a></td></tr><tr><td class="alt">4 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:registerPackage">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">5 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:registerPackage">Distribution.Simple.GHC</a></td></tr><tr><td class="alt">6 (Function)</td><td class="module"><a href="Distribution-Simple-Register.html#v:registerPackage">Distribution.Simple.Register</a></td></tr><tr><td class="src">registerSuppressFilesCheck</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:registerSuppressFilesCheck">Distribution.Simple.Program.HcPkg</a>, <a href="Distribution-Simple-Register.html#v:registerSuppressFilesCheck">Distribution.Simple.Register</a></td></tr><tr><td class="src">registrationPackageDB</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:registrationPackageDB">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">regPackageDB</td><td class="module"><a href="Distribution-Simple-Setup.html#v:regPackageDB">Distribution.Simple.Setup</a></td></tr><tr><td class="src">regPrintId</td><td class="module"><a href="Distribution-Simple-Setup.html#v:regPrintId">Distribution.Simple.Setup</a></td></tr><tr><td class="src">RegularPatterns</td><td class="module"><a href="Language-Haskell-Extension.html#v:RegularPatterns">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">regVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:regVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">RelaxDeps</td><td class="module"><a href="Distribution-Simple-Setup.html#t:RelaxDeps">Distribution.Simple.Setup</a></td></tr><tr><td class="src">RelaxDepsAll</td><td class="module"><a href="Distribution-Simple-Setup.html#v:RelaxDepsAll">Distribution.Simple.Setup</a></td></tr><tr><td class="src">RelaxDepsNone</td><td class="module"><a href="Distribution-Simple-Setup.html#v:RelaxDepsNone">Distribution.Simple.Setup</a></td></tr><tr><td class="src">RelaxDepsSome</td><td class="module"><a href="Distribution-Simple-Setup.html#v:RelaxDepsSome">Distribution.Simple.Setup</a></td></tr><tr><td class="src">RelaxedDep</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:RelaxedDep">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:RelaxedDep">Distribution.Simple.Setup</a></td></tr><tr><td class="src">RelaxedDepScoped</td><td class="module"><a href="Distribution-Simple-Setup.html#v:RelaxedDepScoped">Distribution.Simple.Setup</a></td></tr><tr><td class="src">RelaxedPolyRec</td><td class="module"><a href="Language-Haskell-Extension.html#v:RelaxedPolyRec">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">relaxPackageDeps</td><td class="module"><a href="Distribution-Simple-Configure.html#v:relaxPackageDeps">Distribution.Simple.Configure</a></td></tr><tr><td class="src">relocatable</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:relocatable">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:relocatable">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">rem</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">removeLowerBound</td><td class="module"><a href="Distribution-Version.html#v:removeLowerBound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">removeUpperBound</td><td class="module"><a href="Distribution-Version.html#v:removeUpperBound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">renamingPackageFlagsSupported</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:renamingPackageFlagsSupported">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">renderGhcOptions</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:renderGhcOptions">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">repeat</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">repl</td><td class="module"><a href="Distribution-Simple-Build.html#v:repl">Distribution.Simple.Build</a></td></tr><tr><td class="src">replCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:replCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">replDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:replDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">replExe</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:replExe">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:replExe">Distribution.Simple.GHC</a></td></tr><tr><td class="src">ReplFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:ReplFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:ReplFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">replFLib</td><td class="module"><a href="Distribution-Simple-GHC.html#v:replFLib">Distribution.Simple.GHC</a></td></tr><tr><td class="src">replHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:replHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:replHook">Distribution.Simple</a></td></tr><tr><td class="src">replicate</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">replLib</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:replLib">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:replLib">Distribution.Simple.GHC</a></td></tr><tr><td class="src">replProgramArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:replProgramArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">replProgramPaths</td><td class="module"><a href="Distribution-Simple-Setup.html#v:replProgramPaths">Distribution.Simple.Setup</a></td></tr><tr><td class="src">replReload</td><td class="module"><a href="Distribution-Simple-Setup.html#v:replReload">Distribution.Simple.Setup</a></td></tr><tr><td class="src">replVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:replVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">repoBranch</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:repoBranch">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:repoBranch">Distribution.PackageDescription</a></td></tr><tr><td class="src">RepoHead</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:RepoHead">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:RepoHead">Distribution.PackageDescription</a></td></tr><tr><td class="src">RepoKind</td><td class="module"><a href="Distribution-Types-SourceRepo.html#t:RepoKind">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#t:RepoKind">Distribution.PackageDescription</a></td></tr><tr><td class="src">repoKind</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:repoKind">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:repoKind">Distribution.PackageDescription</a></td></tr><tr><td class="src">RepoKindUnknown</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:RepoKindUnknown">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:RepoKindUnknown">Distribution.PackageDescription</a></td></tr><tr><td class="src">repoLocation</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:repoLocation">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:repoLocation">Distribution.PackageDescription</a></td></tr><tr><td class="src">repoModule</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:repoModule">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:repoModule">Distribution.PackageDescription</a></td></tr><tr><td class="src">reportBuildTargetProblems</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:reportBuildTargetProblems">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">reportsNoExt</td><td class="module"><a href="Distribution-Simple-GHC.html#v:reportsNoExt">Distribution.Simple.GHC</a></td></tr><tr><td class="src">reportUserBuildTargetProblems</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:reportUserBuildTargetProblems">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">repoSubdir</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:repoSubdir">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:repoSubdir">Distribution.PackageDescription</a></td></tr><tr><td class="src">repoTag</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:repoTag">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:repoTag">Distribution.PackageDescription</a></td></tr><tr><td class="src">RepoThis</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:RepoThis">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:RepoThis">Distribution.PackageDescription</a></td></tr><tr><td class="src">RepoType</td><td class="module"><a href="Distribution-Types-SourceRepo.html#t:RepoType">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#t:RepoType">Distribution.PackageDescription</a></td></tr><tr><td class="src">repoType</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:repoType">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:repoType">Distribution.PackageDescription</a></td></tr><tr><td class="src">ReqArg</td><td class="module"><a href="Distribution-Simple-Command.html#v:ReqArg">Distribution.Simple.Command</a></td></tr><tr><td class="src">reqArg</td><td class="module"><a href="Distribution-Simple-Command.html#v:reqArg">Distribution.Simple.Command</a></td></tr><tr><td class="src">reqArg'</td><td class="module"><a href="Distribution-Simple-Command.html#v:reqArg-39-">Distribution.Simple.Command</a></td></tr><tr><td class="src">requiredSignatures</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:requiredSignatures">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">requireProgram</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:requireProgram">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:requireProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">requireProgramVersion</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:requireProgramVersion">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:requireProgramVersion">Distribution.Simple.Program</a></td></tr><tr><td class="src">requiresDirDbs</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:requiresDirDbs">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">resolveBuildTargets</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:resolveBuildTargets">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">restoreProgramConfiguration</td><td class="module"><a href="Distribution-Simple-Program.html#v:restoreProgramConfiguration">Distribution.Simple.Program</a></td></tr><tr><td class="src">restoreProgramDb</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:restoreProgramDb">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:restoreProgramDb">Distribution.Simple.Program</a></td></tr><tr><td class="src">RestrictedTypeSynonyms</td><td class="module"><a href="Language-Haskell-Extension.html#v:RestrictedTypeSynonyms">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">restrictKeys</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">Result</td><td class="module"><a href="Distribution-TestSuite.html#t:Result">Distribution.TestSuite</a></td></tr><tr><td class="src">return</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">revClosure</td><td class="module"><a href="Distribution-Compat-Graph.html#v:revClosure">Distribution.Compat.Graph</a></td></tr><tr><td class="src">reverse</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">reverseDependencyClosure</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:reverseDependencyClosure">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">reverseTopologicalOrder</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:reverseTopologicalOrder">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">revNeighbors</td><td class="module"><a href="Distribution-Compat-Graph.html#v:revNeighbors">Distribution.Compat.Graph</a></td></tr><tr><td class="src">revTopSort</td><td class="module"><a href="Distribution-Compat-Graph.html#v:revTopSort">Distribution.Compat.Graph</a></td></tr><tr><td class="src">rewriteFile</td><td class="module"><a href="Distribution-Simple-Utils.html#v:rewriteFile">Distribution.Simple.Utils</a></td></tr><tr><td class="src">rewriteFileEx</td><td class="module"><a href="Distribution-Simple-Utils.html#v:rewriteFileEx">Distribution.Simple.Utils</a></td></tr><tr><td class="src">Right</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">rnf</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:rnf">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">RoleAnnotations</td><td class="module"><a href="Language-Haskell-Extension.html#v:RoleAnnotations">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">round</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">Rs6000</td><td class="module"><a href="Distribution-System.html#v:Rs6000">Distribution.System</a></td></tr><tr><td class="src">run</td><td class="module"><a href="Distribution-TestSuite.html#v:run">Distribution.TestSuite</a></td></tr><tr><td class="src">runCmd</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:runCmd">Distribution.Simple.GHCJS</a></td></tr><tr><td class="src">runDbProgram</td><td class="module"><a href="Distribution-Simple-Program.html#v:runDbProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">runDList</td><td class="module"><a href="Distribution-Compat-DList.html#v:runDList">Distribution.Compat.DList</a></td></tr><tr><td class="src">runGHC</td><td class="module"><a href="Distribution-Simple-Program-GHC.html#v:runGHC">Distribution.Simple.Program.GHC</a></td></tr><tr><td class="src">runghcProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:runghcProgram">Distribution.Simple.Program.Builtin</a></td></tr><tr><td class="src">runLogProgress</td><td class="module"><a href="Distribution-Utils-LogProgress.html#v:runLogProgress">Distribution.Utils.LogProgress</a></td></tr><tr><td class="src">runPreProcessor</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:runPreProcessor">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">runProgram</td><td class="module"><a href="Distribution-Simple-Program.html#v:runProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">runProgramInvocation</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:runProgramInvocation">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:runProgramInvocation">Distribution.Simple.Program</a></td></tr><tr><td class="src">runReadE</td><td class="module"><a href="Distribution-ReadE.html#v:runReadE">Distribution.ReadE</a></td></tr><tr><td class="src">runSimplePreProcessor</td><td class="module"><a href="Distribution-Simple-PreProcess.html#v:runSimplePreProcessor">Distribution.Simple.PreProcess</a></td></tr><tr><td class="src">runTest</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-Test-LibV09.html#v:runTest">Distribution.Simple.Test.LibV09</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Test-ExeV10.html#v:runTest">Distribution.Simple.Test.ExeV10</a></td></tr><tr><td class="src">runTests</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:runTests">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:runTests">Distribution.Simple</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - S)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - S</p><table><tr><td class="src">S390</td><td class="module"><a href="Distribution-System.html#v:S390">Distribution.System</a></td></tr><tr><td class="src">Safe</td><td class="module"><a href="Language-Haskell-Extension.html#v:Safe">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">SafeImports</td><td class="module"><a href="Language-Haskell-Extension.html#v:SafeImports">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">safeTail</td><td class="module"><a href="Distribution-Utils-Generic.html#v:safeTail">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:safeTail">Distribution.Simple.Utils</a></td></tr><tr><td class="src">satisfy</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:satisfy">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">scaleFloat</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">scanl</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">scanl1</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">scanr</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">scanr1</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">SCC</td><td class="module"><a href="Distribution-Compat-Graph.html#t:SCC">Distribution.Compat.Graph</a></td></tr><tr><td class="src">ScopedTypeVariables</td><td class="module"><a href="Language-Haskell-Extension.html#v:ScopedTypeVariables">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">sdist</td><td class="module"><a href="Distribution-Simple-SrcDist.html#v:sdist">Distribution.Simple.SrcDist</a></td></tr><tr><td class="src">sdistCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:sdistCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">sDistDirectory</td><td class="module"><a href="Distribution-Simple-Setup.html#v:sDistDirectory">Distribution.Simple.Setup</a></td></tr><tr><td class="src">sDistDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:sDistDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">SDistFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:SDistFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:SDistFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">sDistHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:sDistHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:sDistHook">Distribution.Simple</a></td></tr><tr><td class="src">sDistListSources</td><td class="module"><a href="Distribution-Simple-Setup.html#v:sDistListSources">Distribution.Simple.Setup</a></td></tr><tr><td class="src">sDistSnapshot</td><td class="module"><a href="Distribution-Simple-Setup.html#v:sDistSnapshot">Distribution.Simple.Setup</a></td></tr><tr><td class="src">sDistVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:sDistVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">searchByName</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:searchByName">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">searchByNameSubstring</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:searchByNameSubstring">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">SearchResult</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#t:SearchResult">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">Semigroup</td><td class="module"><a href="Distribution-Compat-Semigroup.html#t:Semigroup">Distribution.Compat.Semigroup</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:Semigroup">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">sepBy</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:sepBy">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">sepBy1</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:sepBy1">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">seq</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">sequenceA</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:sequenceA">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">sequence_</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">setFileExecutable</td><td class="module"><a href="Distribution-Simple-Utils.html#v:setFileExecutable">Distribution.Simple.Utils</a></td></tr><tr><td class="src">setFileOrdinary</td><td class="module"><a href="Distribution-Simple-Utils.html#v:setFileOrdinary">Distribution.Simple.Utils</a></td></tr><tr><td class="src">setOption</td><td class="module"><a href="Distribution-TestSuite.html#v:setOption">Distribution.TestSuite</a></td></tr><tr><td class="src">setProgramSearchPath</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:setProgramSearchPath">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:setProgramSearchPath">Distribution.Simple.Program</a></td></tr><tr><td class="src">SetupBuildInfo</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-SetupBuildInfo.html#t:SetupBuildInfo">Distribution.Types.SetupBuildInfo</a>, <a href="Distribution-PackageDescription.html#t:SetupBuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-SetupBuildInfo.html#v:SetupBuildInfo">Distribution.Types.SetupBuildInfo</a>, <a href="Distribution-PackageDescription.html#v:SetupBuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="src">setupBuildInfo</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:setupBuildInfo">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:setupBuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="src">setupDepends</td><td class="module"><a href="Distribution-Types-SetupBuildInfo.html#v:setupDepends">Distribution.Types.SetupBuildInfo</a>, <a href="Distribution-PackageDescription.html#v:setupDepends">Distribution.PackageDescription</a></td></tr><tr><td class="src">setupMessage</td><td class="module"><a href="Distribution-Simple-Utils.html#v:setupMessage">Distribution.Simple.Utils</a></td></tr><tr><td class="src">setupMessage'</td><td class="module"><a href="Distribution-Backpack-DescribeUnitId.html#v:setupMessage-39-">Distribution.Backpack.DescribeUnitId</a></td></tr><tr><td class="src">SFlags</td><td class="module"><a href="Distribution-Simple-Command.html#t:SFlags">Distribution.Simple.Command</a></td></tr><tr><td class="src">SH</td><td class="module"><a href="Distribution-System.html#v:SH">Distribution.System</a></td></tr><tr><td class="src">shapeInstalledPackage</td><td class="module"><a href="Distribution-Backpack-ModuleShape.html#v:shapeInstalledPackage">Distribution.Backpack.ModuleShape</a></td></tr><tr><td class="src">sharedOptions</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:sharedOptions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:sharedOptions">Distribution.PackageDescription</a></td></tr><tr><td class="src">shortRelativePath</td><td class="module"><a href="Distribution-Simple-Utils.html#v:shortRelativePath">Distribution.Simple.Utils</a></td></tr><tr><td class="src">ShortText</td><td class="module"><a href="Distribution-Utils-ShortText.html#t:ShortText">Distribution.Utils.ShortText</a></td></tr><tr><td class="src">Show</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">show</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">ShowArgs</td><td class="module"><a href="Distribution-Simple-Command.html#v:ShowArgs">Distribution.Simple.Command</a></td></tr><tr><td class="src">showBuildTarget</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:showBuildTarget">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">showChar</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">showCompilerId</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:showCompilerId">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">showCompilerIdWithAbi</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:showCompilerIdWithAbi">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">showComponentName</td><td class="module"><a href="Distribution-Types-ComponentName.html#v:showComponentName">Distribution.Types.ComponentName</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:showComponentName">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">showFlagValue</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:showFlagValue">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:showFlagValue">Distribution.PackageDescription</a></td></tr><tr><td class="src">showForCabal</td><td class="module"><a href="Distribution-Verbosity.html#v:showForCabal">Distribution.Verbosity</a></td></tr><tr><td class="src">showForGHC</td><td class="module"><a href="Distribution-Verbosity.html#v:showForGHC">Distribution.Verbosity</a></td></tr><tr><td class="src">showGenericPackageDescription</td><td class="module"><a href="Distribution-PackageDescription-PrettyPrint.html#v:showGenericPackageDescription">Distribution.PackageDescription.PrettyPrint</a></td></tr><tr><td class="src">showHookedBuildInfo</td><td class="module"><a href="Distribution-PackageDescription-PrettyPrint.html#v:showHookedBuildInfo">Distribution.PackageDescription.PrettyPrint</a></td></tr><tr><td class="src">showInstalledPackageInfo</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:showInstalledPackageInfo">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">showInstalledPackageInfoField</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:showInstalledPackageInfoField">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">showList</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">ShowOrParseArgs</td><td class="module"><a href="Distribution-Simple-Command.html#t:ShowOrParseArgs">Distribution.Simple.Command</a></td></tr><tr><td class="src">showPackageDbList</td><td class="module"><a href="Distribution-Simple-Setup.html#v:showPackageDbList">Distribution.Simple.Setup</a></td></tr><tr><td class="src">showPackageDescription</td><td class="module"><a href="Distribution-PackageDescription-PrettyPrint.html#v:showPackageDescription">Distribution.PackageDescription.PrettyPrint</a></td></tr><tr><td class="src">showParen</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">showProfDetailLevel</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:showProfDetailLevel">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">ShowS</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">shows</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">showSimpleInstalledPackageInfoField</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:showSimpleInstalledPackageInfoField">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">showsPrec</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">showString</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">showTree</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">showTreeWith</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">showUserBuildTarget</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:showUserBuildTarget">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">showVersion</td><td class="module"><a href="Distribution-Version.html#v:showVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">signatures</td><td class="module"><a href="Distribution-Types-Library.html#v:signatures">Distribution.Types.Library</a>, <a href="Distribution-PackageDescription.html#v:signatures">Distribution.PackageDescription</a></td></tr><tr><td class="src">significand</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">signum</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">silent</td><td class="module"><a href="Distribution-Verbosity.html#v:silent">Distribution.Verbosity</a></td></tr><tr><td class="src">Simple</td><td class="module"><a href="Distribution-Types-BuildType.html#v:Simple">Distribution.Types.BuildType</a>, <a href="Distribution-PackageDescription.html#v:Simple">Distribution.PackageDescription</a></td></tr><tr><td class="src">simple</td><td class="module"><a href="Distribution-ModuleName.html#v:simple">Distribution.ModuleName</a></td></tr><tr><td class="src">simpleConfiguredProgram</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:simpleConfiguredProgram">Distribution.Simple.Program.Types</a></td></tr><tr><td class="src">simpleGhcEnvironmentFile</td><td class="module"><a href="Distribution-Simple-GHC.html#v:simpleGhcEnvironmentFile">Distribution.Simple.GHC</a></td></tr><tr><td class="src">simpleParse</td><td class="module"><a href="Distribution-Text.html#v:simpleParse">Distribution.Text</a></td></tr><tr><td class="src">simpleProgram</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:simpleProgram">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:simpleProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">simpleProgramInvocation</td><td class="module"><a href="Distribution-Simple-Program-Run.html#v:simpleProgramInvocation">Distribution.Simple.Program.Run</a>, <a href="Distribution-Simple-Program.html#v:simpleProgramInvocation">Distribution.Simple.Program</a></td></tr><tr><td class="src">simpleTestStub</td><td class="module"><a href="Distribution-Simple-Test-LibV09.html#v:simpleTestStub">Distribution.Simple.Test.LibV09</a></td></tr><tr><td class="src">simpleUserHooks</td><td class="module"><a href="Distribution-Simple.html#v:simpleUserHooks">Distribution.Simple</a></td></tr><tr><td class="src">simplifyCondition</td><td class="module"><a href="Distribution-Types-Condition.html#v:simplifyCondition">Distribution.Types.Condition</a></td></tr><tr><td class="src">simplifyCondTree</td><td class="module"><a href="Distribution-Types-CondTree.html#v:simplifyCondTree">Distribution.Types.CondTree</a></td></tr><tr><td class="src">simplifyDependency</td><td class="module"><a href="Distribution-Types-Dependency.html#v:simplifyDependency">Distribution.Types.Dependency</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">simplifyVersionRange</td><td class="module"><a href="Distribution-Version.html#v:simplifyVersionRange">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">sin</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">singleton</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Compat-DList.html#v:singleton">Distribution.Compat.DList</a></td></tr><tr><td class="src">sinh</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">size</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Compat-Graph.html#v:size">Distribution.Compat.Graph</a></td></tr><tr><td class="src">skipMany</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:skipMany">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">skipMany1</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:skipMany1">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">skipSpaces</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:skipSpaces">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">skipSpaces1</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:skipSpaces1">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">smartCopySources</td><td class="module"><a href="Distribution-Simple-Utils.html#v:smartCopySources">Distribution.Simple.Utils</a></td></tr><tr><td class="src">snapshotPackage</td><td class="module"><a href="Distribution-Simple-SrcDist.html#v:snapshotPackage">Distribution.Simple.SrcDist</a></td></tr><tr><td class="src">snapshotVersion</td><td class="module"><a href="Distribution-Simple-SrcDist.html#v:snapshotVersion">Distribution.Simple.SrcDist</a></td></tr><tr><td class="src">snd</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">snoc</td><td class="module"><a href="Distribution-Compat-DList.html#v:snoc">Distribution.Compat.DList</a></td></tr><tr><td class="src">Solaris</td><td class="module"><a href="Distribution-System.html#v:Solaris">Distribution.System</a></td></tr><tr><td class="src">some</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:some">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">sort</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:sort">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">sortBy</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:sortBy">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">sourceComponentName</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:sourceComponentName">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">sourceLibName</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:sourceLibName">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">sourcePackageId</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:sourcePackageId">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">SourceRepo</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-SourceRepo.html#t:SourceRepo">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#t:SourceRepo">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:SourceRepo">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:SourceRepo">Distribution.PackageDescription</a></td></tr><tr><td class="src">sourceRepoFieldDescrs</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:sourceRepoFieldDescrs">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">sourceRepos</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:sourceRepos">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:sourceRepos">Distribution.PackageDescription</a></td></tr><tr><td class="src">span</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">spanAntitone</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">Sparc</td><td class="module"><a href="Distribution-System.html#v:Sparc">Distribution.System</a></td></tr><tr><td class="src">SpecificPackageDB</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:SpecificPackageDB">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">specVersion</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:specVersion">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:specVersion">Distribution.PackageDescription</a></td></tr><tr><td class="src">specVersionRaw</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:specVersionRaw">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:specVersionRaw">Distribution.PackageDescription</a></td></tr><tr><td class="src">split</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">splitArgs</td><td class="module"><a href="Distribution-Simple-Setup.html#v:splitArgs">Distribution.Simple.Setup</a></td></tr><tr><td class="src">splitAt</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">splitLookup</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">splitObjs</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:splitObjs">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:splitObjs">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">splitRoot</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">sqrt</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">srcPref</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:srcPref">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">stability</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:stability">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:stability">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:stability">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">StandaloneDeriving</td><td class="module"><a href="Language-Haskell-Extension.html#v:StandaloneDeriving">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">startInterpreter</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-GHCJS.html#v:startInterpreter">Distribution.Simple.GHCJS</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-GHC.html#v:startInterpreter">Distribution.Simple.GHC</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="Distribution-Simple-Build.html#v:startInterpreter">Distribution.Simple.Build</a></td></tr><tr><td class="src">startsWithBOM</td><td class="module"><a href="Distribution-Utils-Generic.html#v:startsWithBOM">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:startsWithBOM">Distribution.Simple.Utils</a></td></tr><tr><td class="src">staticLibExtension</td><td class="module"><a href="Distribution-Simple-BuildPaths.html#v:staticLibExtension">Distribution.Simple.BuildPaths</a></td></tr><tr><td class="src">StaticPointers</td><td class="module"><a href="Language-Haskell-Extension.html#v:StaticPointers">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">stdParse</td><td class="module"><a href="Distribution-Text.html#v:stdParse">Distribution.Text</a></td></tr><tr><td class="src">stepProgress</td><td class="module"><a href="Distribution-Utils-Progress.html#v:stepProgress">Distribution.Utils.Progress</a></td></tr><tr><td class="src">Streaming</td><td class="module"><a href="Distribution-Simple-Setup.html#v:Streaming">Distribution.Simple.Setup</a></td></tr><tr><td class="src">Strict</td><td> </td></tr><tr><td class="alt">1 (Data Constructor)</td><td class="module"><a href="Distribution-System.html#v:Strict">Distribution.System</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Language-Haskell-Extension.html#v:Strict">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">StrictData</td><td class="module"><a href="Language-Haskell-Extension.html#v:StrictData">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">String</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">string</td><td class="module"><a href="Distribution-Compat-ReadP.html#v:string">Distribution.Compat.ReadP</a></td></tr><tr><td class="src">stripExe</td><td class="module"><a href="Distribution-Simple-Program-Strip.html#v:stripExe">Distribution.Simple.Program.Strip</a></td></tr><tr><td class="src">stripExes</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:stripExes">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:stripExes">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">stripExtractVersion</td><td class="module"><a href="Distribution-Simple-Program-Internal.html#v:stripExtractVersion">Distribution.Simple.Program.Internal</a></td></tr><tr><td class="src">stripLib</td><td class="module"><a href="Distribution-Simple-Program-Strip.html#v:stripLib">Distribution.Simple.Program.Strip</a></td></tr><tr><td class="src">stripLibs</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:stripLibs">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:stripLibs">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">stripProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:stripProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:stripProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">stronglyConnComp</td><td class="module"><a href="Distribution-Compat-Graph.html#v:stronglyConnComp">Distribution.Compat.Graph</a></td></tr><tr><td class="src">stubFilePath</td><td class="module"><a href="Distribution-Simple-Test-LibV09.html#v:stubFilePath">Distribution.Simple.Test.LibV09</a></td></tr><tr><td class="src">stubMain</td><td class="module"><a href="Distribution-Simple-Test-LibV09.html#v:stubMain">Distribution.Simple.Test.LibV09</a></td></tr><tr><td class="src">stubName</td><td class="module"><a href="Distribution-Simple-Test-LibV09.html#v:stubName">Distribution.Simple.Test.LibV09</a></td></tr><tr><td class="src">stubWriteLog</td><td class="module"><a href="Distribution-Simple-Test-LibV09.html#v:stubWriteLog">Distribution.Simple.Test.LibV09</a></td></tr><tr><td class="src">subLibraries</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:subLibraries">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:subLibraries">Distribution.PackageDescription</a></td></tr><tr><td class="src">substituteInstallDirTemplates</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:substituteInstallDirTemplates">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">substPathTemplate</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:substPathTemplate">Distribution.Simple.InstallDirs</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:substPathTemplate">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">subtract</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">succ</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">succeedReadE</td><td class="module"><a href="Distribution-ReadE.html#v:succeedReadE">Distribution.ReadE</a></td></tr><tr><td class="src">suiteError</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:suiteError">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">suiteFailed</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:suiteFailed">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">suitePassed</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:suitePassed">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">sum</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:sum">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">summarizePackage</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:summarizePackage">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">summarizeSuiteFinish</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:summarizeSuiteFinish">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">summarizeSuiteStart</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:summarizeSuiteStart">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">summarizeTest</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:summarizeTest">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">supportsDebugLevels</td><td class="module"><a href="Distribution-Simple-GHC.html#v:supportsDebugLevels">Distribution.Simple.GHC</a></td></tr><tr><td class="src">supportsDirDbs</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:supportsDirDbs">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">supportsHaskell2010</td><td class="module"><a href="Distribution-Simple-GHC.html#v:supportsHaskell2010">Distribution.Simple.GHC</a></td></tr><tr><td class="src">supportsPkgEnvFiles</td><td class="module"><a href="Distribution-Simple-GHC.html#v:supportsPkgEnvFiles">Distribution.Simple.GHC</a></td></tr><tr><td class="src">suppressFilesCheck</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:suppressFilesCheck">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">suppressOverrideArgs</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:suppressOverrideArgs">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:suppressOverrideArgs">Distribution.Simple.Program</a></td></tr><tr><td class="src">SVN</td><td class="module"><a href="Distribution-Types-SourceRepo.html#v:SVN">Distribution.Types.SourceRepo</a>, <a href="Distribution-PackageDescription.html#v:SVN">Distribution.PackageDescription</a></td></tr><tr><td class="src">synopsis</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:synopsis">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:synopsis">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:synopsis">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">sysconfdir</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:sysconfdir">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - T)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - T</p><table><tr><td class="src">TabsError</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:TabsError">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">tags</td><td class="module"><a href="Distribution-TestSuite.html#v:tags">Distribution.TestSuite</a></td></tr><tr><td class="src">tail</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">take</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="alt">2 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">takeWhile</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">takeWhileAntitone</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">takeWhileEndLE</td><td class="module"><a href="Distribution-Utils-Generic.html#v:takeWhileEndLE">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:takeWhileEndLE">Distribution.Simple.Utils</a></td></tr><tr><td class="src">tan</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">tanh</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">targetBuildDepends</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:targetBuildDepends">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:targetBuildDepends">Distribution.PackageDescription</a></td></tr><tr><td class="src">targetCLBI</td><td class="module"><a href="Distribution-Types-TargetInfo.html#v:targetCLBI">Distribution.Types.TargetInfo</a></td></tr><tr><td class="src">targetComponent</td><td class="module"><a href="Distribution-Types-TargetInfo.html#v:targetComponent">Distribution.Types.TargetInfo</a></td></tr><tr><td class="src">TargetInfo</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-TargetInfo.html#t:TargetInfo">Distribution.Types.TargetInfo</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-TargetInfo.html#v:TargetInfo">Distribution.Types.TargetInfo</a></td></tr><tr><td class="src">tarProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:tarProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:tarProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">TempFileOptions</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Utils.html#t:TempFileOptions">Distribution.Simple.Utils</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Utils.html#v:TempFileOptions">Distribution.Simple.Utils</a></td></tr><tr><td class="src">TemplateHaskell</td><td class="module"><a href="Language-Haskell-Extension.html#v:TemplateHaskell">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">TemplateHaskellQuotes</td><td class="module"><a href="Language-Haskell-Extension.html#v:TemplateHaskellQuotes">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Test</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-TestSuite.html#t:Test">Distribution.TestSuite</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-TestSuite.html#v:Test">Distribution.TestSuite</a></td></tr><tr><td class="src">test</td><td class="module"><a href="Distribution-Simple-Test.html#v:test">Distribution.Simple.Test</a></td></tr><tr><td class="src">testBuildInfo</td><td class="module"><a href="Distribution-Types-TestSuite.html#v:testBuildInfo">Distribution.Types.TestSuite</a>, <a href="Distribution-PackageDescription.html#v:testBuildInfo">Distribution.PackageDescription</a></td></tr><tr><td class="src">testCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:testCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">TestComponentLocalBuildInfo</td><td class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html#v:TestComponentLocalBuildInfo">Distribution.Types.ComponentLocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:TestComponentLocalBuildInfo">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">testCoverage</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:testCoverage">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">testDistPref</td><td class="module"><a href="Distribution-Simple-Setup.html#v:testDistPref">Distribution.Simple.Setup</a></td></tr><tr><td class="src">testedWith</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:testedWith">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:testedWith">Distribution.PackageDescription</a></td></tr><tr><td class="src">TestFlags</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Setup.html#t:TestFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Setup.html#v:TestFlags">Distribution.Simple.Setup</a></td></tr><tr><td class="src">testGroup</td><td class="module"><a href="Distribution-TestSuite.html#v:testGroup">Distribution.TestSuite</a></td></tr><tr><td class="src">testHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:testHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:testHook">Distribution.Simple</a></td></tr><tr><td class="src">testHumanLog</td><td class="module"><a href="Distribution-Simple-Setup.html#v:testHumanLog">Distribution.Simple.Setup</a></td></tr><tr><td class="src">TestInstance</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-TestSuite.html#t:TestInstance">Distribution.TestSuite</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-TestSuite.html#v:TestInstance">Distribution.TestSuite</a></td></tr><tr><td class="src">testInterface</td><td class="module"><a href="Distribution-Types-TestSuite.html#v:testInterface">Distribution.Types.TestSuite</a>, <a href="Distribution-PackageDescription.html#v:testInterface">Distribution.PackageDescription</a></td></tr><tr><td class="src">testKeepTix</td><td class="module"><a href="Distribution-Simple-Setup.html#v:testKeepTix">Distribution.Simple.Setup</a></td></tr><tr><td class="src">TestLog</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:TestLog">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">TestLogs</td><td class="module"><a href="Distribution-Simple-Test-Log.html#t:TestLogs">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">testLogs</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:testLogs">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">testMachineLog</td><td class="module"><a href="Distribution-Simple-Setup.html#v:testMachineLog">Distribution.Simple.Setup</a></td></tr><tr><td class="src">testModules</td><td class="module"><a href="Distribution-Types-TestSuite.html#v:testModules">Distribution.Types.TestSuite</a>, <a href="Distribution-PackageDescription.html#v:testModules">Distribution.PackageDescription</a></td></tr><tr><td class="src">testModulesAutogen</td><td class="module"><a href="Distribution-Types-TestSuite.html#v:testModulesAutogen">Distribution.Types.TestSuite</a>, <a href="Distribution-PackageDescription.html#v:testModulesAutogen">Distribution.PackageDescription</a></td></tr><tr><td class="src">testName</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-TestSuite.html#v:testName">Distribution.Types.TestSuite</a>, <a href="Distribution-PackageDescription.html#v:testName">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:testName">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">testOptions</td><td class="module"><a href="Distribution-Simple-Setup.html#v:testOptions">Distribution.Simple.Setup</a></td></tr><tr><td class="src">testOptionsReturned</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:testOptionsReturned">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">testResult</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:testResult">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">TestShowDetails</td><td class="module"><a href="Distribution-Simple-Setup.html#t:TestShowDetails">Distribution.Simple.Setup</a></td></tr><tr><td class="src">testShowDetails</td><td class="module"><a href="Distribution-Simple-Setup.html#v:testShowDetails">Distribution.Simple.Setup</a></td></tr><tr><td class="src">testsRequested</td><td class="module"><a href="Distribution-Types-ComponentRequestedSpec.html#v:testsRequested">Distribution.Types.ComponentRequestedSpec</a></td></tr><tr><td class="src">testStanzaBuildInfo</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:testStanzaBuildInfo">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">testStanzaMainIs</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:testStanzaMainIs">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">testStanzaTestModule</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:testStanzaTestModule">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">testStanzaTestType</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:testStanzaTestType">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">TestSuite</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Types-TestSuite.html#t:TestSuite">Distribution.Types.TestSuite</a>, <a href="Distribution-PackageDescription.html#t:TestSuite">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Types-TestSuite.html#v:TestSuite">Distribution.Types.TestSuite</a>, <a href="Distribution-PackageDescription.html#v:TestSuite">Distribution.PackageDescription</a></td></tr><tr><td class="src">TestSuiteExeV10</td><td class="module"><a href="Distribution-Types-TestSuiteInterface.html#v:TestSuiteExeV10">Distribution.Types.TestSuiteInterface</a>, <a href="Distribution-PackageDescription.html#v:TestSuiteExeV10">Distribution.PackageDescription</a></td></tr><tr><td class="src">testSuiteFieldDescrs</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:testSuiteFieldDescrs">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">TestSuiteInterface</td><td class="module"><a href="Distribution-Types-TestSuiteInterface.html#t:TestSuiteInterface">Distribution.Types.TestSuiteInterface</a>, <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">Distribution.PackageDescription</a></td></tr><tr><td class="src">TestSuiteLibV09</td><td class="module"><a href="Distribution-Types-TestSuiteInterface.html#v:TestSuiteLibV09">Distribution.Types.TestSuiteInterface</a>, <a href="Distribution-PackageDescription.html#v:TestSuiteLibV09">Distribution.PackageDescription</a></td></tr><tr><td class="src">TestSuiteLog</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-Test-Log.html#t:TestSuiteLog">Distribution.Simple.Test.Log</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:TestSuiteLog">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">testSuiteLogPath</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:testSuiteLogPath">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">testSuiteName</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:testSuiteName">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">TestSuiteNameVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:TestSuiteNameVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">TestSuiteResultVar</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:TestSuiteResultVar">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">testSuites</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:testSuites">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:testSuites">Distribution.PackageDescription</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Test-Log.html#v:testSuites">Distribution.Simple.Test.Log</a></td></tr><tr><td class="src">TestSuiteStanza</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#t:TestSuiteStanza">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-PackageDescription-Parse.html#v:TestSuiteStanza">Distribution.PackageDescription.Parse</a></td></tr><tr><td class="src">TestSuiteUnsupported</td><td class="module"><a href="Distribution-Types-TestSuiteInterface.html#v:TestSuiteUnsupported">Distribution.Types.TestSuiteInterface</a>, <a href="Distribution-PackageDescription.html#v:TestSuiteUnsupported">Distribution.PackageDescription</a></td></tr><tr><td class="src">TestType</td><td class="module"><a href="Distribution-Types-TestType.html#t:TestType">Distribution.Types.TestType</a>, <a href="Distribution-PackageDescription.html#t:TestType">Distribution.PackageDescription</a></td></tr><tr><td class="src">testType</td><td class="module"><a href="Distribution-Types-TestSuite.html#v:testType">Distribution.Types.TestSuite</a>, <a href="Distribution-PackageDescription.html#v:testType">Distribution.PackageDescription</a></td></tr><tr><td class="src">TestTypeExe</td><td class="module"><a href="Distribution-Types-TestType.html#v:TestTypeExe">Distribution.Types.TestType</a>, <a href="Distribution-PackageDescription.html#v:TestTypeExe">Distribution.PackageDescription</a></td></tr><tr><td class="src">TestTypeLib</td><td class="module"><a href="Distribution-Types-TestType.html#v:TestTypeLib">Distribution.Types.TestType</a>, <a href="Distribution-PackageDescription.html#v:TestTypeLib">Distribution.PackageDescription</a></td></tr><tr><td class="src">TestTypeUnknown</td><td class="module"><a href="Distribution-Types-TestType.html#v:TestTypeUnknown">Distribution.Types.TestType</a>, <a href="Distribution-PackageDescription.html#v:TestTypeUnknown">Distribution.PackageDescription</a></td></tr><tr><td class="src">testVerbosity</td><td class="module"><a href="Distribution-Simple-Setup.html#v:testVerbosity">Distribution.Simple.Setup</a></td></tr><tr><td class="src">Text</td><td class="module"><a href="Distribution-Text.html#t:Text">Distribution.Text</a></td></tr><tr><td class="src">thisPackageVersion</td><td class="module"><a href="Distribution-Types-Dependency.html#v:thisPackageVersion">Distribution.Types.Dependency</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">ThisVersion</td><td class="module"><a href="Distribution-Version.html#v:ThisVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">thisVersion</td><td class="module"><a href="Distribution-Version.html#v:thisVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">tixDir</td><td class="module"><a href="Distribution-Simple-Hpc.html#v:tixDir">Distribution.Simple.Hpc</a></td></tr><tr><td class="src">tixFilePath</td><td class="module"><a href="Distribution-Simple-Hpc.html#v:tixFilePath">Distribution.Simple.Hpc</a></td></tr><tr><td class="src">toAscList</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">toConfiguredComponent</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:toConfiguredComponent">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">toConfiguredComponents</td><td class="module"><a href="Distribution-Backpack-ConfiguredComponent.html#v:toConfiguredComponents">Distribution.Backpack.ConfiguredComponent</a></td></tr><tr><td class="src">toDepMap</td><td class="module"><a href="Distribution-Types-DependencyMap.html#v:toDepMap">Distribution.Types.DependencyMap</a></td></tr><tr><td class="src">toDescList</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">toEnum</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">toFilePath</td><td class="module"><a href="Distribution-ModuleName.html#v:toFilePath">Distribution.ModuleName</a></td></tr><tr><td class="src">toFlag</td><td class="module"><a href="Distribution-Simple-Setup.html#v:toFlag">Distribution.Simple.Setup</a></td></tr><tr><td class="src">toGraph</td><td class="module"><a href="Distribution-Compat-Graph.html#v:toGraph">Distribution.Compat.Graph</a></td></tr><tr><td class="src">toInteger</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">toLinkedComponent</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:toLinkedComponent">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">toLinkedComponents</td><td class="module"><a href="Distribution-Backpack-LinkedComponent.html#v:toLinkedComponents">Distribution.Backpack.LinkedComponent</a></td></tr><tr><td class="src">toList</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Compat-Graph.html#v:toList">Distribution.Compat.Graph</a></td></tr><tr><td class="src">toLower</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:toLower">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">toMap</td><td class="module"><a href="Distribution-Compat-Graph.html#v:toMap">Distribution.Compat.Graph</a></td></tr><tr><td class="src">toNubList</td><td class="module"><a href="Distribution-Utils-NubList.html#v:toNubList">Distribution.Utils.NubList</a></td></tr><tr><td class="src">toNubListR</td><td class="module"><a href="Distribution-Utils-NubList.html#v:toNubListR">Distribution.Utils.NubList</a></td></tr><tr><td class="src">toPathTemplate</td><td class="module"><a href="Distribution-Simple-InstallDirs.html#v:toPathTemplate">Distribution.Simple.InstallDirs</a>, Distribution.Simple.LocalBuildInfo</td></tr><tr><td class="src">topHandler</td><td class="module"><a href="Distribution-Simple-Utils.html#v:topHandler">Distribution.Simple.Utils</a></td></tr><tr><td class="src">topHandlerWith</td><td class="module"><a href="Distribution-Simple-Utils.html#v:topHandlerWith">Distribution.Simple.Utils</a></td></tr><tr><td class="src">topologicalOrder</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:topologicalOrder">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">topSort</td><td class="module"><a href="Distribution-Compat-Graph.html#v:topSort">Distribution.Compat.Graph</a></td></tr><tr><td class="src">toRational</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">toShortText</td><td class="module"><a href="Distribution-Utils-ShortText.html#v:toShortText">Distribution.Utils.ShortText</a></td></tr><tr><td class="src">toUpper</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:toUpper">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">toUTF8</td><td class="module"><a href="Distribution-Utils-Generic.html#v:toUTF8">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:toUTF8">Distribution.Simple.Utils</a></td></tr><tr><td class="src">toVersionIntervals</td><td class="module"><a href="Distribution-Version.html#v:toVersionIntervals">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">TraditionalRecordSyntax</td><td class="module"><a href="Language-Haskell-Extension.html#v:TraditionalRecordSyntax">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">transformAllBuildDepends</td><td class="module"><a href="Distribution-PackageDescription-Configuration.html#v:transformAllBuildDepends">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">transformAllBuildInfos</td><td class="module"><a href="Distribution-PackageDescription-Configuration.html#v:transformAllBuildInfos">Distribution.PackageDescription.Configuration</a></td></tr><tr><td class="src">TransformListComp</td><td class="module"><a href="Language-Haskell-Extension.html#v:TransformListComp">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Traversable</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:Traversable">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">traverse</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:traverse">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">traverseCondBranchV</td><td class="module"><a href="Distribution-Types-CondTree.html#v:traverseCondBranchV">Distribution.Types.CondTree</a></td></tr><tr><td class="src">traverseCondTreeV</td><td class="module"><a href="Distribution-Types-CondTree.html#v:traverseCondTreeV">Distribution.Types.CondTree</a></td></tr><tr><td class="src">traverseMaybeWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">traverseWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">traverse_</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:traverse_">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">True</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">trueArg</td><td class="module"><a href="Distribution-Simple-Setup.html#v:trueArg">Distribution.Simple.Setup</a></td></tr><tr><td class="src">truncate</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">trusted</td><td class="module"><a href="Distribution-InstalledPackageInfo.html#v:trusted">Distribution.InstalledPackageInfo</a></td></tr><tr><td class="src">Trustworthy</td><td class="module"><a href="Language-Haskell-Extension.html#v:Trustworthy">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">tryFindPackageDesc</td><td class="module"><a href="Distribution-Simple-Utils.html#v:tryFindPackageDesc">Distribution.Simple.Utils</a></td></tr><tr><td class="src">tryGetConfigStateFile</td><td class="module"><a href="Distribution-Simple-Configure.html#v:tryGetConfigStateFile">Distribution.Simple.Configure</a></td></tr><tr><td class="src">tryGetPersistBuildConfig</td><td class="module"><a href="Distribution-Simple-Configure.html#v:tryGetPersistBuildConfig">Distribution.Simple.Configure</a></td></tr><tr><td class="src">tryIO</td><td class="module"><a href="Distribution-Compat-Exception.html#v:tryIO">Distribution.Compat.Exception</a></td></tr><tr><td class="src">TupleSections</td><td class="module"><a href="Language-Haskell-Extension.html#v:TupleSections">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">Typeable</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#t:Typeable">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">TypeApplications</td><td class="module"><a href="Language-Haskell-Extension.html#v:TypeApplications">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">TypeFamilies</td><td class="module"><a href="Language-Haskell-Extension.html#v:TypeFamilies">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">TypeFamilyDependencies</td><td class="module"><a href="Language-Haskell-Extension.html#v:TypeFamilyDependencies">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">TypeInType</td><td class="module"><a href="Language-Haskell-Extension.html#v:TypeInType">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">TypeOperators</td><td class="module"><a href="Language-Haskell-Extension.html#v:TypeOperators">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">TypeSynonymInstances</td><td class="module"><a href="Language-Haskell-Extension.html#v:TypeSynonymInstances">Language.Haskell.Extension</a>, Distribution.Simple</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - U)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - U</p><table><tr><td class="src">UHC</td><td class="module"><a href="Distribution-Compiler.html#v:UHC">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">uhcProgram</td><td class="module"><a href="Distribution-Simple-Program-Builtin.html#v:uhcProgram">Distribution.Simple.Program.Builtin</a>, <a href="Distribution-Simple-Program.html#v:uhcProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">unAbiHash</td><td class="module"><a href="Distribution-Types-AbiHash.html#v:unAbiHash">Distribution.Types.AbiHash</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">unAllowNewer</td><td class="module"><a href="Distribution-Simple-Setup.html#v:unAllowNewer">Distribution.Simple.Setup</a></td></tr><tr><td class="src">unAllowOlder</td><td class="module"><a href="Distribution-Simple-Setup.html#v:unAllowOlder">Distribution.Simple.Setup</a></td></tr><tr><td class="src">Unambiguous</td><td class="module"><a href="Distribution-Simple-PackageIndex.html#v:Unambiguous">Distribution.Simple.PackageIndex</a></td></tr><tr><td class="src">UnboxedTuples</td><td class="module"><a href="Language-Haskell-Extension.html#v:UnboxedTuples">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">unComponentId</td><td class="module"><a href="Distribution-Types-ComponentId.html#v:unComponentId">Distribution.Types.ComponentId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">unconfigureProgram</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:unconfigureProgram">Distribution.Simple.Program.Db</a></td></tr><tr><td class="src">uncurry</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">UndecidableInstances</td><td class="module"><a href="Language-Haskell-Extension.html#v:UndecidableInstances">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">UndecidableSuperClasses</td><td class="module"><a href="Language-Haskell-Extension.html#v:UndecidableSuperClasses">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">undefined</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">unDefUnitId</td><td class="module"><a href="Distribution-Types-UnitId.html#v:unDefUnitId">Distribution.Types.UnitId</a>, <a href="Distribution-Backpack.html#v:unDefUnitId">Distribution.Backpack</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">unFlagName</td><td class="module"><a href="Distribution-Types-GenericPackageDescription.html#v:unFlagName">Distribution.Types.GenericPackageDescription</a>, <a href="Distribution-PackageDescription.html#v:unFlagName">Distribution.PackageDescription</a></td></tr><tr><td class="src">unfoldr</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:unfoldr">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">UnicodeSyntax</td><td class="module"><a href="Language-Haskell-Extension.html#v:UnicodeSyntax">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">unifiedIPIDRequired</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:unifiedIPIDRequired">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">unintersperse</td><td class="module"><a href="Distribution-Utils-Generic.html#v:unintersperse">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:unintersperse">Distribution.Simple.Utils</a></td></tr><tr><td class="src">union</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Program-Hpc.html#v:union">Distribution.Simple.Program.Hpc</a></td></tr><tr><td class="src">unionLeft</td><td class="module"><a href="Distribution-Compat-Graph.html#v:unionLeft">Distribution.Compat.Graph</a></td></tr><tr><td class="src">unionRight</td><td class="module"><a href="Distribution-Compat-Graph.html#v:unionRight">Distribution.Compat.Graph</a></td></tr><tr><td class="src">unions</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">unionsWith</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">unionVersionIntervals</td><td class="module"><a href="Distribution-Version.html#v:unionVersionIntervals">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">UnionVersionRanges</td><td class="module"><a href="Distribution-Version.html#v:UnionVersionRanges">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">unionVersionRanges</td><td class="module"><a href="Distribution-Version.html#v:unionVersionRanges">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">unionWith</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">unionWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">UnitId</td><td class="module"><a href="Distribution-Types-UnitId.html#t:UnitId">Distribution.Types.UnitId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">unitIdSupported</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:unitIdSupported">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">unitIdTarget</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:unitIdTarget">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">unitIdTarget'</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:unitIdTarget-39-">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">UnknownBuildType</td><td class="module"><a href="Distribution-Types-BuildType.html#v:UnknownBuildType">Distribution.Types.BuildType</a>, <a href="Distribution-PackageDescription.html#v:UnknownBuildType">Distribution.PackageDescription</a></td></tr><tr><td class="src">unknownCompilerInfo</td><td class="module"><a href="Distribution-Compiler.html#v:unknownCompilerInfo">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr><tr><td class="src">UnknownExtension</td><td class="module"><a href="Language-Haskell-Extension.html#v:UnknownExtension">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">UnknownLanguage</td><td class="module"><a href="Language-Haskell-Extension.html#v:UnknownLanguage">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">UnknownLicense</td><td class="module"><a href="Distribution-License.html#v:UnknownLicense">Distribution.License</a>, <a href="Distribution-Make.html#v:UnknownLicense">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">unless</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:unless">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">UnliftedFFITypes</td><td class="module"><a href="Language-Haskell-Extension.html#v:UnliftedFFITypes">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">unlines</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">unlit</td><td class="module"><a href="Distribution-Simple-PreProcess-Unlit.html#v:unlit">Distribution.Simple.PreProcess.Unlit</a></td></tr><tr><td class="src">unMungedPackageName</td><td class="module"><a href="Distribution-Types-MungedPackageName.html#v:unMungedPackageName">Distribution.Types.MungedPackageName</a></td></tr><tr><td class="src">unPackageName</td><td class="module"><a href="Distribution-Types-PackageName.html#v:unPackageName">Distribution.Types.PackageName</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">unPkgconfigName</td><td class="module"><a href="Distribution-Types-PkgconfigName.html#v:unPkgconfigName">Distribution.Types.PkgconfigName</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">UnqualComponentName</td><td class="module"><a href="Distribution-Types-UnqualComponentName.html#t:UnqualComponentName">Distribution.Types.UnqualComponentName</a></td></tr><tr><td class="src">unqualComponentNameToPackageName</td><td class="module"><a href="Distribution-Types-UnqualComponentName.html#v:unqualComponentNameToPackageName">Distribution.Types.UnqualComponentName</a></td></tr><tr><td class="src">unregHook</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:unregHook">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:unregHook">Distribution.Simple</a></td></tr><tr><td class="src">unregister</td><td> </td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:unregister">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="Distribution-Simple-Register.html#v:unregister">Distribution.Simple.Register</a></td></tr><tr><td class="src">unregisterCommand</td><td class="module"><a href="Distribution-Simple-Setup.html#v:unregisterCommand">Distribution.Simple.Setup</a></td></tr><tr><td class="src">unregisterInvocation</td><td class="module"><a href="Distribution-Simple-Program-HcPkg.html#v:unregisterInvocation">Distribution.Simple.Program.HcPkg</a></td></tr><tr><td class="src">Unsafe</td><td class="module"><a href="Language-Haskell-Extension.html#v:Unsafe">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">unsafeMkDefUnitId</td><td class="module"><a href="Distribution-Types-UnitId.html#v:unsafeMkDefUnitId">Distribution.Types.UnitId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">UnspecifiedLicense</td><td class="module"><a href="Distribution-License.html#v:UnspecifiedLicense">Distribution.License</a>, <a href="Distribution-Make.html#v:UnspecifiedLicense">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">unsupportedExtensions</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:unsupportedExtensions">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">unsupportedLanguages</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:unsupportedLanguages">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">until</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">unUnitId</td><td class="module"><a href="Distribution-Types-UnitId.html#v:unUnitId">Distribution.Types.UnitId</a>, Distribution.Package, Distribution.Make, Distribution.Simple</td></tr><tr><td class="src">unUnqualComponentName</td><td class="module"><a href="Distribution-Types-UnqualComponentName.html#v:unUnqualComponentName">Distribution.Types.UnqualComponentName</a></td></tr><tr><td class="src">unwords</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">unzip</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">unzip3</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">update</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">updateAt</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">updateLookupWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">updateMax</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">updateMaxWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">updateMin</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">updateMinWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">updatePackageDescription</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:updatePackageDescription">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:updatePackageDescription">Distribution.PackageDescription</a></td></tr><tr><td class="src">updateProgram</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:updateProgram">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:updateProgram">Distribution.Simple.Program</a></td></tr><tr><td class="src">updateWithKey</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">UpperBound</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Version.html#t:UpperBound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Version.html#v:UpperBound">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">usageAlternatives</td><td class="module"><a href="Distribution-Simple-Command.html#v:usageAlternatives">Distribution.Simple.Command</a></td></tr><tr><td class="src">usageDefault</td><td class="module"><a href="Distribution-Simple-Command.html#v:usageDefault">Distribution.Simple.Command</a></td></tr><tr><td class="src">usedExtensions</td><td class="module"><a href="Distribution-Types-BuildInfo.html#v:usedExtensions">Distribution.Types.BuildInfo</a>, <a href="Distribution-PackageDescription.html#v:usedExtensions">Distribution.PackageDescription</a></td></tr><tr><td class="src">userBug</td><td class="module"><a href="Distribution-PackageDescription-Utils.html#v:userBug">Distribution.PackageDescription.Utils</a></td></tr><tr><td class="src">UserBuildTarget</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#t:UserBuildTarget">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">UserBuildTargetProblem</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#t:UserBuildTargetProblem">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">UserBuildTargetUnrecognised</td><td class="module"><a href="Distribution-Simple-BuildTarget.html#v:UserBuildTargetUnrecognised">Distribution.Simple.BuildTarget</a></td></tr><tr><td class="src">userError</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">UserHooks</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Distribution-Simple-UserHooks.html#t:UserHooks">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#t:UserHooks">Distribution.Simple</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Distribution-Simple-UserHooks.html#v:UserHooks">Distribution.Simple.UserHooks</a>, <a href="Distribution-Simple.html#v:UserHooks">Distribution.Simple</a></td></tr><tr><td class="src">userMaybeSpecifyPath</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:userMaybeSpecifyPath">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:userMaybeSpecifyPath">Distribution.Simple.Program</a></td></tr><tr><td class="src">UserPackageDB</td><td class="module"><a href="Distribution-Simple-Compiler.html#v:UserPackageDB">Distribution.Simple.Compiler</a>, Distribution.Simple</td></tr><tr><td class="src">UserSpecified</td><td class="module"><a href="Distribution-Simple-Program-Types.html#v:UserSpecified">Distribution.Simple.Program.Types</a>, <a href="Distribution-Simple-Program.html#v:UserSpecified">Distribution.Simple.Program</a></td></tr><tr><td class="src">userSpecifiedArgs</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:userSpecifiedArgs">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:userSpecifiedArgs">Distribution.Simple.Program</a></td></tr><tr><td class="src">userSpecifyArgs</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:userSpecifyArgs">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:userSpecifyArgs">Distribution.Simple.Program</a></td></tr><tr><td class="src">userSpecifyArgss</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:userSpecifyArgss">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:userSpecifyArgss">Distribution.Simple.Program</a></td></tr><tr><td class="src">userSpecifyPath</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:userSpecifyPath">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:userSpecifyPath">Distribution.Simple.Program</a></td></tr><tr><td class="src">userSpecifyPaths</td><td class="module"><a href="Distribution-Simple-Program-Db.html#v:userSpecifyPaths">Distribution.Simple.Program.Db</a>, <a href="Distribution-Simple-Program.html#v:userSpecifyPaths">Distribution.Simple.Program</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - V)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - V</p><table><tr><td class="src">valid</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">validModuleComponent</td><td class="module"><a href="Distribution-ModuleName.html#v:validModuleComponent">Distribution.ModuleName</a></td></tr><tr><td class="src">Vanilla</td><td class="module"><a href="Distribution-Simple-Hpc.html#v:Vanilla">Distribution.Simple.Hpc</a></td></tr><tr><td class="src">Var</td><td class="module"><a href="Distribution-Types-Condition.html#v:Var">Distribution.Types.Condition</a>, <a href="Distribution-PackageDescription.html#v:Var">Distribution.PackageDescription</a></td></tr><tr><td class="src">Vax</td><td class="module"><a href="Distribution-System.html#v:Vax">Distribution.System</a></td></tr><tr><td class="src">verbose</td><td class="module"><a href="Distribution-Verbosity.html#v:verbose">Distribution.Verbosity</a></td></tr><tr><td class="src">verboseCallSite</td><td class="module"><a href="Distribution-Verbosity.html#v:verboseCallSite">Distribution.Verbosity</a></td></tr><tr><td class="src">verboseCallStack</td><td class="module"><a href="Distribution-Verbosity.html#v:verboseCallStack">Distribution.Verbosity</a></td></tr><tr><td class="src">verboseHasFlags</td><td class="module"><a href="Distribution-Verbosity.html#v:verboseHasFlags">Distribution.Verbosity</a></td></tr><tr><td class="src">verboseMarkOutput</td><td class="module"><a href="Distribution-Verbosity.html#v:verboseMarkOutput">Distribution.Verbosity</a></td></tr><tr><td class="src">verboseNoFlags</td><td class="module"><a href="Distribution-Verbosity.html#v:verboseNoFlags">Distribution.Verbosity</a></td></tr><tr><td class="src">verboseNoWrap</td><td class="module"><a href="Distribution-Verbosity.html#v:verboseNoWrap">Distribution.Verbosity</a></td></tr><tr><td class="src">verboseUnmarkOutput</td><td class="module"><a href="Distribution-Verbosity.html#v:verboseUnmarkOutput">Distribution.Verbosity</a></td></tr><tr><td class="src">Verbosity</td><td class="module"><a href="Distribution-Verbosity.html#t:Verbosity">Distribution.Verbosity</a></td></tr><tr><td class="src">Version</td><td class="module"><a href="Distribution-Version.html#t:Version">Distribution.Version</a>, <a href="Distribution-Make.html#t:Version">Distribution.Make</a>, Distribution.Simple</td></tr><tr><td class="src">VersionInterval</td><td class="module"><a href="Distribution-Version.html#t:VersionInterval">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">VersionIntervals</td><td class="module"><a href="Distribution-Version.html#t:VersionIntervals">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">versionIntervals</td><td class="module"><a href="Distribution-Version.html#v:versionIntervals">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">versionNumbers</td><td class="module"><a href="Distribution-Version.html#v:versionNumbers">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">VersionRange</td><td class="module"><a href="Distribution-Version.html#t:VersionRange">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">VersionRangeParens</td><td class="module"><a href="Distribution-Version.html#v:VersionRangeParens">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">viewAsFieldDescr</td><td class="module"><a href="Distribution-Simple-Command.html#v:viewAsFieldDescr">Distribution.Simple.Command</a></td></tr><tr><td class="src">ViewPatterns</td><td class="module"><a href="Language-Haskell-Extension.html#v:ViewPatterns">Language.Haskell.Extension</a>, Distribution.Simple</td></tr><tr><td class="src">void</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:void">Distribution.Compat.Prelude.Internal</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - W)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - W</p><table><tr><td class="src">warn</td><td class="module"><a href="Distribution-Simple-Utils.html#v:warn">Distribution.Simple.Utils</a></td></tr><tr><td class="src">warnProgress</td><td class="module"><a href="Distribution-Utils-LogProgress.html#v:warnProgress">Distribution.Utils.LogProgress</a></td></tr><tr><td class="src">Way</td><td class="module"><a href="Distribution-Simple-Hpc.html#t:Way">Distribution.Simple.Hpc</a></td></tr><tr><td class="src">when</td><td class="module"><a href="Distribution-Compat-Prelude-Internal.html#v:when">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">WildcardVersion</td><td class="module"><a href="Distribution-Version.html#v:WildcardVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">Windows</td><td class="module"><a href="Distribution-System.html#v:Windows">Distribution.System</a></td></tr><tr><td class="src">withAllComponentsInBuildOrder</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:withAllComponentsInBuildOrder">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withAllTargetsInBuildOrder</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withAllTargetsInBuildOrder">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">withAllTargetsInBuildOrder'</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withAllTargetsInBuildOrder-39-">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">withBenchLBI</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:withBenchLBI">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withBenchmark</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:withBenchmark">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:withBenchmark">Distribution.PackageDescription</a></td></tr><tr><td class="src">WithCallStack</td><td class="module"><a href="Distribution-Compat-Stack.html#t:WithCallStack">Distribution.Compat.Stack</a></td></tr><tr><td class="src">withComponentsInBuildOrder</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:withComponentsInBuildOrder">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withComponentsLBI</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:withComponentsLBI">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withDebugInfo</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withDebugInfo">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withDebugInfo">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withDynExe</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withDynExe">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withDynExe">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withExe</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:withExe">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:withExe">Distribution.PackageDescription</a></td></tr><tr><td class="src">withExeLBI</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:withExeLBI">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withFileContents</td><td class="module"><a href="Distribution-Utils-Generic.html#v:withFileContents">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:withFileContents">Distribution.Simple.Utils</a></td></tr><tr><td class="src">withForeignLib</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:withForeignLib">Distribution.Types.PackageDescription</a></td></tr><tr><td class="src">withFrozenCallStack</td><td class="module"><a href="Distribution-Compat-Stack.html#v:withFrozenCallStack">Distribution.Compat.Stack</a></td></tr><tr><td class="src">withGHCiLib</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withGHCiLib">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withGHCiLib">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withinIntervals</td><td class="module"><a href="Distribution-Version.html#v:withinIntervals">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">withinRange</td><td class="module"><a href="Distribution-Version.html#v:withinRange">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">withinVersion</td><td class="module"><a href="Distribution-Version.html#v:withinVersion">Distribution.Version</a>, Distribution.Simple</td></tr><tr><td class="src">withLexicalCallStack</td><td class="module"><a href="Distribution-Compat-Stack.html#v:withLexicalCallStack">Distribution.Compat.Stack</a></td></tr><tr><td class="src">withLib</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:withLib">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:withLib">Distribution.PackageDescription</a></td></tr><tr><td class="src">withLibLBI</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:withLibLBI">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withNeededTargetsInBuildOrder</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withNeededTargetsInBuildOrder">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">withNeededTargetsInBuildOrder'</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withNeededTargetsInBuildOrder-39-">Distribution.Types.LocalBuildInfo</a></td></tr><tr><td class="src">withOptimization</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withOptimization">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withOptimization">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withoutKeys</td><td class="module">Distribution.Compat.Map.Strict</td></tr><tr><td class="src">withPackageDB</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withPackageDB">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withPackageDB">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withProfExe</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withProfExe">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withProfExe">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withProfExeDetail</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withProfExeDetail">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withProfExeDetail">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withProfLib</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withProfLib">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withProfLib">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withProfLibDetail</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withProfLibDetail">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withProfLibDetail">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withPrograms</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withPrograms">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withPrograms">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withSharedLib</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withSharedLib">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withSharedLib">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withTempDirectory</td><td class="module"><a href="Distribution-Simple-Utils.html#v:withTempDirectory">Distribution.Simple.Utils</a></td></tr><tr><td class="src">withTempDirectoryEx</td><td class="module"><a href="Distribution-Simple-Utils.html#v:withTempDirectoryEx">Distribution.Simple.Utils</a></td></tr><tr><td class="src">withTempFile</td><td class="module"><a href="Distribution-Simple-Utils.html#v:withTempFile">Distribution.Simple.Utils</a></td></tr><tr><td class="src">withTempFileEx</td><td class="module"><a href="Distribution-Simple-Utils.html#v:withTempFileEx">Distribution.Simple.Utils</a></td></tr><tr><td class="src">withTest</td><td class="module"><a href="Distribution-Types-PackageDescription.html#v:withTest">Distribution.Types.PackageDescription</a>, <a href="Distribution-PackageDescription.html#v:withTest">Distribution.PackageDescription</a></td></tr><tr><td class="src">withTestLBI</td><td class="module"><a href="Distribution-Simple-LocalBuildInfo.html#v:withTestLBI">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">withUTF8FileContents</td><td class="module"><a href="Distribution-Utils-Generic.html#v:withUTF8FileContents">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:withUTF8FileContents">Distribution.Simple.Utils</a></td></tr><tr><td class="src">withVanillaLib</td><td class="module"><a href="Distribution-Types-LocalBuildInfo.html#v:withVanillaLib">Distribution.Types.LocalBuildInfo</a>, <a href="Distribution-Simple-LocalBuildInfo.html#v:withVanillaLib">Distribution.Simple.LocalBuildInfo</a></td></tr><tr><td class="src">Word</td><td class="module">Distribution.Compat.Binary, <a href="Distribution-Compat-Prelude-Internal.html#t:Word">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Word16</td><td class="module">Distribution.Compat.Binary, <a href="Distribution-Compat-Prelude-Internal.html#t:Word16">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Word32</td><td class="module">Distribution.Compat.Binary, <a href="Distribution-Compat-Prelude-Internal.html#t:Word32">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Word64</td><td class="module">Distribution.Compat.Binary, <a href="Distribution-Compat-Prelude-Internal.html#t:Word64">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">Word8</td><td class="module">Distribution.Compat.Binary, <a href="Distribution-Compat-Prelude-Internal.html#t:Word8">Distribution.Compat.Prelude.Internal</a></td></tr><tr><td class="src">words</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">wrapLine</td><td class="module"><a href="Distribution-Utils-Generic.html#v:wrapLine">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:wrapLine">Distribution.Simple.Utils</a></td></tr><tr><td class="src">wrapText</td><td class="module"><a href="Distribution-Utils-Generic.html#v:wrapText">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:wrapText">Distribution.Simple.Utils</a></td></tr><tr><td class="src">writeAutogenFiles</td><td class="module"><a href="Distribution-Simple-Build.html#v:writeAutogenFiles">Distribution.Simple.Build</a></td></tr><tr><td class="src">writeFile</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">writeFileAtomic</td><td class="module"><a href="Distribution-Utils-Generic.html#v:writeFileAtomic">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:writeFileAtomic">Distribution.Simple.Utils</a></td></tr><tr><td class="src">writeGenericPackageDescription</td><td class="module"><a href="Distribution-PackageDescription-PrettyPrint.html#v:writeGenericPackageDescription">Distribution.PackageDescription.PrettyPrint</a></td></tr><tr><td class="src">writeGhcEnvironmentFile</td><td class="module"><a href="Distribution-Simple-GHC.html#v:writeGhcEnvironmentFile">Distribution.Simple.GHC</a></td></tr><tr><td class="src">writeHookedBuildInfo</td><td class="module"><a href="Distribution-PackageDescription-PrettyPrint.html#v:writeHookedBuildInfo">Distribution.PackageDescription.PrettyPrint</a></td></tr><tr><td class="src">writePackageDescription</td><td class="module"><a href="Distribution-PackageDescription-PrettyPrint.html#v:writePackageDescription">Distribution.PackageDescription.PrettyPrint</a></td></tr><tr><td class="src">writePersistBuildConfig</td><td class="module"><a href="Distribution-Simple-Configure.html#v:writePersistBuildConfig">Distribution.Simple.Configure</a></td></tr><tr><td class="src">writeSimpleTestStub</td><td class="module"><a href="Distribution-Simple-Test-LibV09.html#v:writeSimpleTestStub">Distribution.Simple.Test.LibV09</a></td></tr><tr><td class="src">writeUTF8File</td><td class="module"><a href="Distribution-Utils-Generic.html#v:writeUTF8File">Distribution.Utils.Generic</a>, <a href="Distribution-Simple-Utils.html#v:writeUTF8File">Distribution.Simple.Utils</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - X)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - X</p><table><tr><td class="src">X86_64</td><td class="module"><a href="Distribution-System.html#v:X86_64">Distribution.System</a></td></tr><tr><td class="src">xargs</td><td class="module"><a href="Distribution-Simple-Utils.html#v:xargs">Distribution.Simple.Utils</a></td></tr><tr><td class="src">XmlSyntax</td><td class="module"><a href="Language-Haskell-Extension.html#v:XmlSyntax">Language.Haskell.Extension</a>, Distribution.Simple</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - Y)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - Y</p><table><tr><td class="src">YHC</td><td class="module"><a href="Distribution-Compiler.html#v:YHC">Distribution.Compiler</a>, Distribution.Simple.Compiler, Distribution.Simple</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index - Z)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - Z</p><table><tr><td class="src">zip</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">zip3</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">zipWith</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr><tr><td class="src">zipWith3</td><td class="module">Distribution.Compat.Prelude.Internal</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,4 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software (Index)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-J.html">J</a></li><li><a href="doc-index-K.html">K</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-X.html">X</a></li><li><a href="doc-index-Y.html">Y</a></li><li><a href="doc-index-Z.html">Z</a></li><li><a href="doc-index-33.html">!</a></li><li><a href="doc-index-36.html">$</a></li><li><a href="doc-index-38.html">&</a></li><li><a href="doc-index-42.html">*</a></li><li><a href="doc-index-43.html">+</a></li><li><a href="doc-index-46.html">.</a></li><li><a href="doc-index-47.html">/</a></li><li><a href="doc-index-60.html"><</a></li><li><a href="doc-index-61.html">=</a></li><li><a href="doc-index-62.html">></a></li><li><a href="doc-index-92.html">\</a></li><li><a href="doc-index-94.html">^</a></li><li><a href="doc-index-124.html">|</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-All.html">All</a></li></ul></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
@@ -1,186 +0,0 @@-// Haddock JavaScript utilities--var rspace = /\s\s+/g,- rtrim = /^\s+|\s+$/g;--function spaced(s) { return (" " + s + " ").replace(rspace, " "); }-function trim(s) { return s.replace(rtrim, ""); }--function hasClass(elem, value) {- var className = spaced(elem.className || "");- return className.indexOf( " " + value + " " ) >= 0;-}--function addClass(elem, value) {- var className = spaced(elem.className || "");- if ( className.indexOf( " " + value + " " ) < 0 ) {- elem.className = trim(className + " " + value);- }-}--function removeClass(elem, value) {- var className = spaced(elem.className || "");- className = className.replace(" " + value + " ", " ");- elem.className = trim(className);-}--function toggleClass(elem, valueOn, valueOff, bool) {- if (bool == null) { bool = ! hasClass(elem, valueOn); }- if (bool) {- removeClass(elem, valueOff);- addClass(elem, valueOn);- }- else {- removeClass(elem, valueOn);- addClass(elem, valueOff);- }- return bool;-}---function makeClassToggle(valueOn, valueOff)-{- return function(elem, bool) {- return toggleClass(elem, valueOn, valueOff, bool);- }-}--toggleShow = makeClassToggle("show", "hide");-toggleCollapser = makeClassToggle("collapser", "expander");--function toggleSection(id)-{- var b = toggleShow(document.getElementById("section." + id));- toggleCollapser(document.getElementById("control." + id), b);- rememberCollapsed(id);- return b;-}--var collapsed = {};-function rememberCollapsed(id)-{- if(collapsed[id])- delete collapsed[id]- else- collapsed[id] = true;-- var sections = [];- for(var i in collapsed)- {- if(collapsed.hasOwnProperty(i))- sections.push(i);- }- // cookie specific to this page; don't use setCookie which sets path=/- document.cookie = "collapsed=" + escape(sections.join('+'));-}--function restoreCollapsed()-{- var cookie = getCookie("collapsed");- if(!cookie)- return;-- var ids = cookie.split('+');- for(var i in ids)- {- if(document.getElementById("section." + ids[i]))- toggleSection(ids[i]);- }-}--function setCookie(name, value) {- document.cookie = name + "=" + escape(value) + ";path=/;";-}--function clearCookie(name) {- document.cookie = name + "=;path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT;";-}--function getCookie(name) {- var nameEQ = name + "=";- var ca = document.cookie.split(';');- for(var i=0;i < ca.length;i++) {- var c = ca[i];- while (c.charAt(0)==' ') c = c.substring(1,c.length);- if (c.indexOf(nameEQ) == 0) {- return unescape(c.substring(nameEQ.length,c.length));- }- }- return null;-}--function addMenuItem(html) {- var menu = document.getElementById("page-menu");- if (menu) {- var btn = menu.firstChild.cloneNode(false);- btn.innerHTML = html;- menu.appendChild(btn);- }-}--function styles() {- var i, a, es = document.getElementsByTagName("link"), rs = [];- for (i = 0; a = es[i]; i++) {- if(a.rel.indexOf("style") != -1 && a.title) {- rs.push(a);- }- }- return rs;-}--function addStyleMenu() {- var as = styles();- var i, a, btns = "";- for(i=0; a = as[i]; i++) {- btns += "<li><a href='#' onclick=\"setActiveStyleSheet('"- + a.title + "'); return false;\">"- + a.title + "</a></li>"- }- if (as.length > 1) {- var h = "<div id='style-menu-holder'>"- + "<a href='#' onclick='styleMenu(); return false;'>Style ▾</a>"- + "<ul id='style-menu' class='hide'>" + btns + "</ul>"- + "</div>";- addMenuItem(h);- }-}--function setActiveStyleSheet(title) {- var as = styles();- var i, a, found;- for(i=0; a = as[i]; i++) {- a.disabled = true;- // need to do this always, some browsers are edge triggered- if(a.title == title) {- found = a;- }- }- if (found) {- found.disabled = false;- setCookie("haddock-style", title);- }- else {- as[0].disabled = false;- clearCookie("haddock-style");- }- styleMenu(false);-}--function resetStyle() {- var s = getCookie("haddock-style");- if (s) setActiveStyleSheet(s);-}---function styleMenu(show) {- var m = document.getElementById('style-menu');- if (m) toggleShow(m, show);-}---function pageLoad() {- addStyleMenu();- resetStyle();- restoreCollapsed();-}-
binary file changed (1684 → absent bytes)
@@ -1,7 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cabal-2.0.1.1: A framework for packaging Haskell software</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[-window.onload = function () {pageLoad();};-//]]>-</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-2.0.1.1: A framework for packaging Haskell software</p></div><div id="content"><div id="description"><h1>Cabal-2.0.1.1: A framework for packaging Haskell software</h1><div class="doc"><p>The Haskell Common Architecture for Building Applications and-Libraries: a framework defining a common interface for authors to more-easily build their Haskell applications in a portable way.</p><p>The Haskell Cabal is part of a larger infrastructure for distributing,-organizing, and cataloging Haskell libraries and tools.</p></div></div><div id="module-list"><p class="caption">Signatures</p></div><div id="module-list"><p class="caption">Modules</p><ul><li><span id="control.n.1" class="module collapser" onclick="toggleSection('n.1')">Distribution</span><ul id="section.n.1" class="show"><li><span class="module"><span id="control.n.1.1" class="collapser" onclick="toggleSection('n.1.1')"> </span><a href="Distribution-Backpack.html">Distribution.Backpack</a></span><ul id="section.n.1.1" class="show"><li><span class="module"><a href="Distribution-Backpack-ComponentsGraph.html">Distribution.Backpack.ComponentsGraph</a></span></li><li><span class="module"><a href="Distribution-Backpack-Configure.html">Distribution.Backpack.Configure</a></span></li><li><span class="module"><a href="Distribution-Backpack-ConfiguredComponent.html">Distribution.Backpack.ConfiguredComponent</a></span></li><li><span class="module"><a href="Distribution-Backpack-DescribeUnitId.html">Distribution.Backpack.DescribeUnitId</a></span></li><li><span class="module"><a href="Distribution-Backpack-FullUnitId.html">Distribution.Backpack.FullUnitId</a></span></li><li><span class="module"><a href="Distribution-Backpack-LinkedComponent.html">Distribution.Backpack.LinkedComponent</a></span></li><li><span class="module"><a href="Distribution-Backpack-ModSubst.html">Distribution.Backpack.ModSubst</a></span></li><li><span class="module"><a href="Distribution-Backpack-ModuleShape.html">Distribution.Backpack.ModuleShape</a></span></li></ul></li><li><span id="control.n.1.2" class="module collapser" onclick="toggleSection('n.1.2')">Compat</span><ul id="section.n.1.2" class="show"><li><span class="module"><a href="Distribution-Compat-Binary.html">Distribution.Compat.Binary</a></span></li><li><span class="module"><a href="Distribution-Compat-CreatePipe.html">Distribution.Compat.CreatePipe</a></span></li><li><span class="module"><a href="Distribution-Compat-DList.html">Distribution.Compat.DList</a></span></li><li><span class="module"><a href="Distribution-Compat-Exception.html">Distribution.Compat.Exception</a></span></li><li><span class="module"><a href="Distribution-Compat-Graph.html">Distribution.Compat.Graph</a></span></li><li><span id="control.n.1.2.6" class="module collapser" onclick="toggleSection('n.1.2.6')">Map</span><ul id="section.n.1.2.6" class="show"><li><span class="module"><a href="Distribution-Compat-Map-Strict.html">Distribution.Compat.Map.Strict</a></span></li></ul></li><li><span id="control.n.1.2.7" class="module collapser" onclick="toggleSection('n.1.2.7')">Prelude</span><ul id="section.n.1.2.7" class="show"><li><span class="module"><a href="Distribution-Compat-Prelude-Internal.html">Distribution.Compat.Prelude.Internal</a></span></li></ul></li><li><span class="module"><a href="Distribution-Compat-ReadP.html">Distribution.Compat.ReadP</a></span></li><li><span class="module"><a href="Distribution-Compat-Semigroup.html">Distribution.Compat.Semigroup</a></span></li><li><span class="module"><a href="Distribution-Compat-Stack.html">Distribution.Compat.Stack</a></span></li><li><span class="module"><a href="Distribution-Compat-Time.html">Distribution.Compat.Time</a></span></li></ul></li><li><span class="module"><a href="Distribution-Compiler.html">Distribution.Compiler</a></span></li><li><span class="module"><a href="Distribution-InstalledPackageInfo.html">Distribution.InstalledPackageInfo</a></span></li><li><span class="module"><a href="Distribution-License.html">Distribution.License</a></span> The License data type.</li><li><span class="module"><a href="Distribution-Make.html">Distribution.Make</a></span></li><li><span class="module"><a href="Distribution-ModuleName.html">Distribution.ModuleName</a></span></li><li><span class="module"><a href="Distribution-Package.html">Distribution.Package</a></span></li><li><span class="module"><span id="control.n.1.9" class="collapser" onclick="toggleSection('n.1.9')"> </span><a href="Distribution-PackageDescription.html">Distribution.PackageDescription</a></span><ul id="section.n.1.9" class="show"><li><span class="module"><a href="Distribution-PackageDescription-Check.html">Distribution.PackageDescription.Check</a></span></li><li><span class="module"><a href="Distribution-PackageDescription-Configuration.html">Distribution.PackageDescription.Configuration</a></span></li><li><span class="module"><a href="Distribution-PackageDescription-Parse.html">Distribution.PackageDescription.Parse</a></span></li><li><span class="module"><a href="Distribution-PackageDescription-PrettyPrint.html">Distribution.PackageDescription.PrettyPrint</a></span></li><li><span class="module"><a href="Distribution-PackageDescription-Utils.html">Distribution.PackageDescription.Utils</a></span></li></ul></li><li><span class="module"><a href="Distribution-ReadE.html">Distribution.ReadE</a></span></li><li><span class="module"><span id="control.n.1.11" class="collapser" onclick="toggleSection('n.1.11')"> </span><a href="Distribution-Simple.html">Distribution.Simple</a></span><ul id="section.n.1.11" class="show"><li><span class="module"><a href="Distribution-Simple-Bench.html">Distribution.Simple.Bench</a></span></li><li><span class="module"><span id="control.n.1.11.2" class="collapser" onclick="toggleSection('n.1.11.2')"> </span><a href="Distribution-Simple-Build.html">Distribution.Simple.Build</a></span><ul id="section.n.1.11.2" class="show"><li><span class="module"><a href="Distribution-Simple-Build-Macros.html">Distribution.Simple.Build.Macros</a></span></li><li><span class="module"><a href="Distribution-Simple-Build-PathsModule.html">Distribution.Simple.Build.PathsModule</a></span></li></ul></li><li><span class="module"><a href="Distribution-Simple-BuildPaths.html">Distribution.Simple.BuildPaths</a></span></li><li><span class="module"><a href="Distribution-Simple-BuildTarget.html">Distribution.Simple.BuildTarget</a></span></li><li><span class="module"><a href="Distribution-Simple-BuildToolDepends.html">Distribution.Simple.BuildToolDepends</a></span></li><li><span class="module"><a href="Distribution-Simple-CCompiler.html">Distribution.Simple.CCompiler</a></span></li><li><span class="module"><a href="Distribution-Simple-Command.html">Distribution.Simple.Command</a></span></li><li><span class="module"><a href="Distribution-Simple-Compiler.html">Distribution.Simple.Compiler</a></span></li><li><span class="module"><a href="Distribution-Simple-Configure.html">Distribution.Simple.Configure</a></span></li><li><span class="module"><a href="Distribution-Simple-Doctest.html">Distribution.Simple.Doctest</a></span></li><li><span class="module"><a href="Distribution-Simple-GHC.html">Distribution.Simple.GHC</a></span></li><li><span class="module"><a href="Distribution-Simple-GHCJS.html">Distribution.Simple.GHCJS</a></span></li><li><span class="module"><a href="Distribution-Simple-Haddock.html">Distribution.Simple.Haddock</a></span></li><li><span class="module"><a href="Distribution-Simple-HaskellSuite.html">Distribution.Simple.HaskellSuite</a></span></li><li><span class="module"><a href="Distribution-Simple-Hpc.html">Distribution.Simple.Hpc</a></span></li><li><span class="module"><a href="Distribution-Simple-Install.html">Distribution.Simple.Install</a></span></li><li><span class="module"><a href="Distribution-Simple-InstallDirs.html">Distribution.Simple.InstallDirs</a></span></li><li><span class="module"><a href="Distribution-Simple-JHC.html">Distribution.Simple.JHC</a></span></li><li><span class="module"><a href="Distribution-Simple-LHC.html">Distribution.Simple.LHC</a></span></li><li><span class="module"><a href="Distribution-Simple-LocalBuildInfo.html">Distribution.Simple.LocalBuildInfo</a></span></li><li><span class="module"><a href="Distribution-Simple-PackageIndex.html">Distribution.Simple.PackageIndex</a></span></li><li><span class="module"><span id="control.n.1.11.22" class="collapser" onclick="toggleSection('n.1.11.22')"> </span><a href="Distribution-Simple-PreProcess.html">Distribution.Simple.PreProcess</a></span><ul id="section.n.1.11.22" class="show"><li><span class="module"><a href="Distribution-Simple-PreProcess-Unlit.html">Distribution.Simple.PreProcess.Unlit</a></span></li></ul></li><li><span class="module"><span id="control.n.1.11.23" class="collapser" onclick="toggleSection('n.1.11.23')"> </span><a href="Distribution-Simple-Program.html">Distribution.Simple.Program</a></span><ul id="section.n.1.11.23" class="show"><li><span class="module"><a href="Distribution-Simple-Program-Ar.html">Distribution.Simple.Program.Ar</a></span></li><li><span class="module"><a href="Distribution-Simple-Program-Builtin.html">Distribution.Simple.Program.Builtin</a></span></li><li><span class="module"><a href="Distribution-Simple-Program-Db.html">Distribution.Simple.Program.Db</a></span></li><li><span class="module"><a href="Distribution-Simple-Program-Find.html">Distribution.Simple.Program.Find</a></span></li><li><span class="module"><a href="Distribution-Simple-Program-GHC.html">Distribution.Simple.Program.GHC</a></span></li><li><span class="module"><a href="Distribution-Simple-Program-HcPkg.html">Distribution.Simple.Program.HcPkg</a></span></li><li><span class="module"><a href="Distribution-Simple-Program-Hpc.html">Distribution.Simple.Program.Hpc</a></span></li><li><span class="module"><a href="Distribution-Simple-Program-Internal.html">Distribution.Simple.Program.Internal</a></span></li><li><span class="module"><a href="Distribution-Simple-Program-Ld.html">Distribution.Simple.Program.Ld</a></span></li><li><span class="module"><a href="Distribution-Simple-Program-Run.html">Distribution.Simple.Program.Run</a></span></li><li><span class="module"><a href="Distribution-Simple-Program-Script.html">Distribution.Simple.Program.Script</a></span></li><li><span class="module"><a href="Distribution-Simple-Program-Strip.html">Distribution.Simple.Program.Strip</a></span></li><li><span class="module"><a href="Distribution-Simple-Program-Types.html">Distribution.Simple.Program.Types</a></span></li></ul></li><li><span class="module"><a href="Distribution-Simple-Register.html">Distribution.Simple.Register</a></span></li><li><span class="module"><a href="Distribution-Simple-Setup.html">Distribution.Simple.Setup</a></span></li><li><span class="module"><a href="Distribution-Simple-SrcDist.html">Distribution.Simple.SrcDist</a></span></li><li><span class="module"><span id="control.n.1.11.27" class="collapser" onclick="toggleSection('n.1.11.27')"> </span><a href="Distribution-Simple-Test.html">Distribution.Simple.Test</a></span><ul id="section.n.1.11.27" class="show"><li><span class="module"><a href="Distribution-Simple-Test-ExeV10.html">Distribution.Simple.Test.ExeV10</a></span></li><li><span class="module"><a href="Distribution-Simple-Test-LibV09.html">Distribution.Simple.Test.LibV09</a></span></li><li><span class="module"><a href="Distribution-Simple-Test-Log.html">Distribution.Simple.Test.Log</a></span></li></ul></li><li><span class="module"><a href="Distribution-Simple-UHC.html">Distribution.Simple.UHC</a></span></li><li><span class="module"><a href="Distribution-Simple-UserHooks.html">Distribution.Simple.UserHooks</a></span></li><li><span class="module"><a href="Distribution-Simple-Utils.html">Distribution.Simple.Utils</a></span></li></ul></li><li><span class="module"><a href="Distribution-System.html">Distribution.System</a></span></li><li><span class="module"><a href="Distribution-TestSuite.html">Distribution.TestSuite</a></span></li><li><span class="module"><a href="Distribution-Text.html">Distribution.Text</a></span></li><li><span id="control.n.1.15" class="module collapser" onclick="toggleSection('n.1.15')">Types</span><ul id="section.n.1.15" class="show"><li><span class="module"><a href="Distribution-Types-AbiHash.html">Distribution.Types.AbiHash</a></span></li><li><span class="module"><a href="Distribution-Types-AnnotatedId.html">Distribution.Types.AnnotatedId</a></span></li><li><span class="module"><a href="Distribution-Types-Benchmark.html">Distribution.Types.Benchmark</a></span></li><li><span class="module"><a href="Distribution-Types-BenchmarkInterface.html">Distribution.Types.BenchmarkInterface</a></span></li><li><span class="module"><a href="Distribution-Types-BenchmarkType.html">Distribution.Types.BenchmarkType</a></span></li><li><span class="module"><a href="Distribution-Types-BuildInfo.html">Distribution.Types.BuildInfo</a></span></li><li><span class="module"><a href="Distribution-Types-BuildType.html">Distribution.Types.BuildType</a></span></li><li><span class="module"><a href="Distribution-Types-Component.html">Distribution.Types.Component</a></span></li><li><span class="module"><a href="Distribution-Types-ComponentId.html">Distribution.Types.ComponentId</a></span></li><li><span class="module"><a href="Distribution-Types-ComponentInclude.html">Distribution.Types.ComponentInclude</a></span></li><li><span class="module"><a href="Distribution-Types-ComponentLocalBuildInfo.html">Distribution.Types.ComponentLocalBuildInfo</a></span></li><li><span class="module"><a href="Distribution-Types-ComponentName.html">Distribution.Types.ComponentName</a></span></li><li><span class="module"><a href="Distribution-Types-ComponentRequestedSpec.html">Distribution.Types.ComponentRequestedSpec</a></span></li><li><span class="module"><a href="Distribution-Types-CondTree.html">Distribution.Types.CondTree</a></span></li><li><span class="module"><a href="Distribution-Types-Condition.html">Distribution.Types.Condition</a></span></li><li><span class="module"><a href="Distribution-Types-Dependency.html">Distribution.Types.Dependency</a></span></li><li><span class="module"><a href="Distribution-Types-DependencyMap.html">Distribution.Types.DependencyMap</a></span></li><li><span class="module"><a href="Distribution-Types-ExeDependency.html">Distribution.Types.ExeDependency</a></span></li><li><span class="module"><a href="Distribution-Types-Executable.html">Distribution.Types.Executable</a></span></li><li><span class="module"><a href="Distribution-Types-ExecutableScope.html">Distribution.Types.ExecutableScope</a></span></li><li><span class="module"><a href="Distribution-Types-ForeignLib.html">Distribution.Types.ForeignLib</a></span></li><li><span class="module"><a href="Distribution-Types-ForeignLibOption.html">Distribution.Types.ForeignLibOption</a></span></li><li><span class="module"><a href="Distribution-Types-ForeignLibType.html">Distribution.Types.ForeignLibType</a></span></li><li><span class="module"><a href="Distribution-Types-GenericPackageDescription.html">Distribution.Types.GenericPackageDescription</a></span></li><li><span class="module"><a href="Distribution-Types-HookedBuildInfo.html">Distribution.Types.HookedBuildInfo</a></span></li><li><span class="module"><a href="Distribution-Types-IncludeRenaming.html">Distribution.Types.IncludeRenaming</a></span></li><li><span class="module"><a href="Distribution-Types-LegacyExeDependency.html">Distribution.Types.LegacyExeDependency</a></span></li><li><span class="module"><a href="Distribution-Types-Library.html">Distribution.Types.Library</a></span></li><li><span class="module"><a href="Distribution-Types-LocalBuildInfo.html">Distribution.Types.LocalBuildInfo</a></span></li><li><span class="module"><a href="Distribution-Types-Mixin.html">Distribution.Types.Mixin</a></span></li><li><span class="module"><a href="Distribution-Types-Module.html">Distribution.Types.Module</a></span></li><li><span class="module"><a href="Distribution-Types-ModuleReexport.html">Distribution.Types.ModuleReexport</a></span></li><li><span class="module"><a href="Distribution-Types-ModuleRenaming.html">Distribution.Types.ModuleRenaming</a></span></li><li><span class="module"><a href="Distribution-Types-MungedPackageId.html">Distribution.Types.MungedPackageId</a></span></li><li><span class="module"><a href="Distribution-Types-MungedPackageName.html">Distribution.Types.MungedPackageName</a></span></li><li><span class="module"><a href="Distribution-Types-PackageDescription.html">Distribution.Types.PackageDescription</a></span></li><li><span class="module"><a href="Distribution-Types-PackageId.html">Distribution.Types.PackageId</a></span></li><li><span class="module"><a href="Distribution-Types-PackageName.html">Distribution.Types.PackageName</a></span></li><li><span class="module"><a href="Distribution-Types-PkgconfigDependency.html">Distribution.Types.PkgconfigDependency</a></span></li><li><span class="module"><a href="Distribution-Types-PkgconfigName.html">Distribution.Types.PkgconfigName</a></span></li><li><span class="module"><a href="Distribution-Types-SetupBuildInfo.html">Distribution.Types.SetupBuildInfo</a></span></li><li><span class="module"><a href="Distribution-Types-SourceRepo.html">Distribution.Types.SourceRepo</a></span></li><li><span class="module"><a href="Distribution-Types-TargetInfo.html">Distribution.Types.TargetInfo</a></span></li><li><span class="module"><a href="Distribution-Types-TestSuite.html">Distribution.Types.TestSuite</a></span></li><li><span class="module"><a href="Distribution-Types-TestSuiteInterface.html">Distribution.Types.TestSuiteInterface</a></span></li><li><span class="module"><a href="Distribution-Types-TestType.html">Distribution.Types.TestType</a></span></li><li><span class="module"><a href="Distribution-Types-UnitId.html">Distribution.Types.UnitId</a></span></li><li><span class="module"><a href="Distribution-Types-UnqualComponentName.html">Distribution.Types.UnqualComponentName</a></span></li></ul></li><li><span id="control.n.1.16" class="module collapser" onclick="toggleSection('n.1.16')">Utils</span><ul id="section.n.1.16" class="show"><li><span class="module"><a href="Distribution-Utils-Generic.html">Distribution.Utils.Generic</a></span></li><li><span class="module"><a href="Distribution-Utils-LogProgress.html">Distribution.Utils.LogProgress</a></span></li><li><span class="module"><a href="Distribution-Utils-MapAccum.html">Distribution.Utils.MapAccum</a></span></li><li><span class="module"><a href="Distribution-Utils-NubList.html">Distribution.Utils.NubList</a></span></li><li><span class="module"><a href="Distribution-Utils-Progress.html">Distribution.Utils.Progress</a></span></li><li><span class="module"><a href="Distribution-Utils-ShortText.html">Distribution.Utils.ShortText</a></span></li></ul></li><li><span class="module"><a href="Distribution-Verbosity.html">Distribution.Verbosity</a></span></li><li><span class="module"><a href="Distribution-Version.html">Distribution.Version</a></span></li></ul></li><li><span id="control.n.2" class="module collapser" onclick="toggleSection('n.2')">Language</span><ul id="section.n.2" class="show"><li><span id="control.n.2.1" class="module collapser" onclick="toggleSection('n.2.1')">Haskell</span><ul id="section.n.2.1" class="show"><li><span class="module"><a href="Language-Haskell-Extension.html">Language.Haskell.Extension</a></span></li></ul></li></ul></li></ul></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.18.1</p></div></body></html>
binary file changed (56 → absent bytes)
@@ -1,618 +0,0 @@-/* @group Fundamentals */--* { margin: 0; padding: 0 }--/* Is this portable? */-html {- background-color: white;- width: 100%;- height: 100%;-}--body {- background: white;- color: black;- text-align: left;- min-height: 100%;- position: relative;-}--p {- margin: 0.8em 0;-}--ul, ol {- margin: 0.8em 0 0.8em 2em;-}--dl {- margin: 0.8em 0;-}--dt {- font-weight: bold;-}-dd {- margin-left: 2em;-}--a { text-decoration: none; }-a[href]:link { color: rgb(196,69,29); }-a[href]:visited { color: rgb(171,105,84); }-a[href]:hover { text-decoration:underline; }--a[href].def:link, a[href].def:visited { color: black; }-a[href].def:hover { color: rgb(78, 98, 114); }--/* @end */--/* @group Fonts & Sizes */--/* Basic technique & IE workarounds from YUI 3- For reasons, see:- http://yui.yahooapis.com/3.1.1/build/cssfonts/fonts.css- */--body {- font:13px/1.4 sans-serif;- *font-size:small; /* for IE */- *font:x-small; /* for IE in quirks mode */-}--h1 { font-size: 146.5%; /* 19pt */ }-h2 { font-size: 131%; /* 17pt */ }-h3 { font-size: 116%; /* 15pt */ }-h4 { font-size: 100%; /* 13pt */ }-h5 { font-size: 100%; /* 13pt */ }--select, input, button, textarea {- font:99% sans-serif;-}--table {- font-size:inherit;- font:100%;-}--pre, code, kbd, samp, tt, .src {- font-family:monospace;- *font-size:108%;- line-height: 124%;-}--.links, .link {- font-size: 85%; /* 11pt */-}--#module-header .caption {- font-size: 182%; /* 24pt */-}--#module-header .caption sup {- font-size: 70%;- font-weight: normal;-}--.info {- font-size: 85%; /* 11pt */-}--#table-of-contents, #synopsis {- /* font-size: 85%; /* 11pt */-}---/* @end */--/* @group Common */--.caption, h1, h2, h3, h4, h5, h6 {- font-weight: bold;- color: rgb(78,98,114);- margin: 0.8em 0 0.4em;-}--* + h1, * + h2, * + h3, * + h4, * + h5, * + h6 {- margin-top: 2em;-}--h1 + h2, h2 + h3, h3 + h4, h4 + h5, h5 + h6 {- margin-top: inherit;-}--ul.links {- list-style: none;- text-align: left;- float: right;- display: inline-table;- margin: 0 0 0 1em;-}--ul.links li {- display: inline;- border-left: 1px solid #d5d5d5;- white-space: nowrap;- padding: 0;-}--ul.links li a {- padding: 0.2em 0.5em;-}--.hide { display: none; }-.show { display: inherit; }-.clear { clear: both; }--.collapser {- background-image: url(minus.gif);- background-repeat: no-repeat;-}-.expander {- background-image: url(plus.gif);- background-repeat: no-repeat;-}-.collapser, .expander {- padding-left: 14px;- margin-left: -14px;- cursor: pointer;-}-p.caption.collapser,-p.caption.expander {- background-position: 0 0.4em;-}--.instance.collapser, .instance.expander {- margin-left: 0px;- background-position: left center;- min-width: 9px;- min-height: 9px;-}---pre {- padding: 0.25em;- margin: 0.8em 0;- background: rgb(229,237,244);- overflow: auto;- border-bottom: 0.25em solid white;- /* white border adds some space below the box to compensate- for visual extra space that paragraphs have between baseline- and the bounding box */-}--.src {- background: #f0f0f0;- padding: 0.2em 0.5em;-}--.keyword { font-weight: normal; }-.def { font-weight: bold; }--@media print {- #footer { display: none; }-}--/* @end */--/* @group Page Structure */--#content {- margin: 0 auto;- padding: 0 2em 6em;-}--#package-header {- background: rgb(41,56,69);- border-top: 5px solid rgb(78,98,114);- color: #ddd;- padding: 0.2em;- position: relative;- text-align: left;-}--#package-header .caption {- background: url(hslogo-16.png) no-repeat 0em;- color: white;- margin: 0 2em;- font-weight: normal;- font-style: normal;- padding-left: 2em;-}--#package-header a:link, #package-header a:visited { color: white; }-#package-header a:hover { background: rgb(78,98,114); }--#module-header .caption {- color: rgb(78,98,114);- font-weight: bold;- border-bottom: 1px solid #ddd;-}--table.info {- float: right;- padding: 0.5em 1em;- border: 1px solid #ddd;- color: rgb(78,98,114);- background-color: #fff;- max-width: 40%;- border-spacing: 0;- position: relative;- top: -0.5em;- margin: 0 0 0 2em;-}--.info th {- padding: 0 1em 0 0;-}--div#style-menu-holder {- position: relative;- z-index: 2;- display: inline;-}--#style-menu {- position: absolute;- z-index: 1;- overflow: visible;- background: #374c5e;- margin: 0;- text-align: center;- right: 0;- padding: 0;- top: 1.25em;-}--#style-menu li {- display: list-item;- border-style: none;- margin: 0;- padding: 0;- color: #000;- list-style-type: none;-}--#style-menu li + li {- border-top: 1px solid #919191;-}--#style-menu a {- width: 6em;- padding: 3px;- display: block;-}--#footer {- background: #ddd;- border-top: 1px solid #aaa;- padding: 0.5em 0;- color: #666;- text-align: center;- position: absolute;- bottom: 0;- width: 100%;- height: 3em;-}--/* @end */--/* @group Front Matter */--#table-of-contents {- float: right;- clear: right;- background: #faf9dc;- border: 1px solid #d8d7ad;- padding: 0.5em 1em;- max-width: 20em;- margin: 0.5em 0 1em 1em;-}--#table-of-contents .caption {- text-align: center;- margin: 0;-}--#table-of-contents ul {- list-style: none;- margin: 0;-}--#table-of-contents ul ul {- margin-left: 2em;-}--#description .caption {- display: none;-}--#synopsis {- display: block;- position: fixed;- right: 0;- height: 80%;- top: 10%;- padding: 0;- max-width: 75%;- /* Ensure that synopsis covers everything (including MathJAX markup) */- z-index: 1;-}--#synopsis .caption {- float: left;- width: 29px;- color: rgba(255,255,255,0);- height: 110px;- margin: 0;- font-size: 1px;- padding: 0;-}--#synopsis p.caption.collapser {- background: url(synopsis.png) no-repeat -64px -8px;-}--#synopsis p.caption.expander {- background: url(synopsis.png) no-repeat 0px -8px;-}--#synopsis ul {- height: 100%;- overflow: auto;- padding: 0.5em;- margin: 0;-}--#synopsis ul ul {- overflow: hidden;-}--#synopsis ul,-#synopsis ul li.src {- background-color: #faf9dc;- white-space: nowrap;- list-style: none;- margin-left: 0;-}--/* @end */--/* @group Main Content */--#interface div.top { margin: 2em 0; }-#interface h1 + div.top,-#interface h2 + div.top,-#interface h3 + div.top,-#interface h4 + div.top,-#interface h5 + div.top {- margin-top: 1em;-}-#interface .src .selflink,-#interface .src .link {- float: right;- color: #919191;- background: #f0f0f0;- padding: 0 0.5em 0.2em;- margin: 0 -0.5em 0 0;- -moz-user-select: none;-}-#interface .src .selflink {- border-left: 1px solid #919191;- margin: 0 -0.5em 0 0.5em;-}--#interface span.fixity {- color: #919191;- border-left: 1px solid #919191;- padding: 0.2em 0.5em 0.2em 0.5em;- margin: 0 -1em 0 1em;-}--#interface span.rightedge {- border-left: 1px solid #919191;- padding: 0.2em 0 0.2em 0;- margin: 0 0 0 1em;-}--#interface table { border-spacing: 2px; }-#interface td {- vertical-align: top;- padding-left: 0.5em;-}-#interface td.src {- white-space: nowrap;-}-#interface td.doc p {- margin: 0;-}-#interface td.doc p + p {- margin-top: 0.8em;-}--.clearfix:after {- clear: both;- content: " ";- display: block;- height: 0;- visibility: hidden;-}--.subs ul {- list-style: none;- display: table;- margin: 0;-}--.subs ul li {- display: table-row;-}--.subs ul li dfn {- display: table-cell;- font-style: normal;- font-weight: bold;- margin: 1px 0;- white-space: nowrap;-}--.subs ul li > .doc {- display: table-cell;- padding-left: 0.5em;- margin-bottom: 0.5em;-}--.subs ul li > .doc p {- margin: 0;-}--/* Render short-style data instances */-.inst ul {- height: 100%;- padding: 0.5em;- margin: 0;-}--.inst, .inst li {- list-style: none;- margin-left: 1em;-}--/* Workaround for bug in Firefox (issue #384) */-.inst-left {- float: left;-}--.top p.src {- border-top: 1px solid #ccc;-}--.subs, .doc {- /* use this selector for one level of indent */- padding-left: 2em;-}--.warning {- color: red;-}--.arguments {- margin-top: -0.4em;-}-.arguments .caption {- display: none;-}--.fields { padding-left: 1em; }--.fields .caption { display: none; }--.fields p { margin: 0 0; }--/* this seems bulky to me-.methods, .constructors {- background: #f8f8f8;- border: 1px solid #eee;-}-*/--/* @end */--/* @group Auxillary Pages */---.extension-list {- list-style-type: none;- margin-left: 0;-}--#mini {- margin: 0 auto;- padding: 0 1em 1em;-}--#mini > * {- font-size: 93%; /* 12pt */-}--#mini #module-list .caption,-#mini #module-header .caption {- font-size: 125%; /* 15pt */-}--#mini #interface h1,-#mini #interface h2,-#mini #interface h3,-#mini #interface h4 {- font-size: 109%; /* 13pt */- margin: 1em 0 0;-}--#mini #interface .top,-#mini #interface .src {- margin: 0;-}--#mini #module-list ul {- list-style: none;- margin: 0;-}--#alphabet ul {- list-style: none;- padding: 0;- margin: 0.5em 0 0;- text-align: center;-}--#alphabet li {- display: inline;- margin: 0 0.25em;-}--#alphabet a {- font-weight: bold;-}--#index .caption,-#module-list .caption { font-size: 131%; /* 17pt */ }--#index table {- margin-left: 2em;-}--#index .src {- font-weight: bold;-}-#index .alt {- font-size: 77%; /* 10pt */- font-style: italic;- padding-left: 2em;-}--#index td + td {- padding-left: 1em;-}--#module-list ul {- list-style: none;- margin: 0 0 0 2em;-}--#module-list li {- clear: right;-}--#module-list span.collapser,-#module-list span.expander {- background-position: 0 0.3em;-}--#module-list .package {- float: right;-}--:target {- background-color: #ffff00;-}--/* @end */
binary file changed (59 → absent bytes)
binary file changed (11327 → absent bytes)
@@ -11,12 +11,16 @@ ### How to build it +* Currently requires python-2 * `> pip install sphinx`-* `> sphinx-build doc html`-* if you are missing dependencies, install them with pip as needed+* `> pip install sphinx_rtd_theme`+* `> cd Cabal`+* `> make clean users-guide`+* if you are missing any other dependencies, install them with `pip` as needed ¯\\\_(ツ)_/¯ * Python on Mac OS X dislikes `LC_CTYPE=UTF-8`, unset the env var in terminal preferences and instead set `LC_ALL=en_US.UTF-8` or something+* On archlinux, package `python2-sphinx` is sufficient. ### Caveats, for newcomers to RST from MD RST does not allow you to skip section levels when nesting, like MD
@@ -13,7 +13,7 @@ sys.path.insert(0, os.path.abspath('.')) import cabaldomain -version = "2.0"+version = "2.1" extensions = ['sphinx.ext.extlinks'] @@ -67,6 +67,17 @@ # Convert quotes and dashes to typographically correct entities html_use_smartypants = True html_show_copyright = True+html_context = {+ 'source_url_prefix': "https://github.com/haskell/cabal/tree/master/Cabal/doc/",+ "display_github": True,+ "github_host": "github.com",+ "github_user": "haskell",+ "github_repo": 'cabal',+ "github_version": "master/",+ "conf_py_path": "Cabal/doc/",+ "source_suffix": '.rst',+}+ # If true, an OpenSearch description file will be output, and all pages will # contain a <link> tag referring to it. The value of this option must be the
@@ -177,11 +177,13 @@ with. The most common kinds of constraints are: - ``pkgname >= n``+- ``pkgname ^>= n`` (since Cabal 2.0) - ``pkgname >= n && < m``-- ``pkgname == n.*``+- ``pkgname == n.*`` (since Cabal 1.6) The last is just shorthand, for example ``base == 4.*`` means exactly-the same thing as ``base >= 4 && < 5``.+the same thing as ``base >= 4 && < 5``. Please refer to the documentation+on the :pkg-field:`build-depends` field for more information. Building the package --------------------@@ -270,8 +272,10 @@ versions follow the conventional numeric style, consisting of a sequence of digits such as "1.0.1" or "2.0". There are a range of common conventions for "versioning" packages, that is giving some meaning to-the version number in terms of changes in the package. Section [TODO]-has some tips on package versioning.+the version number in terms of changes in the package, such as+e.g. `SemVer <http://semver.org>`__; however, for packages intended to be+distributed via Hackage Haskell's `Package Versioning Policy`_ applies+(see also the `PVP/SemVer FAQ section <https://pvp.haskell.org/faq/#semver>`__). The combination of package name and version is called the *package ID* and is written with a hyphen to separate the name and version, e.g.@@ -495,7 +499,7 @@ make up your package. You will need to add two more files to the root directory of the package: -:file:`{package}.cabal`+:file:`{package-name}.cabal` a Unicode UTF-8 text file containing a package description. For details of the syntax of this file, see the section on `package descriptions`_.@@ -537,12 +541,12 @@ version: 1.0 library- build-depends: base+ build-depends: base >= 4 && < 5 exposed-modules: Foo extensions: ForeignFunctionInterface ghc-options: -Wall if os(windows)- build-depends: Win32+ build-depends: Win32 >= 2.1 && < 2.6 Example: A package containing a simple library ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^@@ -586,16 +590,16 @@ author: Angela Author license: BSD3 build-type: Simple- cabal-version: >= 1.2+ cabal-version: >= 1.8 executable program1- build-depends: HUnit+ build-depends: HUnit >= 1.1.1 && < 1.2 main-is: Main.hs hs-source-dirs: prog1 executable program2 main-is: Main.hs- build-depends: HUnit+ build-depends: HUnit >= 1.1.1 && < 1.2 hs-source-dirs: prog2 other-modules: Utils @@ -612,10 +616,10 @@ license: BSD3 author: Angela Author build-type: Simple- cabal-version: >= 1.2+ cabal-version: >= 1.8 library- build-depends: HUnit+ build-depends: HUnit >= 1.1.1 && < 1.2 exposed-modules: A, B, C executable program1@@ -650,7 +654,8 @@ must be a Unicode text file encoded using valid UTF-8. There must be exactly one such file in the directory. The first part of the name is usually the package name, and some of the tools that operate on Cabal-packages require this.+packages require this; specifically, Hackage rejects packages which+don't follow this rule. In the package description file, lines whose first non-whitespace characters are "``--``" are treated as comments and ignored.@@ -727,7 +732,8 @@ ``hsc2hs`` preprocessors, Cabal will also automatically add, compile and link any C sources generated by the preprocessor (produced by ``hsc2hs``'s ``#def`` feature or ``c2hs``'s auto-generated wrapper-functions).+functions). Dependencies on pre-processors are specified via the+:pkg-field:`build-tools` or :pkg-field:`build-tool-depends` fields. Some fields take lists of values, which are optionally separated by commas, except for the :pkg-field:`build-depends` field, where the commas are@@ -746,11 +752,39 @@ The unique name of the package, without the version number. + As pointed out in the section on `package descriptions`_, some+ tools require the package-name specified for this field to match+ the package description's file-name :file:`{package-name}.cabal`.++ Package names are case-sensitive and must match the regular expression+ (i.e. alphanumeric "words" separated by dashes; each alphanumeric+ word must contain at least one letter):+ ``[[:digit:]]*[[:alpha:]][[:alnum:]]*(-[[:digit:]]*[[:alpha:]][[:alnum:]]*)*``.++ Or, expressed in ABNF_:++ .. code-block:: abnf++ package-name = package-name-part *("-" package-name-part)+ package-name-part = *DIGIT UALPHA *UALNUM++ UALNUM = UALPHA / DIGIT+ UALPHA = ... ; set of alphabetic Unicode code-points++ .. note::++ Hackage restricts package names to the ASCII subset.+ .. pkg-field:: version: numbers (required) The package version number, usually consisting of a sequence of- natural numbers separated by dots.+ natural numbers separated by dots, i.e. as the regular+ expression ``[0-9]+([.][0-9]+)*`` or expressed in ABNF_: + .. code-block:: abnf++ package-version = 1*DIGIT *("." 1*DIGIT)+ .. pkg-field:: cabal-version: >= x.y The version of the Cabal specification that this package description@@ -788,13 +822,21 @@ .. pkg-field:: build-type: identifier - :default: ``Custom``+ :default: ``Custom`` or ``Simple`` The type of build used by this package. Build types are the constructors of the `BuildType <../release/cabal-latest/doc/API/Cabal/Distribution-PackageDescription.html#t:BuildType>`__- type, defaulting to ``Custom``.+ type. This field is optional and when missing, its default value+ is inferred according to the following rules: + - When :pkg-field:`cabal-version` is set to ``2.2`` or higher,+ the default is ``Simple`` unless a :pkg-section:`custom-setup`+ exists, in which case the inferred default is ``Custom``.++ - For lower :pkg-field:`cabal-version` values, the default is+ ``Custom`` unconditionally.+ If the build type is anything other than ``Custom``, then the ``Setup.hs`` file *must* be exactly the standardized content discussed below. This is because in these cases, ``cabal`` will@@ -935,7 +977,7 @@ A list of files to be installed for run-time use by the package. This is useful for packages that use a large amount of static data, such as tables of values or code templates. Cabal provides a way to- `find these files at run-time <accessing data files from package code>`_.+ `find these files at run-time <#accessing-data-files-from-package-code>`_. A limited form of ``*`` wildcards in file names, for example ``data-files: images/*.png`` matches all the ``.png`` files in the@@ -989,7 +1031,7 @@ :synopsis: Library build information. Build information for libraries. There can be only one library in a- package, and it's name is the same as package name set by global+ package, and its name is the same as package name set by global :pkg-field:`name` field. The library section should contain the following fields:@@ -1000,6 +1042,15 @@ A list of modules added by this package. +.. pkg-field:: virtual-modules: identifier list++ A list of virtual modules provided by this package. Virtual modules+ are modules without a source file. See for example the ``GHC.Prim``+ module from the ``ghc-prim`` package. Modules listed here will not be+ built, but still end up in the list of ``exposed-modules`` in the+ installed package info when the package is registered in the package+ database.+ .. pkg-field:: exposed: boolean :default: ``True``@@ -1051,20 +1102,24 @@ name: foo version: 1.0 license: BSD3- cabal-version: >= 1.23+ cabal-version: >= 1.24 build-type: Simple library foo-internal exposed-modules: Foo.Internal+ -- NOTE: no explicit constraints on base needed+ -- as they're inherited from the 'library' stanza build-depends: base library exposed-modules: Foo.Public- build-depends: foo-internal, base+ build-depends: foo-internal, base >= 4.3 && < 5 test-suite test-foo type: exitcode-stdio-1.0 main-is: test-foo.hs+ -- NOTE: no constraints on 'foo-internal' as same-package+ -- dependencies implicitly refer to the same package instance build-depends: foo-internal, base Internal libraries are also useful for packages that define multiple@@ -1228,7 +1283,7 @@ ^^^^^^^^^^^ .. pkg-section:: executable name- :synopsis: Exectuable build info section.+ :synopsis: Executable build info section. Executable sections (if present) describe executable programs contained in the package and must have an argument after the section label, which@@ -1244,9 +1299,11 @@ module. Note that it is the ``.hs`` filename that must be listed, even if that file is generated using a preprocessor. The source file must be relative to one of the directories listed in- :pkg-field:`hs-source-dirs`.+ :pkg-field:`hs-source-dirs`. Further, while the name of the file may+ vary, the module itself must be named ``Main``. .. pkg-field:: scope: token+ :since: 2.0 Whether the executable is ``public`` (default) or ``private``, i.e. meant to be run by other programs rather than the user. Private executables are@@ -1272,8 +1329,8 @@ Test suites ^^^^^^^^^^^ -.. pkg-section:: test name- :synopsis: Test suit build information.+.. pkg-section:: test-suite name+ :synopsis: Test suite build information. Test suite sections (if present) describe package test suites and must have an argument after the section label, which defines the name of the@@ -1346,7 +1403,7 @@ Test-Suite test-foo type: exitcode-stdio-1.0 main-is: test-foo.hs- build-depends: base+ build-depends: base >= 4 && < 5 .. code-block:: haskell :caption: test-foo.hs@@ -1380,7 +1437,7 @@ Test-Suite test-bar type: detailed-0.9 test-module: Bar- build-depends: base, Cabal >= 1.9.2+ build-depends: base >= 4 && < 5, Cabal >= 1.9.2 && < 2 .. code-block:: haskell@@ -1459,7 +1516,8 @@ even if that file is generated using a preprocessor. The source file must be relative to one of the directories listed in :pkg-field:`hs-source-dirs`. This field is analogous to the ``main-is``- field of an executable section.+ field of an executable section. Further, while the name of the file may+ vary, the module itself must be named ``Main``. Example: Package using ``exitcode-stdio-1.0`` interface """""""""""""""""""""""""""""""""""""""""""""""""""""""@@ -1480,7 +1538,7 @@ Benchmark bench-foo type: exitcode-stdio-1.0 main-is: bench-foo.hs- build-depends: base, time+ build-depends: base >= 4 && < 5, time >= 1.1 && < 1.7 .. code-block:: haskell :caption: bench-foo.hs@@ -1547,6 +1605,13 @@ c-sources: csrc/MyForeignLibWrapper.c default-language: Haskell2010 ++.. pkg-section:: foreign-library name+ :since: 2.0+ :synopsis: Foriegn library build information.++ Build information for `foreign libraries`_.+ .. pkg-field:: type: foreign library type Cabal recognizes ``native-static`` and ``native-shared`` here, although@@ -1567,7 +1632,7 @@ This option can only be used when creating dynamic Windows libraries (that is, when using ``native-shared`` and the ``os`` is ``Windows``). If- used, it must be a path to a _module definition file_. The details of+ used, it must be a path to a *module definition file*. The details of module definition files are beyond the scope of this document; see the `GHC <https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/win32-dlls.html>`_ manual for some details and some further pointers.@@ -1690,23 +1755,90 @@ It is only syntactic sugar. It is exactly equivalent to ``foo >= 1.2 && < 1.3``. - Starting with Cabal 2.0, there's a new syntactic sugar to support- PVP_-style- major upper bounds conveniently, and is inspired by similiar+ .. Warning::++ A potential pitfall of the wildcard syntax is that the+ constraint ``nats == 1.0.*`` doesn't match the release+ ``nats-1`` because the version ``1`` is lexicographically less+ than ``1.0``. This is not an issue with the caret-operator+ ``^>=`` described below.++ Starting with Cabal 2.0, there's a new version operator to express+ PVP_-style major upper bounds conveniently, and is inspired by similar syntactic sugar found in other language ecosystems where it's often called the "Caret" operator: :: - build-depends: foo ^>= 1.2.3.4,- bar ^>= 1+ build-depends:+ foo ^>= 1.2.3.4,+ bar ^>= 1 - The declaration above is exactly equivalent to+ This allows to assert the positive knowledge that this package is+ *known* to be semantically compatible with the releases+ ``foo-1.2.3.4`` and ``bar-1`` respectively. The information+ encoded via such ``^>=``-assertions is used by the cabal solver to+ infer version constraints describing semantically compatible+ version ranges according to the PVP_ contract (see below). + Another way to say this is that ``foo < 1.3`` expresses *negative*+ information, i.e. "``foo-1.3`` or ``foo-1.4.2`` will *not* be+ compatible"; whereas ``foo ^>= 1.2.3.4`` asserts the *positive*+ information that "``foo-1.2.3.4`` is *known* to be compatible" and (in+ the absence of additional information) according to the PVP_+ contract we can (positively) infer right away that all versions+ satisfying ``foo >= 1.2.3.4 && < 1.3`` will be compatible as well.++ .. Note::++ More generally, the PVP_ contract implies that we can safely+ relax the lower bound to ``>= 1.2``, because if we know that+ ``foo-1.2.3.4`` is semantically compatible, then so is+ ``foo-1.2`` (if it typechecks). But we'd need to perform+ additional static analysis (i.e. perform typechecking) in order+ to know if our package in the role of an API consumer will+ successfully typecheck against the dependency ``foo-1.2``. But+ since we cannot do this analysis during constraint solving and+ to keep things simple, we pragmatically use ``foo >= 1.2.3.4``+ as the initially inferred approximation for the lower bound+ resulting from the assertion ``foo ^>= 1.2.3.4``. If further+ evidence becomes available that e.g. ``foo-1.2`` typechecks,+ one can simply revise the dependency specification to include+ the assertion ``foo ^>= 1.2``.++ The subtle but important difference in signaling allows tooling to+ treat explicitly expressed ``<``-style constraints and inferred+ (``^>=``-style) upper bounds differently. For instance,+ :option:`--allow-newer`'s ``^``-modifier allows to relax only+ ``^>=``-style bounds while leaving explicitly stated+ ``<``-constraints unaffected.++ Ignoring the signaling intent, the default syntactic desugaring rules are++ - ``^>= x`` == ``>= x && < x.1``+ - ``^>= x.y`` == ``>= x.y && < x.(y+1)``+ - ``^>= x.y.z`` == ``>= x.y.z && < x.(y+1)``+ - ``^>= x.y.z.u`` == ``>= x.y.z.u && < x.(y+1)``+ - etc.++ .. Note::++ One might expected the desugaring to truncate all version+ components below (and including) the patch-level, i.e.+ ``^>= x.y.z.u`` == ``>= x.y.z && < x.(y+1)``,+ as the major and minor version components alone are supposed to+ uniquely identify the API according to the PVP_. However, by+ designing ``^>=`` to be closer to the ``>=`` operator, we avoid+ the potentially confusing effect of ``^>=`` being more liberal+ than ``>=`` in the presence of patch-level versions.++ Consequently, the example declaration above is equivalent to+ :: - build-depends: foo >= 1.2.3.4 && < 1.3,- bar >= 1 && < 1.1+ build-depends:+ foo >= 1.2.3.4 && < 1.3,+ bar >= 1 && < 1.1 .. Note:: @@ -1787,6 +1919,7 @@ Deprecated in favor of :pkg-field:`default-extensions`. .. pkg-field:: build-tool-depends: package:executable list+ :since: 2.0 A list of Haskell programs needed to build this component. Each is specified by the package containing the executable and the name of the executable itself, separated by a colon, and optionally followed by a version bound.@@ -1794,7 +1927,7 @@ External dependencies can (and should) contain a version bound like conventional :pkg-field:`build-depends` dependencies. Internal deps should not contain a version bound, as they will be always resolved within the same configuration of the package in the build plan.- Specifically, version bounds that include the package's version will be warned for being extraneous, and version bounds that exclude the package's version will raise and error for being impossible to follow.+ Specifically, version bounds that include the package's version will be warned for being extraneous, and version bounds that exclude the package's version will raise an error for being impossible to follow. Cabal can make sure that specified programs are built and on the ``PATH`` before building the component in question. It will always do so for internal dependencies, and also do so for external dependencies when using Nix-style local builds.@@ -1805,21 +1938,20 @@ compatibility. .. pkg-field:: build-tools: program list- :deprecated:+ :deprecated: - Deprecated in favor of :pkg-field:`build-tool-depends`, but `see below for backwards compatibility information. <buildtoolsbc>`_+ Deprecated in favor of :pkg-field:`build-tool-depends`, but :ref:`see below for backwards compatibility information <buildtoolsbc>`. A list of Haskell programs needed to build this component. Each may be followed by an optional version bound. Confusingly, each program in the list either refer to one of three things: - 1. Another executables in the same package+ 1. Another executables in the same package (supported since Cabal 1.12) - 2. One of a hard-coded set of packages containing common build tools- (possibly extended by a ``Custom`` setup script)+ 2. Tool name contained in Cabal's :ref:`hard-coded set of common tools <buildtoolsmap>` 3. A pre-built executable that should already be on the ``PATH``- (Supported only by Cabal 2.0 and later.)+ (supported since Cabal 2.0) These cases are listed in order of priority: an executable in the package will override any of the hard-coded packages with the same name,@@ -1833,10 +1965,50 @@ .. _buildtoolsbc: - Although this field is deprecated in favor of :pkg-field:`build-tool-depends`, there are some situations where you may prefer to use :pkg-field:`build-tool` in cases (1) and (2), as it is supported by more versions of Cabal.+ **Backward Compatiblity**++ Although this field is deprecated in favor of :pkg-field:`build-tool-depends`, there are some situations where you may prefer to use :pkg-field:`build-tools` in cases (1) and (2), as it is supported by more versions of Cabal. In case (3), :pkg-field:`build-tool-depends` is better for backwards-compatibility, as it will be ignored by old versions of Cabal; if you add the executable to :pkg-field:`build-tools`, a setup script built against old Cabal will choke. If an old version of Cabal is used, an end-user will have to manually arrange for the requested executable to be in your ``PATH``. + .. _buildtoolsmap:++ **Set of Known Tool Names**++ Identifiers specified in :pkg-field:`build-tools` are desugared into their respective equivalent :pkg-field:`build-tool-depends` form according to the table below. Consequently, a legacy specification such as::++ build-tools: alex >= 3.2.1 && < 3.3, happy >= 1.19.5 && < 1.20++ is simply desugared into the equivalent specification::++ build-tool-depends: alex:alex >= 3.2.1 && < 3.3, happy:happy >= 1.19.5 && < 1.20++ +--------------------------+-----------------------------------+-----------------++ | :pkg-field:`build-tools` | desugared | Note |+ | identifier | :pkg-field:`build-tool-depends` | |+ | | identifier | |+ +==========================+===================================+=================++ | ``alex`` | ``alex:alex`` | |+ +--------------------------+-----------------------------------+-----------------++ | ``c2hs`` | ``c2hs:c2hs`` | |+ +--------------------------+-----------------------------------+-----------------++ | ``cpphs`` | ``cpphs:cpphs`` | |+ +--------------------------+-----------------------------------+-----------------++ | ``greencard`` | ``greencard:greencard`` | |+ +--------------------------+-----------------------------------+-----------------++ | ``haddock`` | ``haddock:haddock`` | |+ +--------------------------+-----------------------------------+-----------------++ | ``happy`` | ``happy:happy`` | |+ +--------------------------+-----------------------------------+-----------------++ | ``hsc2hs`` | ``hsc2hs:hsc2hs`` | |+ +--------------------------+-----------------------------------+-----------------++ | ``hscolour`` | ``hscolour:hscolour`` | |+ +--------------------------+-----------------------------------+-----------------++ | ``hspec-discover`` | ``hspec-discover:hspec-discover`` | since Cabal 2.0 |+ +--------------------------+-----------------------------------+-----------------+++ This built-in set can be programmatically extended via ``Custom`` setup scripts; this, however, is of limited use since the Cabal solver cannot access information injected by ``Custom`` setup scripts.+ .. pkg-field:: buildable: boolean :default: ``True``@@ -1942,6 +2114,26 @@ A list of C source files to be compiled and linked with the Haskell files. +.. pkg-field:: cxx-sources: filename list++ A list of C++ source files to be compiled and linked with the Haskell+ files. Useful for segregating C and C++ sources when supplying different+ command-line arguments to the compiler via the :pkg-field:`cc-options`+ and the :pkg-field:`cxx-options` fields. The files listed in the+ :pkg-field:`cxx-sources` can reference files listed in the+ :pkg-field:`c-sources` field and vice-versa. The object files will be linked+ appropriately.++.. pkg-field:: asm-sources: filename list++ A list of assembly source files to be compiled and linked with the+ Haskell files.++.. pkg-field:: cmm-sources: filename list++ A list of C-- source files to be compiled and linked with the Haskell+ files.+ .. pkg-field:: js-sources: filename list A list of JavaScript source files to be linked with the Haskell@@ -1956,6 +2148,15 @@ A list of extra libraries to be used instead of 'extra-libraries' when the package is loaded with GHCi. +.. pkg-field:: extra-bundled-libraries: token list++ A list of libraries that are supposed to be copied from the build+ directory alongside the produced haskell libraries. Note that you+ are under the obligation to produce those lirbaries in the build+ directory (e.g. via a custom setup). Libraries listed here will+ be included when ``copy``-ing packages and be listed in the+ ``hs-libraries`` of the package configuration.+ .. pkg-field:: extra-lib-dirs: directory list A list of directories to search for libraries.@@ -1972,6 +2173,18 @@ haskell source and other pre-processed Haskell source like .hsc .chs. Does not apply to C code, that's what cc-options is for. +.. pkg-field:: cxx-options: token list++ Command-line arguments to be passed to the compiler when compiling+ C++ code. The C++ sources to which these command-line arguments+ should be applied can be specified with the :pkg-field:`cxx-sources`+ field. Command-line options for C and C++ can be passed separately to+ the compiler when compiling both C and C++ sources by segregating the C+ and C++ sources with the :pkg-field:`c-sources` and+ :pkg-field:`cxx-sources` fields respectively, and providing different+ command-line arguments with the :pkg-field:`cc-options` and the+ :pkg-field:`cxx-options` fields.+ .. pkg-field:: ld-options: token list Command-line arguments to be passed to the linker. Since the@@ -2021,45 +2234,61 @@ Name: Test1 Version: 0.0.1- Cabal-Version: >= 1.2+ Cabal-Version: >= 1.8 License: BSD3 Author: Jane Doe Synopsis: Test package to test configurations Category: Example+ Build-Type: Simple Flag Debug Description: Enable debug support Default: False+ Manual: True Flag WebFrontend Description: Include API for web frontend.- -- Cabal checks if the configuration is possible, first- -- with this flag set to True and if not it tries with False+ Default: False+ Manual: True + Flag NewDirectory+ description: Whether to build against @directory >= 1.2@+ -- This is an automatic flag which the solver will be+ -- assign automatically while searching for a solution+ Library- Build-Depends: base+ Build-Depends: base >= 4.2 && < 4.9 Exposed-Modules: Testing.Test1 Extensions: CPP - if flag(debug)- GHC-Options: -DDEBUG+ GHC-Options: -Wall+ if flag(Debug)+ CPP-Options: -DDEBUG if !os(windows) CC-Options: "-DDEBUG" else CC-Options: "-DNDEBUG" - if flag(webfrontend)- Build-Depends: cgi > 0.42+ if flag(WebFrontend)+ Build-Depends: cgi >= 0.42 && < 0.44 Other-Modules: Testing.WebStuff+ CPP-Options: -DWEBFRONTEND + if flag(NewDirectory)+ build-depends: directory >= 1.2 && < 1.4+ Build-Depends: time >= 1.0 && < 1.9+ else+ build-depends: directory == 1.1.*+ Build-Depends: old-time >= 1.0 && < 1.2+ Executable test1 Main-is: T1.hs Other-Modules: Testing.Test1- Build-Depends: base+ Build-Depends: base >= 4.2 && < 4.9 if flag(debug) CC-Options: "-DDEBUG"- GHC-Options: -DDEBUG+ CPP-Options: -DDEBUG Layout """"""@@ -2082,23 +2311,25 @@ Name: Test1 Version: 0.0.1- Cabal-Version: >= 1.2+ Cabal-Version: >= 1.8 License: BSD3 Author: Jane Doe Synopsis: Test package to test configurations Category: Example+ Build-Type: Simple Flag Debug { Description: Enable debug support Default: False+ Manual: True } Library {- Build-Depends: base+ Build-Depends: base >= 4.2 && < 4.9 Exposed-Modules: Testing.Test1 Extensions: CPP if flag(debug) {- GHC-Options: -DDEBUG+ CPP-Options: -DDEBUG if !os(windows) { CC-Options: "-DDEBUG" } else {@@ -2111,17 +2342,24 @@ """"""""""""""""""" .. pkg-section:: flag name- :synopsis: Flag declaration.+ :synopsis: Flag declaration. - Flag section declares a flag which can be used in `conditional blocks`_.+ Flag section declares a flag which can be used in `conditional blocks`_. -Flag names are case-insensitive and must match ``[[:alnum:]_][[:alnum:]_-]*``-regular expression.+ Flag names are case-insensitive and must match ``[[:alnum:]_][[:alnum:]_-]*``+ regular expression, or expressed as ABNF_: -.. note::+ .. code-block:: abnf - Hackage accepts ASCII-only flags, ``[a-zA-Z0-9_][a-zA-Z0-9_-]*`` regexp.+ flag-name = (UALNUM / "_") *(UALNUM / "_" / "-") + UALNUM = UALPHA / DIGIT+ UALPHA = ... ; set of alphabetic Unicode code-points++ .. note::++ Hackage accepts ASCII-only flags, ``[a-zA-Z0-9_][a-zA-Z0-9_-]*`` regexp.+ .. pkg-field:: description: freeform The description of this flag.@@ -2174,6 +2412,17 @@ Note that the ``if`` and the condition have to be all on the same line. +Since Cabal 2.2 conditional blocks support ``elif`` construct.++::++ if condition1+ property-descriptions-or-conditionals+ elif condition2+ property-descriptions-or-conditionals+ else+ property-descriptions-or-conditionals+ Conditions """""""""" @@ -2312,10 +2561,51 @@ else Main-is: Main.hs +Common stanzas+^^^^^^^^^^^^^^++.. pkg-section:: common name+ :since: 2.2+ :synopsis: Common build info section++Starting with Cabal-2.2 it's possible to use common build info stanzas.++::++ common deps+ build-depends: base ^>= 4.11+ ghc-options: -Wall++ common test-deps+ build-depends: tasty++ library+ import: deps+ exposed-modules: Foo++ test-suite tests+ import: deps, test-deps+ type: exitcode-stdio-1.0+ main-is: Tests.hs+ build-depends: foo++- You can use `build information`_ fields in common stanzas.++- Common stanzas must be defined before use.++- Common stanzas can import other common stanzas.++- You can import multiple stanzas at once. Stanza names must be separated by commas.++.. Note::++ The name `import` was chosen, because there is ``includes`` field.+ Source Repositories ^^^^^^^^^^^^^^^^^^^ .. pkg-section:: source-repository+ :since: 1.6 It is often useful to be able to specify a source revision control repository for a package. Cabal lets you specifying this information in@@ -2460,6 +2750,15 @@ Custom setup scripts -------------------- +Since Cabal 1.24, custom ``Setup.hs`` are required to accurately track+their dependencies by declaring them in the ``.cabal`` file rather than+rely on dependencies being implicitly in scope. Please refer+`this article <https://www.well-typed.com/blog/2015/07/cabal-setup-deps/>`__+for more details.++Declaring a ``custom-setup`` stanza also enables the generation of+``MIN_VERSION_package_(A,B,C)`` CPP macros for the Setup component.+ .. pkg-section:: custom-setup :synopsis: Custom Setup.hs build information. :since: 1.24@@ -2471,8 +2770,8 @@ custom-setup setup-depends:- base >= 4.5 && < 4.11,- Cabal < 1.25+ base >= 4.5 && < 4.11,+ Cabal >= 1.14 && < 1.25 .. pkg-field:: setup-depends: package list :since: 1.24@@ -2481,6 +2780,74 @@ :pkg-field:`build-depends` field for a description of the syntax expected by this field. +Backward compatibility and ``custom-setup``+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^++Versions prior to Cabal 1.24 don't recognise ``custom-setup`` stanzas,+and will behave agnostic to them (except for warning about an unknown+section). Consequently, versions prior to Cabal 1.24 can't ensure the+declared dependencies ``setup-depends`` are in scope, and instead+whatever is registered in the current package database environment+will become eligible (and resolved by the compiler) for the+``Setup.hs`` module.++The availability of the+``MIN_VERSION_package_(A,B,C)`` CPP macros+inside ``Setup.hs`` scripts depends on the condition that either++- a ``custom-setup`` section has been declared (or ``cabal new-build`` is being+ used which injects an implicit hard-coded ``custom-setup`` stanza if it's missing), or+- GHC 8.0 or later is used (which natively injects package version CPP macros)++Consequently, if you need to write backward compatible ``Setup.hs``+scripts using CPP, you should declare a ``custom-setup`` stanza and+use the pattern below:++.. code-block:: haskell++ {-# LANGUAGE CPP #-}+ import Distribution.Simple++ #if defined(MIN_VERSION_Cabal)+ -- version macros are available and can be used as usual+ # if MIN_VERSION_Cabal(a,b,c)+ -- code specific to lib:Cabal >= a.b.c+ # else+ -- code specific to lib:Cabal < a.b.c+ # endif+ #else+ # warning Enabling heuristic fall-back. Please upgrade cabal-install to 1.24 or later if Setup.hs fails to compile.++ -- package version macros not available; except for exotic environments,+ -- you can heuristically assume that lib:Cabal's version is correlated+ -- with __GLASGOW_HASKELL__, and specifically since we can assume that+ -- GHC < 8.0, we can assume that lib:Cabal is version 1.22 or older.+ #endif++ main = ...++The simplified (heuristic) CPP pattern shown below is useful if all you need+is to distinguish ``Cabal < 2.0`` from ``Cabal >= 2.0``.++.. code-block:: haskell++ {-# LANGUAGE CPP #-}+ import Distribution.Simple++ #if !defined(MIN_VERSION_Cabal)+ # define MIN_VERSION_Cabal(a,b,c) 0+ #endif++ #if MIN_VERSION_Cabal(2,0,0)+ -- code for lib:Cabal >= 2.0+ #else+ -- code for lib:Cabal < 2.0+ #endif++ main = ...+++ Autogenerated modules --------------------- @@ -2497,6 +2864,7 @@ complex build hooks for this poweruser case. .. pkg-field:: autogen-modules: module list+ :since: 2.0 .. TODO: document autogen-modules field
@@ -980,6 +980,8 @@ if the compiler supports it. Level 2 is likely to lead to longer compile times and bigger generated code. + When optimizations are enabled, Cabal passes ``-O2`` to the C compiler.+ .. option:: --disable-optimization Build without optimization. This is suited for development: building@@ -1135,6 +1137,16 @@ (default) Do not build shared library. +.. option:: --enable-static++ Build a static library. This passes ``-staticlib`` to GHC (available+ for iOS, and with 8.4 more platforms). The result is an archive ``.a``+ containing all dependent haskell libararies combined.++.. option:: --disable-static++ (default) Do not build a static library.+ .. option:: --enable-executable-dynamic Link executables dynamically. The executable's library dependencies@@ -1282,7 +1294,7 @@ used at all: ::- + # Note: this is just syntax sugar for '> 1 && < 1', and is # supported by build-depends. $ cabal install --constraint="bar -none"@@ -1356,6 +1368,15 @@ Specify a soft constraint on versions of a package. The solver will attempt to satisfy these preferences on a "best-effort" basis. +.. option:: --disable-response-files++ Enable workaround for older versions of programs such as ``ar`` or+ ``ld`` that do not support response file arguments (i.e. ``@file``+ arguments). You may want this flag only if you specify custom ar+ executable. For system ``ar`` or the one bundled with ``ghc`` on+ Windows the ``cabal`` should do the right thing and hence should+ normally not require this flag.+ .. _setup-build: setup build@@ -1686,8 +1707,8 @@ The files placed in this distribution are the package description file, the setup script, the sources of the modules named in the package description file, and files named in the ``license-file``, ``main-is``,-``c-sources``, ``js-sources``, ``data-files``, ``extra-source-files``-and ``extra-doc-files`` fields.+``c-sources``, ``asm-sources``, ``cmm-sources``, ``js-sources``,+``data-files``, ``extra-source-files`` and ``extra-doc-files`` fields. This command takes the following option:
@@ -17,6 +17,12 @@ $ cabal new-repl +To run an executable defined in this package, use this command:++::++ $ cabal new-run <executable name> [executable args]+ Developing multiple packages ---------------------------- @@ -167,7 +173,7 @@ there is no programmatic way to access the location of build products. The location of the build products is intended to be an internal implementation detail of new-build, but we also understand that many-unimplemented features (e.g., ``new-test``) can only be reasonably+unimplemented features (e.g., ``new-install``) can only be reasonably worked around by accessing build products directly. The location where build products can be found varies depending on the@@ -285,6 +291,20 @@ apply options to an external package, use a ``package`` stanza in a ``cabal.project`` file. +cabal new-update+----------------++``cabal new-update`` updates the state of the package index. If the+project contains multiple remote package repositories it will update+the index of all of them (e.g. when using overlays).++Seom examples:++::++ $ cabal new-update # update all remote repos+ $ cabal new-update head.hackage # update only head.hackage+ cabal new-build --------------- @@ -349,14 +369,39 @@ (``new-repl`` will just successively open a separate GHCi session for each target.) +cabal new-run+-------------++``cabal new-run [TARGET [ARGS]]`` runs the executable specified by the+target, which can be a component, a package or can be left blank, as+long as it can uniquely identify an executable within the project.+Tests and benchmarks are also treated as executables.++See `the new-build section <#cabal-new-build>`__ for the target syntax.++Except in the case of the empty target, the strings after it will be+passed to the executable as arguments.++If one of the arguments starts with ``-`` it will be interpreted as+a cabal flag, so if you need to pass flags to the executable you+have to separate them with ``--``.++::++ $ cabal new-run target -- -a -bcd --argument+ cabal new-freeze ---------------- -``cabal new-freeze`` writes out a ``cabal.project.freeze`` file which-records all of the versions and flags which that are picked by the-solver under the current index and flags. A ``cabal.project.freeze``-file has the same syntax as ``cabal.project`` and looks something like-this:+``cabal new-freeze`` writes out a **freeze file** which records all of+the versions and flags which that are picked by the solver under the+current index and flags. Default name of this file is+``cabal.project.freeze`` but in combination with a+``--project-file=my.project`` flag (see :ref:`project-file+<cmdoption-project-file>`)+the name will be ``my.project.freeze``.+A freeze file has the same syntax as ``cabal.project`` and looks+something like this: .. highlight:: cabal @@ -375,34 +420,39 @@ recommended: users often need to build against different versions of libraries than what you developed against. -Unsupported commands---------------------+cabal new-bench+--------------- -The following commands are not currently supported:+``cabal new-bench [TARGETS] [OPTIONS]`` runs the specified benchmarks+(all the benchmarks in the current package by default), first ensuring+they are up to date. -``cabal new-test`` (:issue:`3638`)- Workaround: run the test executable directly (see `Where are my- build products <#where-are-my-build-products>`__?)+cabal new-test+-------------- -``cabal new-bench`` (:issue:`3638`)- Workaround: run the benchmark executable directly (see `Where are my- build products <#where-are-my-build-products>`__?)+``cabal new-test [TARGETS] [OPTIONS]`` runs the specified test suites+(all the test suites in the current package by default), first ensuring+they are up to date. -``cabal new-run`` (:issue:`3638`)- Workaround: run the executable directly (see `Where are my build- products <#where-are-my-build-products>`__?)+cabal new-haddock+----------------- -``cabal new-exec``- Workaround: if you wanted to execute GHCi, consider using- ``cabal new-repl`` instead. Otherwise, use ``-v`` to find the list- of flags GHC is being invoked with and pass it manually.+``cabal new-haddock [FLAGS] TARGET`` builds Haddock documentation for+the specified packages within the project. -``cabal new-haddock`` (:issue:`3535`)- Workaround: run- ``cabal act-as-setup -- haddock --builddir=dist-newstyle/build/pkg-0.1``- (or execute the Custom setup script directly).+cabal new-exec+--------------- -``cabal new-install`` (:issue:`3737`)+``cabal new-exec [FLAGS] [--] COMMAND [--] [ARGS]`` runs the specified command+using the project's environment. That is, passing the right flags to compiler+invocations and bringing the project's executables into scope.++Unsupported commands+--------------------++The following commands are not currently supported:++``cabal new-install`` (:issue:`3737` and :issue:`3332`) Workaround: no good workaround at the moment. (But note that you no longer need to install libraries before building!) @@ -601,6 +651,7 @@ This option cannot be specified via a ``cabal.project`` file. +.. _cmdoption-project-file: .. option:: --project-file=FILE Specifies the name of the project file used to specify the@@ -680,7 +731,7 @@ the flag multiple times. .. cfg-field:: allow-newer: none, all or list of scoped package names (space or comma separated)- --allow-newer, --allow-newer=[none,all,pkg]+ --allow-newer, --allow-newer=[none,all,[scope:][^]pkg] :synopsis: Lift dependencies upper bound constaints. :default: ``none``@@ -697,11 +748,28 @@ allow-newer: pkg:dep-pkg - This syntax is recommended, as it is often only a single package+ If the scope shall be limited to specific releases of ``pkg``, the+ extended form as in++ ::++ allow-newer: pkg-1.2.3:dep-pkg, pkg-1.1.2:dep-pkg++ can be used to limit the relaxation of dependencies on+ ``dep-pkg`` by the ``pkg-1.2.3`` and ``pkg-1.1.2`` releases only.++ The scoped syntax is recommended, as it is often only a single package whose upper bound is misbehaving. In this case, the upper bounds of other packages should still be respected; indeed, relaxing the bound can break some packages which test the selected version of packages. + The syntax also allows to prefix the dependee package with a+ modifier symbol to modify the scope/semantic of the relaxation+ transformation in a additional ways. Currently only one modifier+ symbol is defined, i.e. ``^`` (i.e. caret) which causes the+ relaxation to be applied only to ``^>=`` operators and leave all other+ version operators untouched.+ However, in some situations (e.g., when attempting to build packages on a new version of GHC), it is useful to disregard *all* upper-bounds, with respect to a package or all packages. This can be@@ -711,22 +779,54 @@ :: -- Disregard upper bounds involving the dependencies on- -- packages bar, baz and quux- allow-newer: bar, baz, quux+ -- packages bar, baz. For quux only, relax+ -- 'quux ^>= ...'-style constraints only.+ allow-newer: bar, baz, ^quux -- Disregard all upper bounds when dependency solving allow-newer: all + -- Disregard all `^>=`-style upper bounds when dependency solving+ allow-newer: ^all+++ For consistency, there is also the explicit wildcard scope syntax+ ``*`` (or its alphabetic synonym ``all``). Consequently, the+ examples above are equivalent to the explicitly scoped variants:++ ::++ allow-newer: all:bar, *:baz, *:^quux++ allow-newer: *:*+ allow-newer: all:all++ allow-newer: *:^*+ allow-newer: all:^all++ In order to ignore all bounds specified by a package ``pkg-1.2.3``+ you can combine scoping with a right-hand-side wildcard like so++ ::++ -- Disregard any upper bounds specified by pkg-1.2.3+ allow-newer: pkg-1.2.3:*++ -- Disregard only `^>=`-style upper bounds in pkg-1.2.3+ allow-newer: pkg-1.2.3:^*++ :cfg-field:`allow-newer` is often used in conjunction with a constraint (in the cfg-field:`constraints` field) forcing the usage of a specific, newer version of a package. - The command line variant of this field is ``--allow-newer=bar``. A+ The command line variant of this field is e.g. ``--allow-newer=bar``. A bare ``--allow-newer`` is equivalent to ``--allow-newer=all``. .. cfg-field:: allow-older: none, all, list of scoped package names (space or comma separated)- --allow-older, --allow-older=[none,all,pkg]+ --allow-older, --allow-older=[none,all,[scope:][^]pkg] :synopsis: Lift dependency lower bound constaints.+ :since: 2.0 :default: ``none`` @@ -762,7 +862,7 @@ Package configuration options ----------------------------- -Package options affect the building of specific packages. There are two+Package options affect the building of specific packages. There are three ways a package option can be specified: - They can be specified at the top-level, in which case they apply only@@ -772,6 +872,11 @@ apply to the build of the package, whether or not it is local or external. +- They can be specified inside an ``package *`` stanza, in which case they+ apply to all packages, local ones from the project and also external+ dependencies.++ For example, the following options specify that :cfg-field:`optimization` should be turned off for all local packages, and that ``bytestring`` (possibly an external dependency) should be built with ``-fno-state-hack``::@@ -895,6 +1000,8 @@ planning to run code, turning off optimization will lead to better build times and less code to be rebuilt when a module changes. + When optimizations are enabled, Cabal passes ``-O2`` to the C compiler.+ We also accept ``True`` (equivalent to 1) and ``False`` (equivalent to 0). @@ -1000,8 +1107,8 @@ Object code options ^^^^^^^^^^^^^^^^^^^ -.. cfg-field:: debug-info: boolean- --enable-debug-info+.. cfg-field:: debug-info: integer+ --enable-debug-info=<n> --disable-debug-info :synopsis: Build with debug info enabled. :since: 1.22@@ -1013,16 +1120,35 @@ instruct it to do so. See the GHC wiki page on :ghc-wiki:`DWARF` for more information about this feature. - (This field also accepts numeric syntax, but as of GHC 8.0 this- doesn't do anything.)+ (This field also accepts numeric syntax, but until GHC 8.2 this didn't+ do anything.) The command line variant of this flag is ``--enable-debug-info`` and ``--disable-debug-info``. +.. cfg-field:: split-sections: boolean+ --enable-split-sections+ --disable-split-sections+ :synopsis: Use GHC's split sections feature.+ :since: 2.1++ :default: False++ Use the GHC ``-split-sections`` feature when building the library. This+ reduces the final size of the executables that use the library by+ allowing them to link with only the bits that they use rather than+ the entire library. The downside is that building the library takes+ longer and uses a bit more memory.++ This feature is supported by GHC 8.0 and later.++ The command line variant of this flag is ``--enable-split-sections`` and+ ``--disable-split-sections``.+ .. cfg-field:: split-objs: boolean --enable-split-objs --disable-split-objs- :synopsis: Use GHC split objects feature.+ :synopsis: Use GHC's split objects feature. :default: False @@ -1032,6 +1158,9 @@ the entire library. The downside is that building the library takes longer and uses considerably more memory. + It is generally recommend that you use ``split-sections`` instead+ of ``split-objs`` where possible.+ The command line variant of this flag is ``--enable-split-objs`` and ``--disable-split-objs``. @@ -1164,6 +1293,21 @@ clear what this actually does, or if it works at all.) The command line variant of this flag is ``--relocatable``.++Static linking options+^^^^^^^^^^^^^^^^^^^^^^++.. cfg-field:: static: boolean+ --enable-static+ --disable-static+ :synopsis: Build static library.+++ :default: False++ Roll this and all dependent libraries into a combined ``.a`` archive.+ This uses GHCs ``-staticlib`` flag, which is avaiable for iOS and with+ GHC 8.4 and later for other platforms as well. Foreign function interface options ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -20,3 +20,5 @@ .. _HsColour: http://www.cs.york.ac.uk/fp/darcs/hscolour/ .. _cpphs: http://projects.haskell.org/cpphs/++.. _ABNF: https://tools.ietf.org/html/rfc5234
@@ -1,4 +0,0 @@-# Sphinx build info version 1-# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.-config: 47284c4d8c4bccc65987a5b4d63f02f0-tags: 645f666f9bcd5a90fca523b33c5a78b7
binary file changed (2993 → absent bytes)
binary file changed (2954 → absent bytes)
binary file changed (2964 → absent bytes)
binary file changed (596869 → absent bytes)
binary file changed (133796 → absent bytes)
binary file changed (3063 → absent bytes)
binary file changed (517954 → absent bytes)
binary file changed (37382 → absent bytes)
binary file changed (25160 → absent bytes)
binary file changed (20018 → absent bytes)
binary file changed (8607 → absent bytes)
binary file changed (456496 → absent bytes)
@@ -1,6 +0,0 @@-Reporting Bugs and Stability of Cabal Interfaces-================================================--.. toctree::- misc-
@@ -1,7 +0,0 @@-Package Concepts and Development-================================--.. toctree::- :maxdepth: 2-- developing-packages
@@ -1,5 +0,0 @@-Configuration and Installing Packages-=====================================--.. toctree::- installing-packages
@@ -1,2866 +0,0 @@-Quickstart-==========--Lets assume we have created a project directory and already have a-Haskell module or two.--Every project needs a name, we'll call this example "proglet".--.. highlight:: console--::-- $ cd proglet/- $ ls- Proglet.hs--It is assumed that (apart from external dependencies) all the files that-make up a package live under a common project root directory. This-simple example has all the project files in one directory, but most-packages will use one or more subdirectories.--To turn this into a Cabal package we need two extra files in the-project's root directory:--- ``proglet.cabal``: containing package metadata and build information.--- ``Setup.hs``: usually containing a few standardized lines of code,- but can be customized if necessary.--We can create both files manually or we can use ``cabal init`` to create-them for us.--Using "cabal init"---------------------The ``cabal init`` command is interactive. It asks us a number of-questions starting with the package name and version.--::-- $ cabal init- Package name [default "proglet"]?- Package version [default "0.1"]?- ...--It also asks questions about various other bits of package metadata. For-a package that you never intend to distribute to others, these fields-can be left blank.--One of the important questions is whether the package contains a library-or an executable. Libraries are collections of Haskell modules that can-be re-used by other Haskell libraries and programs, while executables-are standalone programs.--::-- What does the package build:- 1) Library- 2) Executable- Your choice?--For the moment these are the only choices. For more complex packages-(e.g. a library and multiple executables or test suites) the ``.cabal``-file can be edited afterwards.--Finally, ``cabal init`` creates the initial ``proglet.cabal`` and-``Setup.hs`` files, and depending on your choice of license, a-``LICENSE`` file as well.--::-- Generating LICENSE...- Generating Setup.hs...- Generating proglet.cabal...-- You may want to edit the .cabal file and add a Description field.--As this stage the ``proglet.cabal`` is not quite complete and before you-are able to build the package you will need to edit the file and add-some build information about the library or executable.--Editing the .cabal file--------------------------.. highlight:: cabal--Load up the ``.cabal`` file in a text editor. The first part of the-``.cabal`` file has the package metadata and towards the end of the file-you will find the :pkg-section:`executable` or :pkg-section:`library` section.--You will see that the fields that have yet to be filled in are commented-out. Cabal files use "``--``" Haskell-style comment syntax. (Note that-comments are only allowed on lines on their own. Trailing comments on-other lines are not allowed because they could be confused with program-options.)--If you selected earlier to create a library package then your ``.cabal``-file will have a section that looks like this:--::-- library- exposed-modules: Proglet- -- other-modules:- -- build-depends:--Alternatively, if you selected an executable then there will be a-section like:--::-- executable proglet- -- main-is:- -- other-modules:- -- build-depends:--The build information fields listed (but commented out) are just the few-most important and common fields. There are many others that are covered-later in this chapter.--Most of the build information fields are the same between libraries and-executables. The difference is that libraries have a number of "exposed"-modules that make up the public interface of the library, while-executables have a file containing a ``Main`` module.--The name of a library always matches the name of the package, so it is-not specified in the library section. Executables often follow the name-of the package too, but this is not required and the name is given-explicitly.--Modules included in the package----------------------------------For a library, ``cabal init`` looks in the project directory for files-that look like Haskell modules and adds all the modules to the-:pkg-field:`library:exposed-modules` field. For modules that do not form part-of your package's public interface, you can move those modules to the-:pkg-field:`other-modules` field. Either way, all modules in the library need-to be listed.--For an executable, ``cabal init`` does not try to guess which file-contains your program's ``Main`` module. You will need to fill in the-:pkg-field:`executable:main-is` field with the file name of your program's-``Main`` module (including ``.hs`` or ``.lhs`` extension). Other modules-included in the executable should be listed in the :pkg-field:`other-modules`-field.--Modules imported from other packages---------------------------------------While your library or executable may include a number of modules, it-almost certainly also imports a number of external modules from the-standard libraries or other pre-packaged libraries. (These other-libraries are of course just Cabal packages that contain a library.)--You have to list all of the library packages that your library or-executable imports modules from. Or to put it another way: you have to-list all the other packages that your package depends on.--For example, suppose the example ``Proglet`` module imports the module-``Data.Map``. The ``Data.Map`` module comes from the ``containers``-package, so we must list it:--::-- library- exposed-modules: Proglet- other-modules:- build-depends: containers, base == 4.*--In addition, almost every package also depends on the ``base`` library-package because it exports the standard ``Prelude`` module plus other-basic modules like ``Data.List``.--You will notice that we have listed ``base == 4.*``. This gives a-constraint on the version of the base package that our package will work-with. The most common kinds of constraints are:--- ``pkgname >= n``-- ``pkgname >= n && < m``-- ``pkgname == n.*``--The last is just shorthand, for example ``base == 4.*`` means exactly-the same thing as ``base >= 4 && < 5``.--Building the package-----------------------For simple packages that's it! We can now try configuring and building-the package:--.. code-block:: console-- $ cabal configure- $ cabal build--Assuming those two steps worked then you can also install the package:--.. code-block:: console-- $ cabal install--For libraries this makes them available for use in GHCi or to be used by-other packages. For executables it installs the program so that you can-run it (though you may first need to adjust your system's ``$PATH``).--Next steps-------------What we have covered so far should be enough for very simple packages-that you use on your own system.--The next few sections cover more details needed for more complex-packages and details needed for distributing packages to other people.--The previous chapter covers building and installing packages -- your own-packages or ones developed by other people.--Package concepts-================--Before diving into the details of writing packages it helps to-understand a bit about packages in the Haskell world and the particular-approach that Cabal takes.--The point of packages------------------------Packages are a mechanism for organising and distributing code. Packages-are particularly suited for "programming in the large", that is building-big systems by using and re-using code written by different people at-different times.--People organise code into packages based on functionality and-dependencies. Social factors are also important: most packages have a-single author, or a relatively small team of authors.--Packages are also used for distribution: the idea is that a package can-be created in one place and be moved to a different computer and be-usable in that different environment. There are a surprising number of-details that have to be got right for this to work, and a good package-system helps to simply this process and make it reliable.--Packages come in two main flavours: libraries of reusable code, and-complete programs. Libraries present a code interface, an API, while-programs can be run directly. In the Haskell world, library packages-expose a set of Haskell modules as their public interface. Cabal-packages can contain a library or executables or both.--Some programming languages have packages as a builtin language concept.-For example in Java, a package provides a local namespace for types and-other definitions. In the Haskell world, packages are not a part of the-language itself. Haskell programs consist of a number of modules, and-packages just provide a way to partition the modules into sets of-related functionality. Thus the choice of module names in Haskell is-still important, even when using packages.--Package names and versions-----------------------------All packages have a name, e.g. "HUnit". Package names are assumed to be-unique. Cabal package names may contain letters, numbers and hyphens,-but not spaces and may also not contain a hyphened section consisting of-only numbers. The namespace for Cabal packages is flat, not-hierarchical.--Packages also have a version, e.g "1.1". This matches the typical way in-which packages are developed. Strictly speaking, each version of a-package is independent, but usually they are very similar. Cabal package-versions follow the conventional numeric style, consisting of a sequence-of digits such as "1.0.1" or "2.0". There are a range of common-conventions for "versioning" packages, that is giving some meaning to-the version number in terms of changes in the package. Section [TODO]-has some tips on package versioning.--The combination of package name and version is called the *package ID*-and is written with a hyphen to separate the name and version, e.g.-"HUnit-1.1".--For Cabal packages, the combination of the package name and version-*uniquely* identifies each package. Or to put it another way: two-packages with the same name and version are considered to *be* the same.--Strictly speaking, the package ID only identifies each Cabal *source*-package; the same Cabal source package can be configured and built in-different ways. There is a separate installed package ID that uniquely-identifies each installed package instance. Most of the time however,-users need not be aware of this detail.--Kinds of package: Cabal vs GHC vs system-------------------------------------------It can be slightly confusing at first because there are various-different notions of package floating around. Fortunately the details-are not very complicated.--Cabal packages- Cabal packages are really source packages. That is they contain- Haskell (and sometimes C) source code.-- Cabal packages can be compiled to produce GHC packages. They can- also be translated into operating system packages.--GHC packages- This is GHC's view on packages. GHC only cares about library- packages, not executables. Library packages have to be registered- with GHC for them to be available in GHCi or to be used when- compiling other programs or packages.-- The low-level tool ``ghc-pkg`` is used to register GHC packages and- to get information on what packages are currently registered.-- You never need to make GHC packages manually. When you build and- install a Cabal package containing a library then it gets registered- with GHC automatically.-- Haskell implementations other than GHC have essentially the same- concept of registered packages. For the most part, Cabal hides the- slight differences.--Operating system packages- On operating systems like Linux and Mac OS X, the system has a- specific notion of a package and there are tools for installing and- managing packages.-- The Cabal package format is designed to allow Cabal packages to be- translated, mostly-automatically, into operating system packages.- They are usually translated 1:1, that is a single Cabal package- becomes a single system package.-- It is also possible to make Windows installers from Cabal packages,- though this is typically done for a program together with all of its- library dependencies, rather than packaging each library separately.--Unit of distribution-----------------------The Cabal package is the unit of distribution. What this means is that-each Cabal package can be distributed on its own in source or binary-form. Of course there may dependencies between packages, but there is-usually a degree of flexibility in which versions of packages can work-together so distributing them independently makes sense.--It is perhaps easiest to see what being "the unit of distribution"-means by contrast to an alternative approach. Many projects are made up-of several interdependent packages and during development these might-all be kept under one common directory tree and be built and tested-together. When it comes to distribution however, rather than-distributing them all together in a single tarball, it is required that-they each be distributed independently in their own tarballs.--Cabal's approach is to say that if you can specify a dependency on a-package then that package should be able to be distributed-independently. Or to put it the other way round, if you want to-distribute it as a single unit, then it should be a single package.--Explicit dependencies and automatic package management---------------------------------------------------------Cabal takes the approach that all packages dependencies are specified-explicitly and specified in a declarative way. The point is to enable-automatic package management. This means tools like ``cabal`` can-resolve dependencies and install a package plus all of its dependencies-automatically. Alternatively, it is possible to mechanically (or mostly-mechanically) translate Cabal packages into system packages and let the-system package manager install dependencies automatically.--It is important to track dependencies accurately so that packages can-reliably be moved from one system to another system and still be able to-build it there. Cabal is therefore relatively strict about specifying-dependencies. For example Cabal's default build system will not even let-code build if it tries to import a module from a package that isn't-listed in the ``.cabal`` file, even if that package is actually-installed. This helps to ensure that there are no "untracked-dependencies" that could cause the code to fail to build on some other-system.--The explicit dependency approach is in contrast to the traditional-"./configure" approach where instead of specifying dependencies-declaratively, the ``./configure`` script checks if the dependencies are-present on the system. Some manual work is required to transform a-``./configure`` based package into a Linux distribution package (or-similar). This conversion work is usually done by people other than the-package author(s). The practical effect of this is that only the most-popular packages will benefit from automatic package management.-Instead, Cabal forces the original author to specify the dependencies-but the advantage is that every package can benefit from automatic-package management.--The "./configure" approach tends to encourage packages that adapt-themselves to the environment in which they are built, for example by-disabling optional features so that they can continue to work when a-particular dependency is not available. This approach makes sense in a-world where installing additional dependencies is a tiresome manual-process and so minimising dependencies is important. The automatic-package management view is that packages should just declare what they-need and the package manager will take responsibility for ensuring that-all the dependencies are installed.--Sometimes of course optional features and optional dependencies do make-sense. Cabal packages can have optional features and varying-dependencies. These conditional dependencies are still specified in a-declarative way however and remain compatible with automatic package-management. The need to remain compatible with automatic package-management means that Cabal's conditional dependencies system is a bit-less flexible than with the "./configure" approach.--Portability--------------One of the purposes of Cabal is to make it easier to build packages on-different platforms (operating systems and CPU architectures), with-different compiler versions and indeed even with different Haskell-implementations. (Yes, there are Haskell implementations other than-GHC!)--Cabal provides abstractions of features present in different Haskell-implementations and wherever possible it is best to take advantage of-these to increase portability. Where necessary however it is possible to-use specific features of specific implementations.--For example a package author can list in the package's ``.cabal`` what-language extensions the code uses. This allows Cabal to figure out if-the language extension is supported by the Haskell implementation that-the user picks. Additionally, certain language extensions such as-Template Haskell require special handling from the build system and by-listing the extension it provides the build system with enough-information to do the right thing.--Another similar example is linking with foreign libraries. Rather than-specifying GHC flags directly, the package author can list the libraries-that are needed and the build system will take care of using the right-flags for the compiler. Additionally this makes it easier for tools to-discover what system C libraries a package needs, which is useful for-tracking dependencies on system libraries (e.g. when translating into-Linux distribution packages).--In fact both of these examples fall into the category of explicitly-specifying dependencies. Not all dependencies are other Cabal packages.-Foreign libraries are clearly another kind of dependency. It's also-possible to think of language extensions as dependencies: the package-depends on a Haskell implementation that supports all those extensions.--Where compiler-specific options are needed however, there is an "escape-hatch" available. The developer can specify implementation-specific-options and more generally there is a configuration mechanism to-customise many aspects of how a package is built depending on the-Haskell implementation, the operating system, computer architecture and-user-specified configuration flags.--Developing packages-===================--The Cabal package is the unit of distribution. When installed, its-purpose is to make available:--- One or more Haskell programs.--- At most one library, exposing a number of Haskell modules.--However having both a library and executables in a package does not work-very well; if the executables depend on the library, they must-explicitly list all the modules they directly or indirectly import from-that library. Fortunately, starting with Cabal 1.8.0.4, executables can-also declare the package that they are in as a dependency, and Cabal-will treat them as if they were in another package that depended on the-library.--Internally, the package may consist of much more than a bunch of Haskell-modules: it may also have C source code and header files, source code-meant for preprocessing, documentation, test cases, auxiliary tools etc.--A package is identified by a globally-unique *package name*, which-consists of one or more alphanumeric words separated by hyphens. To-avoid ambiguity, each of these words should contain at least one letter.-Chaos will result if two distinct packages with the same name are-installed on the same system. A particular version of the package is-distinguished by a *version number*, consisting of a sequence of one or-more integers separated by dots. These can be combined to form a single-text string called the *package ID*, using a hyphen to separate the name-from the version, e.g. "``HUnit-1.1``".--.. Note::-- Packages are not part of the Haskell language; they simply- populate the hierarchical space of module names. In GHC 6.6 and later a- program may contain multiple modules with the same name if they come- from separate packages; in all other current Haskell systems packages- may not overlap in the modules they provide, including hidden modules.--Creating a package---------------------Suppose you have a directory hierarchy containing the source files that-make up your package. You will need to add two more files to the root-directory of the package:--:file:`{package}.cabal`- a Unicode UTF-8 text file containing a package description. For- details of the syntax of this file, see the section on- `package descriptions`_.--:file:`Setup.hs`- a single-module Haskell program to perform various setup tasks (with- the interface described in the section on :ref:`installing-packages`).- This module should import only modules that will be present in all Haskell- implementations, including modules of the Cabal library. The content of- this file is determined by the :pkg-field:`build-type` setting in the- ``.cabal`` file. In most cases it will be trivial, calling on the Cabal- library to do most of the work.--Once you have these, you can create a source bundle of this directory-for distribution. Building of the package is discussed in the section on-:ref:`installing-packages`.--One of the purposes of Cabal is to make it easier to build a package-with different Haskell implementations. So it provides abstractions of-features present in different Haskell implementations and wherever-possible it is best to take advantage of these to increase portability.-Where necessary however it is possible to use specific features of-specific implementations. For example one of the pieces of information a-package author can put in the package's ``.cabal`` file is what language-extensions the code uses. This is far preferable to specifying flags for-a specific compiler as it allows Cabal to pick the right flags for the-Haskell implementation that the user picks. It also allows Cabal to-figure out if the language extension is even supported by the Haskell-implementation that the user picks. Where compiler-specific options are-needed however, there is an "escape hatch" available. The developer can-specify implementation-specific options and more generally there is a-configuration mechanism to customise many aspects of how a package is-built depending on the Haskell implementation, the Operating system,-computer architecture and user-specified configuration flags.--::-- name: Foo- version: 1.0-- library- build-depends: base- exposed-modules: Foo- extensions: ForeignFunctionInterface- ghc-options: -Wall- if os(windows)- build-depends: Win32--Example: A package containing a simple library-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--The HUnit package contains a file ``HUnit.cabal`` containing:--::-- name: HUnit- version: 1.1.1- synopsis: A unit testing framework for Haskell- homepage: http://hunit.sourceforge.net/- category: Testing- author: Dean Herington- license: BSD3- license-file: LICENSE- cabal-version: >= 1.10- build-type: Simple-- library- build-depends: base >= 2 && < 4- exposed-modules: Test.HUnit.Base, Test.HUnit.Lang,- Test.HUnit.Terminal, Test.HUnit.Text, Test.HUnit- default-extensions: CPP--and the following ``Setup.hs``:--.. code-block:: haskell-- import Distribution.Simple- main = defaultMain--Example: A package containing executable programs-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--::-- name: TestPackage- version: 0.0- synopsis: Small package with two programs- author: Angela Author- license: BSD3- build-type: Simple- cabal-version: >= 1.2-- executable program1- build-depends: HUnit- main-is: Main.hs- hs-source-dirs: prog1-- executable program2- main-is: Main.hs- build-depends: HUnit- hs-source-dirs: prog2- other-modules: Utils--with ``Setup.hs`` the same as above.--Example: A package containing a library and executable programs-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--::-- name: TestPackage- version: 0.0- synopsis: Package with library and two programs- license: BSD3- author: Angela Author- build-type: Simple- cabal-version: >= 1.2-- library- build-depends: HUnit- exposed-modules: A, B, C-- executable program1- main-is: Main.hs- hs-source-dirs: prog1- other-modules: A, B-- executable program2- main-is: Main.hs- hs-source-dirs: prog2- other-modules: A, C, Utils--with ``Setup.hs`` the same as above. Note that any library modules-required (directly or indirectly) by an executable must be listed again.--The trivial setup script used in these examples uses the *simple build-infrastructure* provided by the Cabal library (see-`Distribution.Simple <../release/cabal-latest/doc/API/Cabal/Distribution-Simple.html>`__).-The simplicity lies in its interface rather that its implementation. It-automatically handles preprocessing with standard preprocessors, and-builds packages for all the Haskell implementations.--The simple build infrastructure can also handle packages where building-is governed by system-dependent parameters, if you specify a little more-(see the section on `system-dependent parameters`_).-A few packages require `more elaborate solutions <more complex packages>`_.--Package descriptions-----------------------The package description file must have a name ending in "``.cabal``". It-must be a Unicode text file encoded using valid UTF-8. There must be-exactly one such file in the directory. The first part of the name is-usually the package name, and some of the tools that operate on Cabal-packages require this.--In the package description file, lines whose first non-whitespace-characters are "``--``" are treated as comments and ignored.--This file should contain of a number global property descriptions and-several sections.--- The `package properties`_ describe the package- as a whole, such as name, license, author, etc.--- Optionally, a number of *configuration flags* can be declared. These- can be used to enable or disable certain features of a package. (see- the section on `configurations`_).--- The (optional) library section specifies the `library`_ properties and- relevant `build information`_.--- Following is an arbitrary number of executable sections which describe- an executable program and relevant `build information`_.--Each section consists of a number of property descriptions in the form-of field/value pairs, with a syntax roughly like mail message headers.--- Case is not significant in field names, but is significant in field- values.--- To continue a field value, indent the next line relative to the field- name.--- Field names may be indented, but all field values in the same section- must use the same indentation.--- Tabs are *not* allowed as indentation characters due to a missing- standard interpretation of tab width.--- To get a blank line in a field value, use an indented "``.``"--The syntax of the value depends on the field. Field types include:--*token*, *filename*, *directory*- Either a sequence of one or more non-space non-comma characters, or- a quoted string in Haskell 98 lexical syntax. The latter can be used- for escaping whitespace, for example:- ``ghc-options: -Wall "-with-rtsopts=-T -I1"``. Unless otherwise- stated, relative filenames and directories are interpreted from the- package root directory.-*freeform*, *URL*, *address*- An arbitrary, uninterpreted string.-*identifier*- A letter followed by zero or more alphanumerics or underscores.-*compiler*- A compiler flavor (one of: ``GHC``, ``JHC``, ``UHC`` or ``LHC``)- followed by a version range. For example, ``GHC ==6.10.3``, or- ``LHC >=0.6 && <0.8``.--Modules and preprocessors-^^^^^^^^^^^^^^^^^^^^^^^^^--Haskell module names listed in the :pkg-field:`library:exposed-modules` and-:pkg-field:`library:other-modules` fields may correspond to Haskell source-files, i.e. with names ending in "``.hs``" or "``.lhs``", or to inputs for-various Haskell preprocessors. The simple build infrastructure understands the-extensions:--- ``.gc`` (:hackage-pkg:`greencard`)-- ``.chs`` (:hackage-pkg:`c2hs`)-- ``.hsc`` (:hackage-pkg:`hsc2hs`)-- ``.y`` and ``.ly`` (happy_)-- ``.x`` (alex_)-- ``.cpphs`` (cpphs_)--When building, Cabal will automatically run the appropriate preprocessor-and compile the Haskell module it produces. For the ``c2hs`` and-``hsc2hs`` preprocessors, Cabal will also automatically add, compile and-link any C sources generated by the preprocessor (produced by-``hsc2hs``'s ``#def`` feature or ``c2hs``'s auto-generated wrapper-functions).--Some fields take lists of values, which are optionally separated by-commas, except for the :pkg-field:`build-depends` field, where the commas are-mandatory.--Some fields are marked as required. All others are optional, and unless-otherwise specified have empty default values.--Package properties-^^^^^^^^^^^^^^^^^^--These fields may occur in the first top-level properties section and-describe the package as a whole:--.. pkg-field:: name: package-name (required)-- The unique name of the package, without the version number.--.. pkg-field:: version: numbers (required)-- The package version number, usually consisting of a sequence of- natural numbers separated by dots.--.. pkg-field:: cabal-version: >= x.y-- The version of the Cabal specification that this package description- uses. The Cabal specification does slowly evolve, introducing new- features and occasionally changing the meaning of existing features.- By specifying which version of the spec you are using it enables- programs which process the package description to know what syntax- to expect and what each part means.-- For historical reasons this is always expressed using *>=* version- range syntax. No other kinds of version range make sense, in- particular upper bounds do not make sense. In future this field will- specify just a version number, rather than a version range.-- The version number you specify will affect both compatibility and- behaviour. Most tools (including the Cabal library and cabal- program) understand a range of versions of the Cabal specification.- Older tools will of course only work with older versions of the- Cabal specification. Most of the time, tools that are too old will- recognise this fact and produce a suitable error message.-- As for behaviour, new versions of the Cabal spec can change the- meaning of existing syntax. This means if you want to take advantage- of the new meaning or behaviour then you must specify the newer- Cabal version. Tools are expected to use the meaning and behaviour- appropriate to the version given in the package description.-- In particular, the syntax of package descriptions changed- significantly with Cabal version 1.2 and the :pkg-field:`cabal-version`- field is now required. Files written in the old syntax are still- recognized, so if you require compatibility with very old Cabal- versions then you may write your package description file using the- old syntax. Please consult the user's guide of an older Cabal- version for a description of that syntax.--.. pkg-field:: build-type: identifier-- :default: ``Custom``-- The type of build used by this package. Build types are the- constructors of the- `BuildType <../release/cabal-latest/doc/API/Cabal/Distribution-PackageDescription.html#t:BuildType>`__- type, defaulting to ``Custom``.-- If the build type is anything other than ``Custom``, then the- ``Setup.hs`` file *must* be exactly the standardized content- discussed below. This is because in these cases, ``cabal`` will- ignore the ``Setup.hs`` file completely, whereas other methods of- package management, such as ``runhaskell Setup.hs [CMD]``, still- rely on the ``Setup.hs`` file.-- For build type ``Simple``, the contents of ``Setup.hs`` must be:-- .. code-block:: haskell-- import Distribution.Simple- main = defaultMain-- For build type ``Configure`` (see the section on `system-dependent- parameters`_ below), the contents of- ``Setup.hs`` must be:-- .. code-block:: haskell-- import Distribution.Simple- main = defaultMainWithHooks autoconfUserHooks-- For build type ``Make`` (see the section on `more complex packages`_ below),- the contents of ``Setup.hs`` must be:-- .. code-block:: haskell-- import Distribution.Make- main = defaultMain-- For build type ``Custom``, the file ``Setup.hs`` can be customized,- and will be used both by ``cabal`` and other tools.-- For most packages, the build type ``Simple`` is sufficient.--.. pkg-field:: license: identifier-- :default: ``AllRightsReserved``-- The type of license under which this package is distributed. License- names are the constants of the- `License <../release/cabal-latest/doc/API/Cabal/Distribution-License.html#t:License>`__- type.--.. pkg-field:: license-file: filename-.. pkg-field:: license-files: filename list-- The name of a file(s) containing the precise copyright license for- this package. The license file(s) will be installed with the- package.-- If you have multiple license files then use the :pkg-field:`license-files`- field instead of (or in addition to) the :pkg-field:`license-file` field.--.. pkg-field:: copyright: freeform-- The content of a copyright notice, typically the name of the holder- of the copyright on the package and the year(s) from which copyright- is claimed. For example::-- copyright: (c) 2006-2007 Joe Bloggs--.. pkg-field:: author: freeform-- The original author of the package.-- Remember that ``.cabal`` files are Unicode, using the UTF-8- encoding.--.. pkg-field:: maintainer: address-- The current maintainer or maintainers of the package. This is an- e-mail address to which users should send bug reports, feature- requests and patches.--.. pkg-field:: stability: freeform-- The stability level of the package, e.g. ``alpha``,- ``experimental``, ``provisional``, ``stable``.--.. pkg-field:: homepage: URL-- The package homepage.--.. pkg-field:: bug-reports: URL-- The URL where users should direct bug reports. This would normally- be either:-- - A ``mailto:`` URL, e.g. for a person or a mailing list.-- - An ``http:`` (or ``https:``) URL for an online bug tracking- system.-- For example Cabal itself uses a web-based bug tracking system-- ::-- bug-reports: https://github.com/haskell/cabal/issues--.. pkg-field:: package-url: URL-- The location of a source bundle for the package. The distribution- should be a Cabal package.--.. pkg-field:: synopsis: freeform-- A very short description of the package, for use in a table of- packages. This is your headline, so keep it short (one line) but as- informative as possible. Save space by not including the package- name or saying it's written in Haskell.--.. pkg-field:: description: freeform-- Description of the package. This may be several paragraphs, and- should be aimed at a Haskell programmer who has never heard of your- package before.-- For library packages, this field is used as prologue text by- :ref:`setup-haddock` and thus may contain the same markup as Haddock_- documentation comments.--.. pkg-field:: category: freeform-- A classification category for future use by the package catalogue- Hackage_. These categories have not- yet been specified, but the upper levels of the module hierarchy- make a good start.--.. pkg-field:: tested-with: compiler list-- A list of compilers and versions against which the package has been- tested (or at least built).--.. pkg-field:: data-files: filename list-- A list of files to be installed for run-time use by the package.- This is useful for packages that use a large amount of static data,- such as tables of values or code templates. Cabal provides a way to- `find these files at run-time <accessing data files from package code>`_.-- A limited form of ``*`` wildcards in file names, for example- ``data-files: images/*.png`` matches all the ``.png`` files in the- ``images`` directory.-- The limitation is that ``*`` wildcards are only allowed in place of- the file name, not in the directory name or file extension. In- particular, wildcards do not include directories contents- recursively. Furthermore, if a wildcard is used it must be used with- an extension, so ``data-files: data/*`` is not allowed. When- matching a wildcard plus extension, a file's full extension must- match exactly, so ``*.gz`` matches ``foo.gz`` but not- ``foo.tar.gz``. A wildcard that does not match any files is an- error.-- The reason for providing only a very limited form of wildcard is to- concisely express the common case of a large number of related files- of the same file type without making it too easy to accidentally- include unwanted files.--.. pkg-field:: data-dir: directory-- The directory where Cabal looks for data files to install, relative- to the source directory. By default, Cabal will look in the source- directory itself.--.. pkg-field:: extra-source-files: filename list-- A list of additional files to be included in source distributions- built with :ref:`setup-sdist`. As with :pkg-field:`data-files` it can use- a limited form of ``*`` wildcards in file names.--.. pkg-field:: extra-doc-files: filename list-- A list of additional files to be included in source distributions,- and also copied to the html directory when Haddock documentation is- generated. As with :pkg-field:`data-files` it can use a limited form of- ``*`` wildcards in file names.--.. pkg-field:: extra-tmp-files: filename list-- A list of additional files or directories to be removed by- :ref:`setup-clean`. These would typically be additional files created by- additional hooks, such as the scheme described in the section on- `system-dependent parameters`_--Library-^^^^^^^--.. pkg-section:: library- :synopsis: Library build information.-- Build information for libraries. There can be only one library in a- package, and it's name is the same as package name set by global- :pkg-field:`name` field.--The library section should contain the following fields:--.. pkg-field:: exposed-modules: identifier list-- :required: if this package contains a library-- A list of modules added by this package.--.. pkg-field:: exposed: boolean-- :default: ``True``-- Some Haskell compilers (notably GHC) support the notion of packages- being "exposed" or "hidden" which means the modules they provide can- be easily imported without always having to specify which package- they come from. However this only works effectively if the modules- provided by all exposed packages do not overlap (otherwise a module- import would be ambiguous).-- Almost all new libraries use hierarchical module names that do not- clash, so it is very uncommon to have to use this field. However it- may be necessary to set ``exposed: False`` for some old libraries- that use a flat module namespace or where it is known that the- exposed modules would clash with other common modules.--.. pkg-field:: reexported-modules: exportlist-- Supported only in GHC 7.10 and later. A list of modules to- *reexport* from this package. The syntax of this field is- ``orig-pkg:Name as NewName`` to reexport module ``Name`` from- ``orig-pkg`` with the new name ``NewName``. We also support- abbreviated versions of the syntax: if you omit ``as NewName``,- we'll reexport without renaming; if you omit ``orig-pkg``, then we- will automatically figure out which package to reexport from, if- it's unambiguous.-- Reexported modules are useful for compatibility shims when a package- has been split into multiple packages, and they have the useful- property that if a package provides a module, and another package- reexports it under the same name, these are not considered a- conflict (as would be the case with a stub module.) They can also be- used to resolve name conflicts.--The library section may also contain build information fields (see the-section on `build information`_).--Cabal 2.0 and later support "internal libraries", which are extra named-libraries (as opposed to the usual unnamed library section). For-example, suppose that your test suite needs access to some internal-modules in your library, which you do not otherwise want to export. You-could put these modules in an internal library, which the main library-and the test suite :pkg-field:`build-depends` upon. Then your Cabal file might-look something like this:--::-- name: foo- version: 1.0- license: BSD3- cabal-version: >= 1.23- build-type: Simple-- library foo-internal- exposed-modules: Foo.Internal- build-depends: base-- library- exposed-modules: Foo.Public- build-depends: foo-internal, base-- test-suite test-foo- type: exitcode-stdio-1.0- main-is: test-foo.hs- build-depends: foo-internal, base--Internal libraries are also useful for packages that define multiple-executables, but do not define a publically accessible library. Internal-libraries are only visible internally in the package (so they can only-be added to the :pkg-field:`build-depends` of same-package libraries,-executables, test suites, etc.) Internal libraries locally shadow any-packages which have the same name (so don't name an internal library-with the same name as an external dependency.)--Opening an interpreter session-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--While developing a package, it is often useful to make its code-available inside an interpreter session. This can be done with the-``repl`` command:--.. code-block:: console-- $ cabal repl--The name comes from the acronym-`REPL <http://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop>`__,-which stands for "read-eval-print-loop". By default ``cabal repl`` loads-the first component in a package. If the package contains several named-components, the name can be given as an argument to ``repl``. The name-can be also optionally prefixed with the component's type for-disambiguation purposes. Example:--.. code-block:: console-- $ cabal repl foo- $ cabal repl exe:foo- $ cabal repl test:bar- $ cabal repl bench:baz--Freezing dependency versions-""""""""""""""""""""""""""""--If a package is built in several different environments, such as a-development environment, a staging environment and a production-environment, it may be necessary or desirable to ensure that the same-dependency versions are selected in each environment. This can be done-with the ``freeze`` command:--.. code-block:: console-- $ cabal freeze--The command writes the selected version for all dependencies to the-``cabal.config`` file. All environments which share this file will use-the dependency versions specified in it.--Generating dependency version bounds-""""""""""""""""""""""""""""""""""""--Cabal also has the ability to suggest dependency version bounds that-conform to `Package Versioning Policy`_, which is-a recommended versioning system for publicly released Cabal packages.-This is done by running the ``gen-bounds`` command:--.. code-block:: console-- $ cabal gen-bounds--For example, given the following dependencies specified in-:pkg-field:`build-depends`:--::-- build-depends:- foo == 0.5.2- bar == 1.1--``gen-bounds`` will suggest changing them to the following:--::-- build-depends:- foo >= 0.5.2 && < 0.6- bar >= 1.1 && < 1.2--Listing outdated dependency version bounds-""""""""""""""""""""""""""""""""""""""""""--Manually updating dependency version bounds in a ``.cabal`` file or a-freeze file can be tedious, especially when there's a lot of-dependencies. The ``cabal outdated`` command is designed to help with-that. It will print a list of packages for which there is a new-version on Hackage that is outside the version bound specified in the-``build-depends`` field. The ``outdated`` command can also be-configured to act on the freeze file (both old- and new-style) and-ignore major (or all) version bumps on Hackage for a subset of-dependencies.--The following flags are supported by the ``outdated`` command:--``--freeze-file``- Read dependency version bounds from the freeze file (``cabal.config``)- instead of the package description file (``$PACKAGENAME.cabal``).-``--new-freeze-file``- Read dependency version bounds from the new-style freeze file- (``cabal.project.freeze``) instead of the package description file.-``--simple-output``- Print only the names of outdated dependencies, one per line.-``--exit-code``- Exit with a non-zero exit code when there are outdated dependencies.-``-q, --quiet``- Don't print any output. Implies ``-v0`` and ``--exit-code``.-``--ignore`` *PACKAGENAMES*- Don't warn about outdated dependency version bounds for the packages in this- list.-``--minor`` *[PACKAGENAMES]*- Ignore major version bumps for these packages. E.g. if there's a version 2.0- of a package ``pkg`` on Hackage and the freeze file specifies the constraint- ``pkg == 1.9``, ``cabal outdated --freeze --minor=pkg`` will only consider- the ``pkg`` outdated when there's a version of ``pkg`` on Hackage satisfying- ``pkg > 1.9 && < 2.0``. ``--minor`` can also be used without arguments, in- that case major version bumps are ignored for all packages.--Examples:--.. code-block:: console-- $ cd /some/package- $ cabal outdated- Outdated dependencies:- haskell-src-exts <1.17 (latest: 1.19.1)- language-javascript <0.6 (latest: 0.6.0.9)- unix ==2.7.2.0 (latest: 2.7.2.1)-- $ cabal outdated --simple-output- haskell-src-exts- language-javascript- unix-- $ cabal outdated --ignore=haskell-src-exts- Outdated dependencies:- language-javascript <0.6 (latest: 0.6.0.9)- unix ==2.7.2.0 (latest: 2.7.2.1)-- $ cabal outdated --ignore=haskell-src-exts,language-javascript,unix- All dependencies are up to date.-- $ cabal outdated --ignore=haskell-src-exts,language-javascript,unix -q- $ echo $?- 0-- $ cd /some/other/package- $ cabal outdated --freeze-file- Outdated dependencies:- HTTP ==4000.3.3 (latest: 4000.3.4)- HUnit ==1.3.1.1 (latest: 1.5.0.0)-- $ cabal outdated --freeze-file --ignore=HTTP --minor=HUnit- Outdated dependencies:- HUnit ==1.3.1.1 (latest: 1.3.1.2)---Executables-^^^^^^^^^^^--.. pkg-section:: executable name- :synopsis: Exectuable build info section.-- Executable sections (if present) describe executable programs contained- in the package and must have an argument after the section label, which- defines the name of the executable. This is a freeform argument but may- not contain spaces.--The executable may be described using the following fields, as well as-build information fields (see the section on `build information`_).--.. pkg-field:: main-is: filename (required)-- The name of the ``.hs`` or ``.lhs`` file containing the ``Main``- module. Note that it is the ``.hs`` filename that must be listed,- even if that file is generated using a preprocessor. The source file- must be relative to one of the directories listed in- :pkg-field:`hs-source-dirs`.--.. pkg-field:: scope: token-- Whether the executable is ``public`` (default) or ``private``, i.e. meant to- be run by other programs rather than the user. Private executables are- installed into `$libexecdir/$libexecsubdir`.--Running executables-"""""""""""""""""""--You can have Cabal build and run your executables by using the ``run``-command:--.. code-block:: console-- $ cabal run EXECUTABLE [-- EXECUTABLE_FLAGS]--This command will configure, build and run the executable-``EXECUTABLE``. The double dash separator is required to distinguish-executable flags from ``run``'s own flags. If there is only one-executable defined in the whole package, the executable's name can be-omitted. See the output of ``cabal help run`` for a list of options you-can pass to ``cabal run``.--Test suites-^^^^^^^^^^^--.. pkg-section:: test name- :synopsis: Test suit build information.-- Test suite sections (if present) describe package test suites and must- have an argument after the section label, which defines the name of the- test suite. This is a freeform argument, but may not contain spaces. It- should be unique among the names of the package's other test suites, the- package's executables, and the package itself. Using test suite sections- requires at least Cabal version 1.9.2.--The test suite may be described using the following fields, as well as-build information fields (see the section on `build information`_).--.. pkg-field:: type: interface (required)-- The interface type and version of the test suite. Cabal supports two- test suite interfaces, called ``exitcode-stdio-1.0`` and- ``detailed-0.9``. Each of these types may require or disallow other- fields as described below.--Test suites using the ``exitcode-stdio-1.0`` interface are executables-that indicate test failure with a non-zero exit code when run; they may-provide human-readable log information through the standard output and-error channels. The ``exitcode-stdio-1.0`` type requires the ``main-is``-field.--.. pkg-field:: main-is: filename- :synopsis: Module containing tests main function.-- :required: ``exitcode-stdio-1.0``- :disallowed: ``detailed-0.9``-- The name of the ``.hs`` or ``.lhs`` file containing the ``Main``- module. Note that it is the ``.hs`` filename that must be listed,- even if that file is generated using a preprocessor. The source file- must be relative to one of the directories listed in- :pkg-field:`hs-source-dirs`. This field is analogous to the ``main-is`` field- of an executable section.--Test suites using the ``detailed-0.9`` interface are modules exporting-the symbol ``tests :: IO [Test]``. The ``Test`` type is exported by the-module ``Distribution.TestSuite`` provided by Cabal. For more details,-see the example below.--The ``detailed-0.9`` interface allows Cabal and other test agents to-inspect a test suite's results case by case, producing detailed human--and machine-readable log files. The ``detailed-0.9`` interface requires-the :pkg-field:`test-module` field.--.. pkg-field:: test-module: identifier-- :required: ``detailed-0.9``- :disallowed: ``exitcode-stdio-1.0``-- The module exporting the ``tests`` symbol.--Example: Package using ``exitcode-stdio-1.0`` interface-"""""""""""""""""""""""""""""""""""""""""""""""""""""""--The example package description and executable source file below-demonstrate the use of the ``exitcode-stdio-1.0`` interface.--.. code-block:: cabal- :caption: foo.cabal-- Name: foo- Version: 1.0- License: BSD3- Cabal-Version: >= 1.9.2- Build-Type: Simple-- Test-Suite test-foo- type: exitcode-stdio-1.0- main-is: test-foo.hs- build-depends: base--.. code-block:: haskell- :caption: test-foo.hs-- module Main where-- import System.Exit (exitFailure)-- main = do- putStrLn "This test always fails!"- exitFailure--Example: Package using ``detailed-0.9`` interface-"""""""""""""""""""""""""""""""""""""""""""""""""--The example package description and test module source file below-demonstrate the use of the ``detailed-0.9`` interface. The test module-also develops a simple implementation of the interface set by-``Distribution.TestSuite``, but in actual usage the implementation would-be provided by the library that provides the testing facility.--.. code-block:: cabal- :caption: bar.cabal-- Name: bar- Version: 1.0- License: BSD3- Cabal-Version: >= 1.9.2- Build-Type: Simple-- Test-Suite test-bar- type: detailed-0.9- test-module: Bar- build-depends: base, Cabal >= 1.9.2---.. code-block:: haskell- :caption: Bar.hs-- module Bar ( tests ) where-- import Distribution.TestSuite-- tests :: IO [Test]- tests = return [ Test succeeds, Test fails ]- where- succeeds = TestInstance- { run = return $ Finished Pass- , name = "succeeds"- , tags = []- , options = []- , setOption = \_ _ -> Right succeeds- }- fails = TestInstance- { run = return $ Finished $ Fail "Always fails!"- , name = "fails"- , tags = []- , options = []- , setOption = \_ _ -> Right fails- }--Running test suites-"""""""""""""""""""--You can have Cabal run your test suites using its built-in test runner:--::-- $ cabal configure --enable-tests- $ cabal build- $ cabal test--See the output of ``cabal help test`` for a list of options you can pass-to ``cabal test``.--Benchmarks-^^^^^^^^^^--.. pkg-section:: benchmark name- :since: 1.9.2- :synopsis: Benchmark build information.-- Benchmark sections (if present) describe benchmarks contained in the- package and must have an argument after the section label, which defines- the name of the benchmark. This is a freeform argument, but may not- contain spaces. It should be unique among the names of the package's- other benchmarks, the package's test suites, the package's executables,- and the package itself. Using benchmark sections requires at least Cabal- version 1.9.2.--The benchmark may be described using the following fields, as well as-build information fields (see the section on `build information`_).--.. pkg-field:: type: interface (required)-- The interface type and version of the benchmark. At the moment Cabal- only support one benchmark interface, called ``exitcode-stdio-1.0``.--Benchmarks using the ``exitcode-stdio-1.0`` interface are executables-that indicate failure to run the benchmark with a non-zero exit code-when run; they may provide human-readable information through the-standard output and error channels.--.. pkg-field:: main-is: filename-- :required: ``exitcode-stdio-1.0``-- The name of the ``.hs`` or ``.lhs`` file containing the ``Main``- module. Note that it is the ``.hs`` filename that must be listed,- even if that file is generated using a preprocessor. The source file- must be relative to one of the directories listed in- :pkg-field:`hs-source-dirs`. This field is analogous to the ``main-is``- field of an executable section.--Example: Package using ``exitcode-stdio-1.0`` interface-"""""""""""""""""""""""""""""""""""""""""""""""""""""""--The example package description and executable source file below-demonstrate the use of the ``exitcode-stdio-1.0`` interface.--.. code-block:: cabal- :caption: foo.cabal- :name: foo-bench.cabal-- Name: foo- Version: 1.0- License: BSD3- Cabal-Version: >= 1.9.2- Build-Type: Simple-- Benchmark bench-foo- type: exitcode-stdio-1.0- main-is: bench-foo.hs- build-depends: base, time--.. code-block:: haskell- :caption: bench-foo.hs-- {-# LANGUAGE BangPatterns #-}- module Main where-- import Data.Time.Clock-- fib 0 = 1- fib 1 = 1- fib n = fib (n-1) + fib (n-2)-- main = do- start <- getCurrentTime- let !r = fib 20- end <- getCurrentTime- putStrLn $ "fib 20 took " ++ show (diffUTCTime end start)--Running benchmarks-""""""""""""""""""--You can have Cabal run your benchmark using its built-in benchmark-runner:--::-- $ cabal configure --enable-benchmarks- $ cabal build- $ cabal bench--See the output of ``cabal help bench`` for a list of options you can-pass to ``cabal bench``.--Foreign libraries-^^^^^^^^^^^^^^^^^--Foreign libraries are system libraries intended to be linked against-programs written in C or other "foreign" languages. They-come in two primary flavours: dynamic libraries (``.so`` files on Linux,-``.dylib`` files on OSX, ``.dll`` files on Windows, etc.) are linked against-executables when the executable is run (or even lazily during-execution), while static libraries (``.a`` files on Linux/OSX, ``.lib``-files on Windows) get linked against the executable at compile time.--Foreign libraries only work with GHC 7.8 and later.--A typical stanza for a foreign library looks like--::-- foreign-library myforeignlib- type: native-shared- lib-version-info: 6:3:2-- if os(Windows)- options: standalone- mod-def-file: MyForeignLib.def-- other-modules: MyForeignLib.SomeModule- MyForeignLib.SomeOtherModule- build-depends: base >=4.7 && <4.9- hs-source-dirs: src- c-sources: csrc/MyForeignLibWrapper.c- default-language: Haskell2010--.. pkg-field:: type: foreign library type-- Cabal recognizes ``native-static`` and ``native-shared`` here, although- we currently only support building `native-shared` libraries.--.. pkg-field:: options: foreign library option list-- Options for building the foreign library, typically specific to the- specified type of foreign library. Currently we only support- ``standalone`` here. A standalone dynamic library is one that does not- have any dependencies on other (Haskell) shared libraries; without- the ``standalone`` option the generated library would have dependencies- on the Haskell runtime library (``libHSrts``), the base library- (``libHSbase``), etc. Currently, ``standalone`` *must* be used on Windows- and *must not* be used on any other platform.--.. pkg-field:: mod-def-file: filename-- This option can only be used when creating dynamic Windows libraries- (that is, when using ``native-shared`` and the ``os`` is ``Windows``). If- used, it must be a path to a _module definition file_. The details of- module definition files are beyond the scope of this document; see the- `GHC <https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/win32-dlls.html>`_- manual for some details and some further pointers.--.. pkg-field:: lib-version-info: current:revision:age-- This field is currently only used on Linux.-- This field specifies a Libtool-style version-info field that sets- an appropriate ABI version for the foreign library. Note that the- three numbers specified in this field do not directly specify the- actual ABI version: ``6:3:2`` results in library version ``4.2.3``.-- With this field set, the SONAME of the library is set, and symlinks- are installed.-- How you should bump this field on an ABI change depends on the- breakage you introduce:-- - Programs using the previous version may use the new version as- drop-in replacement, and programs using the new version can also- work with the previous one. In other words, no recompiling nor- relinking is needed. In this case, bump ``revision`` only, don't- touch current nor age.- - Programs using the previous version may use the new version as- drop-in replacement, but programs using the new version may use- APIs not present in the previous one. In other words, a program- linking against the new version may fail with "unresolved- symbols" if linking against the old version at runtime: set- revision to 0, bump current and age.- - Programs may need to be changed, recompiled, and relinked in- order to use the new version. Bump current, set revision and age- to 0.-- Also refer to the Libtool documentation on the version-info field.--.. pkg-field:: lib-version-linux: version-- This field is only used on Linux.-- Specifies the library ABI version directly for foreign libraries- built on Linux: so specifying ``4.2.3`` causes a library- ``libfoo.so.4.2.3`` to be built with SONAME ``libfoo.so.4``, and- appropriate symlinks ``libfoo.so.4`` and ``libfoo.so`` to be- installed.--Note that typically foreign libraries should export a way to initialize-and shutdown the Haskell runtime. In the example above, this is done by-the ``csrc/MyForeignLibWrapper.c`` file, which might look something like--.. code-block:: c-- #include <stdlib.h>- #include "HsFFI.h"-- HsBool myForeignLibInit(void){- int argc = 2;- char *argv[] = { "+RTS", "-A32m", NULL };- char **pargv = argv;-- // Initialize Haskell runtime- hs_init(&argc, &pargv);-- // do any other initialization here and- // return false if there was a problem- return HS_BOOL_TRUE;- }-- void myForeignLibExit(void){- hs_exit();- }--With modern ghc regular libraries are installed in directories that contain-package keys. This isn't usually a problem because the package gets registered-in ghc's package DB and so we can figure out what the location of the library-is. Foreign libraries however don't get registered, which means that we'd have-to have a way of finding out where a platform library got installed (other than by-searching the ``lib/`` directory). Instead, we install foreign libraries in-``~/.cabal/lib``, much like we install executables in ``~/.cabal/bin``.--Build information-^^^^^^^^^^^^^^^^^-.. pkg-section:: None--The following fields may be optionally present in a library, executable,-test suite or benchmark section, and give information for the building-of the corresponding library or executable. See also the sections on-`system-dependent parameters`_ and `configurations`_ for a way to supply-system-dependent values for these fields.--.. pkg-field:: build-depends: package list-- A list of packages needed to build this one. Each package can be- annotated with a version constraint.-- Version constraints use the operators ``==, >=, >, <, <=`` and a- version number. Multiple constraints can be combined using ``&&`` or- ``||``. If no version constraint is specified, any version is- assumed to be acceptable. For example:-- ::-- library- build-depends:- base >= 2,- foo >= 1.2.3 && < 1.3,- bar-- Dependencies like ``foo >= 1.2.3 && < 1.3`` turn out to be very- common because it is recommended practise for package versions to- correspond to API versions (see PVP_).-- Since Cabal 1.6, there is a special wildcard syntax to help with- such ranges-- ::-- build-depends: foo ==1.2.*-- It is only syntactic sugar. It is exactly equivalent to- ``foo >= 1.2 && < 1.3``.-- Starting with Cabal 2.0, there's a new syntactic sugar to support- PVP_-style- major upper bounds conveniently, and is inspired by similiar- syntactic sugar found in other language ecosystems where it's often- called the "Caret" operator:-- ::-- build-depends: foo ^>= 1.2.3.4,- bar ^>= 1-- The declaration above is exactly equivalent to-- ::-- build-depends: foo >= 1.2.3.4 && < 1.3,- bar >= 1 && < 1.1-- .. Note::-- Prior to Cabal 1.8, ``build-depends`` specified in each- section were global to all sections. This was unintentional, but- some packages were written to depend on it, so if you need your- :pkg-field:`build-depends` to be local to each section, you must specify- at least ``Cabal-Version: >= 1.8`` in your ``.cabal`` file.-- .. Note::-- Cabal 1.20 experimentally supported module thinning and- renaming in ``build-depends``; however, this support has since been- removed and should not be used.--.. pkg-field:: other-modules: identifier list-- A list of modules used by the component but not exposed to users.- For a library component, these would be hidden modules of the- library. For an executable, these would be auxiliary modules to be- linked with the file named in the ``main-is`` field.-- .. Note::-- Every module in the package *must* be listed in one of- :pkg-field:`other-modules`, :pkg-field:`library:exposed-modules` or- :pkg-field:`executable:main-is` fields.--.. pkg-field:: hs-source-dirs: directory list-- :default: ``.``-- Root directories for the module hierarchy.-- For backwards compatibility, the old variant ``hs-source-dir`` is- also recognized.--.. pkg-field:: default-extensions: identifier list-- A list of Haskell extensions used by every module. These determine- corresponding compiler options enabled for all files. Extension- names are the constructors of the- `Extension <../release/cabal-latest/doc/API/Cabal/Language-Haskell-Extension.html#t:Extension>`__- type. For example, ``CPP`` specifies that Haskell source files are- to be preprocessed with a C preprocessor.--.. pkg-field:: other-extensions: identifier list-- A list of Haskell extensions used by some (but not necessarily all)- modules. From GHC version 6.6 onward, these may be specified by- placing a ``LANGUAGE`` pragma in the source files affected e.g.-- .. code-block:: haskell-- {-# LANGUAGE CPP, MultiParamTypeClasses #-}-- In Cabal-1.24 the dependency solver will use this and- :pkg-field:`default-extensions` information. Cabal prior to 1.24 will abort- compilation if the current compiler doesn't provide the extensions.-- If you use some extensions conditionally, using CPP or conditional- module lists, it is good to replicate the condition in- :pkg-field:`other-extensions` declarations:-- ::-- other-extensions: CPP- if impl(ghc >= 7.5)- other-extensions: PolyKinds-- You could also omit the conditionally used extensions, as they are- for information only, but it is recommended to replicate them in- :pkg-field:`other-extensions` declarations.--.. pkg-field:: extensions: identifier list- :deprecated:-- Deprecated in favor of :pkg-field:`default-extensions`.--.. pkg-field:: build-tool-depends: package:executable list-- A list of Haskell programs needed to build this component.- Each is specified by the package containing the executable and the name of the executable itself, separated by a colon, and optionally followed by a version bound.- It is fine for the package to be the current one, in which case this is termed an *internal*, rather than *external* executable dependency.-- External dependencies can (and should) contain a version bound like conventional :pkg-field:`build-depends` dependencies.- Internal deps should not contain a version bound, as they will be always resolved within the same configuration of the package in the build plan.- Specifically, version bounds that include the package's version will be warned for being extraneous, and version bounds that exclude the package's version will raise and error for being impossible to follow.-- Cabal can make sure that specified programs are built and on the ``PATH`` before building the component in question.- It will always do so for internal dependencies, and also do so for external dependencies when using Nix-style local builds.-- :pkg-field:`build-tool-depends` was added in Cabal 2.0, and it will- be ignored (with a warning) with old versions of Cabal. See- :pkg-field:`build-tools` for more information about backwards- compatibility.--.. pkg-field:: build-tools: program list- :deprecated:-- Deprecated in favor of :pkg-field:`build-tool-depends`, but `see below for backwards compatibility information. <buildtoolsbc>`_-- A list of Haskell programs needed to build this component.- Each may be followed by an optional version bound.- Confusingly, each program in the list either refer to one of three things:-- 1. Another executables in the same package-- 2. One of a hard-coded set of packages containing common build tools- (possibly extended by a ``Custom`` setup script)-- 3. A pre-built executable that should already be on the ``PATH``- (Supported only by Cabal 2.0 and later.)-- These cases are listed in order of priority:- an executable in the package will override any of the hard-coded packages with the same name,- and a hard-coded package will override any executable on the ``PATH``.-- In the first two cases, the list entry is desugared into a :pkg-field:`build-tool-depends` entry.- In the first case, the entry is desugared into a :pkg-field:`build-tool-depends` entry by prefixing with ``$pkg:``.- In the second case, it is desugared by looking up the package and executable name in a hard-coded table.- In either case, the optional version bound is passed through unchanged.- Refer to the documentation for :pkg-field:`build-tool-depends` to understand the desugared field's meaning, along with restrictions on version bounds.-- .. _buildtoolsbc:-- Although this field is deprecated in favor of :pkg-field:`build-tool-depends`, there are some situations where you may prefer to use :pkg-field:`build-tool` in cases (1) and (2), as it is supported by more versions of Cabal.- In case (3), :pkg-field:`build-tool-depends` is better for backwards-compatibility, as it will be ignored by old versions of Cabal; if you add the executable to :pkg-field:`build-tools`, a setup script built against old Cabal will choke.- If an old version of Cabal is used, an end-user will have to manually arrange for the requested executable to be in your ``PATH``.--.. pkg-field:: buildable: boolean-- :default: ``True``-- Is the component buildable? Like some of the other fields below,- this field is more useful with the slightly more elaborate form of- the simple build infrastructure described in the section on- `system-dependent parameters`_.--.. pkg-field:: ghc-options: token list-- Additional options for GHC. You can often achieve the same effect- using the :pkg-field:`extensions` field, which is preferred.-- Options required only by one module may be specified by placing an- ``OPTIONS_GHC`` pragma in the source file affected.-- As with many other fields, whitespace can be escaped by using- Haskell string syntax. Example:- ``ghc-options: -Wcompat "-with-rtsopts=-T -I1" -Wall``.--.. pkg-field:: ghc-prof-options: token list-- Additional options for GHC when the package is built with profiling- enabled.-- Note that as of Cabal-1.24, the default profiling detail level- defaults to ``exported-functions`` for libraries and- ``toplevel-functions`` for executables. For GHC these correspond to- the flags ``-fprof-auto-exported`` and ``-fprof-auto-top``. Prior to- Cabal-1.24 the level defaulted to ``none``. These levels can be- adjusted by the person building the package with the- ``--profiling-detail`` and ``--library-profiling-detail`` flags.-- It is typically better for the person building the package to pick- the profiling detail level rather than for the package author. So- unless you have special needs it is probably better not to specify- any of the GHC ``-fprof-auto*`` flags here. However if you wish to- override the profiling detail level, you can do so using the- :pkg-field:`ghc-prof-options` field: use ``-fno-prof-auto`` or one of the- other ``-fprof-auto*`` flags.--.. pkg-field:: ghc-shared-options: token list-- Additional options for GHC when the package is built as shared- library. The options specified via this field are combined with the- ones specified via :pkg-field:`ghc-options`, and are passed to GHC during- both the compile and link phases.--.. pkg-field:: includes: filename list-- A list of header files to be included in any compilations via C.- This field applies to both header files that are already installed- on the system and to those coming with the package to be installed.- The former files should be found in absolute paths, while the latter- files should be found in paths relative to the top of the source- tree or relative to one of the directories listed in- :pkg-field:`include-dirs`.-- These files typically contain function prototypes for foreign- imports used by the package. This is in contrast to- :pkg-field:`install-includes`, which lists header files that are intended- to be exposed to other packages that transitively depend on this- library.--.. pkg-field:: install-includes: filename list-- A list of header files from this package to be installed into- ``$libdir/includes`` when the package is installed. Files listed in- :pkg-field:`install-includes` should be found in relative to the top of the- source tree or relative to one of the directories listed in- :pkg-field:`include-dirs`.-- :pkg-field:`install-includes` is typically used to name header files that- contain prototypes for foreign imports used in Haskell code in this- package, for which the C implementations are also provided with the- package. For example, here is a ``.cabal`` file for a hypothetical- ``bindings-clib`` package that bundles the C source code for ``clib``::-- include-dirs: cbits- c-sources: clib.c- install-includes: clib.h-- Now any package that depends (directly or transitively) on the- ``bindings-clib`` library can use ``clib.h``.-- Note that in order for files listed in :pkg-field:`install-includes` to be- usable when compiling the package itself, they need to be listed in- the :pkg-field:`includes` field as well.--.. pkg-field:: include-dirs: directory list-- A list of directories to search for header files, when preprocessing- with ``c2hs``, ``hsc2hs``, ``cpphs`` or the C preprocessor, and also- when compiling via C. Directories can be absolute paths (e.g., for- system directories) or paths that are relative to the top of the- source tree. Cabal looks in these directories when attempting to- locate files listed in :pkg-field:`includes` and- :pkg-field:`install-includes`.--.. pkg-field:: c-sources: filename list-- A list of C source files to be compiled and linked with the Haskell- files.--.. pkg-field:: js-sources: filename list-- A list of JavaScript source files to be linked with the Haskell- files (only for JavaScript targets).--.. pkg-field:: extra-libraries: token list-- A list of extra libraries to link with.--.. pkg-field:: extra-ghci-libraries: token list-- A list of extra libraries to be used instead of 'extra-libraries'- when the package is loaded with GHCi.--.. pkg-field:: extra-lib-dirs: directory list-- A list of directories to search for libraries.--.. pkg-field:: cc-options: token list-- Command-line arguments to be passed to the C compiler. Since the- arguments are compiler-dependent, this field is more useful with the- setup described in the section on `system-dependent parameters`_.--.. pkg-field:: cpp-options: token list-- Command-line arguments for pre-processing Haskell code. Applies to- haskell source and other pre-processed Haskell source like .hsc- .chs. Does not apply to C code, that's what cc-options is for.--.. pkg-field:: ld-options: token list-- Command-line arguments to be passed to the linker. Since the- arguments are compiler-dependent, this field is more useful with the- setup described in the section on `system-dependent parameters`_.--.. pkg-field:: pkgconfig-depends: package list-- A list of- `pkg-config <http://www.freedesktop.org/wiki/Software/pkg-config/>`__- packages, needed to build this package. They can be annotated with- versions, e.g. ``gtk+-2.0 >= 2.10, cairo >= 1.0``. If no version- constraint is specified, any version is assumed to be acceptable.- Cabal uses ``pkg-config`` to find if the packages are available on- the system and to find the extra compilation and linker options- needed to use the packages.-- If you need to bind to a C library that supports ``pkg-config`` (use- ``pkg-config --list-all`` to find out if it is supported) then it is- much preferable to use this field rather than hard code options into- the other fields.--.. pkg-field:: frameworks: token list-- On Darwin/MacOS X, a list of frameworks to link to. See Apple's- developer documentation for more details on frameworks. This entry- is ignored on all other platforms.--.. pkg-field:: extra-frameworks-dirs: directory list-- On Darwin/MacOS X, a list of directories to search for frameworks.- This entry is ignored on all other platforms.--Configurations-^^^^^^^^^^^^^^--Library and executable sections may include conditional blocks, which-test for various system parameters and configuration flags. The flags-mechanism is rather generic, but most of the time a flag represents-certain feature, that can be switched on or off by the package user.-Here is an example package description file using configurations:--Example: A package containing a library and executable programs-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""--::-- Name: Test1- Version: 0.0.1- Cabal-Version: >= 1.2- License: BSD3- Author: Jane Doe- Synopsis: Test package to test configurations- Category: Example-- Flag Debug- Description: Enable debug support- Default: False-- Flag WebFrontend- Description: Include API for web frontend.- -- Cabal checks if the configuration is possible, first- -- with this flag set to True and if not it tries with False-- Library- Build-Depends: base- Exposed-Modules: Testing.Test1- Extensions: CPP-- if flag(debug)- GHC-Options: -DDEBUG- if !os(windows)- CC-Options: "-DDEBUG"- else- CC-Options: "-DNDEBUG"-- if flag(webfrontend)- Build-Depends: cgi > 0.42- Other-Modules: Testing.WebStuff-- Executable test1- Main-is: T1.hs- Other-Modules: Testing.Test1- Build-Depends: base-- if flag(debug)- CC-Options: "-DDEBUG"- GHC-Options: -DDEBUG--Layout-""""""--Flags, conditionals, library and executable sections use layout to-indicate structure. This is very similar to the Haskell layout rule.-Entries in a section have to all be indented to the same level which-must be more than the section header. Tabs are not allowed to be used-for indentation.--As an alternative to using layout you can also use explicit braces-``{}``. In this case the indentation of entries in a section does not-matter, though different fields within a block must be on different-lines. Here is a bit of the above example again, using braces:--Example: Using explicit braces rather than indentation for layout-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""--::-- Name: Test1- Version: 0.0.1- Cabal-Version: >= 1.2- License: BSD3- Author: Jane Doe- Synopsis: Test package to test configurations- Category: Example-- Flag Debug {- Description: Enable debug support- Default: False- }-- Library {- Build-Depends: base- Exposed-Modules: Testing.Test1- Extensions: CPP- if flag(debug) {- GHC-Options: -DDEBUG- if !os(windows) {- CC-Options: "-DDEBUG"- } else {- CC-Options: "-DNDEBUG"- }- }- }--Configuration Flags-"""""""""""""""""""--.. pkg-section:: flag name- :synopsis: Flag declaration.-- Flag section declares a flag which can be used in `conditional blocks`_.--Flag names are case-insensitive and must match ``[[:alnum:]_][[:alnum:]_-]*``-regular expression.--.. note::-- Hackage accepts ASCII-only flags, ``[a-zA-Z0-9_][a-zA-Z0-9_-]*`` regexp.--.. pkg-field:: description: freeform-- The description of this flag.--.. pkg-field:: default: boolean-- :default: ``True``-- The default value of this flag.-- .. note::-- This value may be `overridden in several- ways <installing-packages.html#controlling-flag-assignments>`__. The- rationale for having flags default to True is that users usually- want new features as soon as they are available. Flags representing- features that are not (yet) recommended for most users (such as- experimental features or debugging support) should therefore- explicitly override the default to False.--.. pkg-field:: manual: boolean-- :default: ``False``-- By default, Cabal will first try to satisfy dependencies with the- default flag value and then, if that is not possible, with the- negated value. However, if the flag is manual, then the default- value (which can be overridden by commandline flags) will be used.--Conditional Blocks-^^^^^^^^^^^^^^^^^^--Conditional blocks may appear anywhere inside a library or executable-section. They have to follow rather strict formatting rules. Conditional-blocks must always be of the shape--::-- if condition- property-descriptions-or-conditionals--or--::-- if condition- property-descriptions-or-conditionals- else- property-descriptions-or-conditionals--Note that the ``if`` and the condition have to be all on the same line.--Conditions-""""""""""--Conditions can be formed using boolean tests and the boolean operators-``||`` (disjunction / logical "or"), ``&&`` (conjunction / logical-"and"), or ``!`` (negation / logical "not"). The unary ``!`` takes-highest precedence, ``||`` takes lowest. Precedence levels may be-overridden through the use of parentheses. For example,-``os(darwin) && !arch(i386) || os(freebsd)`` is equivalent to-``(os(darwin) && !(arch(i386))) || os(freebsd)``.--The following tests are currently supported.--:samp:`os({name})`- Tests if the current operating system is *name*. The argument is- tested against ``System.Info.os`` on the target system. There is- unfortunately some disagreement between Haskell implementations- about the standard values of ``System.Info.os``. Cabal canonicalises- it so that in particular ``os(windows)`` works on all- implementations. If the canonicalised os names match, this test- evaluates to true, otherwise false. The match is case-insensitive.-:samp:`arch({name})`- Tests if the current architecture is *name*. The argument is matched- against ``System.Info.arch`` on the target system. If the arch names- match, this test evaluates to true, otherwise false. The match is- case-insensitive.-:samp:`impl({compiler})`- Tests for the configured Haskell implementation. An optional version- constraint may be specified (for example ``impl(ghc >= 6.6.1)``). If- the configured implementation is of the right type and matches the- version constraint, then this evaluates to true, otherwise false.- The match is case-insensitive.-- Note that including a version constraint in an ``impl`` test causes- it to check for two properties:-- - The current compiler has the specified name, and-- - The compiler's version satisfied the specified version constraint-- As a result, ``!impl(ghc >= x.y.z)`` is not entirely equivalent to- ``impl(ghc < x.y.z)``. The test ``!impl(ghc >= x.y.z)`` checks that:-- - The current compiler is not GHC, or-- - The version of GHC is earlier than version x.y.z.--:samp:`flag({name})`- Evaluates to the current assignment of the flag of the given name.- Flag names are case insensitive. Testing for flags that have not- been introduced with a flag section is an error.-``true``- Constant value true.-``false``- Constant value false.--Resolution of Conditions and Flags-""""""""""""""""""""""""""""""""""--If a package descriptions specifies configuration flags the package user-can `control these in several-ways <installing-packages.html#controlling-flag-assignments>`__. If the-user does not fix the value of a flag, Cabal will try to find a flag-assignment in the following way.--- For each flag specified, it will assign its default value, evaluate- all conditions with this flag assignment, and check if all- dependencies can be satisfied. If this check succeeded, the package- will be configured with those flag assignments.--- If dependencies were missing, the last flag (as by the order in which- the flags were introduced in the package description) is tried with- its alternative value and so on. This continues until either an- assignment is found where all dependencies can be satisfied, or all- possible flag assignments have been tried.--To put it another way, Cabal does a complete backtracking search to find-a satisfiable package configuration. It is only the dependencies-specified in the :pkg-field:`build-depends` field in conditional blocks that-determine if a particular flag assignment is satisfiable-(:pkg-field:`build-tools` are not considered). The order of the declaration and-the default value of the flags determines the search order. Flags-overridden on the command line fix the assignment of that flag, so no-backtracking will be tried for that flag.--If no suitable flag assignment could be found, the configuration phase-will fail and a list of missing dependencies will be printed. Note that-this resolution process is exponential in the worst case (i.e., in the-case where dependencies cannot be satisfied). There are some-optimizations applied internally, but the overall complexity remains-unchanged.--Meaning of field values when using conditionals-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--During the configuration phase, a flag assignment is chosen, all-conditionals are evaluated, and the package description is combined into-a flat package descriptions. If the same field both inside a conditional-and outside then they are combined using the following rules.--- Boolean fields are combined using conjunction (logical "and").--- List fields are combined by appending the inner items to the outer- items, for example-- ::-- other-extensions: CPP- if impl(ghc)- other-extensions: MultiParamTypeClasses-- when compiled using GHC will be combined to-- ::-- other-extensions: CPP, MultiParamTypeClasses-- Similarly, if two conditional sections appear at the same nesting- level, properties specified in the latter will come after properties- specified in the former.--- All other fields must not be specified in ambiguous ways. For example-- ::-- Main-is: Main.hs- if flag(useothermain)- Main-is: OtherMain.hs-- will lead to an error. Instead use-- ::-- if flag(useothermain)- Main-is: OtherMain.hs- else- Main-is: Main.hs--Source Repositories-^^^^^^^^^^^^^^^^^^^--.. pkg-section:: source-repository--It is often useful to be able to specify a source revision control-repository for a package. Cabal lets you specifying this information in-a relatively structured form which enables other tools to interpret and-make effective use of the information. For example the information-should be sufficient for an automatic tool to checkout the sources.--Cabal supports specifying different information for various common-source control systems. Obviously not all automated tools will support-all source control systems.--Cabal supports specifying repositories for different use cases. By-declaring which case we mean automated tools can be more useful. There-are currently two kinds defined:--- The ``head`` kind refers to the latest development branch of the- package. This may be used for example to track activity of a project- or as an indication to outside developers what sources to get for- making new contributions.--- The ``this`` kind refers to the branch and tag of a repository that- contains the sources for this version or release of a package. For- most source control systems this involves specifying a tag, id or- hash of some form and perhaps a branch. The purpose is to be able to- reconstruct the sources corresponding to a particular package- version. This might be used to indicate what sources to get if- someone needs to fix a bug in an older branch that is no longer an- active head branch.--You can specify one kind or the other or both. As an example here are-the repositories for the Cabal library. Note that the ``this`` kind of-repository specifies a tag.--::-- source-repository head- type: darcs- location: http://darcs.haskell.org/cabal/-- source-repository this- type: darcs- location: http://darcs.haskell.org/cabal-branches/cabal-1.6/- tag: 1.6.1--The exact fields are as follows:--.. pkg-field:: type: token-- The name of the source control system used for this repository. The- currently recognised types are:-- - ``darcs``- - ``git``- - ``svn``- - ``cvs``- - ``mercurial`` (or alias ``hg``)- - ``bazaar`` (or alias ``bzr``)- - ``arch``- - ``monotone``-- This field is required.--.. pkg-field:: location: URL-- The location of the repository. The exact form of this field depends- on the repository type. For example:-- - for darcs: ``http://code.haskell.org/foo/``- - for git: ``git://github.com/foo/bar.git``- - for CVS: ``anoncvs@cvs.foo.org:/cvs``-- This field is required.--.. pkg-field:: module: token-- CVS requires a named module, as each CVS server can host multiple- named repositories.-- This field is required for the CVS repository type and should not be- used otherwise.--.. pkg-field:: branch: token-- Many source control systems support the notion of a branch, as a- distinct concept from having repositories in separate locations. For- example CVS, SVN and git use branches while for darcs uses different- locations for different branches. If you need to specify a branch to- identify a your repository then specify it in this field.-- This field is optional.--.. pkg-field:: tag: token-- A tag identifies a particular state of a source repository. The tag- can be used with a ``this`` repository kind to identify the state of- a repository corresponding to a particular package version or- release. The exact form of the tag depends on the repository type.-- This field is required for the ``this`` repository kind.--.. pkg-field:: subdir: directory-- Some projects put the sources for multiple packages under a single- source repository. This field lets you specify the relative path- from the root of the repository to the top directory for the- package, i.e. the directory containing the package's ``.cabal``- file.-- This field is optional. It default to empty which corresponds to the- root directory of the repository.--Downloading a package's source-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--The ``cabal get`` command allows to access a package's source code --either by unpacking a tarball downloaded from Hackage (the default) or-by checking out a working copy from the package's source repository.--::-- $ cabal get [FLAGS] PACKAGES--The ``get`` command supports the following options:--``-d --destdir`` *PATH*- Where to place the package source, defaults to (a subdirectory of)- the current directory.-``-s --source-repository`` *[head\|this\|...]*- Fork the package's source repository using the appropriate version- control system. The optional argument allows to choose a specific- repository kind.-``--index-state`` *[HEAD\|@<unix-timestamp>\|<iso8601-utc-timestamp>]*- Use source package index state as it existed at a previous time. Accepts- unix-timestamps (e.g. ``@1474732068``), ISO8601 UTC timestamps (e.g.- ``2016-09-24T17:47:48Z``), or ``HEAD`` (default).- This determines which package versions are available as well as which- ``.cabal`` file revision is selected (unless ``--pristine`` is used).-``--pristine``- Unpack the original pristine tarball, rather than updating the- ``.cabal`` file with the latest revision from the package archive.--Custom setup scripts-----------------------.. pkg-section:: custom-setup- :synopsis: Custom Setup.hs build information.- :since: 1.24-- The optional :pkg-section:`custom-setup` stanza contains information needed- for the compilation of custom ``Setup.hs`` scripts,--::-- custom-setup- setup-depends:- base >= 4.5 && < 4.11,- Cabal < 1.25--.. pkg-field:: setup-depends: package list- :since: 1.24-- The dependencies needed to compile ``Setup.hs``. See the- :pkg-field:`build-depends` field for a description of the syntax expected by- this field.--Autogenerated modules------------------------Modules that are built automatically at setup, created with a custom-setup script, must appear on :pkg-field:`other-modules` for the library,-executable, test-suite or benchmark stanzas or also on-:pkg-field:`library:exposed-modules` for libraries to be used, but are not-really on the package when distributed. This makes commands like sdist fail-because the file is not found.--These special modules must appear again on the :pkg-field:`autogen-modules`-field of the stanza that is using it, besides :pkg-field:`other-modules` or-:pkg-field:`library:exposed-modules`. With this there is no need to create-complex build hooks for this poweruser case.--.. pkg-field:: autogen-modules: module list-- .. TODO: document autogen-modules field--Right now :pkg-field:`executable:main-is` modules are not supported on-:pkg-field:`autogen-modules`.--::-- Library- default-language: Haskell2010- build-depends: base- exposed-modules:- MyLibrary- MyLibHelperModule- other-modules:- MyLibModule- autogen-modules:- MyLibHelperModule-- Executable Exe- default-language: Haskell2010- main-is: Dummy.hs- build-depends: base- other-modules:- MyExeModule- MyExeHelperModule- autogen-modules:- MyExeHelperModule--Accessing data files from package code-----------------------------------------The placement on the target system of files listed in-the :pkg-field:`data-files` field varies between systems, and in some cases-one can even move packages around after installation (see `prefix-independence <installing-packages.html#prefix-independence>`__). To-enable packages to find these files in a portable way, Cabal generates a-module called :file:`Paths_{pkgname}` (with any hyphens in *pkgname*-replaced by underscores) during building, so that it may be imported by-modules of the package. This module defines a function--.. code-block:: haskell-- getDataFileName :: FilePath -> IO FilePath--If the argument is a filename listed in the :pkg-field:`data-files` field, the-result is the name of the corresponding file on the system on which the-program is running.--.. Note::-- If you decide to import the :file:`Paths_{pkgname}` module then it- *must* be listed in the :pkg-field:`other-modules` field just like any other- module in your package and on :pkg-field:`autogen-modules` as the file is- autogenerated.--The :file:`Paths_{pkgname}` module is not platform independent, as any-other autogenerated module, so it does not get included in the source-tarballs generated by ``sdist``.--The :file:`Paths_{pkgname}` module also includes some other useful-functions and values, which record the version of the package and some-other directories which the package has been configured to be installed-into (e.g. data files live in ``getDataDir``):--.. code-block:: haskell-- version :: Version-- getBinDir :: IO FilePath- getLibDir :: IO FilePath- getDynLibDir :: IO FilePath- getDataDir :: IO FilePath- getLibexecDir :: IO FilePath- getSysconfDir :: IO FilePath--The actual location of all these directories can be individually-overridden at runtime using environment variables of the form-``pkg_name_var``, where ``pkg_name`` is the name of the package with all-hyphens converted into underscores, and ``var`` is either ``bindir``,-``libdir``, ``dynlibdir``, ``datadir``, ``libexedir`` or ``sysconfdir``. For example,-the configured data directory for ``pretty-show`` is controlled with the-``pretty_show_datadir`` environment variable.--Accessing the package version-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--The aforementioned auto generated :file:`Paths_{pkgname}` module also-exports the constant ``version ::``-`Version <http://hackage.haskell.org/package/base/docs/Data-Version.html>`__-which is defined as the version of your package as specified in the-``version`` field.--System-dependent parameters------------------------------For some packages, especially those interfacing with C libraries,-implementation details and the build procedure depend on the build-environment. The ``build-type`` ``Configure`` can be used to handle many-such situations. In this case, ``Setup.hs`` should be:--.. code-block:: haskell-- import Distribution.Simple- main = defaultMainWithHooks autoconfUserHooks--Most packages, however, would probably do better using the ``Simple``-build type and `configurations`_.--The :pkg-field:`build-type` ``Configure`` differs from ``Simple`` in two ways:--- The package root directory must contain a shell script called- ``configure``. The configure step will run the script. This- ``configure`` script may be produced by- `autoconf <http://www.gnu.org/software/autoconf/>`__ or may be- hand-written. The ``configure`` script typically discovers- information about the system and records it for later steps, e.g. by- generating system-dependent header files for inclusion in C source- files and preprocessed Haskell source files. (Clearly this won't work- for Windows without MSYS or Cygwin: other ideas are needed.)--- If the package root directory contains a file called- *package*\ ``.buildinfo`` after the configuration step, subsequent- steps will read it to obtain additional settings for `build- information`_ fields,to be merged with the ones- given in the ``.cabal`` file. In particular, this file may be- generated by the ``configure`` script mentioned above, allowing these- settings to vary depending on the build environment.--The build information file should have the following structure:-- *buildinfo*-- ``executable:`` *name* *buildinfo*-- ``executable:`` *name* *buildinfo* ...--where each *buildinfo* consists of settings of fields listed in the-section on `build information`_. The first one (if-present) relates to the library, while each of the others relate to the-named executable. (The names must match the package description, but you-don't have to have entries for all of them.)--Neither of these files is required. If they are absent, this setup-script is equivalent to ``defaultMain``.--Example: Using autoconf-^^^^^^^^^^^^^^^^^^^^^^^--This example is for people familiar with the-`autoconf <http://www.gnu.org/software/autoconf/>`__ tools.--In the X11 package, the file ``configure.ac`` contains:--.. code-block:: shell-- AC_INIT([Haskell X11 package], [1.1], [libraries@haskell.org], [X11])-- # Safety check: Ensure that we are in the correct source directory.- AC_CONFIG_SRCDIR([X11.cabal])-- # Header file to place defines in- AC_CONFIG_HEADERS([include/HsX11Config.h])-- # Check for X11 include paths and libraries- AC_PATH_XTRA- AC_TRY_CPP([#include <X11/Xlib.h>],,[no_x=yes])-- # Build the package if we found X11 stuff- if test "$no_x" = yes- then BUILD_PACKAGE_BOOL=False- else BUILD_PACKAGE_BOOL=True- fi- AC_SUBST([BUILD_PACKAGE_BOOL])-- AC_CONFIG_FILES([X11.buildinfo])- AC_OUTPUT--Then the setup script will run the ``configure`` script, which checks-for the presence of the X11 libraries and substitutes for variables in-the file ``X11.buildinfo.in``:--::-- buildable: @BUILD_PACKAGE_BOOL@- cc-options: @X_CFLAGS@- ld-options: @X_LIBS@--This generates a file ``X11.buildinfo`` supplying the parameters needed-by later stages:--::-- buildable: True- cc-options: -I/usr/X11R6/include- ld-options: -L/usr/X11R6/lib--The ``configure`` script also generates a header file-``include/HsX11Config.h`` containing C preprocessor defines recording-the results of various tests. This file may be included by C source-files and preprocessed Haskell source files in the package.--.. Note::-- Packages using these features will also need to list additional- files such as ``configure``, templates for ``.buildinfo`` files, files- named only in ``.buildinfo`` files, header files and so on in the- :pkg-field:`extra-source-files` field to ensure that they are included in- source distributions. They should also list files and directories generated- by ``configure`` in the :pkg-field:`extra-tmp-files` field to ensure that- they are removed by ``setup clean``.--Quite often the files generated by ``configure`` need to be listed-somewhere in the package description (for example, in the-:pkg-field:`install-includes` field). However, we usually don't want generated-files to be included in the source tarball. The solution is again-provided by the ``.buildinfo`` file. In the above example, the following-line should be added to ``X11.buildinfo``:--::-- install-includes: HsX11Config.h--In this way, the generated ``HsX11Config.h`` file won't be included in-the source tarball in addition to ``HsX11Config.h.in``, but it will be-copied to the right location during the install process. Packages that-use custom ``Setup.hs`` scripts can update the necessary fields-programmatically instead of using the ``.buildinfo`` file.--Conditional compilation--------------------------Sometimes you want to write code that works with more than one version-of a dependency. You can specify a range of versions for the dependency-in the :pkg-field:`build-depends`, but how do you then write the code that can-use different versions of the API?--Haskell lets you preprocess your code using the C preprocessor (either-the real C preprocessor, or ``cpphs``). To enable this, add-``extensions: CPP`` to your package description. When using CPP, Cabal-provides some pre-defined macros to let you test the version of-dependent packages; for example, suppose your package works with either-version 3 or version 4 of the ``base`` package, you could select the-available version in your Haskell modules like this:--.. code-block:: cpp-- #if MIN_VERSION_base(4,0,0)- ... code that works with base-4 ...- #else- ... code that works with base-3 ...- #endif--In general, Cabal supplies a macro-``MIN_VERSION_``\ *``package``*\ ``_(A,B,C)`` for each package depended-on via :pkg-field:`build-depends`. This macro is true if the actual version of-the package in use is greater than or equal to ``A.B.C`` (using the-conventional ordering on version numbers, which is lexicographic on the-sequence, but numeric on each component, so for example 1.2.0 is greater-than 1.0.3).--Since version 1.20, the ``MIN_TOOL_VERSION_``\ *``tool``*-family of macros lets you condition on the version of build tools used to-build the program (e.g. ``hsc2hs``).--Since version 1.24, the macro ``CURRENT_COMPONENT_ID``, which-expands to the string of the component identifier that uniquely-identifies this component. Furthermore, if the package is a library,-the macro ``CURRENT_PACKAGE_KEY`` records the identifier that was passed-to GHC for use in symbols and for type equality.--Since version 2.0, the macro ``CURRENT_PACKAGE_VERSION`` expands-to the string version number of the current package.--Cabal places the definitions of these macros into an-automatically-generated header file, which is included when-preprocessing Haskell source code by passing options to the C-preprocessor.--Cabal also allows to detect when the source code is being used for-generating documentation. The ``__HADDOCK_VERSION__`` macro is defined-only when compiling via Haddock_-instead of a normal Haskell compiler. The value of the-``__HADDOCK_VERSION__`` macro is defined as ``A*1000 + B*10 + C``, where-``A.B.C`` is the Haddock version. This can be useful for working around-bugs in Haddock or generating prettier documentation in some special-cases.--More complex packages------------------------For packages that don't fit the simple schemes described above, you have-a few options:--- By using the :pkg-field:`build-type` ``Custom``, you can supply your own- ``Setup.hs`` file, and customize the simple build infrastructure- using *hooks*. These allow you to perform additional actions before- and after each command is run, and also to specify additional- preprocessors. A typical ``Setup.hs`` may look like this:-- .. code-block:: haskell-- import Distribution.Simple- main = defaultMainWithHooks simpleUserHooks { postHaddock = posthaddock }-- posthaddock args flags desc info = ....-- See ``UserHooks`` in- `Distribution.Simple <../release/cabal-latest/doc/API/Cabal/Distribution-Simple.html>`__- for the details, but note that this interface is experimental, and- likely to change in future releases.-- If you use a custom ``Setup.hs`` file you should strongly consider- adding a :pkg-section:`custom-setup` stanza with a- :pkg-field:`custom-setup:setup-depends` field to ensure that your setup- script does not break with future dependency versions.--- You could delegate all the work to ``make``, though this is unlikely- to be very portable. Cabal supports this with the :pkg-field:`build-type`- ``Make`` and a trivial setup library- `Distribution.Make <../release/cabal-latest/doc/API/Cabal/Distribution-Make.html>`__,- which simply parses the command line arguments and invokes ``make``.- Here ``Setup.hs`` should look like this:-- .. code-block:: haskell-- import Distribution.Make- main = defaultMain-- The root directory of the package should contain a ``configure``- script, and, after that has run, a ``Makefile`` with a default target- that builds the package, plus targets ``install``, ``register``,- ``unregister``, ``clean``, ``dist`` and ``docs``. Some options to- commands are passed through as follows:-- - The ``--with-hc-pkg``, ``--prefix``, ``--bindir``, ``--libdir``,- ``--dynlibdir``, ``--datadir``, ``--libexecdir`` and ``--sysconfdir`` options to- the ``configure`` command are passed on to the ``configure``- script. In addition the value of the ``--with-compiler`` option is- passed in a ``--with-hc`` option and all options specified with- ``--configure-option=`` are passed on.-- - The ``--destdir`` option to the ``copy`` command becomes a setting- of a ``destdir`` variable on the invocation of ``make copy``. The- supplied ``Makefile`` should provide a ``copy`` target, which will- probably look like this:-- .. code-block:: make-- copy :- $(MAKE) install prefix=$(destdir)/$(prefix) \- bindir=$(destdir)/$(bindir) \- libdir=$(destdir)/$(libdir) \- dynlibdir=$(destdir)/$(dynlibdir) \- datadir=$(destdir)/$(datadir) \- libexecdir=$(destdir)/$(libexecdir) \- sysconfdir=$(destdir)/$(sysconfdir) \--- Finally, with the :pkg-field:`build-type` ``Custom``, you can also write your- own setup script from scratch. It must conform to the interface- described in the section on `building and installing- packages <installing-packages.html>`__, and you may use the Cabal- library for all or part of the work. One option is to copy the source- of ``Distribution.Simple``, and alter it for your needs. Good luck.---.. include:: references.inc
@@ -1,14 +0,0 @@--Welcome to the Cabal User Guide-===============================--.. toctree::- :maxdepth: 2- :numbered:-- intro- config-and-install- concepts-and-development- bugs-and-stability- nix-local-build-overview- nix-integration
@@ -1,1702 +0,0 @@-Configuration-=============--.. highlight:: cabal--Overview-----------The global configuration file for ``cabal-install`` is-``~/.cabal/config``. If you do not have this file, ``cabal`` will create-it for you on the first call to ``cabal update``. Alternatively, you can-explicitly ask ``cabal`` to create it for you using--.. code-block:: console-- $ cabal user-config update--Most of the options in this configuration file are also available as-command line arguments, and the corresponding documentation can be used-to lookup their meaning. The created configuration file only specifies-values for a handful of options. Most options are left at their default-value, which it documents; for instance,--::-- -- executable-stripping: True--means that the configuration file currently does not specify a value for-the ``executable-stripping`` option (the line is commented out), and-that the default is ``True``; if you wanted to disable stripping of-executables by default, you would change this line to--::-- executable-stripping: False--You can also use ``cabal user-config update`` to migrate configuration-files created by older versions of ``cabal``.--Repository specification---------------------------An important part of the configuration if the specification of the-repository. When ``cabal`` creates a default config file, it configures-the repository to be the central Hackage server:--::-- repository hackage.haskell.org- url: http://hackage.haskell.org/--The name of the repository is given on the first line, and can be-anything; packages downloaded from this repository will be cached under-``~/.cabal/packages/hackage.haskell.org`` (or whatever name you specify;-you can change the prefix by changing the value of-``remote-repo-cache``). If you want, you can configure multiple-repositories, and ``cabal`` will combine them and be able to download-packages from any of them.--Using secure repositories-^^^^^^^^^^^^^^^^^^^^^^^^^--For repositories that support the TUF security infrastructure (this-includes Hackage), you can enable secure access to the repository by-specifying:--::-- repository hackage.haskell.org- url: http://hackage.haskell.org/- secure: True- root-keys: <root-key-IDs>- key-threshold: <key-threshold>--The ``<root-key-IDs>`` and ``<key-threshold>`` values are used for-bootstrapping. As part of the TUF infrastructure the repository will-contain a file ``root.json`` (for instance,-http://hackage.haskell.org/root.json) which the client needs to do-verification. However, how can ``cabal`` verify the ``root.json`` file-*itself*? This is known as bootstrapping: if you specify a list of root-key IDs and a corresponding threshold, ``cabal`` will verify that the-downloaded ``root.json`` file has been signed with at least-``<key-threshold>`` keys from your set of ``<root-key-IDs>``.--You can, but are not recommended to, omit these two fields. In that case-``cabal`` will download the ``root.json`` field and use it without-verification. Although this bootstrapping step is then unsafe, all-subsequent access is secure (provided that the downloaded ``root.json``-was not tempered with). Of course, adding ``root-keys`` and-``key-threshold`` to your repository specification only shifts the-problem, because now you somehow need to make sure that the key IDs you-received were the right ones. How that is done is however outside the-scope of ``cabal`` proper.--More information about the security infrastructure can be found at-https://github.com/well-typed/hackage-security.--Legacy repositories-^^^^^^^^^^^^^^^^^^^--Currently ``cabal`` supports two kinds of “legacy” repositories. The-first is specified using--::-- remote-repo: hackage.haskell.org:http://hackage.haskell.org/packages/archive--This is just syntactic sugar for--::-- repository hackage.haskell.org- url: hackage.haskell.org:http://hackage.haskell.org/packages/archive--although, in (and only in) the specific case of Hackage, the URL-``http://hackage.haskell.org/packages/archive`` will be silently-translated to ``http://hackage.haskell.org/``.--The second kind of legacy repositories are so-called “local”-repositories:--::-- local-repo: my-local-repo:/path/to/local/repo--This can be used to access repositories on the local file system.-However, the layout of these local repositories is different from the-layout of remote repositories, and usage of these local repositories is-deprecated.--Secure local repositories-^^^^^^^^^^^^^^^^^^^^^^^^^--If you want to use repositories on your local file system, it is-recommended instead to use a *secure* local repository:--::-- repository my-local-repo- url: file:/path/to/local/repo- secure: True- root-keys: <root-key-IDs>- key-threshold: <key-threshold>--The layout of these secure local repos matches the layout of remote-repositories exactly; the :hackage-pkg:`hackage-repo-tool`-can be used to create and manage such repositories.--.. _installing-packages:--Building and installing packages-================================--.. highlight:: console--After you've unpacked a Cabal package, you can build it by moving into-the root directory of the package and running the ``cabal`` tool there:--::-- $ cabal [command] [option...]--The *command* argument selects a particular step in the build/install-process.--You can also get a summary of the command syntax with--::-- $ cabal help--Alternatively, you can also use the ``Setup.hs`` or ``Setup.lhs``-script:--::-- $ runhaskell Setup.hs [command] [option...]--For the summary of the command syntax, run:--::-- $ cabal help--or--::-- $ runhaskell Setup.hs --help--Building and installing a system package-------------------------------------------::-- $ runhaskell Setup.hs configure --ghc- $ runhaskell Setup.hs build- $ runhaskell Setup.hs install--The first line readies the system to build the tool using GHC; for-example, it checks that GHC exists on the system. The second line-performs the actual building, while the last both copies the build-results to some permanent place and registers the package with GHC.--Building and installing a user package-----------------------------------------::-- $ runhaskell Setup.hs configure --user- $ runhaskell Setup.hs build- $ runhaskell Setup.hs install--The package is installed under the user's home directory and is-registered in the user's package database (:option:`setup configure --user`).--Installing packages from Hackage-----------------------------------The ``cabal`` tool also can download, configure, build and install a-Hackage_ package and all of its-dependencies in a single step. To do this, run:--::-- $ cabal install [PACKAGE...]--To browse the list of available packages, visit the-Hackage_ web site.--Developing with sandboxes----------------------------By default, any dependencies of the package are installed into the-global or user package databases (e.g. using-``cabal install --only-dependencies``). If you're building several-different packages that have incompatible dependencies, this can cause-the build to fail. One way to avoid this problem is to build each-package in an isolated environment ("sandbox"), with a sandbox-local-package database. Because sandboxes are per-project, inconsistent-dependencies can be simply disallowed.--For more on sandboxes, see also `this-article <http://coldwa.st/e/blog/2013-08-20-Cabal-sandbox.html>`__.--Sandboxes: basic usage-^^^^^^^^^^^^^^^^^^^^^^--To initialise a fresh sandbox in the current directory, run-``cabal sandbox init``. All subsequent commands (such as ``build`` and-``install``) from this point will use the sandbox.--::-- $ cd /path/to/my/haskell/library- $ cabal sandbox init # Initialise the sandbox- $ cabal install --only-dependencies # Install dependencies into the sandbox- $ cabal build # Build your package inside the sandbox--It can be useful to make a source package available for installation in-the sandbox - for example, if your package depends on a patched or an-unreleased version of a library. This can be done with the-``cabal sandbox add-source`` command - think of it as "local Hackage_".-If an add-source dependency is later modified, it is reinstalled automatically.--::-- $ cabal sandbox add-source /my/patched/library # Add a new add-source dependency- $ cabal install --dependencies-only # Install it into the sandbox- $ cabal build # Build the local package- $ $EDITOR /my/patched/library/Source.hs # Modify the add-source dependency- $ cabal build # Modified dependency is automatically reinstalled--Normally, the sandbox settings (such as optimisation level) are-inherited from the main Cabal config file (``$HOME/cabal/config``).-Sometimes, though, you need to change some settings specifically for a-single sandbox. You can do this by creating a ``cabal.config`` file in-the same directory with your ``cabal.sandbox.config`` (which was created-by ``sandbox init``). This file has the same syntax as the main Cabal-config file.--::-- $ cat cabal.config- documentation: True- constraints: foo == 1.0, bar >= 2.0, baz- $ cabal build # Uses settings from the cabal.config file--When you have decided that you no longer want to build your package-inside a sandbox, just delete it:--::-- $ cabal sandbox delete # Built-in command- $ rm -rf .cabal-sandbox cabal.sandbox.config # Alternative manual method--Sandboxes: advanced usage-^^^^^^^^^^^^^^^^^^^^^^^^^--The default behaviour of the ``add-source`` command is to track-modifications done to the added dependency and reinstall the sandbox-copy of the package when needed. Sometimes this is not desirable: in-these cases you can use ``add-source --snapshot``, which disables the-change tracking. In addition to ``add-source``, there are also-``list-sources`` and ``delete-source`` commands.--Sometimes one wants to share a single sandbox between multiple packages.-This can be easily done with the ``--sandbox`` option:--::-- $ mkdir -p /path/to/shared-sandbox- $ cd /path/to/shared-sandbox- $ cabal sandbox init --sandbox .- $ cd /path/to/package-a- $ cabal sandbox init --sandbox /path/to/shared-sandbox- $ cd /path/to/package-b- $ cabal sandbox init --sandbox /path/to/shared-sandbox--Note that ``cabal sandbox init --sandbox .`` puts all sandbox files into-the current directory. By default, ``cabal sandbox init`` initialises a-new sandbox in a newly-created subdirectory of the current working-directory (``./.cabal-sandbox``).--Using multiple different compiler versions simultaneously is also-supported, via the ``-w`` option:--::-- $ cabal sandbox init- $ cabal install --only-dependencies -w /path/to/ghc-1 # Install dependencies for both compilers- $ cabal install --only-dependencies -w /path/to/ghc-2- $ cabal configure -w /path/to/ghc-1 # Build with the first compiler- $ cabal build- $ cabal configure -w /path/to/ghc-2 # Build with the second compiler- $ cabal build--It can be occasionally useful to run the compiler-specific package-manager tool (e.g. ``ghc-pkg``) tool on the sandbox package DB directly-(for example, you may need to unregister some packages). The-``cabal sandbox hc-pkg`` command is a convenient wrapper that runs the-compiler-specific package manager tool with the arguments:--::-- $ cabal -v sandbox hc-pkg list- Using a sandbox located at /path/to/.cabal-sandbox- 'ghc-pkg' '--global' '--no-user-package-conf'- '--package-conf=/path/to/.cabal-sandbox/i386-linux-ghc-7.4.2-packages.conf.d'- 'list'- [...]--The ``--require-sandbox`` option makes all sandbox-aware commands-(``install``/``build``/etc.) exit with error if there is no sandbox-present. This makes it harder to accidentally modify the user package-database. The option can be also turned on via the per-user-configuration file (``~/.cabal/config``) or the per-project one-(``$PROJECT_DIR/cabal.config``). The error can be squelched with-``--no-require-sandbox``.--The option ``--sandbox-config-file`` allows to specify the location of-the ``cabal.sandbox.config`` file (by default, ``cabal`` searches for it-in the current directory). This provides the same functionality as-shared sandboxes, but sometimes can be more convenient. Example:--::-- $ mkdir my/sandbox- $ cd my/sandbox- $ cabal sandbox init- $ cd /path/to/my/project- $ cabal --sandbox-config-file=/path/to/my/sandbox/cabal.sandbox.config install- # Uses the sandbox located at /path/to/my/sandbox/.cabal-sandbox- $ cd ~- $ cabal --sandbox-config-file=/path/to/my/sandbox/cabal.sandbox.config install- # Still uses the same sandbox--The sandbox config file can be also specified via the-``CABAL_SANDBOX_CONFIG`` environment variable.--Finally, the flag ``--ignore-sandbox`` lets you temporarily ignore an-existing sandbox:--::-- $ mkdir my/sandbox- $ cd my/sandbox- $ cabal sandbox init- $ cabal --ignore-sandbox install text- # Installs 'text' in the user package database ('~/.cabal').--Creating a binary package----------------------------When creating binary packages (e.g. for Red Hat or Debian) one needs to-create a tarball that can be sent to another system for unpacking in the-root directory:--::-- $ runhaskell Setup.hs configure --prefix=/usr- $ runhaskell Setup.hs build- $ runhaskell Setup.hs copy --destdir=/tmp/mypkg- $ tar -czf mypkg.tar.gz /tmp/mypkg/--If the package contains a library, you need two additional steps:--::-- $ runhaskell Setup.hs register --gen-script- $ runhaskell Setup.hs unregister --gen-script--This creates shell scripts ``register.sh`` and ``unregister.sh``, which-must also be sent to the target system. After unpacking there, the-package must be registered by running the ``register.sh`` script. The-``unregister.sh`` script would be used in the uninstall procedure of the-package. Similar steps may be used for creating binary packages for-Windows.--The following options are understood by all commands:--.. program:: setup--.. option:: --help, -h or -?-- List the available options for the command.--.. option:: --verbose=n or -v n-- Set the verbosity level (0-3). The normal level is 1; a missing *n*- defaults to 2.-- There is also an extended version of this command which can be- used to fine-tune the verbosity of output. It takes the- form ``[silent|normal|verbose|debug]``\ *flags*, where *flags*- is a list of ``+`` flags which toggle various aspects of- output. At the moment, only ``+callsite`` and ``+callstack``- are supported, which respectively toggle call site and call- stack printing (these are only supported if Cabal- is built with a sufficiently recent GHC.)--The various commands and the additional options they support are-described below. In the simple build infrastructure, any other options-will be reported as errors.--.. _setup-configure:--setup configure------------------.. program:: setup configure--Prepare to build the package. Typically, this step checks that the-target platform is capable of building the package, and discovers-platform-specific features that are needed during the build.--The user may also adjust the behaviour of later stages using the options-listed in the following subsections. In the simple build infrastructure,-the values supplied via these options are recorded in a private file-read by later stages.--If a user-supplied ``configure`` script is run (see the section on-`system-dependent-parameters <developing-packages.html#system-dependent-parameters>`__ or-on `complex-packages <developing-packages.html#more-complex-packages>`__), it is-passed the :option:`--with-hc-pkg`, :option:`--prefix`, :option:`--bindir`,-:option:`--libdir`, :option:`--dynlibdir`, :option:`--datadir`, :option:`--libexecdir` and-:option:`--sysconfdir` options. In addition the value of the-:option:`--with-compiler` option is passed in a :option:`--with-hc-pkg` option-and all options specified with :option:`--configure-option` are passed on.--In Cabal 2.0, support for a single positional argument was added to-``setup configure`` This makes Cabal configure a the specific component-to be configured. Specified names can be qualified with ``lib:`` or-``exe:`` in case just a name is ambiguous (as would be the case for a-package named ``p`` which has a library and an executable named ``p``.)-This has the following effects:--- Subsequent invocations of ``cabal build``, ``register``, etc. operate only- on the configured component.--- Cabal requires all "internal" dependencies (e.g., an executable- depending on a library defined in the same package) must be found in- the set of databases via :option:`--package-db` (and related flags): these- dependencies are assumed to be up-to-date. A dependency can be- explicitly specified using :option:`--dependency` simply by giving the name- of the internal library; e.g., the dependency for an internal library- named ``foo`` is given as- ``--dependency=pkg-internal=pkg-1.0-internal-abcd``.--- Only the dependencies needed for the requested component are- required. Similarly, when :option:`--exact-configuration` is specified,- it's only necessary to specify :option:`--dependency` for the component.- (As mentioned previously, you *must* specify internal dependencies as- well.)--- Internal ``build-tool-depends`` and ``build-tools`` dependencies are expected- to be in the ``PATH`` upon subsequent invocations of ``setup``.--Full details can be found in the `Componentized Cabal-proposal <https://github.com/ezyang/ghc-proposals/blob/master/proposals/0000-componentized-cabal.rst>`__.--Programs used for building-^^^^^^^^^^^^^^^^^^^^^^^^^^--The following options govern the programs used to process the source-files of a package:--.. option:: --ghc or -g, --jhc, --lhc, --uhc-- Specify which Haskell implementation to use to build the package. At- most one of these flags may be given. If none is given, the- implementation under which the setup script was compiled or- interpreted is used.--.. option:: --with-compiler=path or -w *path*-- Specify the path to a particular compiler. If given, this must match- the implementation selected above. The default is to search for the- usual name of the selected implementation.-- This flag also sets the default value of the :option:`--with-hc-pkg`- option to the package tool for this compiler. Check the output of- ``setup configure -v`` to ensure that it finds the right package- tool (or use :option:`--with-hc-pkg` explicitly).--.. option:: --with-hc-pkg=path-- Specify the path to the package tool, e.g. ``ghc-pkg``. The package- tool must be compatible with the compiler specified by- :option:`--with-compiler`. If this option is omitted, the default value is- determined from the compiler selected.--.. option:: --with-prog=path-- Specify the path to the program *prog*. Any program known to Cabal- can be used in place of *prog*. It can either be a fully path or the- name of a program that can be found on the program search path. For- example: ``--with-ghc=ghc-6.6.1`` or- ``--with-cpphs=/usr/local/bin/cpphs``. The full list of accepted- programs is not enumerated in this user guide. Rather, run- ``cabal install --help`` to view the list.--.. option:: --prog-options=options-- Specify additional options to the program *prog*. Any program known- to Cabal can be used in place of *prog*. For example:- ``--alex-options="--template=mytemplatedir/"``. The *options* is- split into program options based on spaces. Any options containing- embedded spaced need to be quoted, for example- ``--foo-options='--bar="C:\Program File\Bar"'``. As an alternative- that takes only one option at a time but avoids the need to quote,- use :option:`--prog-option` instead.--.. option:: --prog-option=option-- Specify a single additional option to the program *prog*. For- passing an option that contain embedded spaces, such as a file name- with embedded spaces, using this rather than :option:`--prog-options`- means you do not need an additional level of quoting. Of course if you- are using a command shell you may still need to quote, for example- ``--foo-options="--bar=C:\Program File\Bar"``.--All of the options passed with either :option:`--prog-options`-or :option:`--prog-option` are passed in the order they were-specified on the configure command line.--Installation paths-^^^^^^^^^^^^^^^^^^--The following options govern the location of installed files from a-package:--.. option:: --prefix=dir-- The root of the installation. For example for a global install you- might use ``/usr/local`` on a Unix system, or ``C:\Program Files``- on a Windows system. The other installation paths are usually- subdirectories of *prefix*, but they don't have to be.-- In the simple build system, *dir* may contain the following path- variables: ``$pkgid``, ``$pkg``, ``$version``, ``$compiler``,- ``$os``, ``$arch``, ``$abi``, ``$abitag``--.. option:: --bindir=dir-- Executables that the user might invoke are installed here.-- In the simple build system, *dir* may contain the following path- variables: ``$prefix``, ``$pkgid``, ``$pkg``, ``$version``,- ``$compiler``, ``$os``, ``$arch``, ``$abi``, ``$abitag``--.. option:: --libdir=dir-- Object-code libraries are installed here.-- In the simple build system, *dir* may contain the following path- variables: ``$prefix``, ``$bindir``, ``$pkgid``, ``$pkg``,- ``$version``, ``$compiler``, ``$os``, ``$arch``, ``$abi``,- ``$abitag``--.. option:: --dynlibdir=dir-- Dynamic libraries are installed here.-- By default, this is set to `$libdir/$abi`, which is usually not equal to- `$libdir/$libsubdir`.-- In the simple build system, *dir* may contain the following path- variables: ``$prefix``, ``$bindir``, ``$libdir``, ``$pkgid``, ``$pkg``,- ``$version``, ``$compiler``, ``$os``, ``$arch``, ``$abi``,- ``$abitag``--.. option:: --libexecdir=dir-- Executables that are not expected to be invoked directly by the user- are installed here.-- In the simple build system, *dir* may contain the following path- variables: ``$prefix``, ``$bindir``, ``$libdir``, ``$libsubdir``,- ``$pkgid``, ``$pkg``, ``$version``, ``$compiler``, ``$os``,- ``$arch``, ``$abi``, ``$abitag``--.. option:: --datadir=dir-- Architecture-independent data files are installed here.-- In the simple build system, *dir* may contain the following path- variables: ``$prefix``, ``$bindir``, ``$libdir``, ``$libsubdir``,- ``$pkgid``, ``$pkg``, ``$version``, ``$compiler``, ``$os``,- ``$arch``, ``$abi``, ``$abitag``--.. option:: --sysconfdir=dir-- Installation directory for the configuration files.-- In the simple build system, *dir* may contain the following path- variables: ``$prefix``, ``$bindir``, ``$libdir``, ``$libsubdir``,- ``$pkgid``, ``$pkg``, ``$version``, ``$compiler``, ``$os``,- ``$arch``, ``$abi``, ``$abitag``--In addition the simple build system supports the following installation-path options:--.. option:: --libsubdir=dir-- A subdirectory of *libdir* in which libraries are actually installed. For- example, in the simple build system on Unix, the default *libdir* is- ``/usr/local/lib``, and *libsubdir* contains the compiler ABI and package- identifier,- e.g. ``x86_64-linux-ghc-8.0.2/mypkg-0.1.0-IxQNmCA7qrSEQNkoHSF7A``, so- libraries would be installed in- ``/usr/local/lib/x86_64-linux-ghc-8.0.2/mypkg-0.1.0-IxQNmCA7qrSEQNkoHSF7A/``.-- *dir* may contain the following path variables: ``$pkgid``,- ``$pkg``, ``$version``, ``$compiler``, ``$os``, ``$arch``, ``$abi``,- ``$abitag``--.. option:: --libexecsubdir=dir-- A subdirectory of *libexecdir* in which private executables are- installed. For example, in the simple build system on Unix, the default- *libexecdir* is ``/usr/local/libexec``, and *libsubdir* is- ``x86_64-linux-ghc-8.0.2/mypkg-0.1.0``, so private executables would be- installed in ``/usr/local/libexec/x86_64-linux-ghc-8.0.2/mypkg-0.1.0/``-- *dir* may contain the following path variables: ``$pkgid``,- ``$pkg``, ``$version``, ``$compiler``, ``$os``, ``$arch``, ``$abi``,- ``$abitag``--.. option:: --datasubdir=dir-- A subdirectory of *datadir* in which data files are actually- installed.-- *dir* may contain the following path variables: ``$pkgid``,- ``$pkg``, ``$version``, ``$compiler``, ``$os``, ``$arch``, ``$abi``,- ``$abitag``--.. option:: --docdir=dir-- Documentation files are installed relative to this directory.-- *dir* may contain the following path variables: ``$prefix``,- ``$bindir``, ``$libdir``, ``$libsubdir``, ``$datadir``,- ``$datasubdir``, ``$pkgid``, ``$pkg``, ``$version``, ``$compiler``,- ``$os``, ``$arch``, ``$abi``, ``$abitag``--.. option:: --htmldir=dir-- HTML documentation files are installed relative to this directory.-- *dir* may contain the following path variables: ``$prefix``,- ``$bindir``, ``$libdir``, ``$libsubdir``, ``$datadir``,- ``$datasubdir``, ``$docdir``, ``$pkgid``, ``$pkg``, ``$version``,- ``$compiler``, ``$os``, ``$arch``, ``$abi``, ``$abitag``--.. option:: --program-prefix=prefix-- Prepend *prefix* to installed program names.-- *prefix* may contain the following path variables: ``$pkgid``,- ``$pkg``, ``$version``, ``$compiler``, ``$os``, ``$arch``, ``$abi``,- ``$abitag``--.. option:: --program-suffix=suffix-- Append *suffix* to installed program names. The most obvious use for- this is to append the program's version number to make it possible- to install several versions of a program at once:- ``--program-suffix='$version'``.-- *suffix* may contain the following path variables: ``$pkgid``,- ``$pkg``, ``$version``, ``$compiler``, ``$os``, ``$arch``, ``$abi``,- ``$abitag``--Path variables in the simple build system-"""""""""""""""""""""""""""""""""""""""""--For the simple build system, there are a number of variables that can be-used when specifying installation paths. The defaults are also specified-in terms of these variables. A number of the variables are actually for-other paths, like ``$prefix``. This allows paths to be specified-relative to each other rather than as absolute paths, which is important-for building relocatable packages (see `prefix-independence <#prefix-independence>`__).--$prefix- The path variable that stands for the root of the installation. For- an installation to be relocatable, all other installation paths must- be relative to the ``$prefix`` variable.-$bindir- The path variable that expands to the path given by the :option:`--bindir`- configure option (or the default).-$libdir- As above but for :option:`--libdir`-$libsubdir- As above but for :option:`--libsubdir`-$dynlibdir- As above but for :option:`--dynlibdir`-$datadir- As above but for :option:`--datadir`-$datasubdir- As above but for :option:`--datasubdir`-$docdir- As above but for :option:`--docdir`-$pkgid- The name and version of the package, e.g. ``mypkg-0.2``-$pkg- The name of the package, e.g. ``mypkg``-$version- The version of the package, e.g. ``0.2``-$compiler- The compiler being used to build the package, e.g. ``ghc-6.6.1``-$os- The operating system of the computer being used to build the- package, e.g. ``linux``, ``windows``, ``osx``, ``freebsd`` or- ``solaris``-$arch- The architecture of the computer being used to build the package,- e.g. ``i386``, ``x86_64``, ``ppc`` or ``sparc``-$abitag- An optional tag that a compiler can use for telling incompatible- ABI's on the same architecture apart. GHCJS encodes the underlying- GHC version in the ABI tag.-$abi- A shortcut for getting a path that completely identifies the- platform in terms of binary compatibility. Expands to the same value- as ``$arch-$os-compiler-$abitag`` if the compiler uses an abi tag,- ``$arch-$os-$compiler`` if it doesn't.--Paths in the simple build system-""""""""""""""""""""""""""""""""--For the simple build system, the following defaults apply:--.. list-table:: Default installation paths-- * - Option- - Unix Default- - Windows Default- * - :option:`--prefix` (global)- - ``/usr/local``- - ``%PROGRAMFILES%\Haskell``- * - :option:`--prefix` (per-user)- - ``$HOME/.cabal``- - ``%APPDATA%\cabal``- * - :option:`--bindir`- - ``$prefix/bin``- - ``$prefix\bin``- * - :option:`--libdir`- - ``$prefix/lib``- - ``$prefix``- * - :option:`--libsubdir` (others)- - ``$pkgid/$compiler``- - ``$pkgid\$compiler``- * - :option:`--dynlibdir`- - ``$libdir/$abi``- - ``$libdir\$abi``- * - :option:`--libexecdir`- - ``$prefix/libexec``- - ``$prefix\$pkgid``- * - :option:`--datadir` (executable)- - ``$prefix/share``- - ``$prefix``- * - :option:`--datadir` (library)- - ``$prefix/share``- - ``%PROGRAMFILES%\Haskell``- * - :option:`--datasubdir`- - ``$pkgid``- - ``$pkgid``- * - :option:`--docdir`- - ``$datadir/doc/$pkgid``- - ``$prefix\doc\$pkgid``- * - :option:`--sysconfdir`- - ``$prefix/etc``- - ``$prefix\etc``- * - :option:`--htmldir`- - ``$docdir/html``- - ``$docdir\html``- * - :option:`--program-prefix`- - (empty)- - (empty)- * - :option:`--program-suffix`- - (empty)- - (empty)--Prefix-independence-"""""""""""""""""""--On Windows it is possible to obtain the pathname of the running program.-This means that we can construct an installable executable package that-is independent of its absolute install location. The executable can find-its auxiliary files by finding its own path and knowing the location of-the other files relative to ``$bindir``. Prefix-independence is-particularly useful: it means the user can choose the install location-(i.e. the value of ``$prefix``) at install-time, rather than having to-bake the path into the binary when it is built.--In order to achieve this, we require that for an executable on Windows,-all of ``$bindir``, ``$libdir``, ``$dynlibdir``, ``$datadir`` and ``$libexecdir`` begin-with ``$prefix``. If this is not the case then the compiled executable-will have baked-in all absolute paths.--The application need do nothing special to achieve prefix-independence.-If it finds any files using ``getDataFileName`` and the `other functions-provided for the-purpose <developing-packages.html#accessing-data-files-from-package-code>`__,-the files will be accessed relative to the location of the current-executable.--A library cannot (currently) be prefix-independent, because it will be-linked into an executable whose file system location bears no relation-to the library package.--Controlling Flag Assignments-^^^^^^^^^^^^^^^^^^^^^^^^^^^^--Flag assignments (see the `resolution of conditions and-flags <developing-packages.html#resolution-of-conditions-and-flags>`__)-can be controlled with the following command line options.--.. option:: -f flagname or -f -flagname-- Force the specified flag to ``true`` or ``false`` (if preceded with- a ``-``). Later specifications for the same flags will override- earlier, i.e., specifying ``-fdebug -f-debug`` is equivalent to- ``-f-debug``--.. option:: --flags=flagspecs-- Same as ``-f``, but allows specifying multiple flag assignments at- once. The parameter is a space-separated list of flag names (to- force a flag to ``true``), optionally preceded by a ``-`` (to force- a flag to ``false``). For example,- ``--flags="debug -feature1 feature2"`` is equivalent to- ``-fdebug -f-feature1 -ffeature2``.--Building Test Suites-^^^^^^^^^^^^^^^^^^^^--.. option:: --enable-tests-- Build the test suites defined in the package description file during- the ``build`` stage. Check for dependencies required by the test- suites. If the package is configured with this option, it will be- possible to run the test suites with the ``test`` command after the- package is built.--.. option:: --disable-tests-- (default) Do not build any test suites during the ``build`` stage.- Do not check for dependencies required only by the test suites. It- will not be possible to invoke the ``test`` command without- reconfiguring the package.--.. option:: --enable-coverage-- Build libraries and executables (including test suites) with Haskell- Program Coverage enabled. Running the test suites will automatically- generate coverage reports with HPC.--.. option:: --disable-coverage-- (default) Do not enable Haskell Program Coverage.--Miscellaneous options-^^^^^^^^^^^^^^^^^^^^^--.. option:: --user-- Does a per-user installation. This changes the `default installation- prefix <#paths-in-the-simple-build-system>`__. It also allow- dependencies to be satisfied by the user's package database, in- addition to the global database. This also implies a default of- ``--user`` for any subsequent ``install`` command, as packages- registered in the global database should not depend on packages- registered in a user's database.--.. option:: --global-- (default) Does a global installation. In this case package- dependencies must be satisfied by the global package database. All- packages in the user's package database will be ignored. Typically- the final installation step will require administrative privileges.--.. option:: --package-db=db-- Allows package dependencies to be satisfied from this additional- package database *db* in addition to the global package database.- All packages in the user's package database will be ignored. The- interpretation of *db* is implementation-specific. Typically it will- be a file or directory. Not all implementations support arbitrary- package databases.-- This pushes an extra db onto the db stack. The :option:`--global` and- :option:`--user` mode switches add the respective [Global] and [Global,- User] dbs to the initial stack. There is a compiler-implementation- constraint that the global db must appear first in the stack, and if- the user one appears at all, it must appear immediately after the- global db.-- To reset the stack, use ``--package-db=clear``.--.. option:: --ipid=ipid-- Specifies the *installed package identifier* of the package to be- built; this identifier is passed on to GHC and serves as the basis- for linker symbols and the ``id`` field in a ``ghc-pkg``- registration. When a package has multiple components, the actual- component identifiers are derived off of this identifier (e.g., an- internal library ``foo`` from package ``p-0.1-abcd`` will get the- identifier ``p-0.1-abcd-foo``.--.. option:: --cid=cid-- Specifies the *component identifier* of the component being built;- this is only valid if you are configuring a single component.--.. option:: --default-user-config=file-- Allows a "default" ``cabal.config`` freeze file to be passed in- manually. This file will only be used if one does not exist in the- project directory already. Typically, this can be set from the- global cabal ``config`` file so as to provide a default set of- partial constraints to be used by projects, providing a way for- users to peg themselves to stable package collections.--.. option:: --enable-optimization[=n] or -O [n]-- (default) Build with optimization flags (if available). This is- appropriate for production use, taking more time to build faster- libraries and programs.-- The optional *n* value is the optimisation level. Some compilers- support multiple optimisation levels. The range is 0 to 2. Level 0- is equivalent to :option:`--disable-optimization`, level 1 is the- default if no *n* parameter is given. Level 2 is higher optimisation- if the compiler supports it. Level 2 is likely to lead to longer- compile times and bigger generated code.--.. option:: --disable-optimization-- Build without optimization. This is suited for development: building- will be quicker, but the resulting library or programs will be- slower.--.. option:: --enable-profiling-- Build libraries and executables with profiling enabled (for- compilers that support profiling as a separate mode). For this to- work, all libraries used by this package must also have been built- with profiling support. For libraries this involves building an- additional instance of the library in addition to the normal- non-profiling instance. For executables it changes the single- executable to be built in profiling mode.-- This flag covers both libraries and executables, but can be- overridden by the :option:`--enable-library-profiling` flag.-- See also the :option:`--profiling-detail` flag below.--.. option:: --disable-profiling-- (default) Do not enable profiling in generated libraries and- executables.--.. option:: --enable-library-profiling or -p-- As with :option:`--enable-profiling` above, but it applies only for- libraries. So this generates an additional profiling instance of the- library in addition to the normal non-profiling instance.-- The :option:`--enable-profiling` flag controls the profiling mode for both- libraries and executables, but if different modes are desired for- libraries versus executables then use :option:`--enable-library-profiling`- as well.--.. option:: --disable-library-profiling-- (default) Do not generate an additional profiling version of the library.--.. option:: --profiling-detail[=level]-- Some compilers that support profiling, notably GHC, can allocate- costs to different parts of the program and there are different- levels of granularity or detail with which this can be done. In- particular for GHC this concept is called "cost centers", and GHC- can automatically add cost centers, and can do so in different ways.-- This flag covers both libraries and executables, but can be- overridden by the :option:`--library-profiling-detail` flag.-- Currently this setting is ignored for compilers other than GHC. The- levels that cabal currently supports are:-- default- For GHC this uses ``exported-functions`` for libraries and- ``toplevel-functions`` for executables.- none- No costs will be assigned to any code within this component.- exported-functions- Costs will be assigned at the granularity of all top level- functions exported from each module. In GHC specifically, this- is for non-inline functions.- toplevel-functions- Costs will be assigned at the granularity of all top level- functions in each module, whether they are exported from the- module or not. In GHC specifically, this is for non-inline- functions.- all-functions- Costs will be assigned at the granularity of all functions in- each module, whether top level or local. In GHC specifically,- this is for non-inline toplevel or where-bound functions or- values.-- This flag is new in Cabal-1.24. Prior versions used the equivalent- of ``none`` above.--.. option:: --library-profiling-detail[=level]-- As with :option:`--profiling-detail` above, but it applies only for- libraries.-- The level for both libraries and executables is set by the- :option:`--profiling-detail` flag, but if different levels are desired- for libraries versus executables then use- :option:`--library-profiling-detail` as well.--.. option:: --enable-library-vanilla-- (default) Build ordinary libraries (as opposed to profiling- libraries). This is independent of the- :option:`--enable-library-profiling` option. If you enable both, you get- both.--.. option:: --disable-library-vanilla-- Do not build ordinary libraries. This is useful in conjunction with- :option:`--enable-library-profiling` to build only profiling libraries,- rather than profiling and ordinary libraries.--.. option:: --enable-library-for-ghci-- (default) Build libraries suitable for use with GHCi.--.. option:: --disable-library-for-ghci-- Not all platforms support GHCi and indeed on some platforms, trying- to build GHCi libs fails. In such cases this flag can be used as a- workaround.--.. option:: --enable-split-objs-- Use the GHC ``-split-objs`` feature when building the library. This- reduces the final size of the executables that use the library by- allowing them to link with only the bits that they use rather than- the entire library. The downside is that building the library takes- longer and uses considerably more memory.--.. option:: --disable-split-objs-- (default) Do not use the GHC ``-split-objs`` feature. This makes- building the library quicker but the final executables that use the- library will be larger.--.. option:: --enable-executable-stripping-- (default) When installing binary executable programs, run the- ``strip`` program on the binary. This can considerably reduce the- size of the executable binary file. It does this by removing- debugging information and symbols. While such extra information is- useful for debugging C programs with traditional debuggers it is- rarely helpful for debugging binaries produced by Haskell compilers.-- Not all Haskell implementations generate native binaries. For such- implementations this option has no effect.--.. option:: --disable-executable-stripping-- Do not strip binary executables during installation. You might want- to use this option if you need to debug a program using gdb, for- example if you want to debug the C parts of a program containing- both Haskell and C code. Another reason is if your are building a- package for a system which has a policy of managing the stripping- itself (such as some Linux distributions).--.. option:: --enable-shared-- Build shared library. This implies a separate compiler run to- generate position independent code as required on most platforms.--.. option:: --disable-shared-- (default) Do not build shared library.--.. option:: --enable-executable-dynamic-- Link executables dynamically. The executable's library dependencies- should be built as shared objects. This implies :option:`--enable-shared`- unless :option:`--disable-shared` is explicitly specified.--.. option:: --disable-executable-dynamic-- (default) Link executables statically.--.. option:: --configure-option=str-- An extra option to an external ``configure`` script, if one is used- (see the section on `system-dependent- parameters <developing-packages.html#system-dependent-parameters>`__).- There can be several of these options.--.. option:: --extra-include-dirs[=dir]-- An extra directory to search for C header files. You can use this- flag multiple times to get a list of directories.-- You might need to use this flag if you have standard system header- files in a non-standard location that is not mentioned in the- package's ``.cabal`` file. Using this option has the same affect as- appending the directory *dir* to the ``include-dirs`` field in each- library and executable in the package's ``.cabal`` file. The- advantage of course is that you do not have to modify the package at- all. These extra directories will be used while building the package- and for libraries it is also saved in the package registration- information and used when compiling modules that use the library.--.. option:: --extra-lib-dirs[=dir]-- An extra directory to search for system libraries files. You can use- this flag multiple times to get a list of directories.--.. option:: --extra-framework-dirs[=dir]-- An extra directory to search for frameworks (OS X only). You can use- this flag multiple times to get a list of directories.-- You might need to use this flag if you have standard system- libraries in a non-standard location that is not mentioned in the- package's ``.cabal`` file. Using this option has the same affect as- appending the directory *dir* to the ``extra-lib-dirs`` field in- each library and executable in the package's ``.cabal`` file. The- advantage of course is that you do not have to modify the package at- all. These extra directories will be used while building the package- and for libraries it is also saved in the package registration- information and used when compiling modules that use the library.--.. option:: --dependency[=pkgname=ipid]-- Specify that a particular dependency should used for a particular- package name. In particular, it declares that any reference to- *pkgname* in a ``build-depends`` should be resolved to *ipid*.--.. option:: --exact-configuration-- This changes Cabal to require every dependency be explicitly- specified using :option:`--dependency`, rather than use Cabal's (very- simple) dependency solver. This is useful for programmatic use of- Cabal's API, where you want to error if you didn't specify enough- :option:`--dependency` flags.--.. option:: --allow-newer[=pkgs], --allow-older[=pkgs]-- Selectively relax upper or lower bounds in dependencies without- editing the package description respectively.-- The following description focuses on upper bounds and the- :option:`--allow-newer` flag, but applies analogously to- :option:`--allow-older` and lower bounds. :option:`--allow-newer`- and :option:`--allow-older` can be used at the same time.-- If you want to install a package A that depends on B >= 1.0 && <- 2.0, but you have the version 2.0 of B installed, you can compile A- against B 2.0 by using ``cabal install --allow-newer=B A``. This- works for the whole package index: if A also depends on C that in- turn depends on B < 2.0, C's dependency on B will be also relaxed.-- Example:-- ::-- $ cd foo- $ cabal configure- Resolving dependencies...- cabal: Could not resolve dependencies:- [...]- $ cabal configure --allow-newer- Resolving dependencies...- Configuring foo...-- Additional examples:-- ::-- # Relax upper bounds in all dependencies.- $ cabal install --allow-newer foo-- # Relax upper bounds only in dependencies on bar, baz and quux.- $ cabal install --allow-newer=bar,baz,quux foo-- # Relax the upper bound on bar and force bar==2.1.- $ cabal install --allow-newer=bar --constraint="bar==2.1" foo-- It's also possible to limit the scope of :option:`--allow-newer` to single- packages with the ``--allow-newer=scope:dep`` syntax. This means- that the dependency on ``dep`` will be relaxed only for the package- ``scope``.-- Example:-- ::-- # Relax upper bound in foo's dependency on base; also relax upper bound in- # every package's dependency on lens.- $ cabal install --allow-newer=foo:base,lens-- # Relax upper bounds in foo's dependency on base and bar's dependency- # on time; also relax the upper bound in the dependency on lens specified by- # any package.- $ cabal install --allow-newer=foo:base,lens --allow-newer=bar:time-- Finally, one can enable :option:`--allow-newer` permanently by setting- ``allow-newer: True`` in the ``~/.cabal/config`` file. Enabling- 'allow-newer' selectively is also supported in the config file- (``allow-newer: foo, bar, baz:base``).--.. option:: --constraint=constraint-- Restrict solutions involving a package to given version- bounds, flag settings, and other properties. For example, to- consider only install plans that use version 2.1 of ``bar``- or do not use ``bar`` at all, write:-- ::-- $ cabal install --constraint="bar == 2.1"-- Version bounds have the same syntax as ``build-depends``. As- a special case, the following prevents ``bar`` from being- used at all:-- ::- - # Note: this is just syntax sugar for '> 1 && < 1', and is- # supported by build-depends.- $ cabal install --constraint="bar -none"-- You can also specify flag assignments:-- ::-- # Require bar to be installed with the foo flag turned on and- # the baz flag turned off.- $ cabal install --constraint="bar +foo -baz"-- To specify multiple constraints, you may pass the- ``constraint`` option multiple times.-- There are also some more specialized constraints, which most people- don't generally need:-- ::-- # Require that a version of bar be used that is already installed in- # the global package database.- $ cabal install --constraint="bar installed"-- # Require the local source copy of bar to be used.- # (Note: By default, if we have a local package we will- # automatically use it, so it will generally not be necessary to- # specify this.)- $ cabal install --constraint="bar source"-- # Require that bar have test suites and benchmarks enabled.- $ cabal install --constraint="bar test" --constraint="bar bench"-- By default, constraints only apply to build dependencies- (``build-depends``), build dependencies of build- dependencies, and so on. Constraints normally do not apply to- dependencies of the ``Setup.hs`` script of any package- (``setup-depends``) nor do they apply to build tools- (``build-tool-depends``) or the dependencies of build- tools. To explicitly apply a constraint to a setup or build- tool dependency, you can add a qualifier to the constraint as- follows:-- ::-- # Example use of the 'any' qualifier. This constraint- # applies to package bar anywhere in the dependency graph.- $ cabal install --constraint="any.bar == 1.0"-- ::-- # Example uses of 'setup' qualifiers.-- # This constraint applies to package bar when it is a- # dependency of any Setup.hs script.- $ cabal install --constraint="setup.bar == 1.0"-- # This constraint applies to package bar when it is a- # dependency of the Setup.hs script of package foo.- $ cabal install --constraint="foo:setup.bar == 1.0"-- .. TODO: Uncomment this example once we decide on a syntax for 'exe'.- .. # Example use of the 'exe' (executable build tool)- # qualifier. This constraint applies to package baz when it- # is a dependency of the build tool bar being used to- # build package foo.- $ cabal install --constraint="foo:bar:exe.baz == 1.0"--.. option:: --preference=preference-- Specify a soft constraint on versions of a package. The solver will- attempt to satisfy these preferences on a "best-effort" basis.--.. _setup-build:--setup build--------------Perform any preprocessing or compilation needed to make this package-ready for installation.--This command takes the following options:--.. program:: setup build--.. option:: --prog-options=options, --prog-option=option-- These are mostly the same as the `options configure- step <#setup-configure>`__. Unlike the options specified at the- configure step, any program options specified at the build step are- not persistent but are used for that invocation only. They options- specified at the build step are in addition not in replacement of- any options specified at the configure step.--.. _setup-haddock:--setup haddock----------------.. program:: setup haddock--Build the documentation for the package using Haddock_.-By default, only the documentation for the exposed modules is generated-(but see the :option:`--executables` and :option:`--internal` flags below).--This command takes the following options:--.. option:: --hoogle-- Generate a file ``dist/doc/html/``\ *pkgid*\ ``.txt``, which can be- converted by Hoogle_ into a- database for searching. This is equivalent to running Haddock_- with the ``--hoogle`` flag.--.. option:: --html-location=url-- Specify a template for the location of HTML documentation for- prerequisite packages. The substitutions (`see- listing <#paths-in-the-simple-build-system>`__) are applied to the- template to obtain a location for each package, which will be used- by hyperlinks in the generated documentation. For example, the- following command generates links pointing at Hackage_ pages:-- setup haddock- --html-location='http://hackage.haskell.org/packages/archive/$pkg/latest/doc/html'-- Here the argument is quoted to prevent substitution by the shell. If- this option is omitted, the location for each package is obtained- using the package tool (e.g. ``ghc-pkg``).--.. option:: --executables-- Also run Haddock_ for the modules of all the executable programs. By default- Haddock_ is run only on the exported modules.--.. option:: --internal-- Run Haddock_ for the all- modules, including unexposed ones, and make- Haddock_ generate documentation- for unexported symbols as well.--.. option:: --css=path-- The argument *path* denotes a CSS file, which is passed to- Haddock_ and used to set the- style of the generated documentation. This is only needed to- override the default style that- Haddock_ uses.--.. option:: --hyperlink-source-- Generate Haddock_ documentation integrated with HsColour_ . First,- HsColour_ is run to generate colourised code. Then Haddock_ is run to- generate HTML documentation. Each entity shown in the documentation is- linked to its definition in the colourised code.--.. option:: --hscolour-css=path-- The argument *path* denotes a CSS file, which is passed to HsColour_ as in-- runhaskell Setup.hs hscolour --css=*path*--.. _setup-hscolour:--setup hscolour-----------------Produce colourised code in HTML format using HsColour_. Colourised code for-exported modules is put in ``dist/doc/html/``\ *pkgid*\ ``/src``.--This command takes the following options:--.. program:: setup hscolour--.. option:: --executables-- Also run HsColour_ on the sources of all executable programs. Colourised- code is put in ``dist/doc/html/``\ *pkgid*/*executable*\ ``/src``.--.. option:: --css=path-- Use the given CSS file for the generated HTML files. The CSS file- defines the colours used to colourise code. Note that this copies- the given CSS file to the directory with the generated HTML files- (renamed to ``hscolour.css``) rather than linking to it.--.. _setup-install:--setup install----------------.. program:: setup install--Copy the files into the install locations and (for library packages)-register the package with the compiler, i.e. make the modules it-contains available to programs.--The `install locations <#installation-paths>`__ are determined by-options to `setup configure`_.--This command takes the following options:--.. option:: --global-- Register this package in the system-wide database. (This is the- default, unless the :option:`setup configure --user` option was supplied- to the ``configure`` command.)--.. option:: --user-- Register this package in the user's local package database. (This is- the default if the :option:`setup configure --user` option was supplied- to the ``configure`` command.)--.. _setup-copy:--setup copy-------------Copy the files without registering them. This command is mainly of use-to those creating binary packages.--This command takes the following option:--.. program:: setup copy--.. option:: --destdir=path-- Specify the directory under which to place installed files. If this is- not given, then the root directory is assumed.--.. _setup-register:--setup register-----------------Register this package with the compiler, i.e. make the modules it-contains available to programs. This only makes sense for library-packages. Note that the ``install`` command incorporates this action.-The main use of this separate command is in the post-installation step-for a binary package.--This command takes the following options:--.. program:: setup register--.. option:: --global-- Register this package in the system-wide database. (This is the- default.)--.. option:: --user-- Register this package in the user's local package database.--.. option:: --gen-script-- Instead of registering the package, generate a script containing- commands to perform the registration. On Unix, this file is called- ``register.sh``, on Windows, ``register.bat``. This script might be- included in a binary bundle, to be run after the bundle is unpacked- on the target system.--.. option:: --gen-pkg-config[=path]-- Instead of registering the package, generate a package registration- file (or directory, in some circumstances). This only applies to- compilers that support package registration files which at the- moment is only GHC. The file should be used with the compiler's- mechanism for registering packages. This option is mainly intended- for packaging systems. If possible use the :option:`--gen-script` option- instead since it is more portable across Haskell implementations.- The *path* is optional and can be used to specify a particular- output file to generate. Otherwise, by default the file is the- package name and version with a ``.conf`` extension.-- This option outputs a directory if the package requires multiple- registrations: this can occur if internal/convenience libraries are- used. These configuration file names are sorted so that they can be- registered in order.--.. option:: --inplace-- Registers the package for use directly from the build tree, without- needing to install it. This can be useful for testing: there's no- need to install the package after modifying it, just recompile and- test.-- This flag does not create a build-tree-local package database. It- still registers the package in one of the user or global databases.-- However, there are some caveats. It only works with GHC (currently).- It only works if your package doesn't depend on having any- supplemental files installed --- plain Haskell libraries should be- fine.--.. _setup-unregister:--setup unregister-------------------.. program:: setup unregister--Deregister this package with the compiler.--This command takes the following options:--.. option:: --global-- Deregister this package in the system-wide database. (This is the- default.)--.. option:: --user-- Deregister this package in the user's local package database.--.. option:: --gen-script-- Instead of deregistering the package, generate a script containing- commands to perform the deregistration. On Unix, this file is called- ``unregister.sh``, on Windows, ``unregister.bat``. This script might- be included in a binary bundle, to be run on the target system.--.. _setup-clean:--setup clean--------------Remove any local files created during the ``configure``, ``build``,-``haddock``, ``register`` or ``unregister`` steps, and also any files-and directories listed in the :pkg-field:`extra-tmp-files` field.--This command takes the following options:--.. program:: setup clean--.. option:: --save-configure, -s-- Keeps the configuration information so it is not necessary to run- the configure step again before building.--setup test-------------Run the test suites specified in the package description file. Aside-from the following flags, Cabal accepts the name of one or more test-suites on the command line after ``test``. When supplied, Cabal will run-only the named test suites, otherwise, Cabal will run all test suites in-the package.--.. program:: setup test--.. option:: --builddir=dir-- The directory where Cabal puts generated build files (default:- ``dist``). Test logs will be located in the ``test`` subdirectory.--.. option:: --human-log=path-- The template used to name human-readable test logs; the path is- relative to ``dist/test``. By default, logs are named according to- the template ``$pkgid-$test-suite.log``, so that each test suite- will be logged to its own human-readable log file. Template- variables allowed are: ``$pkgid``, ``$compiler``, ``$os``,- ``$arch``, ``$abi``, ``$abitag``, ``$test-suite``, and ``$result``.--.. option:: --machine-log=path-- The path to the machine-readable log, relative to ``dist/test``. The- default template is ``$pkgid.log``. Template variables allowed are:- ``$pkgid``, ``$compiler``, ``$os``, ``$arch``, ``$abi``, ``$abitag``- and ``$result``.--.. option:: --show-details=filter-- Determines if the results of individual test cases are shown on the- terminal. May be ``always`` (always show), ``never`` (never show),- ``failures`` (show only failed results), or ``streaming`` (show all- results in real time).--.. option:: --test-options=options- Give extra options to the test executables.--.. option:: --test-option=option-- give an extra option to the test executables. There is no need to- quote options containing spaces because a single option is assumed,- so options will not be split on spaces.--.. _setup-sdist:--setup sdist--------------Create a system- and compiler-independent source distribution in a file-*package*-*version*\ ``.tar.gz`` in the ``dist`` subdirectory, for-distribution to package builders. When unpacked, the commands listed in-this section will be available.--The files placed in this distribution are the package description file,-the setup script, the sources of the modules named in the package-description file, and files named in the ``license-file``, ``main-is``,-``c-sources``, ``js-sources``, ``data-files``, ``extra-source-files``-and ``extra-doc-files`` fields.--This command takes the following option:--.. program:: setup sdist--.. option:: --snapshot-- Append today's date (in "YYYYMMDD" format) to the version number for- the generated source package. The original package is unaffected.---.. include:: references.inc
@@ -1,200 +0,0 @@-.. highlight:: console--Cabal is the standard package system for-Haskell_ software. It helps people to-configure, build and install Haskell software and to distribute it-easily to other users and developers.--There is a command line tool called ``cabal`` for working with Cabal-packages. It helps with installing existing packages and also helps-people developing their own packages. It can be used to work with local-packages or to install packages from online package archives, including-automatically installing dependencies. By default it is configured to-use Hackage_ which is Haskell's central-package archive that contains thousands of libraries and applications in-the Cabal package format.--Introduction-============--Cabal is a package system for Haskell software. The point of a package-system is to enable software developers and users to easily distribute,-use and reuse software. A package system makes it easier for developers-to get their software into the hands of users. Equally importantly, it-makes it easier for software developers to be able to reuse software-components written by other developers.--Packaging systems deal with packages and with Cabal we call them *Cabal-packages*. The Cabal package is the unit of distribution. Every Cabal-package has a name and a version number which are used to identify the-package, e.g. ``filepath-1.0``.--Cabal packages can depend on other Cabal packages. There are tools to-enable automated package management. This means it is possible for-developers and users to install a package plus all of the other Cabal-packages that it depends on. It also means that it is practical to make-very modular systems using lots of packages that reuse code written by-many developers.--Cabal packages are source based and are typically (but not necessarily)-portable to many platforms and Haskell implementations. The Cabal-package format is designed to make it possible to translate into other-formats, including binary packages for various systems.--When distributed, Cabal packages use the standard compressed tarball-format, with the file extension ``.tar.gz``, e.g.-``filepath-1.0.tar.gz``.--Note that packages are not part of the Haskell language, rather they are-a feature provided by the combination of Cabal and GHC (and several-other Haskell implementations).--A tool for working with packages-----------------------------------There is a command line tool, called "``cabal``", that users and-developers can use to build and install Cabal packages. It can be used-for both local packages and for packages available remotely over the-network. It can automatically install Cabal packages plus any other-Cabal packages they depend on.--Developers can use the tool with packages in local directories, e.g.--::-- $ cd foo/- $ cabal install--While working on a package in a local directory, developers can run the-individual steps to configure and build, and also generate documentation-and run test suites and benchmarks.--It is also possible to install several local packages at once, e.g.--::-- $ cabal install foo/ bar/--Developers and users can use the tool to install packages from remote-Cabal package archives. By default, the ``cabal`` tool is configured to-use the central Haskell package archive called-Hackage_ but it is possible to use it-with any other suitable archive.--::-- $ cabal install xmonad--This will install the ``xmonad`` package plus all of its dependencies.--In addition to packages that have been published in an archive,-developers can install packages from local or remote tarball files, for-example--::-- $ cabal install foo-1.0.tar.gz- $ cabal install http://example.com/foo-1.0.tar.gz--Cabal provides a number of ways for a user to customise how and where a-package is installed. They can decide where a package will be installed,-which Haskell implementation to use and whether to build optimised code-or build with the ability to profile code. It is not expected that users-will have to modify any of the information in the ``.cabal`` file.--For full details, see the section on `building and installing-packages <installing-packages.html>`__.--Note that ``cabal`` is not the only tool for working with Cabal-packages. Due to the standardised format and a library for reading-``.cabal`` files, there are several other special-purpose tools.--What's in a package----------------------A Cabal package consists of:--- Haskell software, including libraries, executables and tests-- metadata about the package in a standard human and machine readable- format (the "``.cabal``" file)-- a standard interface to build the package (the "``Setup.hs``" file)--The ``.cabal`` file contains information about the package, supplied by-the package author. In particular it lists the other Cabal packages that-the package depends on.--For full details on what goes in the ``.cabal`` and ``Setup.hs`` files,-and for all the other features provided by the build system, see the-section on `developing packages <developing-packages.html>`__.--Cabal featureset-------------------Cabal and its associated tools and websites covers:--- a software build system-- software configuration-- packaging for distribution-- automated package management-- - natively using the ``cabal`` command line tool; or- - by translation into native package formats such as RPM or deb--- web and local Cabal package archives-- - central Hackage website with 1000's of Cabal packages--Some parts of the system can be used without others. In particular the-built-in build system for simple packages is optional: it is possible to-use custom build systems.--Similar systems------------------The Cabal system is roughly comparable with the system of Python Eggs,-Ruby Gems or Perl distributions. Each system has a notion of-distributable packages, and has tools to manage the process of-distributing and installing packages.--Hackage is an online archive of Cabal packages. It is roughly comparable-to CPAN but with rather fewer packages (around 5,000 vs 28,000).--Cabal is often compared with autoconf and automake and there is some-overlap in functionality. The most obvious similarity is that the-command line interface for actually configuring and building packages-follows the same steps and has many of the same configuration-parameters.--::-- $ ./configure --prefix=...- $ make- $ make install--compared to--::-- $ cabal configure --prefix=...- $ cabal build- $ cabal install--Cabal's build system for simple packages is considerably less flexible-than make/automake, but has builtin knowledge of how to build Haskell-code and requires very little manual configuration. Cabal's simple build-system is also portable to Windows, without needing a Unix-like-environment such as cygwin/mingwin.--Compared to autoconf, Cabal takes a somewhat different approach to-package configuration. Cabal's approach is designed for automated-package management. Instead of having a configure script that tests for-whether dependencies are available, Cabal packages specify their-dependencies. There is some scope for optional and conditional-dependencies. By having package authors specify dependencies it makes it-possible for tools to install a package and all of its dependencies-automatically. It also makes it possible to translate (in a-mostly-automatically way) into another package format like RPM or deb-which also have automatic dependency resolution.---.. include:: references.inc
@@ -1,103 +0,0 @@-Reporting bugs and deficiencies-===============================--Please report any flaws or feature requests in the `bug-tracker <https://github.com/haskell/cabal/issues>`__.--For general discussion or queries email the libraries mailing list-libraries@haskell.org. There is also a development mailing list-cabal-devel@haskell.org.--Stability of Cabal interfaces-=============================--The Cabal library and related infrastructure is still under active-development. New features are being added and limitations and bugs are-being fixed. This requires internal changes and often user visible-changes as well. We therefore cannot promise complete future-proof-stability, at least not without halting all development work.--This section documents the aspects of the Cabal interface that we can-promise to keep stable and which bits are subject to change.--Cabal file format--------------------This is backwards compatible and mostly forwards compatible. New fields-can be added without breaking older versions of Cabal. Fields can be-deprecated without breaking older packages.--Command-line interface-------------------------Very Stable Command-line interfaces-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--- ``./setup configure``-- ``--prefix``-- ``--user``-- ``--ghc``, ``--uhc``-- ``--verbose``-- ``--prefix``--- ``./setup build``-- ``./setup install``-- ``./setup register``-- ``./setup copy``--Stable Command-line interfaces-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--Unstable command-line-~~~~~~~~~~~~~~~~~~~~~--Functions and Types----------------------The Cabal library follows the `Package Versioning Policy`_.-This means that within a stable major release, for example 1.2.x, there-will be no incompatible API changes. But minor versions increments, for-example 1.2.3, indicate compatible API additions.--The Package Versioning Policy does not require any API guarantees-between major releases, for example between 1.2.x and 1.4.x. In practise-of course not everything changes between major releases. Some parts of-the API are more prone to change than others. The rest of this section-gives some informal advice on what level of API stability you can expect-between major releases.--Very Stable API-~~~~~~~~~~~~~~~--- ``defaultMain``--- ``defaultMainWithHooks defaultUserHooks``--But regular ``defaultMainWithHooks`` isn't stable since ``UserHooks``-changes.--Semi-stable API-~~~~~~~~~~~~~~~--- ``UserHooks`` The hooks API will change in the future--- ``Distribution.*`` is mostly declarative information about packages- and is somewhat stable.--Unstable API-~~~~~~~~~~~~--Everything under ``Distribution.Simple.*`` has no stability guarantee.--Hackage----------The index format is a partly stable interface. It consists of a tar.gz-file that contains directories with ``.cabal`` files in. In future it-may contain more kinds of files so do not assume every file is a-``.cabal`` file. Incompatible revisions to the format would involve-bumping the name of the index file, i.e., ``00-index.tar.gz``,-``01-index.tar.gz`` etc.---.. include:: references.inc
@@ -1,49 +0,0 @@-Nix Integration-===============--`Nix <http://nixos.org/nix/>`_ is a package manager popular with some Haskell developers due to its focus on reliability and reproducibility. ``cabal`` now has the ability to integrate with Nix for dependency management during local package development.--Enabling Nix Integration---------------------------To enable Nix integration, simply pass the ``--enable-nix`` global option when you call ``cabal``. To use this option everywhere, edit your ``$HOME/.cabal/config`` file to include:--.. code-block:: cabal-- nix: True--If the package (which must be locally unpacked) provides a ``shell.nix`` or ``default.nix`` file, this flag will cause ``cabal`` to run most commands through ``nix-shell``. If both expressions are present, ``shell.nix`` is preferred. The following commands are affected:--- ``cabal configure``-- ``cabal build``-- ``cabal repl``-- ``cabal install`` (only if installing into a sandbox)-- ``cabal haddock``-- ``cabal freeze``-- ``cabal gen-bounds``-- ``cabal run``--If the package does not provide an expression, ``cabal`` runs normally.--Creating Nix Expressions---------------------------The Nix package manager is based on a lazy, pure, functional programming language; packages are defined by expressions in this language. The fastest way to create a Nix expression for a Cabal package is with the `cabal2nix <https://github.com/NixOS/cabal2nix>`_ tool. To create a ``shell.nix`` expression for the package in the current directory, run this command:--.. code-block:: console-- $ cabal2nix --shell ./. >shell.nix--Nix Expression Evaluation----------------------------(This section describes for advanced users how Nix expressions are evaluated.)--First, the Nix expression (``shell.nix`` or ``default.nix``) is instantiated with ``nix-instantiate``. The ``--add-root`` and ``--indirect`` options are used to create an indirect root in the Cabal build directory, preventing Nix from garbage collecting the derivation while in use. The ``IN_NIX_SHELL`` environment variable is set so that ``builtins.getEnv`` works as it would in ``nix-shell``.--Next, the commands above are run through ``nix-shell`` using the instantiated derivation. Again, ``--add-root`` and ``--indirect`` are used to prevent Nix from garbage collecting the packages in the environment. The child ``cabal`` process reads the ``CABAL_IN_NIX_SHELL`` environment variable to prevent it from spawning additional child shells.--Further Reading-------------------The `Nix manual <http://nixos.org/nix/manual/#chap-writing-nix-expressions>`_ provides further instructions for writing Nix expressions. The `Nixpkgs manual <http://nixos.org/nixpkgs/manual/#users-guide-to-the-haskell-infrastructure>`_ describes the infrastructure provided for Haskell packages.
@@ -1,34 +0,0 @@-Nix-style Local Builds-======================--Nix-style local builds are a new build system implementation inspired by Nix.-The Nix-style local build system is commonly called "new-build" for short after the ``cabal new-*`` family of commands that control it.-However those names are only temporary until Nix-style local builds becomes the default.--Nix-style local builds combine the best of non-sandboxed and sandboxed Cabal:--1. Like sandboxed Cabal today, we build sets of independent local- packages deterministically and independent of any global state.- new-build will never tell you that it can't build your package- because it would result in a "dangerous reinstall." Given a- particular state of the Hackage index, your build is completely- reproducible. For example, you no longer need to compile packages- with profiling ahead of time; just request profiling and new-build- will rebuild all its dependencies with profiling automatically.--2. Like non-sandboxed Cabal today, builds of external packages are- cached in ``~/.cabal/store``, so that a package can be built once,- and then reused anywhere else it is also used. No need to continually- rebuild dependencies whenever you make a new sandbox: dependencies- which can be shared, are shared.--Nix-style local builds were first released as beta in cabal-install 1.24.-They currently work with all versions of GHC supported by that release: GHC 7.0 and later.--Some features described in this manual are not implemented. If you need-them, please give us a shout and we'll prioritize accordingly.----.. toctree::- nix-local-build
@@ -1,1719 +0,0 @@-.. highlight:: console--Quickstart-==========--Suppose that you are in a directory containing a single Cabal package-which you wish to build. You can configure and build it using Nix-style-local builds with this command (configuring is not necessary):--::-- $ cabal new-build--To open a GHCi shell with this package, use this command:--::-- $ cabal new-repl--Developing multiple packages-------------------------------Many Cabal projects involve multiple packages which need to be built-together. To build multiple Cabal packages, you need to first create a-``cabal.project`` file which declares where all the local package-directories live. For example, in the Cabal repository, there is a root-directory with a folder per package, e.g., the folders ``Cabal`` and-``cabal-install``. The ``cabal.project`` file specifies each folder as-part of the project:--.. code-block:: cabal-- packages: Cabal/- cabal-install/--The expectation is that a ``cabal.project`` is checked into your source-control, to be used by all developers of a project. If you need to make-local changes, they can be placed in ``cabal.project.local`` (which-should not be checked in.)--Then, to build every component of every package, from the top-level-directory, run the command: (Warning: cabal-install-1.24 does NOT have-this behavior; you will need to upgrade to HEAD.)--::-- $ cabal new-build--To build a specific package, you can either run ``new-build`` from the-directory of the package in question:--::-- $ cd cabal-install- $ cabal new-build--or you can pass the name of the package as an argument to-``cabal new-build`` (this works in any subdirectory of the project):--::-- $ cabal new-build cabal-install--You can also specify a specific component of the package to build. For-example, to build a test suite named ``package-tests``, use the command:--::-- $ cabal new-build package-tests--Targets can be qualified with package names. So to request-``package-tests`` *from* the ``Cabal`` package, use-``Cabal:package-tests``.--Unlike sandboxes, there is no need to setup a sandbox or ``add-source``-projects; just check in ``cabal.project`` to your repository and-``new-build`` will just work.--Cookbook-========--How can I profile my library/application?--------------------------------------------First, make sure you have HEAD; 1.24 is affected by :issue:`3790`,-which means that if any project which transitively depends on a-package which has a Custom setup built against Cabal 1.22 or earlier-will silently not work.--Create or edit your ``cabal.project.local``, adding the following-line::-- profiling: True--Now, ``cabal new-build`` will automatically build all libraries and-executables with profiling. You can fine-tune the profiling settings-for each package using :cfg-field:`profiling-detail`::-- package p- profiling-detail: toplevel-functions--Alternately, you can call ``cabal new-build --enable-profiling`` to-temporarily build with profiling.--How it works-============--Local versus external packages---------------------------------One of the primary innovations of Nix-style local builds is the-distinction between local packages, which users edit and recompile and-must be built per-project, versus external packages, which can be cached-across projects. To be more precise:--1. A **local package** is one that is listed explicitly in the- ``packages``, ``optional-packages`` or ``extra-packages`` field of a- project. Usually, these refer to packages whose source code lives- directly in a folder in your project (although, you can list an- arbitrary Hackage package in ``extra-packages`` to force it to be- treated as local).--Local packages, as well as the external packages (below) which depend on-them, are built **inplace**, meaning that they are always built-specifically for the project and are not installed globally. Inplace-packages are not cached and not given unique hashes, which makes them-suitable for packages which you want to edit and recompile.--2. An **external package** is any package which is not listed in the- ``packages`` field. The source code for external packages is usually- retrieved from Hackage.--When an external package does not depend on an inplace package, it can-be built and installed to a **global** store, which can be shared across-projects. These build products are identified by a hash that over all of-the inputs which would influence the compilation of a package (flags,-dependency selection, etc.). Just as in Nix, these hashes uniquely-identify the result of a build; if we compute this identifier and we-find that we already have this ID built, we can just use the already-built version.--The global package store is ``~/.cabal/store`` (configurable via -global `store-dir` option); if you need to clear your store for -whatever reason (e.g., to reclaim disk space or because the global-store is corrupted), deleting this directory is safe (``new-build``-will just rebuild everything it needs on its next invocation).--This split motivates some of the UI choices for Nix-style local build-commands. For example, flags passed to ``cabal new-build`` are only-applied to *local* packages, so that adding a flag to-``cabal new-build`` doesn't necessitate a rebuild of *every* transitive-dependency in the global package store.--In cabal-install HEAD, Nix-style local builds also take advantage of a-new Cabal library feature, `per-component-builds <https://github.com/ezyang/ghc-proposals/blob/master/proposals/0000-componentized-cabal.rst>`__,-where each component of a package is configured and built separately.-This can massively speed up rebuilds of packages with lots of components-(e.g., a package that defines multiple executables), as only one-executable needs to be rebuilt. Packages that use Custom setup scripts-are not currently built on a per-component basis.--Where are my build products?-------------------------------A major deficiency in the current implementation of new-build is that-there is no programmatic way to access the location of build products.-The location of the build products is intended to be an internal-implementation detail of new-build, but we also understand that many-unimplemented features (e.g., ``new-test``) can only be reasonably-worked around by accessing build products directly.--The location where build products can be found varies depending on the-version of cabal-install:--- In cabal-install-1.24, the dist directory for a package ``p-0.1`` is- stored in ``dist-newstyle/build/p-0.1``. For example, if you built an- executable or test suite named ``pexe``, it would be located at- ``dist-newstyle/build/p-0.1/build/pexe/pexe``.--- In cabal-install HEAD, the dist directory for a package ``p-0.1``- defining a library built with GHC 8.0.1 on 64-bit Linux is- ``dist-newstyle/build/x86_64-linux/ghc-8.0.1/p-0.1``. When- per-component builds are enabled (any non-Custom package), a- subcomponent like an executable or test suite named ``pexe`` will be- stored at- ``dist-newstyle/build/x86_64-linux/ghc-8.0.1/p-0.1/c/pexe``; thus,- the full path of the executable is- ``dist-newstyle/build/x86_64-linux/ghc-8.0.1/p-0.1/c/pexe/build/pexe/pexe``- (you can see why we want this to be an implementation detail!)--The paths are a bit longer in HEAD but the benefit is that you can-transparently have multiple builds with different versions of GHC. We-plan to add the ability to create aliases for certain build-configurations, and more convenient paths to access particularly useful-build products like executables.--Caching----------Nix-style local builds sport a robust caching system which help reduce-the time it takes to execute a rebuild cycle. While the details of how-``cabal-install`` does caching are an implementation detail and may-change in the future, knowing what gets cached is helpful for-understanding the performance characteristics of invocations to-``new-build``. The cached intermediate results are stored in-``dist-newstyle/cache``; this folder can be safely deleted to clear the-cache.--The following intermediate results are cached in the following files in-this folder (the most important two are first):--``solver-plan`` (binary)- The result of calling the dependency solver, assuming that the- Hackage index, local ``cabal.project`` file, and local ``cabal``- files are unmodified. (Notably, we do NOT have to dependency solve- again if new build products are stored in the global store; the- invocation of the dependency solver is independent of what is- already available in the store.)-``source-hashes`` (binary)- The hashes of all local source files. When all local source files of- a local package are unchanged, ``cabal new-build`` will skip- invoking ``setup build`` entirely (saving us from a possibly- expensive call to ``ghc --make``). The full list of source files- participating in compilation are determined using- ``setup sdist --list-sources`` (thus, if you do not list all your- source files in a Cabal file, you may fail to recompile when you- edit them.)-``config`` (same format as ``cabal.project``)- The full project configuration, merged from ``cabal.project`` (and- friends) as well as the command line arguments.-``compiler`` (binary)- The configuration of the compiler being used to build the project.-``improved-plan`` (binary)- Like ``solver-plan``, but with all non-inplace packages improved- into pre-existing copies from the store.--Note that every package also has a local cache managed by the Cabal-build system, e.g., in ``$distdir/cache``.--There is another useful file in ``dist-newstyle/cache``, ``plan.json``,-which is a JSON serialization of the computed install plan. (TODO: docs)--Commands-========--We now give an in-depth description of all the commands, describing the-arguments and flags they accept.--cabal new-configure----------------------``cabal new-configure`` takes a set of arguments and writes a-``cabal.project.local`` file based on the flags passed to this command.-``cabal new-configure FLAGS; cabal new-build`` is roughly equivalent to-``cabal new-build FLAGS``, except that with ``new-configure`` the flags-are persisted to all subsequent calls to ``new-build``.--``cabal new-configure`` is intended to be a convenient way to write out-a ``cabal.project.local`` for simple configurations; e.g.,-``cabal new-configure -w ghc-7.8`` would ensure that all subsequent-builds with ``cabal new-build`` are performed with the compiler-``ghc-7.8``. For more complex configuration, we recommend writing the-``cabal.project.local`` file directly (or placing it in-``cabal.project``!)--``cabal new-configure`` inherits options from ``Cabal``. semantics:--- Any flag accepted by ``./Setup configure``.--- Any flag accepted by ``cabal configure`` beyond- ``./Setup configure``, namely ``--cabal-lib-version``,- ``--constraint``, ``--preference`` and ``--solver.``--- Any flag accepted by ``cabal install`` beyond ``./Setup configure``.--- Any flag accepted by ``./Setup haddock``.--The options of all of these flags apply only to *local* packages in a-project; this behavior is different than that of ``cabal install``,-which applies flags to every package that would be built. The motivation-for this is to avoid an innocuous addition to the flags of a package-resulting in a rebuild of every package in the store (which might need-to happen if a flag actually applied to every transitive dependency). To-apply options to an external package, use a ``package`` stanza in a-``cabal.project`` file.--cabal new-build------------------``cabal new-build`` takes a set of targets and builds them. It-automatically handles building and installing any dependencies of these-targets.--A target can take any of the following forms:--- A package target: ``package``, which specifies that all enabled- components of a package to be built. By default, test suites and- benchmarks are *not* enabled, unless they are explicitly requested- (e.g., via ``--enable-tests``.)--- A component target: ``[package:][ctype:]component``, which specifies- a specific component (e.g., a library, executable, test suite or- benchmark) to be built.--- All packages: ``all``, which specifies all packages within the project.--- Components of a particular type: ``package:ctypes``, ``all:ctypes``:- which specifies all components of the given type. Where valid- ``ctypes`` are:- - ``libs``, ``libraries``,- - ``flibs``, ``foreign-libraries``,- - ``exes``, ``executables``,- - ``tests``,- - ``benches``, ``benchmarks``.--In component targets, ``package:`` and ``ctype:`` (valid component types-are ``lib``, ``flib``, ``exe``, ``test`` and ``bench``) can be used to-disambiguate when multiple packages define the same component, or the-same component name is used in a package (e.g., a package ``foo``-defines both an executable and library named ``foo``). We always prefer-interpreting a target as a package name rather than as a component name.--Some example targets:--::-- $ cabal new-build lib:foo-pkg # build the library named foo-pkg- $ cabal new-build foo-pkg:foo-tests # build foo-tests in foo-pkg--(There is also syntax for specifying module and file targets, but it-doesn't currently do anything.)--Beyond a list of targets, ``cabal new-build`` accepts all the flags that-``cabal new-configure`` takes. Most of these flags are only taken into-consideration when building local packages; however, some flags may-cause extra store packages to be built (for example,-``--enable-profiling`` will automatically make sure profiling libraries-for all transitive dependencies are built and installed.)--cabal new-repl-----------------``cabal new-repl TARGET`` loads all of the modules of the target into-GHCi as interpreted bytecode. It takes the same flags as-``cabal new-build``.--Currently, it is not supported to pass multiple targets to ``new-repl``-(``new-repl`` will just successively open a separate GHCi session for-each target.)--cabal new-freeze-------------------``cabal new-freeze`` writes out a ``cabal.project.freeze`` file which-records all of the versions and flags which that are picked by the-solver under the current index and flags. A ``cabal.project.freeze``-file has the same syntax as ``cabal.project`` and looks something like-this:--.. highlight:: cabal--::-- constraints: HTTP ==4000.3.3,- HTTP +warp-tests -warn-as-error -network23 +network-uri -mtl1 -conduit10,- QuickCheck ==2.9.1,- QuickCheck +templatehaskell,- -- etc...---For end-user executables, it is recommended that you distribute the-``cabal.project.freeze`` file in your source repository so that all-users see a consistent set of dependencies. For libraries, this is not-recommended: users often need to build against different versions of-libraries than what you developed against.--Unsupported commands-----------------------The following commands are not currently supported:--``cabal new-test`` (:issue:`3638`)- Workaround: run the test executable directly (see `Where are my- build products <#where-are-my-build-products>`__?)--``cabal new-bench`` (:issue:`3638`)- Workaround: run the benchmark executable directly (see `Where are my- build products <#where-are-my-build-products>`__?)--``cabal new-run`` (:issue:`3638`)- Workaround: run the executable directly (see `Where are my build- products <#where-are-my-build-products>`__?)--``cabal new-exec``- Workaround: if you wanted to execute GHCi, consider using- ``cabal new-repl`` instead. Otherwise, use ``-v`` to find the list- of flags GHC is being invoked with and pass it manually.--``cabal new-haddock`` (:issue:`3535`)- Workaround: run- ``cabal act-as-setup -- haddock --builddir=dist-newstyle/build/pkg-0.1``- (or execute the Custom setup script directly).--``cabal new-install`` (:issue:`3737`)- Workaround: no good workaround at the moment. (But note that you no- longer need to install libraries before building!)--Configuring builds with cabal.project-=====================================--``cabal.project`` files support a variety of options which configure the-details of your build. The general syntax of a ``cabal.project`` file is-similar to that of a Cabal file: there are a number of fields, some of-which live inside stanzas:--::-- packages: */*.cabal- with-compiler: /opt/ghc/8.0.1/bin/ghc-- package cryptohash- optimization: False--In general, the accepted field names coincide with the accepted command-line flags that ``cabal install`` and other commands take. For example,-``cabal new-configure --enable-profiling`` will write out a project-file with ``profiling: True``.--The full configuration of a project is determined by combining the-following sources (later entries override earlier ones):--1. ``~/.cabal/config`` (the user-wide global configuration)--2. ``cabal.project`` (the project configuratoin)--3. ``cabal.project.freeze`` (the output of ``cabal new-freeze``)--4. ``cabal.project.local`` (the output of ``cabal new-configure``)---Specifying the local packages--------------------------------The following top-level options specify what the local packages of a-project are:--.. cfg-field:: packages: package location list (space or comma separated)- :synopsis: Project packages.-- :default: ``./*.cabal``-- Specifies the list of package locations which contain the local- packages to be built by this project. Package locations can take the- following forms:-- 1. They can specify a Cabal file, or a directory containing a Cabal- file, e.g., ``packages: Cabal cabal-install/cabal-install.cabal``.-- 2. They can specify a glob-style wildcards, which must match one or- more (a) directories containing a (single) Cabal file, (b) Cabal- files (extension ``.cabal``), or (c) [STRIKEOUT:tarballs which- contain Cabal packages (extension ``.tar.gz``)] (not implemented- yet). For example, to match all Cabal files in all- subdirectories, as well as the Cabal projects in the parent- directories ``foo`` and ``bar``, use- ``packages: */*.cabal ../{foo,bar}/``-- 3. [STRIKEOUT:They can specify an ``http``, ``https`` or ``file``- URL, representing the path to a remote tarball to be downloaded- and built.] (not implemented yet)-- There is no command line variant of this field; see :issue:`3585`.--.. cfg-field:: optional-packages: package location list (space or comma-separated)- :synopsis: Optional project packages.-- :default: ``./*/*.cabal``-- Like :cfg-field:`packages`, specifies a list of package locations- containing local packages to be built. Unlike :cfg-field:`packages`,- if we glob for a package, it is permissible for the glob to match against- zero packages. The intended use-case for :cfg-field:`optional-packages`- is to make it so that vendored packages can be automatically picked up if- they are placed in a subdirectory, but not error if there aren't any.-- There is no command line variant of this field.--.. cfg-field:: extra-packages: package list with version bounds (comma separated)- :synopsis: Adds external pacakges as local-- [STRIKEOUT:Specifies a list of external packages from Hackage which- should be considered local packages.] (Not implemented)-- There is no command line variant of this field.--[STRIKEOUT:There is also a stanza ``source-repository-package`` for-specifying packages from an external version control.] (Not-implemented.)--All local packages are *vendored*, in the sense that if other packages-(including external ones from Hackage) depend on a package with the name-of a local package, the local package is preferentially used. This-motivates the default settings::-- packages: ./*.cabal- optional-packages: ./*/*.cabal--...any package can be vendored simply by making a checkout in the-top-level project directory, as might be seen in this hypothetical-directory layout::-- foo.cabal- foo-helper/ # local package- unix/ # vendored external package--All of these options support globs. ``cabal new-build`` has its own glob-format:--- Anywhere in a path, as many times as you like, you can specify an- asterisk ``*`` wildcard. E.g., ``*/*.cabal`` matches all ``.cabal``- files in all immediate subdirectories. Like in glob(7), asterisks do- not match hidden files unless there is an explicit period, e.g.,- ``.*/foo.cabal`` will match ``.private/foo.cabal`` (but- ``*/foo.cabal`` will not).--- You can use braces to specify specific directories; e.g.,- ``{vendor,pkgs}/*.cabal`` matches all Cabal files in the ``vendor``- and ``pkgs`` subdirectories.--Formally, the format described by the following BNF:--.. code-block:: abnf-- FilePathGlob ::= FilePathRoot FilePathGlobRel- FilePathRoot ::= {- empty -} # relative to cabal.project- | "/" # Unix root- | [a-zA-Z] ":" [/\\] # Windows root- | "~" # home directory- FilePathGlobRel ::= Glob "/" FilePathGlobRel # Unix directory- | Glob "\\" FilePathGlobRel # Windows directory- | Glob # file- | {- empty -} # trailing slash- Glob ::= GlobPiece *- GlobPiece ::= "*" # wildcard- | [^*{},/\\] * # literal string- | "\\" [*{},] # escaped reserved character- | "{" Glob "," ... "," Glob "}" # union (match any of these)--Global configuration options-------------------------------The following top-level configuration options are not specific to any-package, and thus apply globally:--.. cfg-field:: verbose: nat- --verbose=n, -vn- :synopsis: Build verbosity level.-- :default: 1-- Control the verbosity of ``cabal`` commands, valid values are from 0- to 3.-- The command line variant of this field is ``--verbose=2``; a short- form ``-v2`` is also supported.--.. cfg-field:: jobs: nat or $ncpus- --jobs=n, -jn, --jobs=$ncpus- :synopsis: Number of builds running in parallel.-- :default: 1-- Run *nat* jobs simultaneously when building. If ``$ncpus`` is- specified, run the number of jobs equal to the number of CPUs.- Package building is often quite parallel, so turning on parallelism- can speed up build times quite a bit!-- The command line variant of this field is ``--jobs=2``; a short form- ``-j2`` is also supported; a bare ``--jobs`` or ``-j`` is equivalent- to ``--jobs=$ncpus``.--.. cfg-field:: keep-going: boolean- --keep-going- :synopsis: Try to continue building on failure.-- :default: False-- If true, after a build failure, continue to build other unaffected- packages.-- The command line variant of this field is ``--keep-going``.--.. option:: --builddir=DIR-- Specifies the name of the directory where build products for- build will be stored; defaults to ``dist-newstyle``. If a- relative name is specified, this directory is resolved relative- to the root of the project (i.e., where the ``cabal.project``- file lives.)-- This option cannot be specified via a ``cabal.project`` file.--.. option:: --project-file=FILE-- Specifies the name of the project file used to specify the- rest of the top-level configuration; defaults to ``cabal.project``.- This name not only specifies the name of the main project file,- but also the auxiliary project files ``cabal.project.freeze``- and ``cabal.project.local``; for example, if you specify- ``--project-file=my.project``, then the other files that will- be probed are ``my.project.freeze`` and ``my.project.local``.-- If the specified project file is a relative path, we will- look for the file relative to the current working directory,- and then for the parent directory, until the project file is- found or we have hit the top of the user's home directory.-- This option cannot be specified via a ``cabal.project`` file.--.. option:: --store-dir=DIR-- Specifies the name of the directory of the global package store.- -Solver configuration options-------------------------------The following settings control the behavior of the dependency solver:--.. cfg-field:: constraints: constraints list (comma separated)- --constraint="pkg >= 2.0"- :synopsis: Extra dependencies constraints.-- Add extra constraints to the version bounds, flag settings,- and other properties a solver can pick for a- package. For example:- - ::-- constraints: bar == 2.1-- A package can be specified multiple times in ``constraints``, in- which case the specified constraints are intersected. This is- useful, since the syntax does not allow you to specify multiple- constraints at once. For example, to specify both version bounds and- flag assignments, you would write:-- ::-- constraints: bar == 2.1,- bar +foo -baz-- Valid constraints take the same form as for the `constraint- command line option- <installing-packages.html#cmdoption-setup-configure--constraint>`__.--.. cfg-field:: preferences: preference (comma separated)- --preference="pkg >= 2.0"- :synopsis: Prefered dependency versions.-- Like :cfg-field:`constraints`, but the solver will attempt to satisfy- these preferences on a best-effort basis. The resulting install is locally- optimal with respect to preferences; specifically, no single package- could be replaced with a more preferred version that still satisfies- the hard constraints.-- Operationally, preferences can cause the solver to attempt certain- version choices of a package before others, which can improve- dependency solver runtime.-- One way to use :cfg-field:`preferences` is to take a known working set of- constraints (e.g., via ``cabal new-freeze``) and record them as- preferences. In this case, the solver will first attempt to use this- configuration, and if this violates hard constraints, it will try to- find the minimal number of upgrades to satisfy the hard constraints- again.-- The command line variant of this field is- ``--preference="pkg >= 2.0"``; to specify multiple preferences, pass- the flag multiple times.--.. cfg-field:: allow-newer: none, all or list of scoped package names (space or comma separated)- --allow-newer, --allow-newer=[none,all,pkg]- :synopsis: Lift dependencies upper bound constaints.-- :default: ``none``-- Allow the solver to pick an newer version of some packages than- would normally be permitted by than the :pkg-field:`build-depends` bounds- of packages in the install plan. This option may be useful if the- dependency solver cannot otherwise find a valid install plan.-- For example, to relax ``pkg``\ s :pkg-field:`build-depends` upper bound on- ``dep-pkg``, write a scoped package name of the form:-- ::-- allow-newer: pkg:dep-pkg-- This syntax is recommended, as it is often only a single package- whose upper bound is misbehaving. In this case, the upper bounds of- other packages should still be respected; indeed, relaxing the bound- can break some packages which test the selected version of packages.-- However, in some situations (e.g., when attempting to build packages- on a new version of GHC), it is useful to disregard *all*- upper-bounds, with respect to a package or all packages. This can be- done by specifying just a package name, or using the keyword ``all``- to specify all packages:-- ::-- -- Disregard upper bounds involving the dependencies on- -- packages bar, baz and quux- allow-newer: bar, baz, quux-- -- Disregard all upper bounds when dependency solving- allow-newer: all-- :cfg-field:`allow-newer` is often used in conjunction with a constraint- (in the cfg-field:`constraints` field) forcing the usage of a specific,- newer version of a package.-- The command line variant of this field is ``--allow-newer=bar``. A- bare ``--allow-newer`` is equivalent to ``--allow-newer=all``.--.. cfg-field:: allow-older: none, all, list of scoped package names (space or comma separated)- --allow-older, --allow-older=[none,all,pkg]- :synopsis: Lift dependency lower bound constaints.-- :default: ``none``-- Like :cfg-field:`allow-newer`, but applied to lower bounds rather than- upper bounds.-- The command line variant of this field is ``--allow-older=all``. A- bare ``--allow-older`` is equivalent to ``--allow-older=all``.---.. cfg-field:: index-state: HEAD, unix-timestamp, ISO8601 UTC timestamp.- :synopsis: Use source package index state as it existed at a previous time.- :since: 2.0-- :default: ``HEAD``-- This allows to change the source package index state the solver uses- to compute install-plans. This is particularly useful in- combination with freeze-files in order to also freeze the state the- package index was in at the time the install-plan was frozen.-- ::-- -- UNIX timestamp format example- index-state: @1474739268-- -- ISO8601 UTC timestamp format example- -- This format is used by 'cabal new-configure'- -- for storing `--index-state` values.- index-state: 2016-09-24T17:47:48Z---Package configuration options--------------------------------Package options affect the building of specific packages. There are two-ways a package option can be specified:--- They can be specified at the top-level, in which case they apply only- to **local package**, or--- They can be specified inside a ``package`` stanza, in which case they- apply to the build of the package, whether or not it is local or- external.--For example, the following options specify that :cfg-field:`optimization`-should be turned off for all local packages, and that ``bytestring`` (possibly-an external dependency) should be built with ``-fno-state-hack``::-- optimization: False-- package bytestring- ghc-options: -fno-state-hack--``ghc-options`` is not specifically described in this documentation,-but is one of many fields for configuring programs. They take the form-``progname-options`` and ``progname-location``, and-can only be set inside package stanzas. (TODO: They are not supported-at top-level, see :issue:`3579`.)--At the moment, there is no way to specify an option to apply to all-external packages or all inplace packages. Additionally, it is only-possible to specify these options on the command line for all local-packages (there is no per-package command line interface.)--Some flags were added by more recent versions of the Cabal library. This-means that they are NOT supported by packages which use Custom setup-scripts that require a version of the Cabal library older than when the-feature was added.--.. cfg-field:: flags: list of +flagname or -flagname (space separated)- --flags="+foo -bar", -ffoo, -f-bar- :synopsis: Enable or disable package flags.-- Force all flags specified as ``+flagname`` to be true, and all flags- specified as ``-flagname`` to be false. For example, to enable the- flag ``foo`` and disable ``bar``, set:-- ::-- flags: +foo -bar-- If there is no leading punctuation, it is assumed that the flag- should be enabled; e.g., this is equivalent:-- ::-- flags: foo -bar-- Flags are *per-package*, so it doesn't make much sense to specify- flags at the top-level, unless you happen to know that *all* of your- local packages support the same named flags. If a flag is not- supported by a package, it is ignored.-- See also the solver configuration field :cfg-field:`constraints`.-- The command line variant of this flag is ``--flags``. There is also- a shortened form ``-ffoo -f-bar``.-- A common mistake is to say ``cabal new-build -fhans``, where- ``hans`` is a flag for a transitive dependency that is not in the- local package; in this case, the flag will be silently ignored. If- ``haskell-tor`` is the package you want this flag to apply to, try- ``--constraint="haskell-tor +hans"`` instead.--.. cfg-field:: with-compiler: executable- --with-compiler=executable- :synopsis: Path to compiler executable.-- Specify the path to a particular compiler to be used. If not an- absolute path, it will be resolved according to the :envvar:`PATH`- environment. The type of the compiler (GHC, GHCJS, etc) must be- consistent with the setting of the :cfg-field:`compiler` field.-- The most common use of this option is to specify a different version- of your compiler to be used; e.g., if you have ``ghc-7.8`` in your- path, you can specify ``with-compiler: ghc-7.8`` to use it.-- This flag also sets the default value of :cfg-field:`with-hc-pkg`, using- the heuristic that it is named ``ghc-pkg-7.8`` (if your executable name- is suffixed with a version number), or is the executable named- ``ghc-pkg`` in the same directory as the ``ghc`` directory. If this- heuristic does not work, set :cfg-field:`with-hc-pkg` explicitly.-- For inplace packages, ``cabal new-build`` maintains a separate build- directory for each version of GHC, so you can maintain multiple- build trees for different versions of GHC without clobbering each- other.-- At the moment, it's not possible to set :cfg-field:`with-compiler` on a- per-package basis, but eventually we plan on relaxing this- restriction. If this is something you need, give us a shout.-- The command line variant of this flag is- ``--with-compiler=ghc-7.8``; there is also a short version- ``-w ghc-7.8``.--.. cfg-field:: with-hc-pkg: executable- --with-hc-pkg=executable- :synopsis: Specifies package tool.-- Specify the path to the package tool, e.g., ``ghc-pkg``. This- package tool must be compatible with the compiler specified by- :cfg-field:`with-compiler` (generally speaking, it should be precisely- the tool that was distributed with the compiler). If this option is- omitted, the default value is determined from :cfg-field:`with-compiler`.-- The command line variant of this flag is- ``--with-hc-pkg=ghc-pkg-7.8``.--.. cfg-field:: optimization: nat- --enable-optimization- --disable-optimization- :synopsis: Build with optimization.-- :default: ``1``-- Build with optimization. This is appropriate for production use,- taking more time to build faster libraries and programs.-- The optional *nat* value is the optimisation level. Some compilers- support multiple optimisation levels. The range is 0 to 2. Level 0- disables optimization, level 1 is the default. Level 2 is higher- optimisation if the compiler supports it. Level 2 is likely to lead- to longer compile times and bigger generated code. If you are not- planning to run code, turning off optimization will lead to better- build times and less code to be rebuilt when a module changes.-- We also accept ``True`` (equivalent to 1) and ``False`` (equivalent- to 0).-- Note that as of GHC 8.0, GHC does not recompile when optimization- levels change (see :ghc-ticket:`10923`), so if- you change the optimization level for a local package you may need- to blow away your old build products in order to rebuild with the- new optimization level.-- The command line variant of this flag is ``-O2`` (with ``-O1``- equivalent to ``-O``). There are also long-form variants- ``--enable-optimization`` and ``--disable-optimization``.--.. cfg-field:: configure-options: args (space separated)- --configure-option=arg- :synopsis: Options to pass to configure script.-- A list of extra arguments to pass to the external ``./configure``- script, if one is used. This is only useful for packages which have- the ``Configure`` build type. See also the section on- `system-dependent- parameters <developing-packages.html#system-dependent-parameters>`__.-- The command line variant of this flag is ``--configure-option=arg``,- which can be specified multiple times to pass multiple options.--.. cfg-field:: compiler: ghc, ghcjs, jhc, lhc, uhc or haskell-suite- --compiler=compiler- :synopsis: Compiler to build with.-- :default: ``ghc``-- Specify which compiler toolchain to be used. This is independent of- ``with-compiler``, because the choice of toolchain affects Cabal's- build logic.-- The command line variant of this flag is ``--compiler=ghc``.--.. cfg-field:: tests: boolean- --enable-tests- --disable-tests- :synopsis: Build tests.-- :default: ``False``-- Force test suites to be enabled. For most users this should not be- needed, as we always attempt to solve for test suite dependencies,- even when this value is ``False``; furthermore, test suites are- automatically enabled if they are requested as a built target.-- The command line variant of this flag is ``--enable-tests`` and- ``--disable-tests``.--.. cfg-field:: benchmarks: boolean- --enable-benchmarks- --disable-benchmarks- :synopsis: Build benchmarks.-- :default: ``False``-- Force benchmarks to be enabled. For most users this should not be- needed, as we always attempt to solve for benchmark dependencies,- even when this value is ``False``; furthermore, benchmarks are- automatically enabled if they are requested as a built target.-- The command line variant of this flag is ``--enable-benchmarks`` and- ``--disable-benchmarks``.--.. cfg-field:: extra-prog-path: paths (newline or comma separated)- --extra-prog-path=PATH- :synopsis: Add directories to program search path.- :since: 1.18-- A list of directories to search for extra required programs. Most- users should not need this, as programs like ``happy`` and ``alex``- will automatically be installed and added to the path. This can be- useful if a ``Custom`` setup script relies on an exotic extra- program.-- The command line variant of this flag is ``--extra-prog-path=PATH``,- which can be specified multiple times.--.. cfg-field:: run-tests: boolean- --run-tests- :synopsis: Run package test suite upon installation.-- :default: ``False``-- Run the package test suite upon installation. This is useful for- saying "When this package is installed, check that the test suite- passes, terminating the rest of the build if it is broken."-- .. warning::-- One deficiency: the :cfg-field:`run-tests` setting of a package is NOT- recorded as part of the hash, so if you install something without- :cfg-field:`run-tests` and then turn on ``run-tests``, we won't- subsequently test the package. If this is causing you problems, give- us a shout.-- The command line variant of this flag is ``--run-tests``.--Object code options-^^^^^^^^^^^^^^^^^^^--.. cfg-field:: debug-info: boolean- --enable-debug-info- --disable-debug-info- :synopsis: Build with debug info enabled.- :since: 1.22-- :default: False-- If the compiler (e.g., GHC 7.10 and later) supports outputing OS- native debug info (e.g., DWARF), setting ``debug-info: True`` will- instruct it to do so. See the GHC wiki page on :ghc-wiki:`DWARF`- for more information about this feature.-- (This field also accepts numeric syntax, but as of GHC 8.0 this- doesn't do anything.)-- The command line variant of this flag is ``--enable-debug-info`` and- ``--disable-debug-info``.--.. cfg-field:: split-objs: boolean- --enable-split-objs- --disable-split-objs- :synopsis: Use GHC split objects feature.-- :default: False-- Use the GHC ``-split-objs`` feature when building the library. This- reduces the final size of the executables that use the library by- allowing them to link with only the bits that they use rather than- the entire library. The downside is that building the library takes- longer and uses considerably more memory.-- The command line variant of this flag is ``--enable-split-objs`` and- ``--disable-split-objs``.--.. cfg-field:: executable-stripping: boolean- --enable-executable-stripping- --disable-executable-stripping- :synopsis: Strip installed programs.-- :default: True-- When installing binary executable programs, run the ``strip``- program on the binary. This can considerably reduce the size of the- executable binary file. It does this by removing debugging- information and symbols.-- Not all Haskell implementations generate native binaries. For such- implementations this option has no effect.-- (TODO: Check what happens if you combine this with ``debug-info``.)-- The command line variant of this flag is- ``--enable-executable-stripping`` and- ``--disable-executable-stripping``.--.. cfg-field:: library-stripping: boolean- --enable-library-stripping- --disable-library-stripping- :synopsis: Strip installed libraries.- :since: 1.19-- When installing binary libraries, run the ``strip`` program on the- binary, saving space on the file system. See also- ``executable-stripping``.-- The command line variant of this flag is- ``--enable-library-stripping`` and ``--disable-library-stripping``.--Executable options-^^^^^^^^^^^^^^^^^^--.. cfg-field:: program-prefix: prefix- --program-prefix=prefix- :synopsis: Prepend prefix to program names.-- [STRIKEOUT:Prepend *prefix* to installed program names.] (Currently- implemented in a silly and not useful way. If you need this to work- give us a shout.)-- *prefix* may contain the following path variables: ``$pkgid``,- ``$pkg``, ``$version``, ``$compiler``, ``$os``, ``$arch``, ``$abi``,- ``$abitag``-- The command line variant of this flag is ``--program-prefix=foo-``.--.. cfg-field:: program-suffix: suffix- --program-suffix=suffix- :synopsis: Append refix to program names.-- [STRIKEOUT:Append *suffix* to installed program names.] (Currently- implemented in a silly and not useful way. If you need this to work- give us a shout.)-- The most obvious use for this is to append the program's version- number to make it possible to install several versions of a program- at once: ``program-suffix: $version``.-- *suffix* may contain the following path variables: ``$pkgid``,- ``$pkg``, ``$version``, ``$compiler``, ``$os``, ``$arch``, ``$abi``,- ``$abitag``-- The command line variant of this flag is- ``--program-suffix='$version'``.--Dynamic linking options-^^^^^^^^^^^^^^^^^^^^^^^--.. cfg-field:: shared: boolean- --enable-shared- --disable-shared- :synopsis: Build shared library.-- :default: False-- Build shared library. This implies a separate compiler run to- generate position independent code as required on most platforms.-- The command line variant of this flag is ``--enable-shared`` and- ``--disable-shared``.--.. cfg-field:: executable-dynamic: boolean- --enable-executable-dynamic- --disable-executable-dynamic- :synopsis: Link executables dynamically.-- :default: False-- Link executables dynamically. The executable's library dependencies- should be built as shared objects. This implies ``shared: True``- unless ``shared: False`` is explicitly specified.-- The command line variant of this flag is- ``--enable-executable-dynamic`` and- ``--disable-executable-dynamic``.--.. cfg-field:: library-for-ghci: boolean- --enable-library-for-ghci- --disable-library-for-ghci- :synopsis: Build libraries suitable for use with GHCi.-- :default: True-- Build libraries suitable for use with GHCi. This involves an extra- linking step after the build.-- Not all platforms support GHCi and indeed on some platforms, trying- to build GHCi libs fails. In such cases, consider setting- ``library-for-ghci: False``.-- The command line variant of this flag is- ``--enable-library-for-ghci`` and ``--disable-library-for-ghci``.--.. cfg-field:: relocatable:- --relocatable- :synopsis: Build relocatable package.- :since: 1.21-- :default: False-- [STRIKEOUT:Build a package which is relocatable.] (TODO: It is not- clear what this actually does, or if it works at all.)-- The command line variant of this flag is ``--relocatable``.--Foreign function interface options-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--.. cfg-field:: extra-include-dirs: directories (comma or newline separated list)- --extra-include-dirs=DIR- :synopsis: Adds C header search path.-- An extra directory to search for C header files. You can use this- flag multiple times to get a list of directories.-- You might need to use this flag if you have standard system header- files in a non-standard location that is not mentioned in the- package's ``.cabal`` file. Using this option has the same affect as- appending the directory *dir* to the :pkg-field:`include-dirs` field in each- library and executable in the package's ``.cabal`` file. The- advantage of course is that you do not have to modify the package at- all. These extra directories will be used while building the package- and for libraries it is also saved in the package registration- information and used when compiling modules that use the library.-- The command line variant of this flag is- ``--extra-include-dirs=DIR``, which can be specified multiple times.--.. cfg-field:: extra-lib-dirs: directories (comma or newline separated list)- --extra-lib-dirs=DIR- :synopsis: Adds library search directory.-- An extra directory to search for system libraries files.-- The command line variant of this flag is ``--extra-lib-dirs=DIR``,- which can be specified multiple times.--.. cfg-field:: extra-framework-dirs: directories (comma or newline separated list)- --extra-framework-dirs=DIR- :synopsis: Adds framework search directory (OS X only).-- An extra directory to search for frameworks (OS X only).-- You might need to use this flag if you have standard system- libraries in a non-standard location that is not mentioned in the- package's ``.cabal`` file. Using this option has the same affect as- appending the directory *dir* to the :cfg-field:`extra-lib-dirs` field in- each library and executable in the package's ``.cabal`` file. The- advantage of course is that you do not have to modify the package at- all. These extra directories will be used while building the package- and for libraries it is also saved in the package registration- information and used when compiling modules that use the library.-- The command line variant of this flag is- ``--extra-framework-dirs=DIR``, which can be specified multiple- times.--Profiling options-^^^^^^^^^^^^^^^^^--.. cfg-field:: profiling: boolean- --enable-profiling- --disable-profiling- :synopsis: Enable profiling builds.- :since: 1.21-- :default: False-- Build libraries and executables with profiling enabled (for- compilers that support profiling as a separate mode). It is only- necessary to specify :cfg-field:`profiling` for the specific package you- want to profile; ``cabal new-build`` will ensure that all of its- transitive dependencies are built with profiling enabled.-- To enable profiling for only libraries or executables, see- :cfg-field:`library-profiling` and :cfg-field:`executable-profiling`.-- For useful profiling, it can be important to control precisely what- cost centers are allocated; see :cfg-field:`profiling-detail`.-- The command line variant of this flag is ``--enable-profiling`` and- ``--disable-profiling``.--.. cfg-field:: profiling-detail: level- --profiling-detail=level- :synopsis: Profiling detail level.- :since: 1.23-- Some compilers that support profiling, notably GHC, can allocate- costs to different parts of the program and there are different- levels of granularity or detail with which this can be done. In- particular for GHC this concept is called "cost centers", and GHC- can automatically add cost centers, and can do so in different ways.-- This flag covers both libraries and executables, but can be- overridden by the ``library-profiling-detail`` field.-- Currently this setting is ignored for compilers other than GHC. The- levels that cabal currently supports are:-- default- For GHC this uses ``exported-functions`` for libraries and- ``toplevel-functions`` for executables.- none- No costs will be assigned to any code within this component.- exported-functions- Costs will be assigned at the granularity of all top level- functions exported from each module. In GHC, this- is for non-inline functions. Corresponds to ``-fprof-auto-exported``.- toplevel-functions- Costs will be assigned at the granularity of all top level- functions in each module, whether they are exported from the- module or not. In GHC specifically, this is for non-inline- functions. Corresponds to ``-fprof-auto-top``.- all-functions- Costs will be assigned at the granularity of all functions in- each module, whether top level or local. In GHC specifically,- this is for non-inline toplevel or where-bound functions or- values. Corresponds to ``-fprof-auto``.-- The command line variant of this flag is- ``--profiling-detail=none``.--.. cfg-field:: library-profiling-detail: level- --library-profiling-detail=level- :synopsis: Libraries profiling detail level.- :since: 1.23-- Like :cfg-field:`profiling-detail`, but applied only to libraries-- The command line variant of this flag is- ``--library-profiling-detail=none``.--.. cfg-field:: library-vanilla: boolean- --enable-library-vanilla- --disable-library-vanilla- :synopsis: Build libraries without profiling.-- :default: True-- Build ordinary libraries (as opposed to profiling libraries).- Mostly, you can set this to False to avoid building ordinary- libraries when you are profiling.-- The command line variant of this flag is- ``--enable-library-vanilla`` and ``--disable-library-vanilla``.--.. cfg-field:: library-profiling: boolean- --enable-library-profiling- --disable-library-profiling- :synopsis: Build libraries with profiling enabled.- :since: 1.21-- :default: False-- Build libraries with profiling enabled. You probably want- to use :cfg-field:`profiling` instead.-- The command line variant of this flag is- ``--enable-library-profiling`` and ``--disable-library-profiling``.--.. cfg-field:: executable-profiling: boolean- --enable-executable-profiling- --disable-executable-profiling- :synopsis: Build executables with profiling enabled.- :since: 1.21-- :default: False-- Build executables with profiling enabled. You probably want- to use :cfg-field:`profiling` instead.-- The command line variant of this flag is- ``--enable-executable-profiling`` and- ``--disable-executable-profiling``.--Coverage options-^^^^^^^^^^^^^^^^--.. cfg-field:: coverage: boolean- --enable-coverage- --disable-coverage- :synopsis: Build with coverage enabled.- :since: 1.21-- :default: False-- Build libraries and executables (including test suites) with Haskell- Program Coverage enabled. Running the test suites will automatically- generate coverage reports with HPC.-- The command line variant of this flag is ``--enable-coverage`` and- ``--disable-coverage``.--.. cfg-field:: library-coverage: boolean- --enable-library-coverage- --disable-library-coverage- :since: 1.21- :deprecated:-- :default: False-- Deprecated, use :cfg-field:`coverage`.-- The command line variant of this flag is- ``--enable-library-coverage`` and ``--disable-library-coverage``.--Haddock options-^^^^^^^^^^^^^^^--Documentation building support is fairly sparse at the moment. Let us-know if it's a priority for you!--.. cfg-field:: documentation: boolean- --enable-documentation- --disable-documentation- :synopsis: Enable building of documentation.-- :default: False-- Enables building of Haddock documentation-- The command line variant of this flag is ``--enable-documentation``- and ``--disable-documentation``.--.. cfg-field:: doc-index-file: templated path- --doc-index-file=TEMPLATE- :synopsis: Path to haddock templates.-- A central index of Haddock API documentation (template cannot use- ``$pkgid``), which should be updated as documentation is built.-- The command line variant of this flag is- ``--doc-index-file=TEMPLATE``--The following commands are equivalent to ones that would be passed when-running ``setup haddock``. (TODO: Where does the documentation get put.)--.. cfg-field:: haddock-hoogle: boolean- :synopsis: Generate Hoogle file.-- :default: False-- Generate a text file which can be converted by Hoogle_- into a database for searching. This is equivalent to running ``haddock``- with the ``--hoogle`` flag.-- The command line variant of this flag is ``--hoogle`` (for the- ``haddock`` command).--.. cfg-field:: haddock-html: boolean- :synopsis: Build HTML documentation.-- :default: True-- Build HTML documentation.-- The command line variant of this flag is ``--html`` (for the- ``haddock`` command).--.. cfg-field:: haddock-html-location: templated path- :synopsis: Haddock HTML templates location.-- Specify a template for the location of HTML documentation for- prerequisite packages. The substitutions are applied to the template- to obtain a location for each package, which will be used by- hyperlinks in the generated documentation. For example, the- following command generates links pointing at [Hackage] pages:-- ::-- html-location: 'http://hackage.haskell.org/packages/archive/$pkg/latest/doc/html'-- Here the argument is quoted to prevent substitution by the shell. If- this option is omitted, the location for each package is obtained- using the package tool (e.g. ``ghc-pkg``).-- The command line variant of this flag is ``--html-location`` (for- the ``haddock`` subcommand).--.. cfg-field:: haddock-executables: boolean- :synopsis: Generate documentation for executables.-- :default: False-- Run haddock on all executable programs.-- The command line variant of this flag is ``--executables`` (for the- ``haddock`` subcommand).--.. cfg-field:: haddock-tests: boolean- :synopsis: Generate documentation for tests.-- :default: False-- Run haddock on all test suites.-- The command line variant of this flag is ``--tests`` (for the- ``haddock`` subcommand).--.. cfg-field:: haddock-benchmarks: boolean- :synopsis: Generate documentation for benchmarks.-- :default: False-- Run haddock on all benchmarks.-- The command line variant of this flag is ``--benchmarks`` (for the- ``haddock`` subcommand).--.. cfg-field:: haddock-all: boolean- :synopsis: Generate documentation for everything-- :default: False-- Run haddock on all components.-- The command line variant of this flag is ``--all`` (for the- ``haddock`` subcommand).--.. cfg-field:: haddock-internal: boolean- :synopsis: Generate documentation for internal modules-- :default: False-- Build haddock documentation which includes unexposed modules and- symbols.-- The command line variant of this flag is ``--internal`` (for the- ``haddock`` subcommand).--.. cfg-field:: haddock-css: path- :synopsis: Location of Haddoc CSS file.-- The CSS file that should be used to style the generated- documentation (overriding haddock's default.)-- The command line variant of this flag is ``--css`` (for the- ``haddock`` subcommand).--.. cfg-field:: haddock-hyperlink-source: boolean- :synopsis: Generate hyperlinked source code for documentation-- :default: False-- Generated hyperlinked source code using `HsColour`_, and have- Haddock documentation link to it.-- The command line variant of this flag is ``--hyperlink-source`` (for- the ``haddock`` subcommand).--.. cfg-field:: haddock-hscolour-css: path- :synopsis: Location of CSS file for HsColour-- The CSS file that should be used to style the generated hyperlinked- source code (from `HsColour`_).-- The command line variant of this flag is ``--hscolour-css`` (for the- ``haddock`` subcommand).--.. cfg-field:: haddock-contents-location: URL- :synopsis: URL for contents page.-- A baked-in URL to be used as the location for the contents page.-- The command line variant of this flag is ``--contents-location``- (for the ``haddock`` subcommand).--.. cfg-field:: haddock-keep-temp-files: boolean- :synopsis: Keep temporary Haddock files.-- Keep temporary files.-- The command line variant of this flag is ``--keep-temp-files`` (for- the ``haddock`` subcommand).--Advanced global configuration options----------------------------------------.. cfg-field:: http-transport: curl, wget, powershell, or plain-http- --http-transport=transport- :synopsis: Transport to use with http(s) requests.-- :default: ``curl``-- Set a transport to be used when making http(s) requests.-- The command line variant of this field is ``--http-transport=curl``.--.. cfg-field:: ignore-expiry: boolean- --ignore-expiry- :synopsis: Ignore Hackage expiration dates.-- :default: False-- If ``True``, we will ignore expiry dates on metadata from Hackage.-- In general, you should not set this to ``True`` as it will leave you- vulnerable to stale cache attacks. However, it may be temporarily- useful if the main Hackage server is down, and we need to rely on- mirrors which have not been updated for longer than the expiry- period on the timestamp.-- The command line variant of this field is ``--ignore-expiry``.--.. cfg-field:: remote-repo-cache: directory- --remote-repo-cache=DIR- :synopsis: Location of packages cache.-- :default: ``~/.cabal/packages``-- [STRIKEOUT:The location where packages downloaded from remote- repositories will be cached.] Not implemented yet.-- The command line variant of this flag is- ``--remote-repo-cache=DIR``.--.. cfg-field:: logs-dir: directory- --logs-dir=DIR- :synopsis: Directory to store build logs.-- :default: ``~/.cabal/logs``-- [STRIKEOUT:The location where build logs for packages are stored.]- Not implemented yet.-- The command line variant of this flag is ``--logs-dir=DIR``.--.. cfg-field:: build-summary: template filepath- --build-summary=TEMPLATE- :synopsis: Build summaries location.-- :default: ``~/.cabal/logs/build.log``-- [STRIKEOUT:The file to save build summaries. Valid variables which- can be used in the path are ``$pkgid``, ``$compiler``, ``$os`` and- ``$arch``.] Not implemented yet.-- The command line variant of this flag is- ``--build-summary=TEMPLATE``.--.. cfg-field:: local-repo: directory- --local-repo=DIR- :deprecated:-- [STRIKEOUT:The location of a local repository.] Deprecated. See- "Legacy repositories."-- The command line variant of this flag is ``--local-repo=DIR``.--.. cfg-field:: world-file: path- --world-file=FILE- :deprecated:-- [STRIKEOUT:The location of the world file.] Deprecated.-- The command line variant of this flag is ``--world-file=FILE``.--Undocumented fields: ``root-cmd``, ``symlink-bindir``, ``build-log``,-``remote-build-reporting``, ``report-planned-failure``, ``one-shot``,-``offline``.--Advanced solver options-^^^^^^^^^^^^^^^^^^^^^^^--Most users generally won't need these.--.. cfg-field:: solver: modular- --solver=modular- :synopsis: Which solver to use.-- This field is reserved to allow the specification of alternative- dependency solvers. At the moment, the only accepted option is- ``modular``.-- The command line variant of this field is ``--solver=modular``.--.. cfg-field:: max-backjumps: nat- --max-backjumps=N- :synopsis: Maximum number of solver backjumps.-- :default: 2000-- Maximum number of backjumps (backtracking multiple steps) allowed- while solving. Set -1 to allow unlimited backtracking, and 0 to- disable backtracking completely.-- The command line variant of this field is ``--max-backjumps=2000``.--.. cfg-field:: reorder-goals: boolean- --reorder-goals- --no-reorder-goals- :synopsis: Allow solver to reorder goals.-- :default: False-- When enabled, the solver will reorder goals according to certain- heuristics. Slows things down on average, but may make backtracking- faster for some packages. It's unlikely to help for small projects,- but for big install plans it may help you find a plan when otherwise- this is not possible. See :issue:`1780` for more commentary.-- The command line variant of this field is ``--(no-)reorder-goals``.--.. cfg-field:: count-conflicts: boolean- --count-conflicts- --no-count-conflicts- :synopsis: Solver prefers versions with less conflicts.-- :default: True-- Try to speed up solving by preferring goals that are involved in a- lot of conflicts.-- The command line variant of this field is- ``--(no-)count-conflicts``.--.. cfg-field:: strong-flags: boolean- --strong-flags- --no-strong-flags- :synopsis: Do not defer flag choices when solving.-- :default: False-- Do not defer flag choices. (TODO: Better documentation.)-- The command line variant of this field is ``--(no-)strong-flags``.--.. cfg-field:: allow-boot-library-installs: boolean- --allow-boot-library-installs- --no-allow-boot-library-installs- :synopsis: Allow cabal to install or upgrade any package.-- :default: False-- By default, the dependency solver doesn't allow ``base``,- ``ghc-prim``, ``integer-simple``, ``integer-gmp``, and- ``template-haskell`` to be installed or upgraded. This flag- removes the restriction.-- The command line variant of this field is- ``--(no-)allow-boot-library-installs``.--.. cfg-field:: cabal-lib-version: version- --cabal-lib-version=version- :synopsis: Version of Cabal library used to build package.-- This field selects the version of the Cabal library which should be- used to build packages. This option is intended primarily for- internal development use (e.g., forcing a package to build with a- newer version of Cabal, to test a new version of Cabal.) (TODO:- Specify its semantics more clearly.)-- The command line variant of this field is- ``--cabal-lib-version=1.24.0.1``.--.. include:: references.inc
binary file changed (7086 → absent bytes)
binary file changed (673 → absent bytes)
@@ -1,639 +0,0 @@-/*- * basic.css- * ~~~~~~~~~- *- * Sphinx stylesheet -- basic theme.- *- * :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS.- * :license: BSD, see LICENSE for details.- *- */--/* -- main layout ----------------------------------------------------------- */--div.clearer {- clear: both;-}--/* -- relbar ---------------------------------------------------------------- */--div.related {- width: 100%;- font-size: 90%;-}--div.related h3 {- display: none;-}--div.related ul {- margin: 0;- padding: 0 0 0 10px;- list-style: none;-}--div.related li {- display: inline;-}--div.related li.right {- float: right;- margin-right: 5px;-}--/* -- sidebar --------------------------------------------------------------- */--div.sphinxsidebarwrapper {- padding: 10px 5px 0 10px;-}--div.sphinxsidebar {- float: left;- width: 230px;- margin-left: -100%;- font-size: 90%;- word-wrap: break-word;- overflow-wrap : break-word;-}--div.sphinxsidebar ul {- list-style: none;-}--div.sphinxsidebar ul ul,-div.sphinxsidebar ul.want-points {- margin-left: 20px;- list-style: square;-}--div.sphinxsidebar ul ul {- margin-top: 0;- margin-bottom: 0;-}--div.sphinxsidebar form {- margin-top: 10px;-}--div.sphinxsidebar input {- border: 1px solid #98dbcc;- font-family: sans-serif;- font-size: 1em;-}--div.sphinxsidebar #searchbox input[type="text"] {- width: 170px;-}--img {- border: 0;- max-width: 100%;-}--/* -- search page ----------------------------------------------------------- */--ul.search {- margin: 10px 0 0 20px;- padding: 0;-}--ul.search li {- padding: 5px 0 5px 20px;- background-image: url(file.png);- background-repeat: no-repeat;- background-position: 0 7px;-}--ul.search li a {- font-weight: bold;-}--ul.search li div.context {- color: #888;- margin: 2px 0 0 30px;- text-align: left;-}--ul.keywordmatches li.goodmatch a {- font-weight: bold;-}--/* -- index page ------------------------------------------------------------ */--table.contentstable {- width: 90%;- margin-left: auto;- margin-right: auto;-}--table.contentstable p.biglink {- line-height: 150%;-}--a.biglink {- font-size: 1.3em;-}--span.linkdescr {- font-style: italic;- padding-top: 5px;- font-size: 90%;-}--/* -- general index --------------------------------------------------------- */--table.indextable {- width: 100%;-}--table.indextable td {- text-align: left;- vertical-align: top;-}--table.indextable ul {- margin-top: 0;- margin-bottom: 0;- list-style-type: none;-}--table.indextable > tbody > tr > td > ul {- padding-left: 0em;-}--table.indextable tr.pcap {- height: 10px;-}--table.indextable tr.cap {- margin-top: 10px;- background-color: #f2f2f2;-}--img.toggler {- margin-right: 3px;- margin-top: 3px;- cursor: pointer;-}--div.modindex-jumpbox {- border-top: 1px solid #ddd;- border-bottom: 1px solid #ddd;- margin: 1em 0 1em 0;- padding: 0.4em;-}--div.genindex-jumpbox {- border-top: 1px solid #ddd;- border-bottom: 1px solid #ddd;- margin: 1em 0 1em 0;- padding: 0.4em;-}--/* -- domain module index --------------------------------------------------- */--table.modindextable td {- padding: 2px;- border-collapse: collapse;-}--/* -- general body styles --------------------------------------------------- */--div.body p, div.body dd, div.body li, div.body blockquote {- -moz-hyphens: auto;- -ms-hyphens: auto;- -webkit-hyphens: auto;- hyphens: auto;-}--a.headerlink {- visibility: hidden;-}--h1:hover > a.headerlink,-h2:hover > a.headerlink,-h3:hover > a.headerlink,-h4:hover > a.headerlink,-h5:hover > a.headerlink,-h6:hover > a.headerlink,-dt:hover > a.headerlink,-caption:hover > a.headerlink,-p.caption:hover > a.headerlink,-div.code-block-caption:hover > a.headerlink {- visibility: visible;-}--div.body p.caption {- text-align: inherit;-}--div.body td {- text-align: left;-}--.first {- margin-top: 0 !important;-}--p.rubric {- margin-top: 30px;- font-weight: bold;-}--img.align-left, .figure.align-left, object.align-left {- clear: left;- float: left;- margin-right: 1em;-}--img.align-right, .figure.align-right, object.align-right {- clear: right;- float: right;- margin-left: 1em;-}--img.align-center, .figure.align-center, object.align-center {- display: block;- margin-left: auto;- margin-right: auto;-}--.align-left {- text-align: left;-}--.align-center {- text-align: center;-}--.align-right {- text-align: right;-}--/* -- sidebars -------------------------------------------------------------- */--div.sidebar {- margin: 0 0 0.5em 1em;- border: 1px solid #ddb;- padding: 7px 7px 0 7px;- background-color: #ffe;- width: 40%;- float: right;-}--p.sidebar-title {- font-weight: bold;-}--/* -- topics ---------------------------------------------------------------- */--div.topic {- border: 1px solid #ccc;- padding: 7px 7px 0 7px;- margin: 10px 0 10px 0;-}--p.topic-title {- font-size: 1.1em;- font-weight: bold;- margin-top: 10px;-}--/* -- admonitions ----------------------------------------------------------- */--div.admonition {- margin-top: 10px;- margin-bottom: 10px;- padding: 7px;-}--div.admonition dt {- font-weight: bold;-}--div.admonition dl {- margin-bottom: 0;-}--p.admonition-title {- margin: 0px 10px 5px 0px;- font-weight: bold;-}--div.body p.centered {- text-align: center;- margin-top: 25px;-}--/* -- tables ---------------------------------------------------------------- */--table.docutils {- border: 0;- border-collapse: collapse;-}--table caption span.caption-number {- font-style: italic;-}--table caption span.caption-text {-}--table.docutils td, table.docutils th {- padding: 1px 8px 1px 5px;- border-top: 0;- border-left: 0;- border-right: 0;- border-bottom: 1px solid #aaa;-}--table.footnote td, table.footnote th {- border: 0 !important;-}--th {- text-align: left;- padding-right: 5px;-}--table.citation {- border-left: solid 1px gray;- margin-left: 1px;-}--table.citation td {- border-bottom: none;-}--/* -- figures --------------------------------------------------------------- */--div.figure {- margin: 0.5em;- padding: 0.5em;-}--div.figure p.caption {- padding: 0.3em;-}--div.figure p.caption span.caption-number {- font-style: italic;-}--div.figure p.caption span.caption-text {-}--/* -- field list styles ----------------------------------------------------- */--table.field-list td, table.field-list th {- border: 0 !important;-}--.field-list ul {- margin: 0;- padding-left: 1em;-}--.field-list p {- margin: 0;-}--.field-name {- -moz-hyphens: manual;- -ms-hyphens: manual;- -webkit-hyphens: manual;- hyphens: manual;-}--/* -- other body styles ----------------------------------------------------- */--ol.arabic {- list-style: decimal;-}--ol.loweralpha {- list-style: lower-alpha;-}--ol.upperalpha {- list-style: upper-alpha;-}--ol.lowerroman {- list-style: lower-roman;-}--ol.upperroman {- list-style: upper-roman;-}--dl {- margin-bottom: 15px;-}--dd p {- margin-top: 0px;-}--dd ul, dd table {- margin-bottom: 10px;-}--dd {- margin-top: 3px;- margin-bottom: 10px;- margin-left: 30px;-}--dt:target, .highlighted {- background-color: #fbe54e;-}--dl.glossary dt {- font-weight: bold;- font-size: 1.1em;-}--.optional {- font-size: 1.3em;-}--.sig-paren {- font-size: larger;-}--.versionmodified {- font-style: italic;-}--.system-message {- background-color: #fda;- padding: 5px;- border: 3px solid red;-}--.footnote:target {- background-color: #ffa;-}--.line-block {- display: block;- margin-top: 1em;- margin-bottom: 1em;-}--.line-block .line-block {- margin-top: 0;- margin-bottom: 0;- margin-left: 1.5em;-}--.guilabel, .menuselection {- font-family: sans-serif;-}--.accelerator {- text-decoration: underline;-}--.classifier {- font-style: oblique;-}--abbr, acronym {- border-bottom: dotted 1px;- cursor: help;-}--/* -- code displays --------------------------------------------------------- */--pre {- overflow: auto;- overflow-y: hidden; /* fixes display issues on Chrome browsers */-}--span.pre {- -moz-hyphens: none;- -ms-hyphens: none;- -webkit-hyphens: none;- hyphens: none;-}--td.linenos pre {- padding: 5px 0px;- border: 0;- background-color: transparent;- color: #aaa;-}--table.highlighttable {- margin-left: 0.5em;-}--table.highlighttable td {- padding: 0 0.5em 0 0.5em;-}--div.code-block-caption {- padding: 2px 5px;- font-size: small;-}--div.code-block-caption code {- background-color: transparent;-}--div.code-block-caption + div > div.highlight > pre {- margin-top: 0;-}--div.code-block-caption span.caption-number {- padding: 0.1em 0.3em;- font-style: italic;-}--div.code-block-caption span.caption-text {-}--div.literal-block-wrapper {- padding: 1em 1em 0;-}--div.literal-block-wrapper div.highlight {- margin: 0;-}--code.descname {- background-color: transparent;- font-weight: bold;- font-size: 1.2em;-}--code.descclassname {- background-color: transparent;-}--code.xref, a code {- background-color: transparent;- font-weight: bold;-}--h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {- background-color: transparent;-}--.viewcode-link {- float: right;-}--.viewcode-back {- float: right;- font-family: sans-serif;-}--div.viewcode-block:target {- margin: -1px -10px;- padding: 0 10px;-}--/* -- math display ---------------------------------------------------------- */--img.math {- vertical-align: middle;-}--div.body div.math p {- text-align: center;-}--span.eqno {- float: right;-}--span.eqno a.headerlink {- position: relative;- left: 0px;- z-index: 1;-}--div.math:hover a.headerlink {- visibility: visible;-}--/* -- printout stylesheet --------------------------------------------------- */--@media print {- div.document,- div.documentwrapper,- div.bodywrapper {- margin: 0 !important;- width: 100%;- }-- div.sphinxsidebar,- div.related,- div.footer,- #top-link {- display: none;- }-}
binary file changed (756 → absent bytes)
binary file changed (829 → absent bytes)
binary file changed (641 → absent bytes)
@@ -1,2 +0,0 @@-.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-weight:normal;font-style:normal;src:url("../font/fontawesome_webfont.eot");src:url("../font/fontawesome_webfont.eot?#iefix") format("embedded-opentype"),url("../font/fontawesome_webfont.woff") format("woff"),url("../font/fontawesome_webfont.ttf") format("truetype"),url("../font/fontawesome_webfont.svg#FontAwesome") format("svg")}.fa:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa{display:inline-block;text-decoration:inherit}li .fa{display:inline-block}li .fa-large:before,li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-0.8em}ul.fas li .fa{width:0.8em}ul.fas li .fa-large:before,ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before{content:""}.icon-book:before{content:""}.fa-caret-down:before{content:""}.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.icon-caret-up:before{content:""}.fa-caret-left:before{content:""}.icon-caret-left:before{content:""}.fa-caret-right:before{content:""}.icon-caret-right:before{content:""}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;border-top:solid 10px #343131;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}-/*# sourceMappingURL=badge_only.css.map */
@@ -1,5 +0,0 @@-*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}[hidden]{display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:hover,a:active{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;color:#000;text-decoration:none}mark{background:#ff0;color:#000;font-style:italic;font-weight:bold}pre,code,.rst-content tt,.rst-content code,kbd,samp{font-family:monospace,serif;_font-family:"courier new",monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:before,q:after{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}ul,ol,dl{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:0;margin:0;padding:0}label{cursor:pointer}legend{border:0;*margin-left:-7px;padding:0;white-space:normal}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*width:13px;*height:13px}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top;resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:0.2em 0;background:#ccc;color:#000;padding:0.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none !important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{html,body,section{background:none !important}*{box-shadow:none !important;text-shadow:none !important;filter:none !important;-ms-filter:none !important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,.rst-content .toctree-wrapper p.caption,h3{orphans:3;widows:3}h2,.rst-content .toctree-wrapper p.caption,h3{page-break-after:avoid}}.fa:before,.wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo,.btn,input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"],select,textarea,.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a,.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a,.wy-nav-top a{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}/*!- * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome- * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)- */@font-face{font-family:'FontAwesome';src:url("../fonts/fontawesome-webfont.eot?v=4.6.3");src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.6.3") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff2?v=4.6.3") format("woff2"),url("../fonts/fontawesome-webfont.woff?v=4.6.3") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.6.3") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.fa,.wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink,.rst-content tt.download span:first-child,.rst-content code.download span:first-child,.icon{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.wy-menu-vertical li span.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a span.fa-pull-left.toctree-expand,.wy-menu-vertical li.current>a span.fa-pull-left.toctree-expand,.rst-content .fa-pull-left.admonition-title,.rst-content h1 .fa-pull-left.headerlink,.rst-content h2 .fa-pull-left.headerlink,.rst-content h3 .fa-pull-left.headerlink,.rst-content h4 .fa-pull-left.headerlink,.rst-content h5 .fa-pull-left.headerlink,.rst-content h6 .fa-pull-left.headerlink,.rst-content dl dt .fa-pull-left.headerlink,.rst-content p.caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.rst-content code.download span.fa-pull-left:first-child,.fa-pull-left.icon{margin-right:.3em}.fa.fa-pull-right,.wy-menu-vertical li span.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a span.fa-pull-right.toctree-expand,.wy-menu-vertical li.current>a span.fa-pull-right.toctree-expand,.rst-content .fa-pull-right.admonition-title,.rst-content h1 .fa-pull-right.headerlink,.rst-content h2 .fa-pull-right.headerlink,.rst-content h3 .fa-pull-right.headerlink,.rst-content h4 .fa-pull-right.headerlink,.rst-content h5 .fa-pull-right.headerlink,.rst-content h6 .fa-pull-right.headerlink,.rst-content dl dt .fa-pull-right.headerlink,.rst-content p.caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.rst-content code.download span.fa-pull-right:first-child,.fa-pull-right.icon{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.wy-menu-vertical li span.pull-left.toctree-expand,.wy-menu-vertical li.on a span.pull-left.toctree-expand,.wy-menu-vertical li.current>a span.pull-left.toctree-expand,.rst-content .pull-left.admonition-title,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content dl dt .pull-left.headerlink,.rst-content p.caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.rst-content code.download span.pull-left:first-child,.pull-left.icon{margin-right:.3em}.fa.pull-right,.wy-menu-vertical li span.pull-right.toctree-expand,.wy-menu-vertical li.on a span.pull-right.toctree-expand,.wy-menu-vertical li.current>a span.pull-right.toctree-expand,.rst-content .pull-right.admonition-title,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content dl dt .pull-right.headerlink,.rst-content p.caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.rst-content code.download span.pull-right:first-child,.pull-right.icon{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-remove:before,.fa-close:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-gear:before,.fa-cog:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-rotate-right:before,.fa-repeat:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.rst-content .admonition-title:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-warning:before,.fa-exclamation-triangle:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-gears:before,.fa-cogs:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-save:before,.fa-floppy-o:before{content:""}.fa-square:before{content:""}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.wy-dropdown .caret:before,.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-unsorted:before,.fa-sort:before{content:""}.fa-sort-down:before,.fa-sort-desc:before{content:""}.fa-sort-up:before,.fa-sort-asc:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-legal:before,.fa-gavel:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-flash:before,.fa-bolt:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-paste:before,.fa-clipboard:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-unlink:before,.fa-chain-broken:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:""}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:""}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:""}.fa-euro:before,.fa-eur:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-rupee:before,.fa-inr:before{content:""}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:""}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:""}.fa-won:before,.fa-krw:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-turkish-lira:before,.fa-try:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li span.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-institution:before,.fa-bank:before,.fa-university:before{content:""}.fa-mortar-board:before,.fa-graduation-cap:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:""}.fa-file-zip-o:before,.fa-file-archive-o:before{content:""}.fa-file-sound-o:before,.fa-file-audio-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:""}.fa-ge:before,.fa-empire:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-send:before,.fa-paper-plane:before{content:""}.fa-send-o:before,.fa-paper-plane-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-hotel:before,.fa-bed:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-yc:before,.fa-y-combinator:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-tv:before,.fa-television:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before,.icon-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:""}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-signing:before,.fa-sign-language:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.fa,.wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink,.rst-content tt.download span:first-child,.rst-content code.download span:first-child,.icon,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context{font-family:inherit}.fa:before,.wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before{font-family:"FontAwesome";display:inline-block;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa,a .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li a span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,a .rst-content .admonition-title,.rst-content a .admonition-title,a .rst-content h1 .headerlink,.rst-content h1 a .headerlink,a .rst-content h2 .headerlink,.rst-content h2 a .headerlink,a .rst-content h3 .headerlink,.rst-content h3 a .headerlink,a .rst-content h4 .headerlink,.rst-content h4 a .headerlink,a .rst-content h5 .headerlink,.rst-content h5 a .headerlink,a .rst-content h6 .headerlink,.rst-content h6 a .headerlink,a .rst-content dl dt .headerlink,.rst-content dl dt a .headerlink,a .rst-content p.caption .headerlink,.rst-content p.caption a .headerlink,a .rst-content tt.download span:first-child,.rst-content tt.download a span:first-child,a .rst-content code.download span:first-child,.rst-content code.download a span:first-child,a .icon{display:inline-block;text-decoration:inherit}.btn .fa,.btn .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .btn span.toctree-expand,.btn .wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.on a .btn span.toctree-expand,.btn .wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.current>a .btn span.toctree-expand,.btn .rst-content .admonition-title,.rst-content .btn .admonition-title,.btn .rst-content h1 .headerlink,.rst-content h1 .btn .headerlink,.btn .rst-content h2 .headerlink,.rst-content h2 .btn .headerlink,.btn .rst-content h3 .headerlink,.rst-content h3 .btn .headerlink,.btn .rst-content h4 .headerlink,.rst-content h4 .btn .headerlink,.btn .rst-content h5 .headerlink,.rst-content h5 .btn .headerlink,.btn .rst-content h6 .headerlink,.rst-content h6 .btn .headerlink,.btn .rst-content dl dt .headerlink,.rst-content dl dt .btn .headerlink,.btn .rst-content p.caption .headerlink,.rst-content p.caption .btn .headerlink,.btn .rst-content tt.download span:first-child,.rst-content tt.download .btn span:first-child,.btn .rst-content code.download span:first-child,.rst-content code.download .btn span:first-child,.btn .icon,.nav .fa,.nav .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .nav span.toctree-expand,.nav .wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.on a .nav span.toctree-expand,.nav .wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.current>a .nav span.toctree-expand,.nav .rst-content .admonition-title,.rst-content .nav .admonition-title,.nav .rst-content h1 .headerlink,.rst-content h1 .nav .headerlink,.nav .rst-content h2 .headerlink,.rst-content h2 .nav .headerlink,.nav .rst-content h3 .headerlink,.rst-content h3 .nav .headerlink,.nav .rst-content h4 .headerlink,.rst-content h4 .nav .headerlink,.nav .rst-content h5 .headerlink,.rst-content h5 .nav .headerlink,.nav .rst-content h6 .headerlink,.rst-content h6 .nav .headerlink,.nav .rst-content dl dt .headerlink,.rst-content dl dt .nav .headerlink,.nav .rst-content p.caption .headerlink,.rst-content p.caption .nav .headerlink,.nav .rst-content tt.download span:first-child,.rst-content tt.download .nav span:first-child,.nav .rst-content code.download span:first-child,.rst-content code.download .nav span:first-child,.nav .icon{display:inline}.btn .fa.fa-large,.btn .wy-menu-vertical li span.fa-large.toctree-expand,.wy-menu-vertical li .btn span.fa-large.toctree-expand,.btn .rst-content .fa-large.admonition-title,.rst-content .btn .fa-large.admonition-title,.btn .rst-content h1 .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.btn .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .btn .fa-large.headerlink,.btn .rst-content p.caption .fa-large.headerlink,.rst-content p.caption .btn .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.rst-content tt.download .btn span.fa-large:first-child,.btn .rst-content code.download span.fa-large:first-child,.rst-content code.download .btn span.fa-large:first-child,.btn .fa-large.icon,.nav .fa.fa-large,.nav .wy-menu-vertical li span.fa-large.toctree-expand,.wy-menu-vertical li .nav span.fa-large.toctree-expand,.nav .rst-content .fa-large.admonition-title,.rst-content .nav .fa-large.admonition-title,.nav .rst-content h1 .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.nav .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.nav .rst-content p.caption .fa-large.headerlink,.rst-content p.caption .nav .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.nav .rst-content code.download span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.nav .fa-large.icon{line-height:0.9em}.btn .fa.fa-spin,.btn .wy-menu-vertical li span.fa-spin.toctree-expand,.wy-menu-vertical li .btn span.fa-spin.toctree-expand,.btn .rst-content .fa-spin.admonition-title,.rst-content .btn .fa-spin.admonition-title,.btn .rst-content h1 .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.btn .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .btn .fa-spin.headerlink,.btn .rst-content p.caption .fa-spin.headerlink,.rst-content p.caption .btn .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.rst-content tt.download .btn span.fa-spin:first-child,.btn .rst-content code.download span.fa-spin:first-child,.rst-content code.download .btn span.fa-spin:first-child,.btn .fa-spin.icon,.nav .fa.fa-spin,.nav .wy-menu-vertical li span.fa-spin.toctree-expand,.wy-menu-vertical li .nav span.fa-spin.toctree-expand,.nav .rst-content .fa-spin.admonition-title,.rst-content .nav .fa-spin.admonition-title,.nav .rst-content h1 .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.nav .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.nav .rst-content p.caption .fa-spin.headerlink,.rst-content p.caption .nav .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.nav .rst-content code.download span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.nav .fa-spin.icon{display:inline-block}.btn.fa:before,.wy-menu-vertical li span.btn.toctree-expand:before,.rst-content .btn.admonition-title:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content dl dt .btn.headerlink:before,.rst-content p.caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.rst-content code.download span.btn:first-child:before,.btn.icon:before{opacity:0.5;-webkit-transition:opacity 0.05s ease-in;-moz-transition:opacity 0.05s ease-in;transition:opacity 0.05s ease-in}.btn.fa:hover:before,.wy-menu-vertical li span.btn.toctree-expand:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content p.caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.rst-content code.download span.btn:first-child:hover:before,.btn.icon:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li .btn-mini span.toctree-expand:before,.btn-mini .rst-content .admonition-title:before,.rst-content .btn-mini .admonition-title:before,.btn-mini .rst-content h1 .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.btn-mini .rst-content dl dt .headerlink:before,.rst-content dl dt .btn-mini .headerlink:before,.btn-mini .rst-content p.caption .headerlink:before,.rst-content p.caption .btn-mini .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.rst-content tt.download .btn-mini span:first-child:before,.btn-mini .rst-content code.download span:first-child:before,.rst-content code.download .btn-mini span:first-child:before,.btn-mini .icon:before{font-size:14px;vertical-align:-15%}.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.wy-alert-title,.rst-content .admonition-title{color:#fff;font-weight:bold;display:block;color:#fff;background:#6ab0de;margin:-12px;padding:6px 12px;margin-bottom:12px}.wy-alert.wy-alert-danger,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.admonition-todo{background:#fdf3f2}.wy-alert.wy-alert-danger .wy-alert-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .danger .wy-alert-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .danger .admonition-title,.rst-content .error .admonition-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title{background:#f29f97}.wy-alert.wy-alert-warning,.rst-content .wy-alert-warning.note,.rst-content .attention,.rst-content .caution,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.tip,.rst-content .warning,.rst-content .wy-alert-warning.seealso,.rst-content .admonition-todo{background:#ffedcc}.wy-alert.wy-alert-warning .wy-alert-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .attention .wy-alert-title,.rst-content .caution .wy-alert-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .admonition-todo .wy-alert-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .attention .admonition-title,.rst-content .caution .admonition-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .warning .admonition-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .admonition-todo .admonition-title{background:#f0b37e}.wy-alert.wy-alert-info,.rst-content .note,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.rst-content .seealso,.rst-content .wy-alert-info.admonition-todo{background:#e7f2fa}.wy-alert.wy-alert-info .wy-alert-title,.rst-content .note .wy-alert-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.rst-content .note .admonition-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .seealso .admonition-title,.rst-content .wy-alert-info.admonition-todo .admonition-title{background:#6ab0de}.wy-alert.wy-alert-success,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.warning,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.admonition-todo{background:#dbfaf4}.wy-alert.wy-alert-success .wy-alert-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .hint .wy-alert-title,.rst-content .important .wy-alert-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .hint .admonition-title,.rst-content .important .admonition-title,.rst-content .tip .admonition-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.admonition-todo .admonition-title{background:#1abc9c}.wy-alert.wy-alert-neutral,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.admonition-todo{background:#f3f6f6}.wy-alert.wy-alert-neutral .wy-alert-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .admonition-title{color:#404040;background:#e1e4e5}.wy-alert.wy-alert-neutral a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.admonition-todo a{color:#2980B9}.wy-alert p:last-child,.rst-content .note p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.rst-content .seealso p:last-child,.rst-content .admonition-todo p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0px;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,0.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all 0.3s ease-in;-moz-transition:all 0.3s ease-in;transition:all 0.3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27AE60}.wy-tray-container li.wy-tray-item-info{background:#2980B9}.wy-tray-container li.wy-tray-item-warning{background:#E67E22}.wy-tray-container li.wy-tray-item-danger{background:#E74C3C}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width: 768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px 12px;color:#fff;border:1px solid rgba(0,0,0,0.1);background-color:#27AE60;text-decoration:none;font-weight:normal;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:0px 1px 2px -1px rgba(255,255,255,0.5) inset,0px -2px 0px 0px rgba(0,0,0,0.1) inset;outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all 0.1s linear;-moz-transition:all 0.1s linear;transition:all 0.1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:0px -1px 0px 0px rgba(0,0,0,0.05) inset,0px 2px 0px 0px rgba(0,0,0,0.1) inset;padding:8px 12px 6px 12px}.btn:visited{color:#fff}.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn-disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn-disabled:hover,.btn-disabled:focus,.btn-disabled:active{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980B9 !important}.btn-info:hover{background-color:#2e8ece !important}.btn-neutral{background-color:#f3f6f6 !important;color:#404040 !important}.btn-neutral:hover{background-color:#e5ebeb !important;color:#404040}.btn-neutral:visited{color:#404040 !important}.btn-success{background-color:#27AE60 !important}.btn-success:hover{background-color:#295 !important}.btn-danger{background-color:#E74C3C !important}.btn-danger:hover{background-color:#ea6153 !important}.btn-warning{background-color:#E67E22 !important}.btn-warning:hover{background-color:#e98b39 !important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f !important}.btn-link{background-color:transparent !important;color:#2980B9;box-shadow:none;border-color:transparent !important}.btn-link:hover{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:active{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:visited{color:#9B59B6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:before,.wy-btn-group:after{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:solid 1px #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,0.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980B9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:solid 1px #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type="search"]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980B9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned input,.wy-form-aligned textarea,.wy-form-aligned select,.wy-form-aligned .wy-help-inline,.wy-form-aligned label{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{border:0;margin:0;padding:0}legend{display:block;width:100%;border:0;padding:0;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label{display:block;margin:0 0 .3125em 0;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;*zoom:1;max-width:68em;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#E74C3C}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full input[type="text"],.wy-control-group .wy-form-full input[type="password"],.wy-control-group .wy-form-full input[type="email"],.wy-control-group .wy-form-full input[type="url"],.wy-control-group .wy-form-full input[type="date"],.wy-control-group .wy-form-full input[type="month"],.wy-control-group .wy-form-full input[type="time"],.wy-control-group .wy-form-full input[type="datetime"],.wy-control-group .wy-form-full input[type="datetime-local"],.wy-control-group .wy-form-full input[type="week"],.wy-control-group .wy-form-full input[type="number"],.wy-control-group .wy-form-full input[type="search"],.wy-control-group .wy-form-full input[type="tel"],.wy-control-group .wy-form-full input[type="color"],.wy-control-group .wy-form-halves input[type="text"],.wy-control-group .wy-form-halves input[type="password"],.wy-control-group .wy-form-halves input[type="email"],.wy-control-group .wy-form-halves input[type="url"],.wy-control-group .wy-form-halves input[type="date"],.wy-control-group .wy-form-halves input[type="month"],.wy-control-group .wy-form-halves input[type="time"],.wy-control-group .wy-form-halves input[type="datetime"],.wy-control-group .wy-form-halves input[type="datetime-local"],.wy-control-group .wy-form-halves input[type="week"],.wy-control-group .wy-form-halves input[type="number"],.wy-control-group .wy-form-halves input[type="search"],.wy-control-group .wy-form-halves input[type="tel"],.wy-control-group .wy-form-halves input[type="color"],.wy-control-group .wy-form-thirds input[type="text"],.wy-control-group .wy-form-thirds input[type="password"],.wy-control-group .wy-form-thirds input[type="email"],.wy-control-group .wy-form-thirds input[type="url"],.wy-control-group .wy-form-thirds input[type="date"],.wy-control-group .wy-form-thirds input[type="month"],.wy-control-group .wy-form-thirds input[type="time"],.wy-control-group .wy-form-thirds input[type="datetime"],.wy-control-group .wy-form-thirds input[type="datetime-local"],.wy-control-group .wy-form-thirds input[type="week"],.wy-control-group .wy-form-thirds input[type="number"],.wy-control-group .wy-form-thirds input[type="search"],.wy-control-group .wy-form-thirds input[type="tel"],.wy-control-group .wy-form-thirds input[type="color"]{width:100%}.wy-control-group .wy-form-full{float:left;display:block;margin-right:2.35765%;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child{margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n+1){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child{margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control{margin:6px 0 0 0;font-size:90%}.wy-control-no-input{display:inline-block;margin:6px 0 0 0;font-size:90%}.wy-control-group.fluid-input input[type="text"],.wy-control-group.fluid-input input[type="password"],.wy-control-group.fluid-input input[type="email"],.wy-control-group.fluid-input input[type="url"],.wy-control-group.fluid-input input[type="date"],.wy-control-group.fluid-input input[type="month"],.wy-control-group.fluid-input input[type="time"],.wy-control-group.fluid-input input[type="datetime"],.wy-control-group.fluid-input input[type="datetime-local"],.wy-control-group.fluid-input input[type="week"],.wy-control-group.fluid-input input[type="number"],.wy-control-group.fluid-input input[type="search"],.wy-control-group.fluid-input input[type="tel"],.wy-control-group.fluid-input input[type="color"]{width:100%}.wy-form-message-inline{display:inline-block;padding-left:0.3em;color:#666;vertical-align:middle;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;*overflow:visible}input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border 0.3s linear;-moz-transition:border 0.3s linear;transition:border 0.3s linear}input[type="datetime-local"]{padding:.34375em .625em}input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin-right:.3125em;*height:13px;*width:13px}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}input[type="text"]:focus,input[type="password"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus{outline:0;outline:thin dotted \9;border-color:#333}input.no-focus:focus{border-color:#ccc !important}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:1px auto #129FEA}input[type="text"][disabled],input[type="password"][disabled],input[type="email"][disabled],input[type="url"][disabled],input[type="date"][disabled],input[type="month"][disabled],input[type="time"][disabled],input[type="datetime"][disabled],input[type="datetime-local"][disabled],input[type="week"][disabled],input[type="number"][disabled],input[type="search"][disabled],input[type="tel"][disabled],input[type="color"][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#E74C3C;border:1px solid #E74C3C}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#E74C3C}input[type="file"]:focus:invalid:focus,input[type="radio"]:focus:invalid:focus,input[type="checkbox"]:focus:invalid:focus{outline-color:#E74C3C}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif}select,textarea{padding:.5em .625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border 0.3s linear;-moz-transition:border 0.3s linear;transition:border 0.3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type="radio"][disabled],input[type="checkbox"][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:solid 1px #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{width:36px;height:12px;margin:12px 0;position:relative;border-radius:4px;background:#ccc;cursor:pointer;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.wy-switch:before{position:absolute;content:"";display:block;width:18px;height:18px;border-radius:4px;background:#999;left:-3px;top:-3px;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.wy-switch:after{content:"false";position:absolute;left:48px;display:block;font-size:12px;color:#ccc}.wy-switch.active{background:#1e8449}.wy-switch.active:before{left:24px;background:#27AE60}.wy-switch.active:after{content:"true"}.wy-switch.disabled,.wy-switch.active.disabled{cursor:not-allowed}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#E74C3C}.wy-control-group.wy-control-group-error input[type="text"],.wy-control-group.wy-control-group-error input[type="password"],.wy-control-group.wy-control-group-error input[type="email"],.wy-control-group.wy-control-group-error input[type="url"],.wy-control-group.wy-control-group-error input[type="date"],.wy-control-group.wy-control-group-error input[type="month"],.wy-control-group.wy-control-group-error input[type="time"],.wy-control-group.wy-control-group-error input[type="datetime"],.wy-control-group.wy-control-group-error input[type="datetime-local"],.wy-control-group.wy-control-group-error input[type="week"],.wy-control-group.wy-control-group-error input[type="number"],.wy-control-group.wy-control-group-error input[type="search"],.wy-control-group.wy-control-group-error input[type="tel"],.wy-control-group.wy-control-group-error input[type="color"]{border:solid 1px #E74C3C}.wy-control-group.wy-control-group-error textarea{border:solid 1px #E74C3C}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:.5em .625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27AE60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#E74C3C}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#E67E22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980B9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width: 480px){.wy-form button[type="submit"]{margin:0.7em 0 0}.wy-form input[type="text"],.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0.3em;display:block}.wy-form label{margin-bottom:0.3em;display:block}.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:0.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0 0}.wy-form .wy-help-inline,.wy-form-message-inline,.wy-form-message{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width: 768px){.tablet-hide{display:none}}@media screen and (max-width: 480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.wy-table,.rst-content table.docutils,.rst-content table.field-list{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.wy-table caption,.rst-content table.docutils caption,.rst-content table.field-list caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td,.wy-table th,.rst-content table.docutils th,.rst-content table.field-list th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.wy-table td:first-child,.rst-content table.docutils td:first-child,.rst-content table.field-list td:first-child,.wy-table th:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list th:first-child{border-left-width:0}.wy-table thead,.rst-content table.docutils thead,.rst-content table.field-list thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.wy-table thead th,.rst-content table.docutils thead th,.rst-content table.field-list thead th{font-weight:bold;border-bottom:solid 2px #e1e4e5}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td{background-color:transparent;vertical-align:middle}.wy-table td p,.rst-content table.docutils td p,.rst-content table.field-list td p{line-height:18px}.wy-table td p:last-child,.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child{margin-bottom:0}.wy-table .wy-table-cell-min,.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min{width:1%;padding-right:0}.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:gray;font-size:90%}.wy-table-tertiary{color:gray;font-size:80%}.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td,.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td{background-color:#f3f6f6}.wy-table-backed{background-color:#f3f6f6}.wy-table-bordered-all,.rst-content table.docutils{border:1px solid #e1e4e5}.wy-table-bordered-all td,.rst-content table.docutils td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.wy-table-bordered-all tbody>tr:last-child td,.rst-content table.docutils tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0 !important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980B9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9B59B6}html{height:100%;overflow-x:hidden}body{font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;font-weight:normal;color:#404040;min-height:100%;overflow-x:hidden;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#E67E22 !important}a.wy-text-warning:hover{color:#eb9950 !important}.wy-text-info{color:#2980B9 !important}a.wy-text-info:hover{color:#409ad5 !important}.wy-text-success{color:#27AE60 !important}a.wy-text-success:hover{color:#36d278 !important}.wy-text-danger{color:#E74C3C !important}a.wy-text-danger:hover{color:#ed7669 !important}.wy-text-neutral{color:#404040 !important}a.wy-text-neutral:hover{color:#595959 !important}h1,h2,.rst-content .toctree-wrapper p.caption,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif}p{line-height:24px;margin:0;font-size:16px;margin-bottom:24px}h1{font-size:175%}h2,.rst-content .toctree-wrapper p.caption{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}code,.rst-content tt,.rst-content code{white-space:nowrap;max-width:100%;background:#fff;border:solid 1px #e1e4e5;font-size:75%;padding:0 5px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;color:#E74C3C;overflow-x:auto}code.code-large,.rst-content tt.code-large{font-size:90%}.wy-plain-list-disc,.rst-content .section ul,.rst-content .toctree-wrapper ul,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.wy-plain-list-disc li,.rst-content .section ul li,.rst-content .toctree-wrapper ul li,article ul li{list-style:disc;margin-left:24px}.wy-plain-list-disc li p:last-child,.rst-content .section ul li p:last-child,.rst-content .toctree-wrapper ul li p:last-child,article ul li p:last-child{margin-bottom:0}.wy-plain-list-disc li ul,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li ul,article ul li ul{margin-bottom:0}.wy-plain-list-disc li li,.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,article ul li li{list-style:circle}.wy-plain-list-disc li li li,.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,article ul li li li{list-style:square}.wy-plain-list-disc li ol li,.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,article ul li ol li{list-style:decimal}.wy-plain-list-decimal,.rst-content .section ol,.rst-content ol.arabic,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.wy-plain-list-decimal li,.rst-content .section ol li,.rst-content ol.arabic li,article ol li{list-style:decimal;margin-left:24px}.wy-plain-list-decimal li p:last-child,.rst-content .section ol li p:last-child,.rst-content ol.arabic li p:last-child,article ol li p:last-child{margin-bottom:0}.wy-plain-list-decimal li ul,.rst-content .section ol li ul,.rst-content ol.arabic li ul,article ol li ul{margin-bottom:0}.wy-plain-list-decimal li ul li,.rst-content .section ol li ul li,.rst-content ol.arabic li ul li,article ol li ul li{list-style:disc}.codeblock-example{border:1px solid #e1e4e5;border-bottom:none;padding:24px;padding-top:48px;font-weight:500;background:#fff;position:relative}.codeblock-example:after{content:"Example";position:absolute;top:0px;left:0px;background:#9B59B6;color:#fff;padding:6px 12px}.codeblock-example.prettyprint-example-only{border:1px solid #e1e4e5;margin-bottom:24px}.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight']{border:1px solid #e1e4e5;padding:0px;overflow-x:auto;background:#fff;margin:1px 0 24px 0}.codeblock div[class^='highlight'],pre.literal-block div[class^='highlight'],.rst-content .literal-block div[class^='highlight'],div[class^='highlight'] div[class^='highlight']{border:none;background:none;margin:0}div[class^='highlight'] td.code{width:100%}.linenodiv pre{border-right:solid 1px #e6e9ea;margin:0;padding:12px 12px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:12px;line-height:1.5;color:#d9d9d9}div[class^='highlight'] pre{white-space:pre;margin:0;padding:12px 12px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:12px;line-height:1.5;display:block;overflow:auto;color:#404040}@media print{.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight'],div[class^='highlight'] pre{white-space:pre-wrap}}.hll{background-color:#ffc;margin:0 -12px;padding:0 12px;display:block}.c{color:#998;font-style:italic}.err{color:#a61717;background-color:#e3d2d2}.k{font-weight:bold}.o{font-weight:bold}.cm{color:#998;font-style:italic}.cp{color:#999;font-weight:bold}.c1{color:#998;font-style:italic}.cs{color:#999;font-weight:bold;font-style:italic}.gd{color:#000;background-color:#fdd}.gd .x{color:#000;background-color:#faa}.ge{font-style:italic}.gr{color:#a00}.gh{color:#999}.gi{color:#000;background-color:#dfd}.gi .x{color:#000;background-color:#afa}.go{color:#888}.gp{color:#555}.gs{font-weight:bold}.gu{color:purple;font-weight:bold}.gt{color:#a00}.kc{font-weight:bold}.kd{font-weight:bold}.kn{font-weight:bold}.kp{font-weight:bold}.kr{font-weight:bold}.kt{color:#458;font-weight:bold}.m{color:#099}.s{color:#d14}.n{color:#333}.na{color:teal}.nb{color:#0086b3}.nc{color:#458;font-weight:bold}.no{color:teal}.ni{color:purple}.ne{color:#900;font-weight:bold}.nf{color:#900;font-weight:bold}.nn{color:#555}.nt{color:navy}.nv{color:teal}.ow{font-weight:bold}.w{color:#bbb}.mf{color:#099}.mh{color:#099}.mi{color:#099}.mo{color:#099}.sb{color:#d14}.sc{color:#d14}.sd{color:#d14}.s2{color:#d14}.se{color:#d14}.sh{color:#d14}.si{color:#d14}.sx{color:#d14}.sr{color:#009926}.s1{color:#d14}.ss{color:#990073}.bp{color:#999}.vc{color:teal}.vg{color:teal}.vi{color:teal}.il{color:#099}.gc{color:#999;background-color:#EAF2F5}.wy-breadcrumbs li{display:inline-block}.wy-breadcrumbs li.wy-breadcrumbs-aside{float:right}.wy-breadcrumbs li a{display:inline-block;padding:5px}.wy-breadcrumbs li a:first-child{padding-left:0}.wy-breadcrumbs li code,.wy-breadcrumbs li .rst-content tt,.rst-content .wy-breadcrumbs li tt{padding:5px;border:none;background:none}.wy-breadcrumbs li code.literal,.wy-breadcrumbs li .rst-content tt.literal,.rst-content .wy-breadcrumbs li tt.literal{color:#404040}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width: 480px){.wy-breadcrumbs-extra{display:none}.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:before,.wy-menu-horiz:after{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz ul,.wy-menu-horiz li{display:inline-block}.wy-menu-horiz li:hover{background:rgba(255,255,255,0.1)}.wy-menu-horiz li.divide-left{border-left:solid 1px #404040}.wy-menu-horiz li.divide-right{border-right:solid 1px #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{height:32px;display:inline-block;line-height:32px;padding:0 1.618em;margin-bottom:0;display:block;font-weight:bold;text-transform:uppercase;font-size:80%;color:#555;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:solid 1px #404040}.wy-menu-vertical li.divide-bottom{border-bottom:solid 1px #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:gray;border-right:solid 1px #c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.wy-menu-vertical li code,.wy-menu-vertical li .rst-content tt,.rst-content .wy-menu-vertical li tt{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li span.toctree-expand{display:block;float:left;margin-left:-1.2em;font-size:0.8em;line-height:1.6em;color:#4d4d4d}.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a{color:#404040;padding:.4045em 1.618em;font-weight:bold;position:relative;background:#fcfcfc;border:none;border-bottom:solid 1px #c9c9c9;border-top:solid 1px #c9c9c9;padding-left:1.618em -4px}.wy-menu-vertical li.on a:hover,.wy-menu-vertical li.current>a:hover{background:#fcfcfc}.wy-menu-vertical li.on a:hover span.toctree-expand,.wy-menu-vertical li.current>a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand{display:block;font-size:0.8em;line-height:1.6em;color:#333}.wy-menu-vertical li.toctree-l1.current li.toctree-l2>ul,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>ul{display:none}.wy-menu-vertical li.toctree-l1.current li.toctree-l2.current>ul,.wy-menu-vertical li.toctree-l2.current li.toctree-l3.current>ul{display:block}.wy-menu-vertical li.toctree-l2.current>a{background:#c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{display:block;background:#c9c9c9;padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l2 a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.toctree-l2 span.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3{font-size:0.9em}.wy-menu-vertical li.toctree-l3.current>a{background:#bdbdbd;padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{display:block;background:#bdbdbd;padding:.4045em 5.663em;border-top:none;border-bottom:none}.wy-menu-vertical li.toctree-l3 a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.toctree-l3 span.toctree-expand{color:#969696}.wy-menu-vertical li.toctree-l4{font-size:0.9em}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical .local-toc li ul{display:block}.wy-menu-vertical li ul li a{margin-bottom:0;color:#b3b3b3;font-weight:normal}.wy-menu-vertical a{display:inline-block;line-height:18px;padding:.4045em 1.618em;display:block;position:relative;font-size:90%;color:#b3b3b3}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover span.toctree-expand{color:#b3b3b3}.wy-menu-vertical a:active{background-color:#2980B9;cursor:pointer;color:#fff}.wy-menu-vertical a:active span.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:.809em;margin-bottom:.809em;z-index:200;background-color:#2980B9;text-align:center;padding:.809em;display:block;color:#fcfcfc;margin-bottom:.809em}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto .809em auto;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a{color:#fcfcfc;font-size:100%;font-weight:bold;display:inline-block;padding:4px 6px;margin-bottom:.809em}.wy-side-nav-search>a:hover,.wy-side-nav-search .wy-dropdown>a:hover{background:rgba(255,255,255,0.1)}.wy-side-nav-search>a img.logo,.wy-side-nav-search .wy-dropdown>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search>a.icon img.logo,.wy-side-nav-search .wy-dropdown>a.icon img.logo{margin-top:0.85em}.wy-side-nav-search>div.version{margin-top:-.4045em;margin-bottom:.809em;font-weight:normal;color:rgba(255,255,255,0.3)}.wy-nav .wy-menu-vertical header{color:#2980B9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980B9;color:#fff}[data-menu-wrap]{-webkit-transition:all 0.2s ease-in;-moz-transition:all 0.2s ease-in;transition:all 0.2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:left repeat-y #fcfcfc;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOERBMTRGRDBFMUUxMUUzODUwMkJCOThDMEVFNURFMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOERBMTRGRTBFMUUxMUUzODUwMkJCOThDMEVFNURFMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4REExNEZCMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4REExNEZDMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EwrlwAAAAA5JREFUeNpiMDU0BAgwAAE2AJgB9BnaAAAAAElFTkSuQmCC);background-size:300px 1px}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980B9;color:#fff;padding:.4045em .809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:before,.wy-nav-top:after{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:bold}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer;padding-top:inherit}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,0.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:#999}footer p{margin-bottom:12px}footer span.commit code,footer span.commit .rst-content tt,.rst-content footer span.commit tt{padding:0px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:1em;background:none;border:none;color:#999}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:before,.rst-footer-buttons:after{display:table;content:""}.rst-footer-buttons:after{clear:both}.rst-breadcrumbs-buttons{margin-top:12px;*zoom:1}.rst-breadcrumbs-buttons:before,.rst-breadcrumbs-buttons:after{display:table;content:""}.rst-breadcrumbs-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:solid 1px #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:solid 1px #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:gray;font-size:90%}@media screen and (max-width: 768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-side-scroll{width:auto}.wy-side-nav-search{width:auto}.wy-menu.wy-menu-vertical{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width: 1400px){.wy-nav-content-wrap{background:rgba(0,0,0,0.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,footer,.wy-nav-side{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;border-top:solid 10px #343131;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version span.toctree-expand,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content p.caption .headerlink,.rst-content p.caption .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .icon{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}.rst-content img{max-width:100%;height:auto !important}.rst-content .highlight>pre{line-height:normal}.rst-content div.figure{margin-bottom:24px}.rst-content div.figure p.caption{font-style:italic}.rst-content div.figure.align-center{text-align:center}.rst-content .section>img,.rst-content .section>a>img{margin-bottom:24px}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content .note .last,.rst-content .attention .last,.rst-content .caution .last,.rst-content .danger .last,.rst-content .error .last,.rst-content .hint .last,.rst-content .important .last,.rst-content .tip .last,.rst-content .warning .last,.rst-content .seealso .last,.rst-content .admonition-todo .last{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,0.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent !important;border-color:rgba(0,0,0,0.1) !important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha li{list-style:upper-alpha}.rst-content .section ol p,.rst-content .section ul p{margin-bottom:12px}.rst-content .line-block{margin-left:24px}.rst-content .topic-title{font-weight:bold;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0px 0px 24px 24px}.rst-content .align-left{float:left;margin:0px 24px 24px 0px}.rst-content .align-center{margin:auto;display:block}.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content .toctree-wrapper p.caption .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink{display:none;visibility:hidden;font-size:14px}.rst-content h1 .headerlink:after,.rst-content h2 .headerlink:after,.rst-content .toctree-wrapper p.caption .headerlink:after,.rst-content h3 .headerlink:after,.rst-content h4 .headerlink:after,.rst-content h5 .headerlink:after,.rst-content h6 .headerlink:after,.rst-content dl dt .headerlink:after,.rst-content p.caption .headerlink:after{visibility:visible;content:"";font-family:FontAwesome;display:inline-block}.rst-content h1:hover .headerlink,.rst-content h2:hover .headerlink,.rst-content .toctree-wrapper p.caption:hover .headerlink,.rst-content h3:hover .headerlink,.rst-content h4:hover .headerlink,.rst-content h5:hover .headerlink,.rst-content h6:hover .headerlink,.rst-content dl dt:hover .headerlink,.rst-content p.caption:hover .headerlink{display:inline-block}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:solid 1px #e1e4e5}.rst-content .sidebar p,.rst-content .sidebar ul,.rst-content .sidebar dl{font-size:90%}.rst-content .sidebar .last{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif;font-weight:bold;background:#e1e4e5;padding:6px 12px;margin:-24px;margin-bottom:24px;font-size:100%}.rst-content .highlighted{background:#F1C40F;display:inline-block;font-weight:bold;padding:0 6px}.rst-content .footnote-reference,.rst-content .citation-reference{vertical-align:super;font-size:90%}.rst-content table.docutils.citation,.rst-content table.docutils.footnote{background:none;border:none;color:#999}.rst-content table.docutils.citation td,.rst-content table.docutils.citation tr,.rst-content table.docutils.footnote td,.rst-content table.docutils.footnote tr{border:none;background-color:transparent !important;white-space:normal}.rst-content table.docutils.citation td.label,.rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}.rst-content table.docutils.citation tt,.rst-content table.docutils.citation code,.rst-content table.docutils.footnote tt,.rst-content table.docutils.footnote code{color:#555}.rst-content table.field-list{border:none}.rst-content table.field-list td{border:none;padding-top:5px}.rst-content table.field-list td>strong{display:inline-block;margin-top:3px}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left;padding-left:0}.rst-content tt,.rst-content tt,.rst-content code{color:#000;padding:2px 5px}.rst-content tt big,.rst-content tt em,.rst-content tt big,.rst-content code big,.rst-content tt em,.rst-content code em{font-size:100% !important;line-height:normal}.rst-content tt.literal,.rst-content tt.literal,.rst-content code.literal{color:#E74C3C}.rst-content tt.xref,a .rst-content tt,.rst-content tt.xref,.rst-content code.xref,a .rst-content tt,a .rst-content code{font-weight:bold;color:#404040}.rst-content a tt,.rst-content a tt,.rst-content a code{color:#2980B9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:bold}.rst-content dl p,.rst-content dl table,.rst-content dl ul,.rst-content dl ol{margin-bottom:12px !important}.rst-content dl dd{margin:0 0 12px 24px}.rst-content dl:not(.docutils){margin-bottom:24px}.rst-content dl:not(.docutils) dt{display:inline-block;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980B9;border-top:solid 3px #6ab0de;padding:6px;position:relative}.rst-content dl:not(.docutils) dt:before{color:#6ab0de}.rst-content dl:not(.docutils) dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dl dt{margin-bottom:6px;border:none;border-left:solid 3px #ccc;background:#f0f0f0;color:#555}.rst-content dl:not(.docutils) dl dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dt:first-child{margin-top:0}.rst-content dl:not(.docutils) tt,.rst-content dl:not(.docutils) tt,.rst-content dl:not(.docutils) code{font-weight:bold}.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descclassname,.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) code.descname,.rst-content dl:not(.docutils) tt.descclassname,.rst-content dl:not(.docutils) code.descclassname{background-color:transparent;border:none;padding:0;font-size:100% !important}.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) code.descname{font-weight:bold}.rst-content dl:not(.docutils) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:bold}.rst-content dl:not(.docutils) .property{display:inline-block;padding-right:8px}.rst-content .viewcode-link,.rst-content .viewcode-back{display:inline-block;color:#27AE60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:bold}.rst-content tt.download,.rst-content code.download{background:inherit;padding:inherit;font-weight:normal;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content tt.download span:first-child,.rst-content code.download span:first-child{-webkit-font-smoothing:subpixel-antialiased}.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before{margin-right:4px}.rst-content .guilabel{border:1px solid #7fbbe3;background:#e7f2fa;font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px}@media screen and (max-width: 480px){.rst-content .sidebar{width:100%}}span[id*='MathJax-Span']{color:#404040}.math{text-align:center}@font-face{font-family:"Inconsolata";font-style:normal;font-weight:400;src:local("Inconsolata"),local("Inconsolata-Regular"),url(../fonts/Inconsolata-Regular.ttf) format("truetype")}@font-face{font-family:"Inconsolata";font-style:normal;font-weight:700;src:local("Inconsolata Bold"),local("Inconsolata-Bold"),url(../fonts/Inconsolata-Bold.ttf) format("truetype")}@font-face{font-family:"Lato";font-style:normal;font-weight:400;src:local("Lato Regular"),local("Lato-Regular"),url(../fonts/Lato-Regular.ttf) format("truetype")}@font-face{font-family:"Lato";font-style:normal;font-weight:700;src:local("Lato Bold"),local("Lato-Bold"),url(../fonts/Lato-Bold.ttf) format("truetype")}@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:400;src:local("Roboto Slab Regular"),local("RobotoSlab-Regular"),url(../fonts/RobotoSlab-Regular.ttf) format("truetype")}@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:700;src:local("Roboto Slab Bold"),local("RobotoSlab-Bold"),url(../fonts/RobotoSlab-Bold.ttf) format("truetype")}-/*# sourceMappingURL=theme.css.map */
@@ -1,287 +0,0 @@-/*- * doctools.js- * ~~~~~~~~~~~- *- * Sphinx JavaScript utilities for all documentation.- *- * :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS.- * :license: BSD, see LICENSE for details.- *- */--/**- * select a different prefix for underscore- */-$u = _.noConflict();--/**- * make the code below compatible with browsers without- * an installed firebug like debugger-if (!window.console || !console.firebug) {- var names = ["log", "debug", "info", "warn", "error", "assert", "dir",- "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace",- "profile", "profileEnd"];- window.console = {};- for (var i = 0; i < names.length; ++i)- window.console[names[i]] = function() {};-}- */--/**- * small helper function to urldecode strings- */-jQuery.urldecode = function(x) {- return decodeURIComponent(x).replace(/\+/g, ' ');-};--/**- * small helper function to urlencode strings- */-jQuery.urlencode = encodeURIComponent;--/**- * This function returns the parsed url parameters of the- * current request. Multiple values per key are supported,- * it will always return arrays of strings for the value parts.- */-jQuery.getQueryParameters = function(s) {- if (typeof s == 'undefined')- s = document.location.search;- var parts = s.substr(s.indexOf('?') + 1).split('&');- var result = {};- for (var i = 0; i < parts.length; i++) {- var tmp = parts[i].split('=', 2);- var key = jQuery.urldecode(tmp[0]);- var value = jQuery.urldecode(tmp[1]);- if (key in result)- result[key].push(value);- else- result[key] = [value];- }- return result;-};--/**- * highlight a given string on a jquery object by wrapping it in- * span elements with the given class name.- */-jQuery.fn.highlightText = function(text, className) {- function highlight(node) {- if (node.nodeType == 3) {- var val = node.nodeValue;- var pos = val.toLowerCase().indexOf(text);- if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) {- var span = document.createElement("span");- span.className = className;- span.appendChild(document.createTextNode(val.substr(pos, text.length)));- node.parentNode.insertBefore(span, node.parentNode.insertBefore(- document.createTextNode(val.substr(pos + text.length)),- node.nextSibling));- node.nodeValue = val.substr(0, pos);- }- }- else if (!jQuery(node).is("button, select, textarea")) {- jQuery.each(node.childNodes, function() {- highlight(this);- });- }- }- return this.each(function() {- highlight(this);- });-};--/*- * backward compatibility for jQuery.browser- * This will be supported until firefox bug is fixed.- */-if (!jQuery.browser) {- jQuery.uaMatch = function(ua) {- ua = ua.toLowerCase();-- var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||- /(webkit)[ \/]([\w.]+)/.exec(ua) ||- /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||- /(msie) ([\w.]+)/.exec(ua) ||- ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||- [];-- return {- browser: match[ 1 ] || "",- version: match[ 2 ] || "0"- };- };- jQuery.browser = {};- jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;-}--/**- * Small JavaScript module for the documentation.- */-var Documentation = {-- init : function() {- this.fixFirefoxAnchorBug();- this.highlightSearchWords();- this.initIndexTable();- - },-- /**- * i18n support- */- TRANSLATIONS : {},- PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; },- LOCALE : 'unknown',-- // gettext and ngettext don't access this so that the functions- // can safely bound to a different name (_ = Documentation.gettext)- gettext : function(string) {- var translated = Documentation.TRANSLATIONS[string];- if (typeof translated == 'undefined')- return string;- return (typeof translated == 'string') ? translated : translated[0];- },-- ngettext : function(singular, plural, n) {- var translated = Documentation.TRANSLATIONS[singular];- if (typeof translated == 'undefined')- return (n == 1) ? singular : plural;- return translated[Documentation.PLURALEXPR(n)];- },-- addTranslations : function(catalog) {- for (var key in catalog.messages)- this.TRANSLATIONS[key] = catalog.messages[key];- this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');- this.LOCALE = catalog.locale;- },-- /**- * add context elements like header anchor links- */- addContextElements : function() {- $('div[id] > :header:first').each(function() {- $('<a class="headerlink">\u00B6</a>').- attr('href', '#' + this.id).- attr('title', _('Permalink to this headline')).- appendTo(this);- });- $('dt[id]').each(function() {- $('<a class="headerlink">\u00B6</a>').- attr('href', '#' + this.id).- attr('title', _('Permalink to this definition')).- appendTo(this);- });- },-- /**- * workaround a firefox stupidity- * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075- */- fixFirefoxAnchorBug : function() {- if (document.location.hash)- window.setTimeout(function() {- document.location.href += '';- }, 10);- },-- /**- * highlight the search words provided in the url in the text- */- highlightSearchWords : function() {- var params = $.getQueryParameters();- var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];- if (terms.length) {- var body = $('div.body');- if (!body.length) {- body = $('body');- }- window.setTimeout(function() {- $.each(terms, function() {- body.highlightText(this.toLowerCase(), 'highlighted');- });- }, 10);- $('<p class="highlight-link"><a href="javascript:Documentation.' +- 'hideSearchWords()">' + _('Hide Search Matches') + '</a></p>')- .appendTo($('#searchbox'));- }- },-- /**- * init the domain index toggle buttons- */- initIndexTable : function() {- var togglers = $('img.toggler').click(function() {- var src = $(this).attr('src');- var idnum = $(this).attr('id').substr(7);- $('tr.cg-' + idnum).toggle();- if (src.substr(-9) == 'minus.png')- $(this).attr('src', src.substr(0, src.length-9) + 'plus.png');- else- $(this).attr('src', src.substr(0, src.length-8) + 'minus.png');- }).css('display', '');- if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {- togglers.click();- }- },-- /**- * helper function to hide the search marks again- */- hideSearchWords : function() {- $('#searchbox .highlight-link').fadeOut(300);- $('span.highlighted').removeClass('highlighted');- },-- /**- * make the url absolute- */- makeURL : function(relativeURL) {- return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;- },-- /**- * get the current relative url- */- getCurrentURL : function() {- var path = document.location.pathname;- var parts = path.split(/\//);- $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {- if (this == '..')- parts.pop();- });- var url = parts.join('/');- return path.substring(url.lastIndexOf('/') + 1, path.length - 1);- },-- initOnKeyListeners: function() {- $(document).keyup(function(event) {- var activeElementType = document.activeElement.tagName;- // don't navigate when in search box or textarea- if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') {- switch (event.keyCode) {- case 37: // left- var prevHref = $('link[rel="prev"]').prop('href');- if (prevHref) {- window.location.href = prevHref;- return false;- }- case 39: // right- var nextHref = $('link[rel="next"]').prop('href');- if (nextHref) {- window.location.href = nextHref;- return false;- }- }- }- });- }-};--// quick alias for translations-_ = Documentation.gettext;--$(document).ready(function() {- Documentation.init();-});
binary file changed (222 → absent bytes)
binary file changed (202 → absent bytes)
binary file changed (286 → absent bytes)
binary file changed (109948 → absent bytes)
binary file changed (96964 → absent bytes)
binary file changed (656544 → absent bytes)
binary file changed (656568 → absent bytes)
binary file changed (170616 → absent bytes)
binary file changed (169064 → absent bytes)
binary file changed (76518 → absent bytes)
@@ -1,685 +0,0 @@-<?xml version="1.0" standalone="no"?>-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >-<svg xmlns="http://www.w3.org/2000/svg">-<metadata></metadata>-<defs>-<font id="fontawesomeregular" horiz-adv-x="1536" >-<font-face units-per-em="1792" ascent="1536" descent="-256" />-<missing-glyph horiz-adv-x="448" />-<glyph unicode=" " horiz-adv-x="448" />-<glyph unicode="	" horiz-adv-x="448" />-<glyph unicode=" " horiz-adv-x="448" />-<glyph unicode="¨" horiz-adv-x="1792" />-<glyph unicode="©" horiz-adv-x="1792" />-<glyph unicode="®" horiz-adv-x="1792" />-<glyph unicode="´" horiz-adv-x="1792" />-<glyph unicode="Æ" horiz-adv-x="1792" />-<glyph unicode="Ø" horiz-adv-x="1792" />-<glyph unicode=" " horiz-adv-x="768" />-<glyph unicode=" " horiz-adv-x="1537" />-<glyph unicode=" " horiz-adv-x="768" />-<glyph unicode=" " horiz-adv-x="1537" />-<glyph unicode=" " horiz-adv-x="512" />-<glyph unicode=" " horiz-adv-x="384" />-<glyph unicode=" " horiz-adv-x="256" />-<glyph unicode=" " horiz-adv-x="256" />-<glyph unicode=" " horiz-adv-x="192" />-<glyph unicode=" " horiz-adv-x="307" />-<glyph unicode=" " horiz-adv-x="85" />-<glyph unicode=" " horiz-adv-x="307" />-<glyph unicode=" " horiz-adv-x="384" />-<glyph unicode="™" horiz-adv-x="1792" />-<glyph unicode="∞" horiz-adv-x="1792" />-<glyph unicode="≠" horiz-adv-x="1792" />-<glyph unicode="◼" horiz-adv-x="500" d="M0 0z" />-<glyph unicode="" horiz-adv-x="1792" d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />-<glyph unicode="" d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89 t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />-<glyph unicode="" horiz-adv-x="1664" d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5 t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />-<glyph unicode="" horiz-adv-x="1792" d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13 t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />-<glyph unicode="" horiz-adv-x="1792" d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600 q-18 -18 -44 -18z" />-<glyph unicode="" horiz-adv-x="1664" d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455 l502 -73q56 -9 56 -46z" />-<glyph unicode="" horiz-adv-x="1664" d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500 l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />-<glyph unicode="" horiz-adv-x="1408" d="M1408 131q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q9 0 42 -21.5t74.5 -48t108 -48t133.5 -21.5t133.5 21.5t108 48t74.5 48t42 21.5q61 0 111.5 -20t85.5 -53.5t62 -81 t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />-<glyph unicode="" horiz-adv-x="1920" d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128 q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45 t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128 q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19 t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />-<glyph unicode="" horiz-adv-x="1664" d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38 h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />-<glyph unicode="" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />-<glyph unicode="" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />-<glyph unicode="" horiz-adv-x="1792" d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />-<glyph unicode="" horiz-adv-x="1408" d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68 t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />-<glyph unicode="" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224 q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5 t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />-<glyph unicode="" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z " />-<glyph unicode="" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5 t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />-<glyph unicode="" horiz-adv-x="1792" d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />-<glyph unicode="" d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38 q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13 l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22 q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />-<glyph unicode="" horiz-adv-x="1408" d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832 q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />-<glyph unicode="" horiz-adv-x="1664" d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5 l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />-<glyph unicode="" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z " />-<glyph unicode="" d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" horiz-adv-x="1920" d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256 q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />-<glyph unicode="" horiz-adv-x="1664" d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136 q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />-<glyph unicode="" d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273 t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198 t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M1023 576h316q-1 3 -2.5 8t-2.5 8l-212 496h-708l-212 -496q-1 -2 -2.5 -8t-2.5 -8h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552 q25 -61 25 -123z" />-<glyph unicode="" d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q14 0 25 -9 l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />-<glyph unicode="" d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117 q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5 q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1792" d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5 t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47 t47 -113z" />-<glyph unicode="" horiz-adv-x="1152" d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />-<glyph unicode="" horiz-adv-x="1792" d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48 t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1664" d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78 t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5 t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />-<glyph unicode="" horiz-adv-x="768" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1152" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />-<glyph unicode="" horiz-adv-x="1664" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5 t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289 t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />-<glyph unicode="" horiz-adv-x="1408" d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />-<glyph unicode="" horiz-adv-x="1792" d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />-<glyph unicode="" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91z" />-<glyph unicode="" horiz-adv-x="1920" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />-<glyph unicode="" horiz-adv-x="1664" d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23 q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906 q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5 t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />-<glyph unicode="" horiz-adv-x="1280" d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />-<glyph unicode="" horiz-adv-x="1664" d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68 v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />-<glyph unicode="" horiz-adv-x="1920" d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136 q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />-<glyph unicode="" horiz-adv-x="1664" d="M725 977l-170 -450q33 0 136.5 -2t160.5 -2q19 0 57 2q-87 253 -184 452zM0 -128l2 79q23 7 56 12.5t57 10.5t49.5 14.5t44.5 29t31 50.5l237 616l280 724h75h53q8 -14 11 -21l205 -480q33 -78 106 -257.5t114 -274.5q15 -34 58 -144.5t72 -168.5q20 -45 35 -57 q19 -15 88 -29.5t84 -20.5q6 -38 6 -57q0 -4 -0.5 -13t-0.5 -13q-63 0 -190 8t-191 8q-76 0 -215 -7t-178 -8q0 43 4 78l131 28q1 0 12.5 2.5t15.5 3.5t14.5 4.5t15 6.5t11 8t9 11t2.5 14q0 16 -31 96.5t-72 177.5t-42 100l-450 2q-26 -58 -76.5 -195.5t-50.5 -162.5 q0 -22 14 -37.5t43.5 -24.5t48.5 -13.5t57 -8.5t41 -4q1 -19 1 -58q0 -9 -2 -27q-58 0 -174.5 10t-174.5 10q-8 0 -26.5 -4t-21.5 -4q-80 -14 -188 -14z" />-<glyph unicode="" horiz-adv-x="1408" d="M555 15q74 -32 140 -32q376 0 376 335q0 114 -41 180q-27 44 -61.5 74t-67.5 46.5t-80.5 25t-84 10.5t-94.5 2q-73 0 -101 -10q0 -53 -0.5 -159t-0.5 -158q0 -8 -1 -67.5t-0.5 -96.5t4.5 -83.5t12 -66.5zM541 761q42 -7 109 -7q82 0 143 13t110 44.5t74.5 89.5t25.5 142 q0 70 -29 122.5t-79 82t-108 43.5t-124 14q-50 0 -130 -13q0 -50 4 -151t4 -152q0 -27 -0.5 -80t-0.5 -79q0 -46 1 -69zM0 -128l2 94q15 4 85 16t106 27q7 12 12.5 27t8.5 33.5t5.5 32.5t3 37.5t0.5 34v35.5v30q0 982 -22 1025q-4 8 -22 14.5t-44.5 11t-49.5 7t-48.5 4.5 t-30.5 3l-4 83q98 2 340 11.5t373 9.5q23 0 68.5 -0.5t67.5 -0.5q70 0 136.5 -13t128.5 -42t108 -71t74 -104.5t28 -137.5q0 -52 -16.5 -95.5t-39 -72t-64.5 -57.5t-73 -45t-84 -40q154 -35 256.5 -134t102.5 -248q0 -100 -35 -179.5t-93.5 -130.5t-138 -85.5t-163.5 -48.5 t-176 -14q-44 0 -132 3t-132 3q-106 0 -307 -11t-231 -12z" />-<glyph unicode="" horiz-adv-x="1024" d="M0 -126l17 85q6 2 81.5 21.5t111.5 37.5q28 35 41 101q1 7 62 289t114 543.5t52 296.5v25q-24 13 -54.5 18.5t-69.5 8t-58 5.5l19 103q33 -2 120 -6.5t149.5 -7t120.5 -2.5q48 0 98.5 2.5t121 7t98.5 6.5q-5 -39 -19 -89q-30 -10 -101.5 -28.5t-108.5 -33.5 q-8 -19 -14 -42.5t-9 -40t-7.5 -45.5t-6.5 -42q-27 -148 -87.5 -419.5t-77.5 -355.5q-2 -9 -13 -58t-20 -90t-16 -83.5t-6 -57.5l1 -18q17 -4 185 -31q-3 -44 -16 -99q-11 0 -32.5 -1.5t-32.5 -1.5q-29 0 -87 10t-86 10q-138 2 -206 2q-51 0 -143 -9t-121 -11z" />-<glyph unicode="" horiz-adv-x="1792" d="M1744 128q33 0 42 -18.5t-11 -44.5l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80zM81 1407l54 -27q12 -5 211 -5q44 0 132 2 t132 2q36 0 107.5 -0.5t107.5 -0.5h293q6 0 21 -0.5t20.5 0t16 3t17.5 9t15 17.5l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 48t-14.5 73.5t-7.5 35.5q-6 8 -12 12.5t-15.5 6t-13 2.5t-18 0.5t-16.5 -0.5 q-17 0 -66.5 0.5t-74.5 0.5t-64 -2t-71 -6q-9 -81 -8 -136q0 -94 2 -388t2 -455q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27 q19 42 19 383q0 101 -3 303t-3 303v117q0 2 0.5 15.5t0.5 25t-1 25.5t-3 24t-5 14q-11 12 -162 12q-33 0 -93 -12t-80 -26q-19 -13 -34 -72.5t-31.5 -111t-42.5 -53.5q-42 26 -56 44v383z" />-<glyph unicode="" d="M81 1407l54 -27q12 -5 211 -5q44 0 132 2t132 2q70 0 246.5 1t304.5 0.5t247 -4.5q33 -1 56 31l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 47.5t-15 73.5t-7 36q-10 13 -27 19q-5 2 -66 2q-30 0 -93 1t-103 1 t-94 -2t-96 -7q-9 -81 -8 -136l1 -152v52q0 -55 1 -154t1.5 -180t0.5 -153q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27 q7 16 11.5 74t6 145.5t1.5 155t-0.5 153.5t-0.5 89q0 7 -2.5 21.5t-2.5 22.5q0 7 0.5 44t1 73t0 76.5t-3 67.5t-6.5 32q-11 12 -162 12q-41 0 -163 -13.5t-138 -24.5q-19 -12 -34 -71.5t-31.5 -111.5t-42.5 -54q-42 26 -56 44v383zM1310 125q12 0 42 -19.5t57.5 -41.5 t59.5 -49t36 -30q26 -21 26 -49t-26 -49q-4 -3 -36 -30t-59.5 -49t-57.5 -41.5t-42 -19.5q-13 0 -20.5 10.5t-10 28.5t-2.5 33.5t1.5 33t1.5 19.5h-1024q0 -2 1.5 -19.5t1.5 -33t-2.5 -33.5t-10 -28.5t-20.5 -10.5q-12 0 -42 19.5t-57.5 41.5t-59.5 49t-36 30q-26 21 -26 49 t26 49q4 3 36 30t59.5 49t57.5 41.5t42 19.5q13 0 20.5 -10.5t10 -28.5t2.5 -33.5t-1.5 -33t-1.5 -19.5h1024q0 2 -1.5 19.5t-1.5 33t2.5 33.5t10 28.5t20.5 10.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19 h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1792" d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5 t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344 q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192 q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5 q39 -17 39 -59z" />-<glyph unicode="" horiz-adv-x="1920" d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216 q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />-<glyph unicode="" d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38 q53 0 91 -38l235 -234q37 -39 37 -91z" />-<glyph unicode="" horiz-adv-x="1024" d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />-<glyph unicode="" d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" horiz-adv-x="1024" d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362 q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />-<glyph unicode="" horiz-adv-x="1792" d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92 l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />-<glyph unicode="" horiz-adv-x="1664" d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832 q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5 t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />-<glyph unicode="" horiz-adv-x="1664" d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832 q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110 q24 -24 24 -57t-24 -57z" />-<glyph unicode="" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45 t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />-<glyph unicode="" horiz-adv-x="1024" d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19z" />-<glyph unicode="" horiz-adv-x="1792" d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19l710 710 q19 19 32 13t13 -32v-710q4 11 13 19z" />-<glyph unicode="" horiz-adv-x="1664" d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-8 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q5 11 13 19z" />-<glyph unicode="" horiz-adv-x="1408" d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />-<glyph unicode="" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />-<glyph unicode="" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1664" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />-<glyph unicode="" horiz-adv-x="1792" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19l-710 -710 q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />-<glyph unicode="" horiz-adv-x="1024" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19z" />-<glyph unicode="" horiz-adv-x="1538" d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />-<glyph unicode="" horiz-adv-x="1280" d="M1171 1235l-531 -531l531 -531q19 -19 19 -45t-19 -45l-166 -166q-19 -19 -45 -19t-45 19l-742 742q-19 19 -19 45t19 45l742 742q19 19 45 19t45 -19l166 -166q19 -19 19 -45t-19 -45z" />-<glyph unicode="" horiz-adv-x="1280" d="M1107 659l-742 -742q-19 -19 -45 -19t-45 19l-166 166q-19 19 -19 45t19 45l531 531l-531 531q-19 19 -19 45t19 45l166 166q19 19 45 19t45 -19l742 -742q19 -19 19 -45t-19 -45z" />-<glyph unicode="" d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5 t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />-<glyph unicode="" d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19 q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59 q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23 t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109 q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143 q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />-<glyph unicode="" d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23 l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5 t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198 t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61 t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />-<glyph unicode="" d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5 t32.5 -90.5z" />-<glyph unicode="" d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />-<glyph unicode="" horiz-adv-x="1664" d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651 q37 -39 37 -91z" />-<glyph unicode="" horiz-adv-x="1664" d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />-<glyph unicode="" horiz-adv-x="1792" d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22 t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />-<glyph unicode="" d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332 q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />-<glyph unicode="" d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45 t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />-<glyph unicode="" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />-<glyph unicode="" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />-<glyph unicode="" horiz-adv-x="1664" d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154 q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />-<glyph unicode="" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192 q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />-<glyph unicode="" d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320 q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5 t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />-<glyph unicode="" horiz-adv-x="1792" d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268 q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-30 0 -51 11t-31 24t-27 42q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5 t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />-<glyph unicode="" horiz-adv-x="1408" d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1 q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />-<glyph unicode="" horiz-adv-x="1792" d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5 t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />-<glyph unicode="" horiz-adv-x="1792" d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9 q-105 -188 -315 -566t-316 -567l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5 q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z " />-<glyph unicode="" horiz-adv-x="1792" d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185 q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />-<glyph unicode="" horiz-adv-x="1408" d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9 q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />-<glyph unicode="" horiz-adv-x="1664" d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64 q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47 h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />-<glyph unicode="" horiz-adv-x="1792" d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1 t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5 v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111 t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />-<glyph unicode="" horiz-adv-x="1792" d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281 q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />-<glyph unicode="" d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384 q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1792" d="M1683 205l-166 -165q-19 -19 -45 -19t-45 19l-531 531l-531 -531q-19 -19 -45 -19t-45 19l-166 165q-19 19 -19 45.5t19 45.5l742 741q19 19 45 19t45 -19l742 -741q19 -19 19 -45.5t-19 -45.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1683 728l-742 -741q-19 -19 -45 -19t-45 19l-742 741q-19 19 -19 45.5t19 45.5l166 165q19 19 45 19t45 -19l531 -531l531 531q19 19 45 19t45 -19l166 -165q19 -19 19 -45.5t-19 -45.5z" />-<glyph unicode="" horiz-adv-x="1920" d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -11 7 -21 zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z " />-<glyph unicode="" horiz-adv-x="1664" d="M640 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1536 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1664 1088v-512q0 -24 -16.5 -42.5t-40.5 -21.5l-1044 -122q13 -60 13 -70q0 -16 -24 -64h920q26 0 45 -19t19 -45 t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 11 8 31.5t16 36t21.5 40t15.5 29.5l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t19.5 -15.5t13 -24.5t8 -26t5.5 -29.5t4.5 -26h1201q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1664" d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />-<glyph unicode="" horiz-adv-x="1920" d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5 t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />-<glyph unicode="" horiz-adv-x="768" d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />-<glyph unicode="" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />-<glyph unicode="" horiz-adv-x="2048" d="M640 640v-512h-256v512h256zM1024 1152v-1024h-256v1024h256zM2048 0v-128h-2048v1536h128v-1408h1920zM1408 896v-768h-256v768h256zM1792 1280v-1152h-256v1152h256z" />-<glyph unicode="" d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4 q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5 t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-188v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-532q-119 0 -203.5 84.5t-84.5 203.5v960 q0 119 84.5 203.5t203.5 84.5h960z" />-<glyph unicode="" horiz-adv-x="1792" d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5 t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280 q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26 l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5 t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />-<glyph unicode="" horiz-adv-x="1920" d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -10 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5 l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7 l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -9 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31 q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20 t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68 q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70 q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />-<glyph unicode="" horiz-adv-x="1792" d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224 q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7 q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />-<glyph unicode="" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5 t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769 q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128 q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />-<glyph unicode="" d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 32 18 69t-17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5 t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5 h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -74 49 -163z" />-<glyph unicode="" horiz-adv-x="896" d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />-<glyph unicode="" horiz-adv-x="1792" d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559 q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5 q224 0 351 -124t127 -344z" />-<glyph unicode="" horiz-adv-x="1664" d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704 q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />-<glyph unicode="" d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5 q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="1152" d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38 t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />-<glyph unicode="" d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5 q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="1664" d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91 t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96 q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />-<glyph unicode="" d="M519 336q4 6 -3 13q-9 7 -14 2q-4 -6 3 -13q9 -7 14 -2zM491 377q-5 7 -12 4q-6 -4 0 -12q7 -8 12 -5q6 4 0 13zM450 417q2 4 -5 8q-7 2 -8 -2q-3 -5 4 -8q8 -2 9 2zM471 394q2 1 1.5 4.5t-3.5 5.5q-6 7 -10 3t1 -11q6 -6 11 -2zM557 319q2 7 -9 11q-9 3 -13 -4 q-2 -7 9 -11q9 -3 13 4zM599 316q0 8 -12 8q-10 0 -10 -8t11 -8t11 8zM638 323q-2 7 -13 5t-9 -9q2 -8 12 -6t10 10zM1280 640q0 212 -150 362t-362 150t-362 -150t-150 -362q0 -167 98 -300.5t252 -185.5q18 -3 26.5 5t8.5 20q0 52 -1 95q-6 -1 -15.5 -2.5t-35.5 -2t-48 4 t-43.5 20t-29.5 41.5q-23 59 -57 74q-2 1 -4.5 3.5l-8 8t-7 9.5t4 7.5t19.5 3.5q6 0 15 -2t30 -15.5t33 -35.5q16 -28 37.5 -42t43.5 -14t38 3.5t30 9.5q7 47 33 69q-49 6 -86 18.5t-73 39t-55.5 76t-19.5 119.5q0 79 53 137q-24 62 5 136q19 6 54.5 -7.5t60.5 -29.5l26 -16 q58 17 128 17t128 -17q11 7 28.5 18t55.5 26t57 9q29 -74 5 -136q53 -58 53 -137q0 -57 -14 -100.5t-35.5 -70t-53.5 -44.5t-62.5 -26t-68.5 -12q35 -31 35 -95q0 -40 -0.5 -89t-0.5 -51q0 -12 8.5 -20t26.5 -5q154 52 252 185.5t98 300.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="1664" d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92 t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />-<glyph unicode="" d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5 q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44 q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5 q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -10 1 -18.5t3 -17t4 -13.5t6.5 -16t6.5 -17q16 -40 25 -118.5t9 -136.5z" />-<glyph unicode="" horiz-adv-x="1408" d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -52.5 3.5t-57.5 12.5t-47.5 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-128 79 -264.5 215.5t-215.5 264.5q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47.5t-12.5 57.5t-3.5 52.5 q0 92 51 186q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174 q2 -1 19 -11.5t24 -14t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />-<glyph unicode="" horiz-adv-x="1408" d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="1280" d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289 q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />-<glyph unicode="" d="M1280 343q0 11 -2 16q-3 8 -38.5 29.5t-88.5 49.5l-53 29q-5 3 -19 13t-25 15t-21 5q-18 0 -47 -32.5t-57 -65.5t-44 -33q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170.5 126.5t-126.5 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5t-3.5 16.5q0 13 20.5 33.5t45 38.5 t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5t320.5 -216.5q6 -2 30 -11t33 -12.5 t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="1664" d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41 q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />-<glyph unicode="" horiz-adv-x="1024" d="M959 1524v-264h-157q-86 0 -116 -36t-30 -108v-189h293l-39 -296h-254v-759h-306v759h-255v296h255v218q0 186 104 288.5t277 102.5q147 0 228 -12z" />-<glyph unicode="" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -40 7t-13 30q0 3 0.5 76.5t0.5 134.5q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 119 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24 q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-85 13.5q-45 -113 -8 -204q-79 -87 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-39 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5 t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -88.5t0.5 -54.5q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103zM291 305q3 7 -7 12 q-10 3 -13 -2q-3 -7 7 -12q9 -6 13 2zM322 271q7 5 -2 16q-10 9 -16 3q-7 -5 2 -16q10 -10 16 -3zM352 226q9 7 0 19q-8 13 -17 6q-9 -5 0 -18t17 -7zM394 184q8 8 -4 19q-12 12 -20 3q-9 -8 4 -19q12 -12 20 -3zM451 159q3 11 -13 16q-15 4 -19 -7t13 -15q15 -6 19 6z M514 154q0 13 -17 11q-16 0 -16 -11q0 -13 17 -11q16 0 16 11zM572 164q-2 11 -18 9q-16 -3 -14 -15t18 -8t14 14z" />-<glyph unicode="" horiz-adv-x="1664" d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5 t316.5 -131.5t131.5 -316.5z" />-<glyph unicode="" horiz-adv-x="1920" d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608 q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />-<glyph unicode="" horiz-adv-x="1408" d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5 t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294 q187 -186 294 -425.5t120 -501.5z" />-<glyph unicode="" d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5 h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75 l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />-<glyph unicode="" horiz-adv-x="1792" d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5 t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />-<glyph unicode="" horiz-adv-x="1792" d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM246 128h1300q-266 300 -266 832q0 51 -24 105t-69 103t-121.5 80.5t-169.5 31.5t-169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -532 -266 -832z M1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5 t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />-<glyph unicode="" d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70 l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70 l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />-<glyph unicode="" horiz-adv-x="1792" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106 q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43 q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5 t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />-<glyph unicode="" horiz-adv-x="1792" d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-2 3 -3.5 4.5t-4 4.5t-4.5 5q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576 q-50 0 -89 -38.5t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45 t45 -19t45 19t19 45zM1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128 q0 122 81.5 189t206.5 67q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />-<glyph unicode="" d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576 q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5 t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76 q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />-<glyph unicode="" d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33 t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580 q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100 q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />-<glyph unicode="" d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11 q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 10.5t-9.5 10.5q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5 q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5 q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5 t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-5 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3 q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25 q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5 t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5 t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10t17 -20q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21 q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5 q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3 q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5 t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q7 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5 q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7 q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />-<glyph unicode="" horiz-adv-x="1664" d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5 t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />-<glyph unicode="" horiz-adv-x="1792" d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19 t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1408" d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />-<glyph unicode="" horiz-adv-x="1792" d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68 t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />-<glyph unicode="" d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144 l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z " />-<glyph unicode="" horiz-adv-x="1920" d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5 t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75 t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5 t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />-<glyph unicode="" horiz-adv-x="1664" d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26 l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15 t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207 q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />-<glyph unicode="" horiz-adv-x="1920" d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z " />-<glyph unicode="" horiz-adv-x="1664" d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />-<glyph unicode="" horiz-adv-x="1792" d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84 q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148 q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108 q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6 q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />-<glyph unicode="" horiz-adv-x="1792" d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299 h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />-<glyph unicode="" horiz-adv-x="1408" d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181 l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235 z" />-<glyph unicode="" d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5 h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />-<glyph unicode="" d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45 t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1792" d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362 q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5 t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 122t0.5 121v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5 t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 97 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6 l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -55 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23 l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />-<glyph unicode="" d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47 q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41 q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472 q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />-<glyph unicode="" horiz-adv-x="1664" d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23 v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192 q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192 q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113 z" />-<glyph unicode="" horiz-adv-x="1664" d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276 l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />-<glyph unicode="" horiz-adv-x="1792" d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5 t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38 t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />-<glyph unicode="" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134 q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33 q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5 t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5 t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />-<glyph unicode="" d="M917 631q0 26 -6 64h-362v-132h217q-3 -24 -16.5 -50t-37.5 -53t-66.5 -44.5t-96.5 -17.5q-99 0 -169 71t-70 171t70 171t169 71q92 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585 h109v110h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="2304" d="M1437 623q0 -208 -87 -370.5t-248 -254t-369 -91.5q-149 0 -285 58t-234 156t-156 234t-58 285t58 285t156 234t234 156t285 58q286 0 491 -192l-199 -191q-117 113 -292 113q-123 0 -227.5 -62t-165.5 -168.5t-61 -232.5t61 -232.5t165.5 -168.5t227.5 -62 q83 0 152.5 23t114.5 57.5t78.5 78.5t49 83t21.5 74h-416v252h692q12 -63 12 -122zM2304 745v-210h-209v-209h-210v209h-209v210h209v209h210v-209h209z" />-<glyph unicode="" horiz-adv-x="1920" d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384 v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1024" d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />-<glyph unicode="" horiz-adv-x="640" d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="640" d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />-<glyph unicode="" horiz-adv-x="1664" d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />-<glyph unicode="" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />-<glyph unicode="" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />-<glyph unicode="" horiz-adv-x="1792" d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123 q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />-<glyph unicode="" d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329 q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />-<glyph unicode="" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />-<glyph unicode="" horiz-adv-x="1792" d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5 t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14 q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28 q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />-<glyph unicode="" horiz-adv-x="1792" d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5 t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5 t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29 q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />-<glyph unicode="" horiz-adv-x="1792" d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640 q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5 t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257 t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5 t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129 q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />-<glyph unicode="" horiz-adv-x="896" d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />-<glyph unicode="" horiz-adv-x="1792" d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68 z" />-<glyph unicode="" horiz-adv-x="1664" d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97 q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69 q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1792" d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28 h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />-<glyph unicode="" horiz-adv-x="1024" d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134 q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47 q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5 t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9 q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />-<glyph unicode="" horiz-adv-x="1920" d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />-<glyph unicode="" horiz-adv-x="1920" d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />-<glyph unicode="" horiz-adv-x="1408" d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56 t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68 t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 t271.5 -112.5t112.5 -271.5z" />-<glyph unicode="" horiz-adv-x="1408" d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48 t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252 t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />-<glyph unicode="" horiz-adv-x="1792" d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66 t66 -158z" />-<glyph unicode="" horiz-adv-x="1792" d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5 t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />-<glyph unicode="" horiz-adv-x="1920" d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45 t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />-<glyph unicode="" horiz-adv-x="1408" d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45 t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />-<glyph unicode="" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M384 736q0 14 9 23t23 9h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64zM1120 512q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704zM1120 256q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704 q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704z" />-<glyph unicode="" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5 t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320 v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1920" d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152 q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1792" d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32 q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />-<glyph unicode="" horiz-adv-x="1920" d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96 q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q261 -58 287 -93z" />-<glyph unicode="" horiz-adv-x="1664" d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />-<glyph unicode="" d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="1024" d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />-<glyph unicode="" horiz-adv-x="1024" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23 l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />-<glyph unicode="" horiz-adv-x="1152" d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393 q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />-<glyph unicode="" horiz-adv-x="1152" d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />-<glyph unicode="" horiz-adv-x="640" d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />-<glyph unicode="" horiz-adv-x="640" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />-<glyph unicode="" horiz-adv-x="1152" d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />-<glyph unicode="" horiz-adv-x="1152" d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />-<glyph unicode="" horiz-adv-x="1920" d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19 t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />-<glyph unicode="" horiz-adv-x="1920" d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />-<glyph unicode="" horiz-adv-x="1152" d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832 q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />-<glyph unicode="" horiz-adv-x="768" d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136 q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />-<glyph unicode="" d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103 t279.5 -279.5t103 -385.5z" />-<glyph unicode="" horiz-adv-x="1664" d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />-<glyph unicode="" horiz-adv-x="1664" d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216 v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />-<glyph unicode="" horiz-adv-x="1792" d="M526 142q0 -53 -37.5 -90.5t-90.5 -37.5q-52 0 -90 38t-38 90q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 -64q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -53 -37.5 -90.5t-90.5 -37.5 t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1522 142q0 -52 -38 -90t-90 -38q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM558 1138q0 -66 -47 -113t-113 -47t-113 47t-47 113t47 113t113 47t113 -47t47 -113z M1728 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1088 1344q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1618 1138q0 -93 -66 -158.5t-158 -65.5q-93 0 -158.5 65.5t-65.5 158.5 q0 92 65.5 158t158.5 66q92 0 158 -66t66 -158z" />-<glyph unicode="" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19 l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />-<glyph unicode="" horiz-adv-x="1664" d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320 q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86 t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218 q0 -87 -27 -168q136 -160 136 -398z" />-<glyph unicode="" horiz-adv-x="1664" d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320 q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />-<glyph unicode="" horiz-adv-x="1920" d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68 v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z " />-<glyph unicode="" horiz-adv-x="1792" />-<glyph unicode="" horiz-adv-x="1792" />-<glyph unicode="" d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5 t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204 t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" horiz-adv-x="1920" d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150 t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />-<glyph unicode="" horiz-adv-x="1920" d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16 h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16 h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96 q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896 h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9 h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102 q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />-<glyph unicode="" horiz-adv-x="1792" d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2 q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266 q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8 q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />-<glyph unicode="" horiz-adv-x="1664" d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9 t9 -23z" />-<glyph unicode="" horiz-adv-x="1920" d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5 l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />-<glyph unicode="" horiz-adv-x="1792" d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1 q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />-<glyph unicode="" horiz-adv-x="1664" d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5 l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />-<glyph unicode="" horiz-adv-x="1408" d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />-<glyph unicode="" horiz-adv-x="1664" d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23 v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />-<glyph unicode="" horiz-adv-x="1024" d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5 q-2 -287 -226 -414q-68 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497 q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />-<glyph unicode="" horiz-adv-x="1664" d="M439 265l-256 -256q-10 -9 -23 -9q-12 0 -23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320 q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18 l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9 t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />-<glyph unicode="" horiz-adv-x="1024" d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5 t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />-<glyph unicode="" horiz-adv-x="640" d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192 q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="640" d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />-<glyph unicode="" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1534 846v-206h-514l-3 27 q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5t-65.5 -51.5t-30.5 -63h232v80 h126z" />-<glyph unicode="" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1536 -50v-206h-514l-4 27 q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73h232v80h126z" />-<glyph unicode="" horiz-adv-x="1920" d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />-<glyph unicode="" horiz-adv-x="1664" d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5 t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89 q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117 q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />-<glyph unicode="" horiz-adv-x="1152" d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5 t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />-<glyph unicode="" horiz-adv-x="1408" d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128 q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23 t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />-<glyph unicode="" horiz-adv-x="1280" d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150 t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1664" d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />-<glyph unicode="" horiz-adv-x="1408" d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800 q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113 q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />-<glyph unicode="" horiz-adv-x="1664" d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1 q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />-<glyph unicode="" d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" horiz-adv-x="1408" d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />-<glyph unicode="" horiz-adv-x="1792" d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />-<glyph unicode="" horiz-adv-x="1792" d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-13 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352 q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19 t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />-<glyph unicode="" horiz-adv-x="1152" d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181 v-320h736z" />-<glyph unicode="" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150 t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" horiz-adv-x="1408" d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />-<glyph unicode="" horiz-adv-x="384" d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />-<glyph unicode="" d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 232 -177 396t-396 177q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128q13 0 23 10 t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56 q16 -8 32 -8q17 0 32 9z" />-<glyph unicode="" horiz-adv-x="1792" d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136 t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />-<glyph unicode="" d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5 t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="1024" d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />-<glyph unicode="" horiz-adv-x="1024" d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />-<glyph unicode="" d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5 t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q10 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5 t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="1024" d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9 t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26 l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />-<glyph unicode="" horiz-adv-x="1024" d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7 q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />-<glyph unicode="" horiz-adv-x="1024" d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43 t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5 t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50 t53 -63.5t31.5 -76.5t13 -94z" />-<glyph unicode="" horiz-adv-x="898" d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102 q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />-<glyph unicode="" horiz-adv-x="1027" d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61 l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />-<glyph unicode="" horiz-adv-x="1280" d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128 q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" />-<glyph unicode="" horiz-adv-x="1792" d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23 t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28 q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />-<glyph unicode="" horiz-adv-x="1280" d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164 l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30 t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />-<glyph unicode="" d="M1024 1024v472q22 -14 36 -28l408 -408q14 -14 28 -36h-472zM896 992q0 -40 28 -68t68 -28h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544z" />-<glyph unicode="" d="M1468 1060q14 -14 28 -36h-472v472q22 -14 36 -28zM992 896h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544q0 -40 28 -68t68 -28zM1152 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704 q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23z" />-<glyph unicode="" horiz-adv-x="1664" d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23 v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162 l230 -662h70z" />-<glyph unicode="" horiz-adv-x="1664" d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150 v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248 v119h121z" />-<glyph unicode="" horiz-adv-x="1792" d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832 q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />-<glyph unicode="" horiz-adv-x="1792" d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192 q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />-<glyph unicode="" d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23 zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5 t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />-<glyph unicode="" d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9 t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13 q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />-<glyph unicode="" horiz-adv-x="1664" d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76 q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5 t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />-<glyph unicode="" horiz-adv-x="1664" d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135 t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121 t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />-<glyph unicode="" d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 16 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15 q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38 q21 -28 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5 q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78l24 -69t23 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38q-51 0 -78 -38 q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73 q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51 q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99 q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-37 -51 -106 -51q-67 0 -105 51 q-28 38 -28 118v175q0 80 28 117q38 51 105 51q69 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />-<glyph unicode="" horiz-adv-x="1408" d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942 q25 45 64 45h241q22 0 31 -15z" />-<glyph unicode="" d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1 l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1280 640q0 37 -30 54l-512 320q-31 20 -65 2q-33 -18 -33 -56v-640q0 -38 33 -56q16 -8 31 -8q20 0 34 10l512 320q30 17 30 54zM1792 640q0 -96 -1 -150t-8.5 -136.5t-22.5 -147.5q-16 -73 -69 -123t-124 -58q-222 -25 -671 -25t-671 25q-71 8 -124.5 58t-69.5 123 q-14 65 -21.5 147.5t-8.5 136.5t-1 150t1 150t8.5 136.5t22.5 147.5q16 73 69 123t124 58q222 25 671 25t671 -25q71 -8 124.5 -58t69.5 -123q14 -65 21.5 -147.5t8.5 -136.5t1 -150z" />-<glyph unicode="" horiz-adv-x="1792" d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />-<glyph unicode="" d="M1289 -96h-1118v480h-160v-640h1438v640h-160v-480zM347 428l33 157l783 -165l-33 -156zM450 802l67 146l725 -339l-67 -145zM651 1158l102 123l614 -513l-102 -123zM1048 1536l477 -641l-128 -96l-477 641zM330 65v159h800v-159h-800z" />-<glyph unicode="" d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1162 640q0 -164 -115 -279t-279 -115t-279 115t-115 279t115 279t279 115t279 -115t115 -279zM1270 1050q0 -38 -27 -65t-65 -27t-65 27t-27 65t27 65t65 27t65 -27t27 -65zM768 1270 q-7 0 -76.5 0.5t-105.5 0t-96.5 -3t-103 -10t-71.5 -18.5q-50 -20 -88 -58t-58 -88q-11 -29 -18.5 -71.5t-10 -103t-3 -96.5t0 -105.5t0.5 -76.5t-0.5 -76.5t0 -105.5t3 -96.5t10 -103t18.5 -71.5q20 -50 58 -88t88 -58q29 -11 71.5 -18.5t103 -10t96.5 -3t105.5 0t76.5 0.5 t76.5 -0.5t105.5 0t96.5 3t103 10t71.5 18.5q50 20 88 58t58 88q11 29 18.5 71.5t10 103t3 96.5t0 105.5t-0.5 76.5t0.5 76.5t0 105.5t-3 96.5t-10 103t-18.5 71.5q-20 50 -58 88t-88 58q-29 11 -71.5 18.5t-103 10t-96.5 3t-105.5 0t-76.5 -0.5zM1536 640q0 -229 -5 -317 q-10 -208 -124 -322t-322 -124q-88 -5 -317 -5t-317 5q-208 10 -322 124t-124 322q-5 88 -5 317t5 317q10 208 124 322t322 124q88 5 317 5t317 -5q208 -10 322 -124t124 -322q5 -88 5 -317z" />-<glyph unicode="" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150 t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />-<glyph unicode="" d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" horiz-adv-x="1408" d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22 t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18 t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5 t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />-<glyph unicode="" d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5 t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="1024" d="M944 207l80 -237q-23 -35 -111 -66t-177 -32q-104 -2 -190.5 26t-142.5 74t-95 106t-55.5 120t-16.5 118v544h-168v215q72 26 129 69.5t91 90t58 102t34 99t15 88.5q1 5 4.5 8.5t7.5 3.5h244v-424h333v-252h-334v-518q0 -30 6.5 -56t22.5 -52.5t49.5 -41.5t81.5 -14 q78 2 134 29z" />-<glyph unicode="" d="M1136 75l-62 183q-44 -22 -103 -22q-36 -1 -62 10.5t-38.5 31.5t-17.5 40.5t-5 43.5v398h257v194h-256v326h-188q-8 0 -9 -10q-5 -44 -17.5 -87t-39 -95t-77 -95t-118.5 -68v-165h130v-418q0 -57 21.5 -115t65 -111t121 -85.5t176.5 -30.5q69 1 136.5 25t85.5 50z M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="768" d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />-<glyph unicode="" horiz-adv-x="768" d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />-<glyph unicode="" horiz-adv-x="1792" d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />-<glyph unicode="" horiz-adv-x="1792" d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />-<glyph unicode="" horiz-adv-x="1408" d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q112 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65 q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />-<glyph unicode="" horiz-adv-x="1664" d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />-<glyph unicode="" horiz-adv-x="1408" d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30 t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5 h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />-<glyph unicode="" d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-7 -10 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7 q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15 q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5 t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19 q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63 q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18l-4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92 q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152 q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-14 -1 -7 -7l4 -2 q14 -4 18 -31q0 -3 8 2zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5t-30 -18.5 t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43q-19 4 -51 9.5 t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49t-14 -48 q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54q110 143 124 195 q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5t-40.5 -33.5t-61 -14 q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5t15.5 47.5q1 -31 8 -56.5 t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />-<glyph unicode="" d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81 t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19 q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -6 6.5 -17.5t7.5 -16.5q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6 t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5 t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5 q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80 q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />-<glyph unicode="" horiz-adv-x="1280" d="M1000 1102l37 194q5 23 -9 40t-35 17h-712q-23 0 -38.5 -17t-15.5 -37v-1101q0 -7 6 -1l291 352q23 26 38 33.5t48 7.5h239q22 0 37 14.5t18 29.5q24 130 37 191q4 21 -11.5 40t-36.5 19h-294q-29 0 -48 19t-19 48v42q0 29 19 47.5t48 18.5h346q18 0 35 13.5t20 29.5z M1227 1324q-15 -73 -53.5 -266.5t-69.5 -350t-35 -173.5q-6 -22 -9 -32.5t-14 -32.5t-24.5 -33t-38.5 -21t-58 -10h-271q-13 0 -22 -10q-8 -9 -426 -494q-22 -25 -58.5 -28.5t-48.5 5.5q-55 22 -55 98v1410q0 55 38 102.5t120 47.5h888q95 0 127 -53t10 -159zM1227 1324 l-158 -790q4 17 35 173.5t69.5 350t53.5 266.5z" />-<glyph unicode="" d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408 q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1280" d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43 q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />-<glyph unicode="" horiz-adv-x="1024" d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />-<glyph unicode="" d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4 l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94 q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />-<glyph unicode="" d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61 t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />-<glyph unicode="" horiz-adv-x="1792" d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536 q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1664" d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207 q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19 t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />-<glyph unicode="" horiz-adv-x="1920" d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-78 -100 -90 -131q-17 -41 14 -81q17 -21 81 -82h1l1 -1l1 -1l2 -2q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58 t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6 q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q17 19 38 30q53 26 239 24 q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2 q39 5 64 -2.5t31 -16.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12 q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422 q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178 q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />-<glyph unicode="" d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495 q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />-<glyph unicode="" horiz-adv-x="1408" d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5 t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56 t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -5 1 -50.5t-1 -71.5q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5 t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" />-<glyph unicode="" horiz-adv-x="1280" d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z " />-<glyph unicode="" d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5 t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" horiz-adv-x="1664" d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128 q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 16 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" />-<glyph unicode="" d="M1292 898q10 216 -161 222q-231 8 -312 -261q44 19 82 19q85 0 74 -96q-4 -57 -74 -167t-105 -110q-43 0 -82 169q-13 54 -45 255q-30 189 -160 177q-59 -7 -164 -100l-81 -72l-81 -72l52 -67q76 52 87 52q57 0 107 -179q15 -55 45 -164.5t45 -164.5q68 -179 164 -179 q157 0 383 294q220 283 226 444zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="1152" d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160 q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />-<glyph unicode="" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832 q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="2176" d="M620 416q-110 -64 -268 -64h-128v64h-64q-13 0 -22.5 23.5t-9.5 56.5q0 24 7 49q-58 2 -96.5 10.5t-38.5 20.5t38.5 20.5t96.5 10.5q-7 25 -7 49q0 33 9.5 56.5t22.5 23.5h64v64h128q158 0 268 -64h1113q42 -7 106.5 -18t80.5 -14q89 -15 150 -40.5t83.5 -47.5t22.5 -40 t-22.5 -40t-83.5 -47.5t-150 -40.5q-16 -3 -80.5 -14t-106.5 -18h-1113zM1739 668q53 -36 53 -92t-53 -92l81 -30q68 48 68 122t-68 122zM625 400h1015q-217 -38 -456 -80q-57 0 -113 -24t-83 -48l-28 -24l-288 -288q-26 -26 -70.5 -45t-89.5 -19h-96l-93 464h29 q157 0 273 64zM352 816h-29l93 464h96q46 0 90 -19t70 -45l288 -288q4 -4 11 -10.5t30.5 -23t48.5 -29t61.5 -23t72.5 -10.5l456 -80h-1015q-116 64 -273 64z" />-<glyph unicode="" horiz-adv-x="1664" d="M1519 760q62 0 103.5 -40.5t41.5 -101.5q0 -97 -93 -130l-172 -59l56 -167q7 -21 7 -47q0 -59 -42 -102t-101 -43q-47 0 -85.5 27t-53.5 72l-55 165l-310 -106l55 -164q8 -24 8 -47q0 -59 -42 -102t-102 -43q-47 0 -85 27t-53 72l-55 163l-153 -53q-29 -9 -50 -9 q-61 0 -101.5 40t-40.5 101q0 47 27.5 85t71.5 53l156 53l-105 313l-156 -54q-26 -8 -48 -8q-60 0 -101 40.5t-41 100.5q0 47 27.5 85t71.5 53l157 53l-53 159q-8 24 -8 47q0 60 42 102.5t102 42.5q47 0 85 -27t53 -72l54 -160l310 105l-54 160q-8 24 -8 47q0 59 42.5 102 t101.5 43q47 0 85.5 -27.5t53.5 -71.5l53 -161l162 55q21 6 43 6q60 0 102.5 -39.5t42.5 -98.5q0 -45 -30 -81.5t-74 -51.5l-157 -54l105 -316l164 56q24 8 46 8zM725 498l310 105l-105 315l-310 -107z" />-<glyph unicode="" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM1280 352v436q-31 -35 -64 -55q-34 -22 -132.5 -85t-151.5 -99q-98 -69 -164 -69v0v0q-66 0 -164 69 q-46 32 -141.5 92.5t-142.5 92.5q-12 8 -33 27t-31 27v-436q0 -40 28 -68t68 -28h832q40 0 68 28t28 68zM1280 925q0 41 -27.5 70t-68.5 29h-832q-40 0 -68 -28t-28 -68q0 -37 30.5 -76.5t67.5 -64.5q47 -32 137.5 -89t129.5 -83q3 -2 17 -11.5t21 -14t21 -13t23.5 -13 t21.5 -9.5t22.5 -7.5t20.5 -2.5t20.5 2.5t22.5 7.5t21.5 9.5t23.5 13t21 13t21 14t17 11.5l267 174q35 23 66.5 62.5t31.5 73.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M127 640q0 163 67 313l367 -1005q-196 95 -315 281t-119 411zM1415 679q0 -19 -2.5 -38.5t-10 -49.5t-11.5 -44t-17.5 -59t-17.5 -58l-76 -256l-278 826q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-75 1 -202 10q-12 1 -20.5 -5t-11.5 -15t-1.5 -18.5t9 -16.5 t19.5 -8l80 -8l120 -328l-168 -504l-280 832q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-7 0 -23 0.5t-26 0.5q105 160 274.5 253.5t367.5 93.5q147 0 280.5 -53t238.5 -149h-10q-55 0 -92 -40.5t-37 -95.5q0 -12 2 -24t4 -21.5t8 -23t9 -21t12 -22.5t12.5 -21 t14.5 -24t14 -23q63 -107 63 -212zM909 573l237 -647q1 -6 5 -11q-126 -44 -255 -44q-112 0 -217 32zM1570 1009q95 -174 95 -369q0 -209 -104 -385.5t-279 -278.5l235 678q59 169 59 276q0 42 -6 79zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286 t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 -215q173 0 331.5 68t273 182.5t182.5 273t68 331.5t-68 331.5t-182.5 273t-273 182.5t-331.5 68t-331.5 -68t-273 -182.5t-182.5 -273t-68 -331.5t68 -331.5t182.5 -273 t273 -182.5t331.5 -68z" />-<glyph unicode="" horiz-adv-x="1792" d="M1086 1536v-1536l-272 -128q-228 20 -414 102t-293 208.5t-107 272.5q0 140 100.5 263.5t275 205.5t391.5 108v-172q-217 -38 -356.5 -150t-139.5 -255q0 -152 154.5 -267t388.5 -145v1360zM1755 954l37 -390l-525 114l147 83q-119 70 -280 99v172q277 -33 481 -157z" />-<glyph unicode="" horiz-adv-x="2048" d="M960 1536l960 -384v-128h-128q0 -26 -20.5 -45t-48.5 -19h-1526q-28 0 -48.5 19t-20.5 45h-128v128zM256 896h256v-768h128v768h256v-768h128v768h256v-768h128v768h256v-768h59q28 0 48.5 -19t20.5 -45v-64h-1664v64q0 26 20.5 45t48.5 19h59v768zM1851 -64 q28 0 48.5 -19t20.5 -45v-128h-1920v128q0 26 20.5 45t48.5 19h1782z" />-<glyph unicode="" horiz-adv-x="2304" d="M1774 700l18 -316q4 -69 -82 -128t-235 -93.5t-323 -34.5t-323 34.5t-235 93.5t-82 128l18 316l574 -181q22 -7 48 -7t48 7zM2304 1024q0 -23 -22 -31l-1120 -352q-4 -1 -10 -1t-10 1l-652 206q-43 -34 -71 -111.5t-34 -178.5q63 -36 63 -109q0 -69 -58 -107l58 -433 q2 -14 -8 -25q-9 -11 -24 -11h-192q-15 0 -24 11q-10 11 -8 25l58 433q-58 38 -58 107q0 73 65 111q11 207 98 330l-333 104q-22 8 -22 31t22 31l1120 352q4 1 10 1t10 -1l1120 -352q22 -8 22 -31z" />-<glyph unicode="" d="M859 579l13 -707q-62 11 -105 11q-41 0 -105 -11l13 707q-40 69 -168.5 295.5t-216.5 374.5t-181 287q58 -15 108 -15q43 0 111 15q63 -111 133.5 -229.5t167 -276.5t138.5 -227q37 61 109.5 177.5t117.5 190t105 176t107 189.5q54 -14 107 -14q56 0 114 14v0 q-28 -39 -60 -88.5t-49.5 -78.5t-56.5 -96t-49 -84q-146 -248 -353 -610z" />-<glyph unicode="" d="M768 750h725q12 -67 12 -128q0 -217 -91 -387.5t-259.5 -266.5t-386.5 -96q-157 0 -299 60.5t-245 163.5t-163.5 245t-60.5 299t60.5 299t163.5 245t245 163.5t299 60.5q300 0 515 -201l-209 -201q-123 119 -306 119q-129 0 -238.5 -65t-173.5 -176.5t-64 -243.5 t64 -243.5t173.5 -176.5t238.5 -65q87 0 160 24t120 60t82 82t51.5 87t22.5 78h-436v264z" />-<glyph unicode="" horiz-adv-x="1792" d="M1095 369q16 -16 0 -31q-62 -62 -199 -62t-199 62q-16 15 0 31q6 6 15 6t15 -6q48 -49 169 -49q120 0 169 49q6 6 15 6t15 -6zM788 550q0 -37 -26 -63t-63 -26t-63.5 26t-26.5 63q0 38 26.5 64t63.5 26t63 -26.5t26 -63.5zM1183 550q0 -37 -26.5 -63t-63.5 -26t-63 26 t-26 63t26 63.5t63 26.5t63.5 -26t26.5 -64zM1434 670q0 49 -35 84t-85 35t-86 -36q-130 90 -311 96l63 283l200 -45q0 -37 26 -63t63 -26t63.5 26.5t26.5 63.5t-26.5 63.5t-63.5 26.5q-54 0 -80 -50l-221 49q-19 5 -25 -16l-69 -312q-180 -7 -309 -97q-35 37 -87 37 q-50 0 -85 -35t-35 -84q0 -35 18.5 -64t49.5 -44q-6 -27 -6 -56q0 -142 140 -243t337 -101q198 0 338 101t140 243q0 32 -7 57q30 15 48 43.5t18 63.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191 t348 71t348 -71t286 -191t191 -286t71 -348z" />-<glyph unicode="" d="M939 407q13 -13 0 -26q-53 -53 -171 -53t-171 53q-13 13 0 26q5 6 13 6t13 -6q42 -42 145 -42t145 42q5 6 13 6t13 -6zM676 563q0 -31 -23 -54t-54 -23t-54 23t-23 54q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1014 563q0 -31 -23 -54t-54 -23t-54 23t-23 54 q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1229 666q0 42 -30 72t-73 30q-42 0 -73 -31q-113 78 -267 82l54 243l171 -39q1 -32 23.5 -54t53.5 -22q32 0 54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5q-48 0 -69 -43l-189 42q-17 5 -21 -13l-60 -268q-154 -6 -265 -83 q-30 32 -74 32q-43 0 -73 -30t-30 -72q0 -30 16 -55t42 -38q-5 -25 -5 -48q0 -122 120 -208.5t289 -86.5q170 0 290 86.5t120 208.5q0 25 -6 49q25 13 40.5 37.5t15.5 54.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960 q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" d="M866 697l90 27v62q0 79 -58 135t-138 56t-138 -55.5t-58 -134.5v-283q0 -20 -14 -33.5t-33 -13.5t-32.5 13.5t-13.5 33.5v120h-151v-122q0 -82 57.5 -139t139.5 -57q81 0 138.5 56.5t57.5 136.5v280q0 19 13.5 33t33.5 14q19 0 32.5 -14t13.5 -33v-54zM1199 502v122h-150 v-126q0 -20 -13.5 -33.5t-33.5 -13.5q-19 0 -32.5 14t-13.5 33v123l-90 -26l-60 28v-123q0 -80 58 -137t139 -57t138.5 57t57.5 139zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103 t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" horiz-adv-x="1920" d="M1062 824v118q0 42 -30 72t-72 30t-72 -30t-30 -72v-612q0 -175 -126 -299t-303 -124q-178 0 -303.5 125.5t-125.5 303.5v266h328v-262q0 -43 30 -72.5t72 -29.5t72 29.5t30 72.5v620q0 171 126.5 292t301.5 121q176 0 302 -122t126 -294v-136l-195 -58zM1592 602h328 v-266q0 -178 -125.5 -303.5t-303.5 -125.5q-177 0 -303 124.5t-126 300.5v268l131 -61l195 58v-270q0 -42 30 -71.5t72 -29.5t72 29.5t30 71.5v275z" />-<glyph unicode="" d="M1472 160v480h-704v704h-480q-93 0 -158.5 -65.5t-65.5 -158.5v-480h704v-704h480q93 0 158.5 65.5t65.5 158.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="2048" d="M328 1254h204v-983h-532v697h328v286zM328 435v369h-123v-369h123zM614 968v-697h205v697h-205zM614 1254v-204h205v204h-205zM901 968h533v-942h-533v163h328v82h-328v697zM1229 435v369h-123v-369h123zM1516 968h532v-942h-532v163h327v82h-327v697zM1843 435v369h-123 v-369h123z" />-<glyph unicode="" d="M1046 516q0 -64 -38 -109t-91 -45q-43 0 -70 15v277q28 17 70 17q53 0 91 -45.5t38 -109.5zM703 944q0 -64 -38 -109.5t-91 -45.5q-43 0 -70 15v277q28 17 70 17q53 0 91 -45t38 -109zM1265 513q0 134 -88 229t-213 95q-20 0 -39 -3q-23 -78 -78 -136q-87 -95 -211 -101 v-636l211 41v206q51 -19 117 -19q125 0 213 95t88 229zM922 940q0 134 -88.5 229t-213.5 95q-74 0 -141 -36h-186v-840l211 41v206q55 -19 116 -19q125 0 213.5 95t88.5 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960 q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="2038" d="M1222 607q75 3 143.5 -20.5t118 -58.5t101 -94.5t84 -108t75.5 -120.5q33 -56 78.5 -109t75.5 -80.5t99 -88.5q-48 -30 -108.5 -57.5t-138.5 -59t-114 -47.5q-44 37 -74 115t-43.5 164.5t-33 180.5t-42.5 168.5t-72.5 123t-122.5 48.5l-10 -2l-6 -4q4 -5 13 -14 q6 -5 28 -23.5t25.5 -22t19 -18t18 -20.5t11.5 -21t10.5 -27.5t4.5 -31t4 -40.5l1 -33q1 -26 -2.5 -57.5t-7.5 -52t-12.5 -58.5t-11.5 -53q-35 1 -101 -9.5t-98 -10.5q-39 0 -72 10q-2 16 -2 47q0 74 3 96q2 13 31.5 41.5t57 59t26.5 51.5q-24 2 -43 -24 q-36 -53 -111.5 -99.5t-136.5 -46.5q-25 0 -75.5 63t-106.5 139.5t-84 96.5q-6 4 -27 30q-482 -112 -513 -112q-16 0 -28 11t-12 27q0 15 8.5 26.5t22.5 14.5l486 106q-8 14 -8 25t5.5 17.5t16 11.5t20 7t23 4.5t18.5 4.5q4 1 15.5 7.5t17.5 6.5q15 0 28 -16t20 -33 q163 37 172 37q17 0 29.5 -11t12.5 -28q0 -15 -8.5 -26t-23.5 -14l-182 -40l-1 -16q-1 -26 81.5 -117.5t104.5 -91.5q47 0 119 80t72 129q0 36 -23.5 53t-51 18.5t-51 11.5t-23.5 34q0 16 10 34l-68 19q43 44 43 117q0 26 -5 58q82 16 144 16q44 0 71.5 -1.5t48.5 -8.5 t31 -13.5t20.5 -24.5t15.5 -33.5t17 -47.5t24 -60l50 25q-3 -40 -23 -60t-42.5 -21t-40 -6.5t-16.5 -20.5zM1282 842q-5 5 -13.5 15.5t-12 14.5t-10.5 11.5t-10 10.5l-8 8t-8.5 7.5t-8 5t-8.5 4.5q-7 3 -14.5 5t-20.5 2.5t-22 0.5h-32.5h-37.5q-126 0 -217 -43 q16 30 36 46.5t54 29.5t65.5 36t46 36.5t50 55t43.5 50.5q12 -9 28 -31.5t32 -36.5t38 -13l12 1v-76l22 -1q247 95 371 190q28 21 50 39t42.5 37.5t33 31t29.5 34t24 31t24.5 37t23 38t27 47.5t29.5 53l7 9q-2 -53 -43 -139q-79 -165 -205 -264t-306 -142q-14 -3 -42 -7.5 t-50 -9.5t-39 -14q3 -19 24.5 -46t21.5 -34q0 -11 -26 -30zM1061 -79q39 26 131.5 47.5t146.5 21.5q9 0 22.5 -15.5t28 -42.5t26 -50t24 -51t14.5 -33q-121 -45 -244 -45q-61 0 -125 11zM822 568l48 12l109 -177l-73 -48zM1323 51q3 -15 3 -16q0 -7 -17.5 -14.5t-46 -13 t-54 -9.5t-53.5 -7.5t-32 -4.5l-7 43q21 2 60.5 8.5t72 10t60.5 3.5h14zM866 679l-96 -20l-6 17q10 1 32.5 7t34.5 6q19 0 35 -10zM1061 45h31l10 -83l-41 -12v95zM1950 1535v1v-1zM1950 1535l-1 -5l-2 -2l1 3zM1950 1535l1 1z" />-<glyph unicode="" d="M1167 -50q-5 19 -24 5q-30 -22 -87 -39t-131 -17q-129 0 -193 49q-5 4 -13 4q-11 0 -26 -12q-7 -6 -7.5 -16t7.5 -20q34 -32 87.5 -46t102.5 -12.5t99 4.5q41 4 84.5 20.5t65 30t28.5 20.5q12 12 7 29zM1128 65q-19 47 -39 61q-23 15 -76 15q-47 0 -71 -10 q-29 -12 -78 -56q-26 -24 -12 -44q9 -8 17.5 -4.5t31.5 23.5q3 2 10.5 8.5t10.5 8.5t10 7t11.5 7t12.5 5t15 4.5t16.5 2.5t20.5 1q27 0 44.5 -7.5t23 -14.5t13.5 -22q10 -17 12.5 -20t12.5 1q23 12 14 34zM1483 346q0 22 -5 44.5t-16.5 45t-34 36.5t-52.5 14 q-33 0 -97 -41.5t-129 -83.5t-101 -42q-27 -1 -63.5 19t-76 49t-83.5 58t-100 49t-111 19q-115 -1 -197 -78.5t-84 -178.5q-2 -112 74 -164q29 -20 62.5 -28.5t103.5 -8.5q57 0 132 32.5t134 71t120 70.5t93 31q26 -1 65 -31.5t71.5 -67t68 -67.5t55.5 -32q35 -3 58.5 14 t55.5 63q28 41 42.5 101t14.5 106zM1536 506q0 -164 -62 -304.5t-166 -236t-242.5 -149.5t-290.5 -54t-293 57.5t-247.5 157t-170.5 241.5t-64 302q0 89 19.5 172.5t49 145.5t70.5 118.5t78.5 94t78.5 69.5t64.5 46.5t42.5 24.5q14 8 51 26.5t54.5 28.5t48 30t60.5 44 q36 28 58 72.5t30 125.5q129 -155 186 -193q44 -29 130 -68t129 -66q21 -13 39 -25t60.5 -46.5t76 -70.5t75 -95t69 -122t47 -148.5t19.5 -177.5z" />-<glyph unicode="" d="M1070 463l-160 -160l-151 -152l-30 -30q-65 -64 -151.5 -87t-171.5 -2q-16 -70 -72 -115t-129 -45q-85 0 -145 60.5t-60 145.5q0 72 44.5 128t113.5 72q-22 86 1 173t88 152l12 12l151 -152l-11 -11q-37 -37 -37 -89t37 -90q37 -37 89 -37t89 37l30 30l151 152l161 160z M729 1145l12 -12l-152 -152l-12 12q-37 37 -89 37t-89 -37t-37 -89.5t37 -89.5l29 -29l152 -152l160 -160l-151 -152l-161 160l-151 152l-30 30q-68 67 -90 159.5t5 179.5q-70 15 -115 71t-45 129q0 85 60 145.5t145 60.5q76 0 133.5 -49t69.5 -123q84 20 169.5 -3.5 t149.5 -87.5zM1536 78q0 -85 -60 -145.5t-145 -60.5q-74 0 -131 47t-71 118q-86 -28 -179.5 -6t-161.5 90l-11 12l151 152l12 -12q37 -37 89 -37t89 37t37 89t-37 89l-30 30l-152 152l-160 160l152 152l160 -160l152 -152l29 -30q64 -64 87.5 -150.5t2.5 -171.5 q76 -11 126.5 -68.5t50.5 -134.5zM1534 1202q0 -77 -51 -135t-127 -69q26 -85 3 -176.5t-90 -158.5l-12 -12l-151 152l12 12q37 37 37 89t-37 89t-89 37t-89 -37l-30 -30l-152 -152l-160 -160l-152 152l161 160l152 152l29 30q67 67 159 89.5t178 -3.5q11 75 68.5 126 t135.5 51q85 0 145 -60.5t60 -145.5z" />-<glyph unicode="" d="M654 458q-1 -3 -12.5 0.5t-31.5 11.5l-20 9q-44 20 -87 49q-7 5 -41 31.5t-38 28.5q-67 -103 -134 -181q-81 -95 -105 -110q-4 -2 -19.5 -4t-18.5 0q6 4 82 92q21 24 85.5 115t78.5 118q17 30 51 98.5t36 77.5q-8 1 -110 -33q-8 -2 -27.5 -7.5t-34.5 -9.5t-17 -5 q-2 -2 -2 -10.5t-1 -9.5q-5 -10 -31 -15q-23 -7 -47 0q-18 4 -28 21q-4 6 -5 23q6 2 24.5 5t29.5 6q58 16 105 32q100 35 102 35q10 2 43 19.5t44 21.5q9 3 21.5 8t14.5 5.5t6 -0.5q2 -12 -1 -33q0 -2 -12.5 -27t-26.5 -53.5t-17 -33.5q-25 -50 -77 -131l64 -28 q12 -6 74.5 -32t67.5 -28q4 -1 10.5 -25.5t4.5 -30.5zM449 944q3 -15 -4 -28q-12 -23 -50 -38q-30 -12 -60 -12q-26 3 -49 26q-14 15 -18 41l1 3q3 -3 19.5 -5t26.5 0t58 16q36 12 55 14q17 0 21 -17zM1147 815l63 -227l-139 42zM39 15l694 232v1032l-694 -233v-1031z M1280 332l102 -31l-181 657l-100 31l-216 -536l102 -31l45 110l211 -65zM777 1294l573 -184v380zM1088 -29l158 -13l-54 -160l-40 66q-130 -83 -276 -108q-58 -12 -91 -12h-84q-79 0 -199.5 39t-183.5 85q-8 7 -8 16q0 8 5 13.5t13 5.5q4 0 18 -7.5t30.5 -16.5t20.5 -11 q73 -37 159.5 -61.5t157.5 -24.5q95 0 167 14.5t157 50.5q15 7 30.5 15.5t34 19t28.5 16.5zM1536 1050v-1079l-774 246q-14 -6 -375 -127.5t-368 -121.5q-13 0 -18 13q0 1 -1 3v1078q3 9 4 10q5 6 20 11q106 35 149 50v384l558 -198q2 0 160.5 55t316 108.5t161.5 53.5 q20 0 20 -21v-418z" />-<glyph unicode="" horiz-adv-x="1792" d="M288 1152q66 0 113 -47t47 -113v-1088q0 -66 -47 -113t-113 -47h-128q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h128zM1664 989q58 -34 93 -93t35 -128v-768q0 -106 -75 -181t-181 -75h-864q-66 0 -113 47t-47 113v1536q0 40 28 68t68 28h672q40 0 88 -20t76 -48 l152 -152q28 -28 48 -76t20 -88v-163zM928 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 512v128q0 14 -9 23 t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128 q14 0 23 9t9 23zM1184 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 256v128q0 14 -9 23t-23 9h-128 q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1536 896v256h-160q-40 0 -68 28t-28 68v160h-640v-512h896z" />-<glyph unicode="" d="M1344 1536q26 0 45 -19t19 -45v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280zM512 1248v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 992v-64q0 -14 9 -23t23 -9h64q14 0 23 9 t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 736v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 480v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 160v64 q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64 q14 0 23 9t9 23zM384 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 -96v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9 t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM896 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 928v64 q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 160v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64 q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9 t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23z" />-<glyph unicode="" horiz-adv-x="1280" d="M1188 988l-292 -292v-824q0 -46 -33 -79t-79 -33t-79 33t-33 79v384h-64v-384q0 -46 -33 -79t-79 -33t-79 33t-33 79v824l-292 292q-28 28 -28 68t28 68t68 28t68 -28l228 -228h368l228 228q28 28 68 28t68 -28t28 -68t-28 -68zM864 1152q0 -93 -65.5 -158.5 t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />-<glyph unicode="" horiz-adv-x="1664" d="M780 1064q0 -60 -19 -113.5t-63 -92.5t-105 -39q-76 0 -138 57.5t-92 135.5t-30 151q0 60 19 113.5t63 92.5t105 39q77 0 138.5 -57.5t91.5 -135t30 -151.5zM438 581q0 -80 -42 -139t-119 -59q-76 0 -141.5 55.5t-100.5 133.5t-35 152q0 80 42 139.5t119 59.5 q76 0 141.5 -55.5t100.5 -134t35 -152.5zM832 608q118 0 255 -97.5t229 -237t92 -254.5q0 -46 -17 -76.5t-48.5 -45t-64.5 -20t-76 -5.5q-68 0 -187.5 45t-182.5 45q-66 0 -192.5 -44.5t-200.5 -44.5q-183 0 -183 146q0 86 56 191.5t139.5 192.5t187.5 146t193 59zM1071 819 q-61 0 -105 39t-63 92.5t-19 113.5q0 74 30 151.5t91.5 135t138.5 57.5q61 0 105 -39t63 -92.5t19 -113.5q0 -73 -30 -151t-92 -135.5t-138 -57.5zM1503 923q77 0 119 -59.5t42 -139.5q0 -74 -35 -152t-100.5 -133.5t-141.5 -55.5q-77 0 -119 59t-42 139q0 74 35 152.5 t100.5 134t141.5 55.5z" />-<glyph unicode="" horiz-adv-x="768" d="M704 1008q0 -145 -57 -243.5t-152 -135.5l45 -821q2 -26 -16 -45t-44 -19h-192q-26 0 -44 19t-16 45l45 821q-95 37 -152 135.5t-57 243.5q0 128 42.5 249.5t117.5 200t160 78.5t160 -78.5t117.5 -200t42.5 -249.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M896 -93l640 349v636l-640 -233v-752zM832 772l698 254l-698 254l-698 -254zM1664 1024v-768q0 -35 -18 -65t-49 -47l-704 -384q-28 -16 -61 -16t-61 16l-704 384q-31 17 -49 47t-18 65v768q0 40 23 73t61 47l704 256q22 8 44 8t44 -8l704 -256q38 -14 61 -47t23 -73z " />-<glyph unicode="" horiz-adv-x="2304" d="M640 -96l384 192v314l-384 -164v-342zM576 358l404 173l-404 173l-404 -173zM1664 -96l384 192v314l-384 -164v-342zM1600 358l404 173l-404 173l-404 -173zM1152 651l384 165v266l-384 -164v-267zM1088 1030l441 189l-441 189l-441 -189zM2176 512v-416q0 -36 -19 -67 t-52 -47l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-5 2 -7 4q-2 -2 -7 -4l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-33 16 -52 47t-19 67v416q0 38 21.5 70t56.5 48l434 186v400q0 38 21.5 70t56.5 48l448 192q23 10 50 10t50 -10l448 -192q35 -16 56.5 -48t21.5 -70 v-400l434 -186q36 -16 57 -48t21 -70z" />-<glyph unicode="" horiz-adv-x="2048" d="M1848 1197h-511v-124h511v124zM1596 771q-90 0 -146 -52.5t-62 -142.5h408q-18 195 -200 195zM1612 186q63 0 122 32t76 87h221q-100 -307 -427 -307q-214 0 -340.5 132t-126.5 347q0 208 130.5 345.5t336.5 137.5q138 0 240.5 -68t153 -179t50.5 -248q0 -17 -2 -47h-658 q0 -111 57.5 -171.5t166.5 -60.5zM277 236h296q205 0 205 167q0 180 -199 180h-302v-347zM277 773h281q78 0 123.5 36.5t45.5 113.5q0 144 -190 144h-260v-294zM0 1282h594q87 0 155 -14t126.5 -47.5t90 -96.5t31.5 -154q0 -181 -172 -263q114 -32 172 -115t58 -204 q0 -75 -24.5 -136.5t-66 -103.5t-98.5 -71t-121 -42t-134 -13h-611v1260z" />-<glyph unicode="" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM499 1041h-371v-787h382q117 0 197 57.5t80 170.5q0 158 -143 200q107 52 107 164q0 57 -19.5 96.5 t-56.5 60.5t-79 29.5t-97 8.5zM477 723h-176v184h163q119 0 119 -90q0 -94 -106 -94zM486 388h-185v217h189q124 0 124 -113q0 -104 -128 -104zM1136 356q-68 0 -104 38t-36 107h411q1 10 1 30q0 132 -74.5 220.5t-203.5 88.5q-128 0 -210 -86t-82 -216q0 -135 79 -217 t213 -82q205 0 267 191h-138q-11 -34 -47.5 -54t-75.5 -20zM1126 722q113 0 124 -122h-254q4 56 39 89t91 33zM964 988h319v-77h-319v77z" />-<glyph unicode="" horiz-adv-x="1792" d="M1582 954q0 -101 -71.5 -172.5t-172.5 -71.5t-172.5 71.5t-71.5 172.5t71.5 172.5t172.5 71.5t172.5 -71.5t71.5 -172.5zM812 212q0 104 -73 177t-177 73q-27 0 -54 -6l104 -42q77 -31 109.5 -106.5t1.5 -151.5q-31 -77 -107 -109t-152 -1q-21 8 -62 24.5t-61 24.5 q32 -60 91 -96.5t130 -36.5q104 0 177 73t73 177zM1642 953q0 126 -89.5 215.5t-215.5 89.5q-127 0 -216.5 -89.5t-89.5 -215.5q0 -127 89.5 -216t216.5 -89q126 0 215.5 89t89.5 216zM1792 953q0 -189 -133.5 -322t-321.5 -133l-437 -319q-12 -129 -109 -218t-229 -89 q-121 0 -214 76t-118 192l-230 92v429l389 -157q79 48 173 48q13 0 35 -2l284 407q2 187 135.5 319t320.5 132q188 0 321.5 -133.5t133.5 -321.5z" />-<glyph unicode="" d="M1242 889q0 80 -57 136.5t-137 56.5t-136.5 -57t-56.5 -136q0 -80 56.5 -136.5t136.5 -56.5t137 56.5t57 136.5zM632 301q0 -83 -58 -140.5t-140 -57.5q-56 0 -103 29t-72 77q52 -20 98 -40q60 -24 120 1.5t85 86.5q24 60 -1.5 120t-86.5 84l-82 33q22 5 42 5 q82 0 140 -57.5t58 -140.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v153l172 -69q20 -92 93.5 -152t168.5 -60q104 0 181 70t87 173l345 252q150 0 255.5 105.5t105.5 254.5q0 150 -105.5 255.5t-255.5 105.5 q-148 0 -253 -104.5t-107 -252.5l-225 -322q-9 1 -28 1q-75 0 -137 -37l-297 119v468q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5zM1289 887q0 -100 -71 -170.5t-171 -70.5t-170.5 70.5t-70.5 170.5t70.5 171t170.5 71q101 0 171.5 -70.5t70.5 -171.5z " />-<glyph unicode="" horiz-adv-x="1792" d="M836 367l-15 -368l-2 -22l-420 29q-36 3 -67 31.5t-47 65.5q-11 27 -14.5 55t4 65t12 55t21.5 64t19 53q78 -12 509 -28zM449 953l180 -379l-147 92q-63 -72 -111.5 -144.5t-72.5 -125t-39.5 -94.5t-18.5 -63l-4 -21l-190 357q-17 26 -18 56t6 47l8 18q35 63 114 188 l-140 86zM1680 436l-188 -359q-12 -29 -36.5 -46.5t-43.5 -20.5l-18 -4q-71 -7 -219 -12l8 -164l-230 367l211 362l7 -173q170 -16 283 -5t170 33zM895 1360q-47 -63 -265 -435l-317 187l-19 12l225 356q20 31 60 45t80 10q24 -2 48.5 -12t42 -21t41.5 -33t36 -34.5 t36 -39.5t32 -35zM1550 1053l212 -363q18 -37 12.5 -76t-27.5 -74q-13 -20 -33 -37t-38 -28t-48.5 -22t-47 -16t-51.5 -14t-46 -12q-34 72 -265 436l313 195zM1407 1279l142 83l-220 -373l-419 20l151 86q-34 89 -75 166t-75.5 123.5t-64.5 80t-47 46.5l-17 13l405 -1 q31 3 58 -10.5t39 -28.5l11 -15q39 -61 112 -190z" />-<glyph unicode="" horiz-adv-x="2048" d="M480 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM516 768h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5zM1888 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM2048 544v-384 q0 -14 -9 -23t-23 -9h-96v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-1024v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5t179 63.5h768q98 0 179 -63.5t104 -157.5 l105 -419h28q93 0 158.5 -65.5t65.5 -158.5z" />-<glyph unicode="" horiz-adv-x="2048" d="M1824 640q93 0 158.5 -65.5t65.5 -158.5v-384q0 -14 -9 -23t-23 -9h-96v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-1024v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5 t179 63.5h128v224q0 14 9 23t23 9h448q14 0 23 -9t9 -23v-224h128q98 0 179 -63.5t104 -157.5l105 -419h28zM320 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM516 640h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5z M1728 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47z" />-<glyph unicode="" d="M1504 64q0 -26 -19 -45t-45 -19h-462q1 -17 6 -87.5t5 -108.5q0 -25 -18 -42.5t-43 -17.5h-320q-25 0 -43 17.5t-18 42.5q0 38 5 108.5t6 87.5h-462q-26 0 -45 19t-19 45t19 45l402 403h-229q-26 0 -45 19t-19 45t19 45l402 403h-197q-26 0 -45 19t-19 45t19 45l384 384 q19 19 45 19t45 -19l384 -384q19 -19 19 -45t-19 -45t-45 -19h-197l402 -403q19 -19 19 -45t-19 -45t-45 -19h-229l402 -403q19 -19 19 -45z" />-<glyph unicode="" d="M1127 326q0 32 -30 51q-193 115 -447 115q-133 0 -287 -34q-42 -9 -42 -52q0 -20 13.5 -34.5t35.5 -14.5q5 0 37 8q132 27 243 27q226 0 397 -103q19 -11 33 -11q19 0 33 13.5t14 34.5zM1223 541q0 40 -35 61q-237 141 -548 141q-153 0 -303 -42q-48 -13 -48 -64 q0 -25 17.5 -42.5t42.5 -17.5q7 0 37 8q122 33 251 33q279 0 488 -124q24 -13 38 -13q25 0 42.5 17.5t17.5 42.5zM1331 789q0 47 -40 70q-126 73 -293 110.5t-343 37.5q-204 0 -364 -47q-23 -7 -38.5 -25.5t-15.5 -48.5q0 -31 20.5 -52t51.5 -21q11 0 40 8q133 37 307 37 q159 0 309.5 -34t253.5 -95q21 -12 40 -12q29 0 50.5 20.5t21.5 51.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" horiz-adv-x="1024" d="M1024 1233l-303 -582l24 -31h279v-415h-507l-44 -30l-142 -273l-30 -30h-301v303l303 583l-24 30h-279v415h507l44 30l142 273l30 30h301v-303z" />-<glyph unicode="" horiz-adv-x="2304" d="M784 164l16 241l-16 523q-1 10 -7.5 17t-16.5 7q-9 0 -16 -7t-7 -17l-14 -523l14 -241q1 -10 7.5 -16.5t15.5 -6.5q22 0 24 23zM1080 193l11 211l-12 586q0 16 -13 24q-8 5 -16 5t-16 -5q-13 -8 -13 -24l-1 -6l-10 -579q0 -1 11 -236v-1q0 -10 6 -17q9 -11 23 -11 q11 0 20 9q9 7 9 20zM35 533l20 -128l-20 -126q-2 -9 -9 -9t-9 9l-17 126l17 128q2 9 9 9t9 -9zM121 612l26 -207l-26 -203q-2 -9 -10 -9q-9 0 -9 10l-23 202l23 207q0 9 9 9q8 0 10 -9zM401 159zM213 650l25 -245l-25 -237q0 -11 -11 -11q-10 0 -12 11l-21 237l21 245 q2 12 12 12q11 0 11 -12zM307 657l23 -252l-23 -244q-2 -13 -14 -13q-13 0 -13 13l-21 244l21 252q0 13 13 13q12 0 14 -13zM401 639l21 -234l-21 -246q-2 -16 -16 -16q-6 0 -10.5 4.5t-4.5 11.5l-20 246l20 234q0 6 4.5 10.5t10.5 4.5q14 0 16 -15zM784 164zM495 785 l21 -380l-21 -246q0 -7 -5 -12.5t-12 -5.5q-16 0 -18 18l-18 246l18 380q2 18 18 18q7 0 12 -5.5t5 -12.5zM589 871l19 -468l-19 -244q0 -8 -5.5 -13.5t-13.5 -5.5q-18 0 -20 19l-16 244l16 468q2 19 20 19q8 0 13.5 -5.5t5.5 -13.5zM687 911l18 -506l-18 -242 q-2 -21 -22 -21q-19 0 -21 21l-16 242l16 506q0 9 6.5 15.5t14.5 6.5q9 0 15 -6.5t7 -15.5zM1079 169v0v0zM881 915l15 -510l-15 -239q0 -10 -7.5 -17.5t-17.5 -7.5t-17 7t-8 18l-14 239l14 510q0 11 7.5 18t17.5 7t17.5 -7t7.5 -18zM980 896l14 -492l-14 -236q0 -11 -8 -19 t-19 -8t-19 8t-9 19l-12 236l12 492q1 12 9 20t19 8t18.5 -8t8.5 -20zM1192 404l-14 -231v0q0 -13 -9 -22t-22 -9t-22 9t-10 22l-6 114l-6 117l12 636v3q2 15 12 24q9 7 20 7q8 0 15 -5q14 -8 16 -26zM2304 423q0 -117 -83 -199.5t-200 -82.5h-786q-13 2 -22 11t-9 22v899 q0 23 28 33q85 34 181 34q195 0 338 -131.5t160 -323.5q53 22 110 22q117 0 200 -83t83 -201z" />-<glyph unicode="" d="M768 768q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 0q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127 t443 -43zM768 384q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 1536q208 0 385 -34.5t280 -93.5t103 -128v-128q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5 t-103 128v128q0 69 103 128t280 93.5t385 34.5z" />-<glyph unicode="" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M894 465q33 -26 84 -56q59 7 117 7q147 0 177 -49q16 -22 2 -52q0 -1 -1 -2l-2 -2v-1q-6 -38 -71 -38q-48 0 -115 20t-130 53q-221 -24 -392 -83q-153 -262 -242 -262q-15 0 -28 7l-24 12q-1 1 -6 5q-10 10 -6 36q9 40 56 91.5t132 96.5q14 9 23 -6q2 -2 2 -4q52 85 107 197 q68 136 104 262q-24 82 -30.5 159.5t6.5 127.5q11 40 42 40h21h1q23 0 35 -15q18 -21 9 -68q-2 -6 -4 -8q1 -3 1 -8v-30q-2 -123 -14 -192q55 -164 146 -238zM318 54q52 24 137 158q-51 -40 -87.5 -84t-49.5 -74zM716 974q-15 -42 -2 -132q1 7 7 44q0 3 7 43q1 4 4 8 q-1 1 -1 2t-0.5 1.5t-0.5 1.5q-1 22 -13 36q0 -1 -1 -2v-2zM592 313q135 54 284 81q-2 1 -13 9.5t-16 13.5q-76 67 -127 176q-27 -86 -83 -197q-30 -56 -45 -83zM1238 329q-24 24 -140 24q76 -28 124 -28q14 0 18 1q0 1 -2 3z" />-<glyph unicode="" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M233 768v-107h70l164 -661h159l128 485q7 20 10 46q2 16 2 24h4l3 -24q1 -3 3.5 -20t5.5 -26l128 -485h159l164 661h70v107h-300v-107h90l-99 -438q-5 -20 -7 -46l-2 -21h-4l-3 21q-1 5 -4 21t-5 25l-144 545h-114l-144 -545q-2 -9 -4.5 -24.5t-3.5 -21.5l-4 -21h-4l-2 21 q-2 26 -7 46l-99 438h90v107h-300z" />-<glyph unicode="" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M429 106v-106h281v106h-75l103 161q5 7 10 16.5t7.5 13.5t3.5 4h2q1 -4 5 -10q2 -4 4.5 -7.5t6 -8t6.5 -8.5l107 -161h-76v-106h291v106h-68l-192 273l195 282h67v107h-279v-107h74l-103 -159q-4 -7 -10 -16.5t-9 -13.5l-2 -3h-2q-1 4 -5 10q-6 11 -17 23l-106 159h76v107 h-290v-107h68l189 -272l-194 -283h-68z" />-<glyph unicode="" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M416 106v-106h327v106h-93v167h137q76 0 118 15q67 23 106.5 87t39.5 146q0 81 -37 141t-100 87q-48 19 -130 19h-368v-107h92v-555h-92zM769 386h-119v268h120q52 0 83 -18q56 -33 56 -115q0 -89 -62 -120q-31 -15 -78 -15z" />-<glyph unicode="" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M1280 320v-320h-1024v192l192 192l128 -128l384 384zM448 512q-80 0 -136 56t-56 136t56 136t136 56t136 -56t56 -136t-56 -136t-136 -56z" />-<glyph unicode="" d="M640 1152v128h-128v-128h128zM768 1024v128h-128v-128h128zM640 896v128h-128v-128h128zM768 768v128h-128v-128h128zM1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400 v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-128v-128h-128v128h-512v-1536h1280zM781 593l107 -349q8 -27 8 -52q0 -83 -72.5 -137.5t-183.5 -54.5t-183.5 54.5t-72.5 137.5q0 25 8 52q21 63 120 396v128h128v-128h79 q22 0 39 -13t23 -34zM640 128q53 0 90.5 19t37.5 45t-37.5 45t-90.5 19t-90.5 -19t-37.5 -45t37.5 -45t90.5 -19z" />-<glyph unicode="" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M620 686q20 -8 20 -30v-544q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-166 167h-131q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h131l166 167q16 15 35 7zM1037 -3q31 0 50 24q129 159 129 363t-129 363q-16 21 -43 24t-47 -14q-21 -17 -23.5 -43.5t14.5 -47.5 q100 -123 100 -282t-100 -282q-17 -21 -14.5 -47.5t23.5 -42.5q18 -15 40 -15zM826 145q27 0 47 20q87 93 87 219t-87 219q-18 19 -45 20t-46 -17t-20 -44.5t18 -46.5q52 -57 52 -131t-52 -131q-19 -20 -18 -46.5t20 -44.5q20 -17 44 -17z" />-<glyph unicode="" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M768 768q52 0 90 -38t38 -90v-384q0 -52 -38 -90t-90 -38h-384q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h384zM1260 766q20 -8 20 -30v-576q0 -22 -20 -30q-8 -2 -12 -2q-14 0 -23 9l-265 266v90l265 266q9 9 23 9q4 0 12 -2z" />-<glyph unicode="" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M480 768q8 11 21 12.5t24 -6.5l51 -38q11 -8 12.5 -21t-6.5 -24l-182 -243l182 -243q8 -11 6.5 -24t-12.5 -21l-51 -38q-11 -8 -24 -6.5t-21 12.5l-226 301q-14 19 0 38zM1282 467q14 -19 0 -38l-226 -301q-8 -11 -21 -12.5t-24 6.5l-51 38q-11 8 -12.5 21t6.5 24l182 243 l-182 243q-8 11 -6.5 24t12.5 21l51 38q11 8 24 6.5t21 -12.5zM662 6q-13 2 -20.5 13t-5.5 24l138 831q2 13 13 20.5t24 5.5l63 -10q13 -2 20.5 -13t5.5 -24l-138 -831q-2 -13 -13 -20.5t-24 -5.5z" />-<glyph unicode="" d="M1497 709v-198q-101 -23 -198 -23q-65 -136 -165.5 -271t-181.5 -215.5t-128 -106.5q-80 -45 -162 3q-28 17 -60.5 43.5t-85 83.5t-102.5 128.5t-107.5 184t-105.5 244t-91.5 314.5t-70.5 390h283q26 -218 70 -398.5t104.5 -317t121.5 -235.5t140 -195q169 169 287 406 q-142 72 -223 220t-81 333q0 192 104 314.5t284 122.5q178 0 273 -105.5t95 -297.5q0 -159 -58 -286q-7 -1 -19.5 -3t-46 -2t-63 6t-62 25.5t-50.5 51.5q31 103 31 184q0 87 -29 132t-79 45q-53 0 -85 -49.5t-32 -140.5q0 -186 105 -293.5t267 -107.5q62 0 121 14z" />-<glyph unicode="" horiz-adv-x="1792" d="M216 367l603 -402v359l-334 223zM154 511l193 129l-193 129v-258zM973 -35l603 402l-269 180l-334 -223v-359zM896 458l272 182l-272 182l-272 -182zM485 733l334 223v359l-603 -402zM1445 640l193 -129v258zM1307 733l269 180l-603 402v-359zM1792 913v-546 q0 -41 -34 -64l-819 -546q-21 -13 -43 -13t-43 13l-819 546q-34 23 -34 64v546q0 41 34 64l819 546q21 13 43 13t43 -13l819 -546q34 -23 34 -64z" />-<glyph unicode="" horiz-adv-x="2048" d="M1800 764q111 -46 179.5 -145.5t68.5 -221.5q0 -164 -118 -280.5t-285 -116.5q-4 0 -11.5 0.5t-10.5 0.5h-1209h-1h-2h-5q-170 10 -288 125.5t-118 280.5q0 110 55 203t147 147q-12 39 -12 82q0 115 82 196t199 81q95 0 172 -58q75 154 222.5 248t326.5 94 q166 0 306 -80.5t221.5 -218.5t81.5 -301q0 -6 -0.5 -18t-0.5 -18zM468 498q0 -122 84 -193t208 -71q137 0 240 99q-16 20 -47.5 56.5t-43.5 50.5q-67 -65 -144 -65q-55 0 -93.5 33.5t-38.5 87.5q0 53 38.5 87t91.5 34q44 0 84.5 -21t73 -55t65 -75t69 -82t77 -75t97 -55 t121.5 -21q121 0 204.5 71.5t83.5 190.5q0 121 -84 192t-207 71q-143 0 -241 -97q14 -16 29.5 -34t34.5 -40t29 -34q66 64 142 64q52 0 92 -33t40 -84q0 -57 -37 -91.5t-94 -34.5q-43 0 -82.5 21t-72 55t-65.5 75t-69.5 82t-77.5 75t-96.5 55t-118.5 21q-122 0 -207 -70.5 t-85 -189.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 1408q-190 0 -361 -90l194 -194q82 28 167 28t167 -28l194 194q-171 90 -361 90zM218 279l194 194 q-28 82 -28 167t28 167l-194 194q-90 -171 -90 -361t90 -361zM896 -128q190 0 361 90l-194 194q-82 -28 -167 -28t-167 28l-194 -194q171 -90 361 -90zM896 256q159 0 271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5 t271.5 -112.5zM1380 473l194 -194q90 171 90 361t-90 361l-194 -194q28 -82 28 -167t-28 -167z" />-<glyph unicode="" horiz-adv-x="1792" d="M1760 640q0 -176 -68.5 -336t-184 -275.5t-275.5 -184t-336 -68.5t-336 68.5t-275.5 184t-184 275.5t-68.5 336q0 213 97 398.5t265 305.5t374 151v-228q-221 -45 -366.5 -221t-145.5 -406q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5 t136.5 204t51 248.5q0 230 -145.5 406t-366.5 221v228q206 -31 374 -151t265 -305.5t97 -398.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M19 662q8 217 116 406t305 318h5q0 -1 -1 -3q-8 -8 -28 -33.5t-52 -76.5t-60 -110.5t-44.5 -135.5t-14 -150.5t39 -157.5t108.5 -154q50 -50 102 -69.5t90.5 -11.5t69.5 23.5t47 32.5l16 16q39 51 53 116.5t6.5 122.5t-21 107t-26.5 80l-14 29q-10 25 -30.5 49.5t-43 41 t-43.5 29.5t-35 19l-13 6l104 115q39 -17 78 -52t59 -61l19 -27q1 48 -18.5 103.5t-40.5 87.5l-20 31l161 183l160 -181q-33 -46 -52.5 -102.5t-22.5 -90.5l-4 -33q22 37 61.5 72.5t67.5 52.5l28 17l103 -115q-44 -14 -85 -50t-60 -65l-19 -29q-31 -56 -48 -133.5t-7 -170 t57 -156.5q33 -45 77.5 -60.5t85 -5.5t76 26.5t57.5 33.5l21 16q60 53 96.5 115t48.5 121.5t10 121.5t-18 118t-37 107.5t-45.5 93t-45 72t-34.5 47.5l-13 17q-14 13 -7 13l10 -3q40 -29 62.5 -46t62 -50t64 -58t58.5 -65t55.5 -77t45.5 -88t38 -103t23.5 -117t10.5 -136 q3 -259 -108 -465t-312 -321t-456 -115q-185 0 -351 74t-283.5 198t-184 293t-60.5 353z" />-<glyph unicode="" horiz-adv-x="1792" d="M874 -102v-66q-208 6 -385 109.5t-283 275.5l58 34q29 -49 73 -99l65 57q148 -168 368 -212l-17 -86q65 -12 121 -13zM276 428l-83 -28q22 -60 49 -112l-57 -33q-98 180 -98 385t98 385l57 -33q-30 -56 -49 -112l82 -28q-35 -100 -35 -212q0 -109 36 -212zM1528 251 l58 -34q-106 -172 -283 -275.5t-385 -109.5v66q56 1 121 13l-17 86q220 44 368 212l65 -57q44 50 73 99zM1377 805l-233 -80q14 -42 14 -85t-14 -85l232 -80q-31 -92 -98 -169l-185 162q-57 -67 -147 -85l48 -241q-52 -10 -98 -10t-98 10l48 241q-90 18 -147 85l-185 -162 q-67 77 -98 169l232 80q-14 42 -14 85t14 85l-233 80q33 93 99 169l185 -162q59 68 147 86l-48 240q44 10 98 10t98 -10l-48 -240q88 -18 147 -86l185 162q66 -76 99 -169zM874 1448v-66q-65 -2 -121 -13l17 -86q-220 -42 -368 -211l-65 56q-38 -42 -73 -98l-57 33 q106 172 282 275.5t385 109.5zM1705 640q0 -205 -98 -385l-57 33q27 52 49 112l-83 28q36 103 36 212q0 112 -35 212l82 28q-19 56 -49 112l57 33q98 -180 98 -385zM1585 1063l-57 -33q-35 56 -73 98l-65 -56q-148 169 -368 211l17 86q-56 11 -121 13v66q209 -6 385 -109.5 t282 -275.5zM1748 640q0 173 -67.5 331t-181.5 272t-272 181.5t-331 67.5t-331 -67.5t-272 -181.5t-181.5 -272t-67.5 -331t67.5 -331t181.5 -272t272 -181.5t331 -67.5t331 67.5t272 181.5t181.5 272t67.5 331zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71 t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />-<glyph unicode="" d="M582 228q0 -66 -93 -66q-107 0 -107 63q0 64 98 64q102 0 102 -61zM546 694q0 -85 -74 -85q-77 0 -77 84q0 90 77 90q36 0 55 -25.5t19 -63.5zM712 769v125q-78 -29 -135 -29q-50 29 -110 29q-86 0 -145 -57t-59 -143q0 -50 29.5 -102t73.5 -67v-3q-38 -17 -38 -85 q0 -53 41 -77v-3q-113 -37 -113 -139q0 -45 20 -78.5t54 -51t72 -25.5t81 -8q224 0 224 188q0 67 -48 99t-126 46q-27 5 -51.5 20.5t-24.5 39.5q0 44 49 52q77 15 122 70t45 134q0 24 -10 52q37 9 49 13zM771 350h137q-2 27 -2 82v387q0 46 2 69h-137q3 -23 3 -71v-392 q0 -50 -3 -75zM1280 366v121q-30 -21 -68 -21q-53 0 -53 82v225h52q9 0 26.5 -1t26.5 -1v117h-105q0 82 3 102h-140q4 -24 4 -55v-47h-60v-117q36 3 37 3q3 0 11 -0.5t12 -0.5v-2h-2v-217q0 -37 2.5 -64t11.5 -56.5t24.5 -48.5t43.5 -31t66 -12q64 0 108 24zM924 1072 q0 36 -24 63.5t-60 27.5t-60.5 -27t-24.5 -64q0 -36 25 -62.5t60 -26.5t59.5 27t24.5 62zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M595 22q0 100 -165 100q-158 0 -158 -104q0 -101 172 -101q151 0 151 105zM536 777q0 61 -30 102t-89 41q-124 0 -124 -145q0 -135 124 -135q119 0 119 137zM805 1101v-202q-36 -12 -79 -22q16 -43 16 -84q0 -127 -73 -216.5t-197 -112.5q-40 -8 -59.5 -27t-19.5 -58 q0 -31 22.5 -51.5t58 -32t78.5 -22t86 -25.5t78.5 -37.5t58 -64t22.5 -98.5q0 -304 -363 -304q-69 0 -130 12.5t-116 41t-87.5 82t-32.5 127.5q0 165 182 225v4q-67 41 -67 126q0 109 63 137v4q-72 24 -119.5 108.5t-47.5 165.5q0 139 95 231.5t235 92.5q96 0 178 -47 q98 0 218 47zM1123 220h-222q4 45 4 134v609q0 94 -4 128h222q-4 -33 -4 -124v-613q0 -89 4 -134zM1724 442v-196q-71 -39 -174 -39q-62 0 -107 20t-70 50t-39.5 78t-18.5 92t-4 103v351h2v4q-7 0 -19 1t-18 1q-21 0 -59 -6v190h96v76q0 54 -6 89h227q-6 -41 -6 -165h171 v-190q-15 0 -43.5 2t-42.5 2h-85v-365q0 -131 87 -131q61 0 109 33zM1148 1389q0 -58 -39 -101.5t-96 -43.5q-58 0 -98 43.5t-40 101.5q0 59 39.5 103t98.5 44q58 0 96.5 -44.5t38.5 -102.5z" />-<glyph unicode="" d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="1280" d="M842 964q0 -80 -57 -136.5t-136 -56.5q-60 0 -111 35q-62 -67 -115 -146q-247 -371 -202 -859q1 -22 -12.5 -38.5t-34.5 -18.5h-5q-20 0 -35 13.5t-17 33.5q-14 126 -3.5 247.5t29.5 217t54 186t69 155.5t74 125q61 90 132 165q-16 35 -16 77q0 80 56.5 136.5t136.5 56.5 t136.5 -56.5t56.5 -136.5zM1223 953q0 -158 -78 -292t-212.5 -212t-292.5 -78q-64 0 -131 14q-21 5 -32.5 23.5t-6.5 39.5q5 20 23 31.5t39 7.5q51 -13 108 -13q97 0 186 38t153 102t102 153t38 186t-38 186t-102 153t-153 102t-186 38t-186 -38t-153 -102t-102 -153 t-38 -186q0 -114 52 -218q10 -20 3.5 -40t-25.5 -30t-39.5 -3t-30.5 26q-64 123 -64 265q0 119 46.5 227t124.5 186t186 124t226 46q158 0 292.5 -78t212.5 -212.5t78 -292.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M270 730q-8 19 -8 52q0 20 11 49t24 45q-1 22 7.5 53t22.5 43q0 139 92.5 288.5t217.5 209.5q139 66 324 66q133 0 266 -55q49 -21 90 -48t71 -56t55 -68t42 -74t32.5 -84.5t25.5 -89.5t22 -98l1 -5q55 -83 55 -150q0 -14 -9 -40t-9 -38q0 -1 1.5 -3.5t3.5 -5t2 -3.5 q77 -114 120.5 -214.5t43.5 -208.5q0 -43 -19.5 -100t-55.5 -57q-9 0 -19.5 7.5t-19 17.5t-19 26t-16 26.5t-13.5 26t-9 17.5q-1 1 -3 1l-5 -4q-59 -154 -132 -223q20 -20 61.5 -38.5t69 -41.5t35.5 -65q-2 -4 -4 -16t-7 -18q-64 -97 -302 -97q-53 0 -110.5 9t-98 20 t-104.5 30q-15 5 -23 7q-14 4 -46 4.5t-40 1.5q-41 -45 -127.5 -65t-168.5 -20q-35 0 -69 1.5t-93 9t-101 20.5t-74.5 40t-32.5 64q0 40 10 59.5t41 48.5q11 2 40.5 13t49.5 12q4 0 14 2q2 2 2 4l-2 3q-48 11 -108 105.5t-73 156.5l-5 3q-4 0 -12 -20q-18 -41 -54.5 -74.5 t-77.5 -37.5h-1q-4 0 -6 4.5t-5 5.5q-23 54 -23 100q0 275 252 466z" />-<glyph unicode="" horiz-adv-x="2048" d="M580 1075q0 41 -25 66t-66 25q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 66 24.5t25 65.5zM1323 568q0 28 -25.5 50t-65.5 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q40 0 65.5 22t25.5 51zM1087 1075q0 41 -24.5 66t-65.5 25 q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 65.5 24.5t24.5 65.5zM1722 568q0 28 -26 50t-65 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q39 0 65 22t26 51zM1456 965q-31 4 -70 4q-169 0 -311 -77t-223.5 -208.5t-81.5 -287.5 q0 -78 23 -152q-35 -3 -68 -3q-26 0 -50 1.5t-55 6.5t-44.5 7t-54.5 10.5t-50 10.5l-253 -127l72 218q-290 203 -290 490q0 169 97.5 311t264 223.5t363.5 81.5q176 0 332.5 -66t262 -182.5t136.5 -260.5zM2048 404q0 -117 -68.5 -223.5t-185.5 -193.5l55 -181l-199 109 q-150 -37 -218 -37q-169 0 -311 70.5t-223.5 191.5t-81.5 264t81.5 264t223.5 191.5t311 70.5q161 0 303 -70.5t227.5 -192t85.5 -263.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-453 185l-242 -295q-18 -23 -49 -23q-13 0 -22 4q-19 7 -30.5 23.5t-11.5 36.5v349l864 1059l-1069 -925l-395 162q-37 14 -40 55q-2 40 32 59l1664 960q15 9 32 9q20 0 36 -11z" />-<glyph unicode="" horiz-adv-x="1792" d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-527 215l-298 -327q-18 -21 -47 -21q-14 0 -23 4q-19 7 -30 23.5t-11 36.5v452l-472 193q-37 14 -40 55q-3 39 32 59l1664 960q35 21 68 -2zM1422 26l221 1323l-1434 -827l336 -137 l863 639l-478 -797z" />-<glyph unicode="" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298zM896 928v-448q0 -14 -9 -23 t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23z" />-<glyph unicode="" d="M768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1682 -128q-44 0 -132.5 3.5t-133.5 3.5q-44 0 -132 -3.5t-132 -3.5q-24 0 -37 20.5t-13 45.5q0 31 17 46t39 17t51 7t45 15q33 21 33 140l-1 391q0 21 -1 31q-13 4 -50 4h-675q-38 0 -51 -4q-1 -10 -1 -31l-1 -371q0 -142 37 -164q16 -10 48 -13t57 -3.5t45 -15 t20 -45.5q0 -26 -12.5 -48t-36.5 -22q-47 0 -139.5 3.5t-138.5 3.5q-43 0 -128 -3.5t-127 -3.5q-23 0 -35.5 21t-12.5 45q0 30 15.5 45t36 17.5t47.5 7.5t42 15q33 23 33 143l-1 57v813q0 3 0.5 26t0 36.5t-1.5 38.5t-3.5 42t-6.5 36.5t-11 31.5t-16 18q-15 10 -45 12t-53 2 t-41 14t-18 45q0 26 12 48t36 22q46 0 138.5 -3.5t138.5 -3.5q42 0 126.5 3.5t126.5 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17 -43.5t-38.5 -14.5t-49.5 -4t-43 -13q-35 -21 -35 -160l1 -320q0 -21 1 -32q13 -3 39 -3h699q25 0 38 3q1 11 1 32l1 320q0 139 -35 160 q-18 11 -58.5 12.5t-66 13t-25.5 49.5q0 26 12.5 48t37.5 22q44 0 132 -3.5t132 -3.5q43 0 129 3.5t129 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17.5 -44t-40 -14.5t-51.5 -3t-44 -12.5q-35 -23 -35 -161l1 -943q0 -119 34 -140q16 -10 46 -13.5t53.5 -4.5t41.5 -15.5t18 -44.5 q0 -26 -12 -48t-36 -22z" />-<glyph unicode="" horiz-adv-x="1280" d="M1278 1347v-73q0 -29 -18.5 -61t-42.5 -32q-50 0 -54 -1q-26 -6 -32 -31q-3 -11 -3 -64v-1152q0 -25 -18 -43t-43 -18h-108q-25 0 -43 18t-18 43v1218h-143v-1218q0 -25 -17.5 -43t-43.5 -18h-108q-26 0 -43.5 18t-17.5 43v496q-147 12 -245 59q-126 58 -192 179 q-64 117 -64 259q0 166 88 286q88 118 209 159q111 37 417 37h479q25 0 43 -18t18 -43z" />-<glyph unicode="" d="M352 128v-128h-352v128h352zM704 256q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM864 640v-128h-864v128h864zM224 1152v-128h-224v128h224zM1536 128v-128h-736v128h736zM576 1280q26 0 45 -19t19 -45v-256 q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1216 768q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1536 640v-128h-224v128h224zM1536 1152v-128h-864v128h864z" />-<glyph unicode="" d="M1216 512q133 0 226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5q0 12 2 34l-360 180q-92 -86 -218 -86q-133 0 -226.5 93.5t-93.5 226.5t93.5 226.5t226.5 93.5q126 0 218 -86l360 180q-2 22 -2 34q0 133 93.5 226.5t226.5 93.5 t226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5q-126 0 -218 86l-360 -180q2 -22 2 -34t-2 -34l360 -180q92 86 218 86z" />-<glyph unicode="" d="M1280 341q0 88 -62.5 151t-150.5 63q-84 0 -145 -58l-241 120q2 16 2 23t-2 23l241 120q61 -58 145 -58q88 0 150.5 63t62.5 151t-62.5 150.5t-150.5 62.5t-151 -62.5t-63 -150.5q0 -7 2 -23l-241 -120q-62 57 -145 57q-88 0 -150.5 -62.5t-62.5 -150.5t62.5 -150.5 t150.5 -62.5q83 0 145 57l241 -120q-2 -16 -2 -23q0 -88 63 -150.5t151 -62.5t150.5 62.5t62.5 150.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M571 947q-10 25 -34 35t-49 0q-108 -44 -191 -127t-127 -191q-10 -25 0 -49t35 -34q13 -5 24 -5q42 0 60 40q34 84 98.5 148.5t148.5 98.5q25 11 35 35t0 49zM1513 1303l46 -46l-244 -243l68 -68q19 -19 19 -45.5t-19 -45.5l-64 -64q89 -161 89 -343q0 -143 -55.5 -273.5 t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5q182 0 343 -89l64 64q19 19 45.5 19t45.5 -19l68 -68zM1521 1359q-10 -10 -22 -10q-13 0 -23 10l-91 90q-9 10 -9 23t9 23q10 9 23 9t23 -9l90 -91 q10 -9 10 -22.5t-10 -22.5zM1751 1129q-11 -9 -23 -9t-23 9l-90 91q-10 9 -10 22.5t10 22.5q9 10 22.5 10t22.5 -10l91 -90q9 -10 9 -23t-9 -23zM1792 1312q0 -14 -9 -23t-23 -9h-96q-14 0 -23 9t-9 23t9 23t23 9h96q14 0 23 -9t9 -23zM1600 1504v-96q0 -14 -9 -23t-23 -9 t-23 9t-9 23v96q0 14 9 23t23 9t23 -9t9 -23zM1751 1449l-91 -90q-10 -10 -22 -10q-13 0 -23 10q-10 9 -10 22.5t10 22.5l90 91q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />-<glyph unicode="" horiz-adv-x="1792" d="M609 720l287 208l287 -208l-109 -336h-355zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1515 186q149 203 149 454v3l-102 -89l-240 224l63 323 l134 -12q-150 206 -389 282l53 -124l-287 -159l-287 159l53 124q-239 -76 -389 -282l135 12l62 -323l-240 -224l-102 89v-3q0 -251 149 -454l30 132l326 -40l139 -298l-116 -69q117 -39 240 -39t240 39l-116 69l139 298l326 40z" />-<glyph unicode="" horiz-adv-x="1792" d="M448 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM256 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM832 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM66 768q-28 0 -47 19t-19 46v129h514v-129q0 -27 -19 -46t-46 -19h-383zM1216 224v-192q0 -14 -9 -23t-23 -9h-192 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1600 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23 zM1408 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1016v-13h-514v10q0 104 -382 102q-382 -1 -382 -102v-10h-514v13q0 17 8.5 43t34 64t65.5 75.5t110.5 76t160 67.5t224 47.5t293.5 18.5t293 -18.5t224 -47.5 t160.5 -67.5t110.5 -76t65.5 -75.5t34 -64t8.5 -43zM1792 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 962v-129q0 -27 -19 -46t-46 -19h-384q-27 0 -46 19t-19 46v129h514z" />-<glyph unicode="" horiz-adv-x="1792" d="M704 1216v-768q0 -26 -19 -45t-45 -19v-576q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v512l249 873q7 23 31 23h424zM1024 1216v-704h-256v704h256zM1792 320v-512q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v576q-26 0 -45 19t-19 45v768h424q24 0 31 -23z M736 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23zM1408 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23z" />-<glyph unicode="" horiz-adv-x="1792" d="M1755 1083q37 -37 37 -90t-37 -91l-401 -400l150 -150l-160 -160q-163 -163 -389.5 -186.5t-411.5 100.5l-362 -362h-181v181l362 362q-124 185 -100.5 411.5t186.5 389.5l160 160l150 -150l400 401q38 37 91 37t90 -37t37 -90.5t-37 -90.5l-400 -401l234 -234l401 400 q38 37 91 37t90 -37z" />-<glyph unicode="" horiz-adv-x="1792" d="M873 796q0 -83 -63.5 -142.5t-152.5 -59.5t-152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59t152.5 -59t63.5 -143zM1375 796q0 -83 -63 -142.5t-153 -59.5q-89 0 -152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59q90 0 153 -59t63 -143zM1600 616v667q0 87 -32 123.5 t-111 36.5h-1112q-83 0 -112.5 -34t-29.5 -126v-673q43 -23 88.5 -40t81 -28t81 -18.5t71 -11t70 -4t58.5 -0.5t56.5 2t44.5 2q68 1 95 -27q6 -6 10 -9q26 -25 61 -51q7 91 118 87q5 0 36.5 -1.5t43 -2t45.5 -1t53 1t54.5 4.5t61 8.5t62 13.5t67 19.5t67.5 27t72 34.5z M1763 621q-121 -149 -372 -252q84 -285 -23 -465q-66 -113 -183 -148q-104 -32 -182 15q-86 51 -82 164l-1 326v1q-8 2 -24.5 6t-23.5 5l-1 -338q4 -114 -83 -164q-79 -47 -183 -15q-117 36 -182 150q-105 180 -22 463q-251 103 -372 252q-25 37 -4 63t60 -1q3 -2 11 -7 t11 -8v694q0 72 47 123t114 51h1257q67 0 114 -51t47 -123v-694l21 15q39 27 60 1t-4 -63z" />-<glyph unicode="" horiz-adv-x="1792" d="M896 1102v-434h-145v434h145zM1294 1102v-434h-145v434h145zM1294 342l253 254v795h-1194v-1049h326v-217l217 217h398zM1692 1536v-1013l-434 -434h-326l-217 -217h-217v217h-398v1158l109 289h1483z" />-<glyph unicode="" d="M773 217v-127q-1 -292 -6 -305q-12 -32 -51 -40q-54 -9 -181.5 38t-162.5 89q-13 15 -17 36q-1 12 4 26q4 10 34 47t181 216q1 0 60 70q15 19 39.5 24.5t49.5 -3.5q24 -10 37.5 -29t12.5 -42zM624 468q-3 -55 -52 -70l-120 -39q-275 -88 -292 -88q-35 2 -54 36 q-12 25 -17 75q-8 76 1 166.5t30 124.5t56 32q13 0 202 -77q70 -29 115 -47l84 -34q23 -9 35.5 -30.5t11.5 -48.5zM1450 171q-7 -54 -91.5 -161t-135.5 -127q-37 -14 -63 7q-14 10 -184 287l-47 77q-14 21 -11.5 46t19.5 46q35 43 83 26q1 -1 119 -40q203 -66 242 -79.5 t47 -20.5q28 -22 22 -61zM778 803q5 -102 -54 -122q-58 -17 -114 71l-378 598q-8 35 19 62q41 43 207.5 89.5t224.5 31.5q40 -10 49 -45q3 -18 22 -305.5t24 -379.5zM1440 695q3 -39 -26 -59q-15 -10 -329 -86q-67 -15 -91 -23l1 2q-23 -6 -46 4t-37 32q-30 47 0 87 q1 1 75 102q125 171 150 204t34 39q28 19 65 2q48 -23 123 -133.5t81 -167.5v-3z" />-<glyph unicode="" horiz-adv-x="2048" d="M1024 1024h-384v-384h384v384zM1152 384v-128h-640v128h640zM1152 1152v-640h-640v640h640zM1792 384v-128h-512v128h512zM1792 640v-128h-512v128h512zM1792 896v-128h-512v128h512zM1792 1152v-128h-512v128h512zM256 192v960h-128v-960q0 -26 19 -45t45 -19t45 19 t19 45zM1920 192v1088h-1536v-1088q0 -33 -11 -64h1483q26 0 45 19t19 45zM2048 1408v-1216q0 -80 -56 -136t-136 -56h-1664q-80 0 -136 56t-56 136v1088h256v128h1792z" />-<glyph unicode="" horiz-adv-x="2048" d="M1024 13q-20 0 -93 73.5t-73 93.5q0 32 62.5 54t103.5 22t103.5 -22t62.5 -54q0 -20 -73 -93.5t-93 -73.5zM1294 284q-2 0 -40 25t-101.5 50t-128.5 25t-128.5 -25t-101 -50t-40.5 -25q-18 0 -93.5 75t-75.5 93q0 13 10 23q78 77 196 121t233 44t233 -44t196 -121 q10 -10 10 -23q0 -18 -75.5 -93t-93.5 -75zM1567 556q-11 0 -23 8q-136 105 -252 154.5t-268 49.5q-85 0 -170.5 -22t-149 -53t-113.5 -62t-79 -53t-31 -22q-17 0 -92 75t-75 93q0 12 10 22q132 132 320 205t380 73t380 -73t320 -205q10 -10 10 -22q0 -18 -75 -93t-92 -75z M1838 827q-11 0 -22 9q-179 157 -371.5 236.5t-420.5 79.5t-420.5 -79.5t-371.5 -236.5q-11 -9 -22 -9q-17 0 -92.5 75t-75.5 93q0 13 10 23q187 186 445 288t527 102t527 -102t445 -288q10 -10 10 -23q0 -18 -75.5 -93t-92.5 -75z" />-<glyph unicode="" horiz-adv-x="1792" d="M384 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5 t37.5 90.5zM384 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 768q0 53 -37.5 90.5t-90.5 37.5 t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1536 0v384q0 52 -38 90t-90 38t-90 -38t-38 -90v-384q0 -52 38 -90t90 -38t90 38t38 90zM1152 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z M1536 1088v256q0 26 -19 45t-45 19h-1280q-26 0 -45 -19t-19 -45v-256q0 -26 19 -45t45 -19h1280q26 0 45 19t19 45zM1536 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1408v-1536q0 -52 -38 -90t-90 -38 h-1408q-52 0 -90 38t-38 90v1536q0 52 38 90t90 38h1408q52 0 90 -38t38 -90z" />-<glyph unicode="" d="M1519 890q18 -84 -4 -204q-87 -444 -565 -444h-44q-25 0 -44 -16.5t-24 -42.5l-4 -19l-55 -346l-2 -15q-5 -26 -24.5 -42.5t-44.5 -16.5h-251q-21 0 -33 15t-9 36q9 56 26.5 168t26.5 168t27 167.5t27 167.5q5 37 43 37h131q133 -2 236 21q175 39 287 144q102 95 155 246 q24 70 35 133q1 6 2.5 7.5t3.5 1t6 -3.5q79 -59 98 -162zM1347 1172q0 -107 -46 -236q-80 -233 -302 -315q-113 -40 -252 -42q0 -1 -90 -1l-90 1q-100 0 -118 -96q-2 -8 -85 -530q-1 -10 -12 -10h-295q-22 0 -36.5 16.5t-11.5 38.5l232 1471q5 29 27.5 48t51.5 19h598 q34 0 97.5 -13t111.5 -32q107 -41 163.5 -123t56.5 -196z" />-<glyph unicode="" horiz-adv-x="1792" d="M441 864q32 0 52 -26q266 -364 362 -774h-446q-127 441 -367 749q-12 16 -3 33.5t29 17.5h373zM1000 507q-49 -199 -125 -393q-79 310 -256 594q40 221 44 449q211 -340 337 -650zM1099 1216q235 -324 384.5 -698.5t184.5 -773.5h-451q-41 665 -553 1472h435zM1792 640 q0 -424 -101 -812q-67 560 -359 1083q-25 301 -106 584q-4 16 5.5 28.5t25.5 12.5h359q21 0 38.5 -13t22.5 -33q115 -409 115 -850z" />-<glyph unicode="" horiz-adv-x="2304" d="M1975 546h-138q14 37 66 179l3 9q4 10 10 26t9 26l12 -55zM531 611l-58 295q-11 54 -75 54h-268l-2 -13q311 -79 403 -336zM710 960l-162 -438l-17 89q-26 70 -85 129.5t-131 88.5l135 -510h175l261 641h-176zM849 318h166l104 642h-166zM1617 944q-69 27 -149 27 q-123 0 -201 -59t-79 -153q-1 -102 145 -174q48 -23 67 -41t19 -39q0 -30 -30 -46t-69 -16q-86 0 -156 33l-22 11l-23 -144q74 -34 185 -34q130 -1 208.5 59t80.5 160q0 106 -140 174q-49 25 -71 42t-22 38q0 22 24.5 38.5t70.5 16.5q70 1 124 -24l15 -8zM2042 960h-128 q-65 0 -87 -54l-246 -588h174l35 96h212q5 -22 20 -96h154zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />-<glyph unicode="" horiz-adv-x="2304" d="M671 603h-13q-47 0 -47 -32q0 -22 20 -22q17 0 28 15t12 39zM1066 639h62v3q1 4 0.5 6.5t-1 7t-2 8t-4.5 6.5t-7.5 5t-11.5 2q-28 0 -36 -38zM1606 603h-12q-48 0 -48 -32q0 -22 20 -22q17 0 28 15t12 39zM1925 629q0 41 -30 41q-19 0 -31 -20t-12 -51q0 -42 28 -42 q20 0 32.5 20t12.5 52zM480 770h87l-44 -262h-56l32 201l-71 -201h-39l-4 200l-34 -200h-53l44 262h81l2 -163zM733 663q0 -6 -4 -42q-16 -101 -17 -113h-47l1 22q-20 -26 -58 -26q-23 0 -37.5 16t-14.5 42q0 39 26 60.5t73 21.5q14 0 23 -1q0 3 0.5 5.5t1 4.5t0.5 3 q0 20 -36 20q-29 0 -59 -10q0 4 7 48q38 11 67 11q74 0 74 -62zM889 721l-8 -49q-22 3 -41 3q-27 0 -27 -17q0 -8 4.5 -12t21.5 -11q40 -19 40 -60q0 -72 -87 -71q-34 0 -58 6q0 2 7 49q29 -8 51 -8q32 0 32 19q0 7 -4.5 11.5t-21.5 12.5q-43 20 -43 59q0 72 84 72 q30 0 50 -4zM977 721h28l-7 -52h-29q-2 -17 -6.5 -40.5t-7 -38.5t-2.5 -18q0 -16 19 -16q8 0 16 2l-8 -47q-21 -7 -40 -7q-43 0 -45 47q0 12 8 56q3 20 25 146h55zM1180 648q0 -23 -7 -52h-111q-3 -22 10 -33t38 -11q30 0 58 14l-9 -54q-30 -8 -57 -8q-95 0 -95 95 q0 55 27.5 90.5t69.5 35.5q35 0 55.5 -21t20.5 -56zM1319 722q-13 -23 -22 -62q-22 2 -31 -24t-25 -128h-56l3 14q22 130 29 199h51l-3 -33q14 21 25.5 29.5t28.5 4.5zM1506 763l-9 -57q-28 14 -50 14q-31 0 -51 -27.5t-20 -70.5q0 -30 13.5 -47t38.5 -17q21 0 48 13 l-10 -59q-28 -8 -50 -8q-45 0 -71.5 30.5t-26.5 82.5q0 70 35.5 114.5t91.5 44.5q26 0 61 -13zM1668 663q0 -18 -4 -42q-13 -79 -17 -113h-46l1 22q-20 -26 -59 -26q-23 0 -37 16t-14 42q0 39 25.5 60.5t72.5 21.5q15 0 23 -1q2 7 2 13q0 20 -36 20q-29 0 -59 -10q0 4 8 48 q38 11 67 11q73 0 73 -62zM1809 722q-14 -24 -21 -62q-23 2 -31.5 -23t-25.5 -129h-56l3 14q19 104 29 199h52q0 -11 -4 -33q15 21 26.5 29.5t27.5 4.5zM1950 770h56l-43 -262h-53l3 19q-23 -23 -52 -23q-31 0 -49.5 24t-18.5 64q0 53 27.5 92t64.5 39q31 0 53 -29z M2061 640q0 148 -72.5 273t-198 198t-273.5 73q-181 0 -328 -110q127 -116 171 -284h-50q-44 150 -158 253q-114 -103 -158 -253h-50q44 168 171 284q-147 110 -328 110q-148 0 -273.5 -73t-198 -198t-72.5 -273t72.5 -273t198 -198t273.5 -73q181 0 328 110 q-120 111 -165 264h50q46 -138 152 -233q106 95 152 233h50q-45 -153 -165 -264q147 -110 328 -110q148 0 273.5 73t198 198t72.5 273zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />-<glyph unicode="" horiz-adv-x="2304" d="M313 759q0 -51 -36 -84q-29 -26 -89 -26h-17v220h17q61 0 89 -27q36 -31 36 -83zM2089 824q0 -52 -64 -52h-19v101h20q63 0 63 -49zM380 759q0 74 -50 120.5t-129 46.5h-95v-333h95q74 0 119 38q60 51 60 128zM410 593h65v333h-65v-333zM730 694q0 40 -20.5 62t-75.5 42 q-29 10 -39.5 19t-10.5 23q0 16 13.5 26.5t34.5 10.5q29 0 53 -27l34 44q-41 37 -98 37q-44 0 -74 -27.5t-30 -67.5q0 -35 18 -55.5t64 -36.5q37 -13 45 -19q19 -12 19 -34q0 -20 -14 -33.5t-36 -13.5q-48 0 -71 44l-42 -40q44 -64 115 -64q51 0 83 30.5t32 79.5zM1008 604 v77q-37 -37 -78 -37q-49 0 -80.5 32.5t-31.5 82.5q0 48 31.5 81.5t77.5 33.5q43 0 81 -38v77q-40 20 -80 20q-74 0 -125.5 -50.5t-51.5 -123.5t51 -123.5t125 -50.5q42 0 81 19zM2240 0v527q-65 -40 -144.5 -84t-237.5 -117t-329.5 -137.5t-417.5 -134.5t-504 -118h1569 q26 0 45 19t19 45zM1389 757q0 75 -53 128t-128 53t-128 -53t-53 -128t53 -128t128 -53t128 53t53 128zM1541 584l144 342h-71l-90 -224l-89 224h-71l142 -342h35zM1714 593h184v56h-119v90h115v56h-115v74h119v57h-184v-333zM2105 593h80l-105 140q76 16 76 94q0 47 -31 73 t-87 26h-97v-333h65v133h9zM2304 1274v-1268q0 -56 -38.5 -95t-93.5 -39h-2040q-55 0 -93.5 39t-38.5 95v1268q0 56 38.5 95t93.5 39h2040q55 0 93.5 -39t38.5 -95z" />-<glyph unicode="" horiz-adv-x="2304" d="M119 854h89l-45 108zM740 328l74 79l-70 79h-163v-49h142v-55h-142v-54h159zM898 406l99 -110v217zM1186 453q0 33 -40 33h-84v-69h83q41 0 41 36zM1475 457q0 29 -42 29h-82v-61h81q43 0 43 32zM1197 923q0 29 -42 29h-82v-60h81q43 0 43 31zM1656 854h89l-44 108z M699 1009v-271h-66v212l-94 -212h-57l-94 212v-212h-132l-25 60h-135l-25 -60h-70l116 271h96l110 -257v257h106l85 -184l77 184h108zM1255 453q0 -20 -5.5 -35t-14 -25t-22.5 -16.5t-26 -10t-31.5 -4.5t-31.5 -1t-32.5 0.5t-29.5 0.5v-91h-126l-80 90l-83 -90h-256v271h260 l80 -89l82 89h207q109 0 109 -89zM964 794v-56h-217v271h217v-57h-152v-49h148v-55h-148v-54h152zM2304 235v-229q0 -55 -38.5 -94.5t-93.5 -39.5h-2040q-55 0 -93.5 39.5t-38.5 94.5v678h111l25 61h55l25 -61h218v46l19 -46h113l20 47v-47h541v99l10 1q10 0 10 -14v-86h279 v23q23 -12 55 -18t52.5 -6.5t63 0.5t51.5 1l25 61h56l25 -61h227v58l34 -58h182v378h-180v-44l-25 44h-185v-44l-23 44h-249q-69 0 -109 -22v22h-172v-22q-24 22 -73 22h-628l-43 -97l-43 97h-198v-44l-22 44h-169l-78 -179v391q0 55 38.5 94.5t93.5 39.5h2040 q55 0 93.5 -39.5t38.5 -94.5v-678h-120q-51 0 -81 -22v22h-177q-55 0 -78 -22v22h-316v-22q-31 22 -87 22h-209v-22q-23 22 -91 22h-234l-54 -58l-50 58h-349v-378h343l55 59l52 -59h211v89h21q59 0 90 13v-102h174v99h8q8 0 10 -2t2 -10v-87h529q57 0 88 24v-24h168 q60 0 95 17zM1546 469q0 -23 -12 -43t-34 -29q25 -9 34 -26t9 -46v-54h-65v45q0 33 -12 43.5t-46 10.5h-69v-99h-65v271h154q48 0 77 -15t29 -58zM1269 936q0 -24 -12.5 -44t-33.5 -29q26 -9 34.5 -25.5t8.5 -46.5v-53h-65q0 9 0.5 26.5t0 25t-3 18.5t-8.5 16t-17.5 8.5 t-29.5 3.5h-70v-98h-64v271l153 -1q49 0 78 -14.5t29 -57.5zM1798 327v-56h-216v271h216v-56h-151v-49h148v-55h-148v-54zM1372 1009v-271h-66v271h66zM2065 357q0 -86 -102 -86h-126v58h126q34 0 34 25q0 16 -17 21t-41.5 5t-49.5 3.5t-42 22.5t-17 55q0 39 26 60t66 21 h130v-57h-119q-36 0 -36 -25q0 -16 17.5 -20.5t42 -4t49 -2.5t42 -21.5t17.5 -54.5zM2304 407v-101q-24 -35 -88 -35h-125v58h125q33 0 33 25q0 13 -12.5 19t-31 5.5t-40 2t-40 8t-31 24t-12.5 48.5q0 39 26.5 60t66.5 21h129v-57h-118q-36 0 -36 -25q0 -20 29 -22t68.5 -5 t56.5 -26zM2139 1008v-270h-92l-122 203v-203h-132l-26 60h-134l-25 -60h-75q-129 0 -129 133q0 138 133 138h63v-59q-7 0 -28 1t-28.5 0.5t-23 -2t-21.5 -6.5t-14.5 -13.5t-11.5 -23t-3 -33.5q0 -38 13.5 -58t49.5 -20h29l92 213h97l109 -256v256h99l114 -188v188h66z" />-<glyph unicode="" horiz-adv-x="2304" d="M745 630q0 -37 -25.5 -61.5t-62.5 -24.5q-29 0 -46.5 16t-17.5 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM1530 779q0 -42 -22 -57t-66 -15l-32 -1l17 107q2 11 13 11h18q22 0 35 -2t25 -12.5t12 -30.5zM1881 630q0 -36 -25.5 -61t-61.5 -25q-29 0 -47 16 t-18 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM513 801q0 59 -38.5 85.5t-100.5 26.5h-160q-19 0 -21 -19l-65 -408q-1 -6 3 -11t10 -5h76q20 0 22 19l18 110q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM822 489l41 261q1 6 -3 11t-10 5h-76 q-14 0 -17 -33q-27 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q28 0 58 12t48 32q-4 -12 -4 -21q0 -16 13 -16h69q19 0 22 19zM1269 752q0 5 -4 9.5t-9 4.5h-77q-11 0 -18 -10l-106 -156l-44 150q-5 16 -22 16h-75q-5 0 -9 -4.5t-4 -9.5q0 -2 19.5 -59 t42 -123t23.5 -70q-82 -112 -82 -120q0 -13 13 -13h77q11 0 18 10l255 368q2 2 2 7zM1649 801q0 59 -38.5 85.5t-100.5 26.5h-159q-20 0 -22 -19l-65 -408q-1 -6 3 -11t10 -5h82q12 0 16 13l18 116q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM1958 489 l41 261q1 6 -3 11t-10 5h-76q-14 0 -17 -33q-26 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q29 0 59 12t47 32q0 -1 -2 -9t-2 -12q0 -16 13 -16h69q19 0 22 19zM2176 898v1q0 14 -13 14h-74q-11 0 -13 -11l-65 -416l-1 -2q0 -5 4 -9.5t10 -4.5h66 q19 0 21 19zM392 764q-5 -35 -26 -46t-60 -11l-33 -1l17 107q2 11 13 11h19q40 0 58 -11.5t12 -48.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />-<glyph unicode="" horiz-adv-x="2304" d="M1597 633q0 -69 -21 -106q-19 -35 -52 -35q-23 0 -41 9v224q29 30 57 30q57 0 57 -122zM2035 669h-110q6 98 56 98q51 0 54 -98zM476 534q0 59 -33 91.5t-101 57.5q-36 13 -52 24t-16 25q0 26 38 26q58 0 124 -33l18 112q-67 32 -149 32q-77 0 -123 -38q-48 -39 -48 -109 q0 -58 32.5 -90.5t99.5 -56.5q39 -14 54.5 -25.5t15.5 -27.5q0 -31 -48 -31q-29 0 -70 12.5t-72 30.5l-18 -113q72 -41 168 -41q81 0 129 37q51 41 51 117zM771 749l19 111h-96v135l-129 -21l-18 -114l-46 -8l-17 -103h62v-219q0 -84 44 -120q38 -30 111 -30q32 0 79 11v118 q-32 -7 -44 -7q-42 0 -42 50v197h77zM1087 724v139q-15 3 -28 3q-32 0 -55.5 -16t-33.5 -46l-10 56h-131v-471h150v306q26 31 82 31q16 0 26 -2zM1124 389h150v471h-150v-471zM1746 638q0 122 -45 179q-40 52 -111 52q-64 0 -117 -56l-8 47h-132v-645l150 25v151 q36 -11 68 -11q83 0 134 56q61 65 61 202zM1278 986q0 33 -23 56t-56 23t-56 -23t-23 -56t23 -56.5t56 -23.5t56 23.5t23 56.5zM2176 629q0 113 -48 176q-50 64 -144 64q-96 0 -151.5 -66t-55.5 -180q0 -128 63 -188q55 -55 161 -55q101 0 160 40l-16 103q-57 -31 -128 -31 q-43 0 -63 19q-23 19 -28 66h248q2 14 2 52zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />-<glyph unicode="" horiz-adv-x="2048" d="M1558 684q61 -356 298 -556q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5zM1024 -176q16 0 16 16t-16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5zM2026 1424q8 -10 7.5 -23.5t-10.5 -22.5 l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5 l418 363q10 8 23.5 7t21.5 -11z" />-<glyph unicode="" horiz-adv-x="2048" d="M1040 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM503 315l877 760q-42 88 -132.5 146.5t-223.5 58.5q-93 0 -169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -384 -137 -645zM1856 128 q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5l149 129h757q-166 187 -227 459l111 97q61 -356 298 -556zM1942 1520l84 -96q8 -10 7.5 -23.5t-10.5 -22.5l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161 q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5l418 363q10 8 23.5 7t21.5 -11z" />-<glyph unicode="" horiz-adv-x="1408" d="M512 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM768 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1024 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704 q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167 q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />-<glyph unicode="" d="M1150 462v-109q0 -50 -36.5 -89t-94 -60.5t-118 -32.5t-117.5 -11q-205 0 -342.5 139t-137.5 346q0 203 136 339t339 136q34 0 75.5 -4.5t93 -18t92.5 -34t69 -56.5t28 -81v-109q0 -16 -16 -16h-118q-16 0 -16 16v70q0 43 -65.5 67.5t-137.5 24.5q-140 0 -228.5 -91.5 t-88.5 -237.5q0 -151 91.5 -249.5t233.5 -98.5q68 0 138 24t70 66v70q0 7 4.5 11.5t10.5 4.5h119q6 0 11 -4.5t5 -11.5zM768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5 t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M972 761q0 108 -53.5 169t-147.5 61q-63 0 -124 -30.5t-110 -84.5t-79.5 -137t-30.5 -180q0 -112 53.5 -173t150.5 -61q96 0 176 66.5t122.5 166t42.5 203.5zM1536 640q0 -111 -37 -197t-98.5 -135t-131.5 -74.5t-145 -27.5q-6 0 -15.5 -0.5t-16.5 -0.5q-95 0 -142 53 q-28 33 -33 83q-52 -66 -131.5 -110t-173.5 -44q-161 0 -249.5 95.5t-88.5 269.5q0 157 66 290t179 210.5t246 77.5q87 0 155 -35.5t106 -99.5l2 19l11 56q1 6 5.5 12t9.5 6h118q5 0 13 -11q5 -5 3 -16l-120 -614q-5 -24 -5 -48q0 -39 12.5 -52t44.5 -13q28 1 57 5.5t73 24 t77 50t57 89.5t24 137q0 292 -174 466t-466 174q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51q228 0 405 144q11 9 24 8t21 -12l41 -49q8 -12 7 -24q-2 -13 -12 -22q-102 -83 -227.5 -128t-258.5 -45q-156 0 -298 61 t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q344 0 556 -212t212 -556z" />-<glyph unicode="" horiz-adv-x="1792" d="M1698 1442q94 -94 94 -226.5t-94 -225.5l-225 -223l104 -104q10 -10 10 -23t-10 -23l-210 -210q-10 -10 -23 -10t-23 10l-105 105l-603 -603q-37 -37 -90 -37h-203l-256 -128l-64 64l128 256v203q0 53 37 90l603 603l-105 105q-10 10 -10 23t10 23l210 210q10 10 23 10 t23 -10l104 -104l223 225q93 94 225.5 94t226.5 -94zM512 64l576 576l-192 192l-576 -576v-192h192z" />-<glyph unicode="" horiz-adv-x="1792" d="M1615 1536q70 0 122.5 -46.5t52.5 -116.5q0 -63 -45 -151q-332 -629 -465 -752q-97 -91 -218 -91q-126 0 -216.5 92.5t-90.5 219.5q0 128 92 212l638 579q59 54 130 54zM706 502q39 -76 106.5 -130t150.5 -76l1 -71q4 -213 -129.5 -347t-348.5 -134q-123 0 -218 46.5 t-152.5 127.5t-86.5 183t-29 220q7 -5 41 -30t62 -44.5t59 -36.5t46 -17q41 0 55 37q25 66 57.5 112.5t69.5 76t88 47.5t103 25.5t125 10.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1792 128v-384h-1792v384q45 0 85 14t59 27.5t47 37.5q30 27 51.5 38t56.5 11t55.5 -11t52.5 -38q29 -25 47 -38t58 -27t86 -14q45 0 85 14.5t58 27t48 37.5q21 19 32.5 27t31 15t43.5 7q35 0 56.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14t85 14t59 27.5t47 37.5 q30 27 51.5 38t56.5 11q34 0 55.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14zM1792 448v-192q-35 0 -55.5 11t-52.5 38q-29 25 -47 38t-58 27t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-22 -19 -33 -27t-31 -15t-44 -7q-35 0 -56.5 11t-51.5 38q-29 25 -47 38t-58 27 t-86 14q-45 0 -85 -14.5t-58 -27t-48 -37.5q-21 -19 -32.5 -27t-31 -15t-43.5 -7q-35 0 -56.5 11t-51.5 38q-28 24 -47 37.5t-59 27.5t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-30 -27 -51.5 -38t-56.5 -11v192q0 80 56 136t136 56h64v448h256v-448h256v448h256v-448h256v448 h256v-448h64q80 0 136 -56t56 -136zM512 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1024 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51 t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1536 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150z" />-<glyph unicode="" horiz-adv-x="2048" d="M2048 0v-128h-2048v1536h128v-1408h1920zM1664 1024l256 -896h-1664v576l448 576l576 -576z" />-<glyph unicode="" horiz-adv-x="1792" d="M768 646l546 -546q-106 -108 -247.5 -168t-298.5 -60q-209 0 -385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103v-762zM955 640h773q0 -157 -60 -298.5t-168 -247.5zM1664 768h-768v768q209 0 385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" horiz-adv-x="2048" d="M2048 0v-128h-2048v1536h128v-1408h1920zM1920 1248v-435q0 -21 -19.5 -29.5t-35.5 7.5l-121 121l-633 -633q-10 -10 -23 -10t-23 10l-233 233l-416 -416l-192 192l585 585q10 10 23 10t23 -10l233 -233l464 464l-121 121q-16 16 -7.5 35.5t29.5 19.5h435q14 0 23 -9 t9 -23z" />-<glyph unicode="" horiz-adv-x="1792" d="M1292 832q0 -6 10 -41q10 -29 25 -49.5t41 -34t44 -20t55 -16.5q325 -91 325 -332q0 -146 -105.5 -242.5t-254.5 -96.5q-59 0 -111.5 18.5t-91.5 45.5t-77 74.5t-63 87.5t-53.5 103.5t-43.5 103t-39.5 106.5t-35.5 95q-32 81 -61.5 133.5t-73.5 96.5t-104 64t-142 20 q-96 0 -183 -55.5t-138 -144.5t-51 -185q0 -160 106.5 -279.5t263.5 -119.5q177 0 258 95q56 63 83 116l84 -152q-15 -34 -44 -70l1 -1q-131 -152 -388 -152q-147 0 -269.5 79t-190.5 207.5t-68 274.5q0 105 43.5 206t116 176.5t172 121.5t204.5 46q87 0 159 -19t123.5 -50 t95 -80t72.5 -99t58.5 -117t50.5 -124.5t50 -130.5t55 -127q96 -200 233 -200q81 0 138.5 48.5t57.5 128.5q0 42 -19 72t-50.5 46t-72.5 31.5t-84.5 27t-87.5 34t-81 52t-65 82t-39 122.5q-3 16 -3 33q0 110 87.5 192t198.5 78q78 -3 120.5 -14.5t90.5 -53.5h-1 q12 -11 23 -24.5t26 -36t19 -27.5l-129 -99q-26 49 -54 70v1q-23 21 -97 21q-49 0 -84 -33t-35 -83z" />-<glyph unicode="" d="M1432 484q0 173 -234 239q-35 10 -53 16.5t-38 25t-29 46.5q0 2 -2 8.5t-3 12t-1 7.5q0 36 24.5 59.5t60.5 23.5q54 0 71 -15h-1q20 -15 39 -51l93 71q-39 54 -49 64q-33 29 -67.5 39t-85.5 10q-80 0 -142 -57.5t-62 -137.5q0 -7 2 -23q16 -96 64.5 -140t148.5 -73 q29 -8 49 -15.5t45 -21.5t38.5 -34.5t13.5 -46.5v-5q1 -58 -40.5 -93t-100.5 -35q-97 0 -167 144q-23 47 -51.5 121.5t-48 125.5t-54 110.5t-74 95.5t-103.5 60.5t-147 24.5q-101 0 -192 -56t-144 -148t-50 -192v-1q4 -108 50.5 -199t133.5 -147.5t196 -56.5q186 0 279 110 q20 27 31 51l-60 109q-42 -80 -99 -116t-146 -36q-115 0 -191 87t-76 204q0 105 82 189t186 84q112 0 170 -53.5t104 -172.5q8 -21 25.5 -68.5t28.5 -76.5t31.5 -74.5t38.5 -74t45.5 -62.5t55.5 -53.5t66 -33t80 -13.5q107 0 183 69.5t76 174.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="2048" d="M1152 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM1920 640q0 104 -40.5 198.5 t-109.5 163.5t-163.5 109.5t-198.5 40.5h-386q119 -90 188.5 -224t69.5 -288t-69.5 -288t-188.5 -224h386q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM2048 640q0 -130 -51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5 t-136.5 204t-51 248.5t51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5z" />-<glyph unicode="" horiz-adv-x="2048" d="M0 640q0 130 51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5t-51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5t-136.5 204t-51 248.5zM1408 128q104 0 198.5 40.5t163.5 109.5 t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5z" />-<glyph unicode="" horiz-adv-x="2304" d="M762 384h-314q-40 0 -57.5 35t6.5 67l188 251q-65 31 -137 31q-132 0 -226 -94t-94 -226t94 -226t226 -94q115 0 203 72.5t111 183.5zM576 512h186q-18 85 -75 148zM1056 512l288 384h-480l-99 -132q105 -103 126 -252h165zM2176 448q0 132 -94 226t-226 94 q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94t226 94t94 226zM2304 448q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 97 39.5 183.5t109.5 149.5l-65 98l-353 -469 q-18 -26 -51 -26h-197q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q114 0 215 -55l137 183h-224q-26 0 -45 19t-19 45t19 45t45 19h384v-128h435l-85 128h-222q-26 0 -45 19t-19 45t19 45t45 19h256q33 0 53 -28l267 -400 q91 44 192 44q185 0 316.5 -131.5t131.5 -316.5z" />-<glyph unicode="" d="M384 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1362 716l-72 384q-5 23 -22.5 37.5t-40.5 14.5 h-918q-23 0 -40.5 -14.5t-22.5 -37.5l-72 -384q-5 -30 14 -53t49 -23h1062q30 0 49 23t14 53zM1136 1328q0 20 -14 34t-34 14h-640q-20 0 -34 -14t-14 -34t14 -34t34 -14h640q20 0 34 14t14 34zM1536 603v-603h-128v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5v128h-768v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5v128h-128v603q0 112 25 223l103 454q9 78 97.5 137t230 89t312.5 30t312.5 -30t230 -89t97.5 -137l105 -454q23 -102 23 -223z" />-<glyph unicode="" horiz-adv-x="2048" d="M1463 704q0 -35 -25 -60.5t-61 -25.5h-702q-36 0 -61 25.5t-25 60.5t25 60.5t61 25.5h702q36 0 61 -25.5t25 -60.5zM1677 704q0 86 -23 170h-982q-36 0 -61 25t-25 60q0 36 25 61t61 25h908q-88 143 -235 227t-320 84q-177 0 -327.5 -87.5t-238 -237.5t-87.5 -327 q0 -86 23 -170h982q36 0 61 -25t25 -60q0 -36 -25 -61t-61 -25h-908q88 -143 235.5 -227t320.5 -84q132 0 253 51.5t208 139t139 208t52 253.5zM2048 959q0 -35 -25 -60t-61 -25h-131q17 -85 17 -170q0 -167 -65.5 -319.5t-175.5 -263t-262.5 -176t-319.5 -65.5 q-246 0 -448.5 133t-301.5 350h-189q-36 0 -61 25t-25 61q0 35 25 60t61 25h132q-17 85 -17 170q0 167 65.5 319.5t175.5 263t262.5 176t320.5 65.5q245 0 447.5 -133t301.5 -350h188q36 0 61 -25t25 -61z" />-<glyph unicode="" horiz-adv-x="1280" d="M953 1158l-114 -328l117 -21q165 451 165 518q0 56 -38 56q-57 0 -130 -225zM654 471l33 -88q37 42 71 67l-33 5.5t-38.5 7t-32.5 8.5zM362 1367q0 -98 159 -521q18 10 49 10q15 0 75 -5l-121 351q-75 220 -123 220q-19 0 -29 -17.5t-10 -37.5zM283 608q0 -36 51.5 -119 t117.5 -153t100 -70q14 0 25.5 13t11.5 27q0 24 -32 102q-13 32 -32 72t-47.5 89t-61.5 81t-62 32q-20 0 -45.5 -27t-25.5 -47zM125 273q0 -41 25 -104q59 -145 183.5 -227t281.5 -82q227 0 382 170q152 169 152 427q0 43 -1 67t-11.5 62t-30.5 56q-56 49 -211.5 75.5 t-270.5 26.5q-37 0 -49 -11q-12 -5 -12 -35q0 -34 21.5 -60t55.5 -40t77.5 -23.5t87.5 -11.5t85 -4t70 0h23q24 0 40 -19q15 -19 19 -55q-28 -28 -96 -54q-61 -22 -93 -46q-64 -46 -108.5 -114t-44.5 -137q0 -31 18.5 -88.5t18.5 -87.5l-3 -12q-4 -12 -4 -14 q-137 10 -146 216q-8 -2 -41 -2q2 -7 2 -21q0 -53 -40.5 -89.5t-94.5 -36.5q-82 0 -166.5 78t-84.5 159q0 34 33 67q52 -64 60 -76q77 -104 133 -104q12 0 26.5 8.5t14.5 20.5q0 34 -87.5 145t-116.5 111q-43 0 -70 -44.5t-27 -90.5zM11 264q0 101 42.5 163t136.5 88 q-28 74 -28 104q0 62 61 123t122 61q29 0 70 -15q-163 462 -163 567q0 80 41 130.5t119 50.5q131 0 325 -581q6 -17 8 -23q6 16 29 79.5t43.5 118.5t54 127.5t64.5 123t70.5 86.5t76.5 36q71 0 112 -49t41 -122q0 -108 -159 -550q61 -15 100.5 -46t58.5 -78t26 -93.5 t7 -110.5q0 -150 -47 -280t-132 -225t-211 -150t-278 -55q-111 0 -223 42q-149 57 -258 191.5t-109 286.5z" />-<glyph unicode="" horiz-adv-x="2048" d="M785 528h207q-14 -158 -98.5 -248.5t-214.5 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-203q-5 64 -35.5 99t-81.5 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t40 -51.5t66 -18q95 0 109 139zM1497 528h206 q-14 -158 -98 -248.5t-214 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-204q-4 64 -35 99t-81 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t39.5 -51.5t65.5 -18q49 0 76.5 38t33.5 101zM1856 647q0 207 -15.5 307 t-60.5 161q-6 8 -13.5 14t-21.5 15t-16 11q-86 63 -697 63q-625 0 -710 -63q-5 -4 -17.5 -11.5t-21 -14t-14.5 -14.5q-45 -60 -60 -159.5t-15 -308.5q0 -208 15 -307.5t60 -160.5q6 -8 15 -15t20.5 -14t17.5 -12q44 -33 239.5 -49t470.5 -16q610 0 697 65q5 4 17 11t20.5 14 t13.5 16q46 60 61 159t15 309zM2048 1408v-1536h-2048v1536h2048z" />-<glyph unicode="" d="M992 912v-496q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v496q0 112 -80 192t-192 80h-272v-1152q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v1344q0 14 9 23t23 9h464q135 0 249 -66.5t180.5 -180.5t66.5 -249zM1376 1376v-880q0 -135 -66.5 -249t-180.5 -180.5 t-249 -66.5h-464q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h160q14 0 23 -9t9 -23v-768h272q112 0 192 80t80 192v880q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />-<glyph unicode="" d="M1311 694v-114q0 -24 -13.5 -38t-37.5 -14h-202q-24 0 -38 14t-14 38v114q0 24 14 38t38 14h202q24 0 37.5 -14t13.5 -38zM821 464v250q0 53 -32.5 85.5t-85.5 32.5h-133q-68 0 -96 -52q-28 52 -96 52h-130q-53 0 -85.5 -32.5t-32.5 -85.5v-250q0 -22 21 -22h55 q22 0 22 22v230q0 24 13.5 38t38.5 14h94q24 0 38 -14t14 -38v-230q0 -22 21 -22h54q22 0 22 22v230q0 24 14 38t38 14h97q24 0 37.5 -14t13.5 -38v-230q0 -22 22 -22h55q21 0 21 22zM1410 560v154q0 53 -33 85.5t-86 32.5h-264q-53 0 -86 -32.5t-33 -85.5v-410 q0 -21 22 -21h55q21 0 21 21v180q31 -42 94 -42h191q53 0 86 32.5t33 85.5zM1536 1176v-1072q0 -96 -68 -164t-164 -68h-1072q-96 0 -164 68t-68 164v1072q0 96 68 164t164 68h1072q96 0 164 -68t68 -164z" />-<glyph unicode="" d="M915 450h-294l147 551zM1001 128h311l-324 1024h-440l-324 -1024h311l383 314zM1536 1120v-960q0 -118 -85 -203t-203 -85h-960q-118 0 -203 85t-85 203v960q0 118 85 203t203 85h960q118 0 203 -85t85 -203z" />-<glyph unicode="" horiz-adv-x="2048" d="M2048 641q0 -21 -13 -36.5t-33 -19.5l-205 -356q3 -9 3 -18q0 -20 -12.5 -35.5t-32.5 -19.5l-193 -337q3 -8 3 -16q0 -23 -16.5 -40t-40.5 -17q-25 0 -41 18h-400q-17 -20 -43 -20t-43 20h-399q-17 -20 -43 -20q-23 0 -40 16.5t-17 40.5q0 8 4 20l-193 335 q-20 4 -32.5 19.5t-12.5 35.5q0 9 3 18l-206 356q-20 5 -32.5 20.5t-12.5 35.5q0 21 13.5 36.5t33.5 19.5l199 344q0 1 -0.5 3t-0.5 3q0 36 34 51l209 363q-4 10 -4 18q0 24 17 40.5t40 16.5q26 0 44 -21h396q16 21 43 21t43 -21h398q18 21 44 21q23 0 40 -16.5t17 -40.5 q0 -6 -4 -18l207 -358q23 -1 39 -17.5t16 -38.5q0 -13 -7 -27l187 -324q19 -4 31.5 -19.5t12.5 -35.5zM1063 -158h389l-342 354h-143l-342 -354h360q18 16 39 16t39 -16zM112 654q1 -4 1 -13q0 -10 -2 -15l208 -360q2 0 4.5 -1t5.5 -2.5l5 -2.5l188 199v347l-187 194 q-13 -8 -29 -10zM986 1438h-388l190 -200l554 200h-280q-16 -16 -38 -16t-38 16zM1689 226q1 6 5 11l-64 68l-17 -79h76zM1583 226l22 105l-252 266l-296 -307l63 -64h463zM1495 -142l16 28l65 310h-427l333 -343q8 4 13 5zM578 -158h5l342 354h-373v-335l4 -6q14 -5 22 -13 zM552 226h402l64 66l-309 321l-157 -166v-221zM359 226h163v189l-168 -177q4 -8 5 -12zM358 1051q0 -1 0.5 -2t0.5 -2q0 -16 -8 -29l171 -177v269zM552 1121v-311l153 -157l297 314l-223 236zM556 1425l-4 -8v-264l205 74l-191 201q-6 -2 -10 -3zM1447 1438h-16l-621 -224 l213 -225zM1023 946l-297 -315l311 -319l296 307zM688 634l-136 141v-284zM1038 270l-42 -44h85zM1374 618l238 -251l132 624l-3 5l-1 1zM1718 1018q-8 13 -8 29v2l-216 376q-5 1 -13 5l-437 -463l310 -327zM522 1142v223l-163 -282zM522 196h-163l163 -283v283zM1607 196 l-48 -227l130 227h-82zM1729 266l207 361q-2 10 -2 14q0 1 3 16l-171 296l-129 -612l77 -82q5 3 15 7z" />-<glyph unicode="" d="M0 856q0 131 91.5 226.5t222.5 95.5h742l352 358v-1470q0 -132 -91.5 -227t-222.5 -95h-780q-131 0 -222.5 95t-91.5 227v790zM1232 102l-176 180v425q0 46 -32 79t-78 33h-484q-46 0 -78 -33t-32 -79v-492q0 -46 32.5 -79.5t77.5 -33.5h770z" />-<glyph unicode="" d="M934 1386q-317 -121 -556 -362.5t-358 -560.5q-20 89 -20 176q0 208 102.5 384.5t278.5 279t384 102.5q82 0 169 -19zM1203 1267q93 -65 164 -155q-389 -113 -674.5 -400.5t-396.5 -676.5q-93 72 -155 162q112 386 395 671t667 399zM470 -67q115 356 379.5 622t619.5 384 q40 -92 54 -195q-292 -120 -516 -345t-343 -518q-103 14 -194 52zM1536 -125q-193 50 -367 115q-135 -84 -290 -107q109 205 274 370.5t369 275.5q-21 -152 -101 -284q65 -175 115 -370z" />-<glyph unicode="" horiz-adv-x="2048" d="M1893 1144l155 -1272q-131 0 -257 57q-200 91 -393 91q-226 0 -374 -148q-148 148 -374 148q-193 0 -393 -91q-128 -57 -252 -57h-5l155 1272q224 127 482 127q233 0 387 -106q154 106 387 106q258 0 482 -127zM1398 157q129 0 232 -28.5t260 -93.5l-124 1021 q-171 78 -368 78q-224 0 -374 -141q-150 141 -374 141q-197 0 -368 -78l-124 -1021q105 43 165.5 65t148.5 39.5t178 17.5q202 0 374 -108q172 108 374 108zM1438 191l-55 907q-211 -4 -359 -155q-152 155 -374 155q-176 0 -336 -66l-114 -941q124 51 228.5 76t221.5 25 q209 0 374 -102q172 107 374 102z" />-<glyph unicode="" horiz-adv-x="2048" d="M1500 165v733q0 21 -15 36t-35 15h-93q-20 0 -35 -15t-15 -36v-733q0 -20 15 -35t35 -15h93q20 0 35 15t15 35zM1216 165v531q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-531q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM924 165v429q0 20 -15 35t-35 15h-101 q-20 0 -35 -15t-15 -35v-429q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM632 165v362q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-362q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM2048 311q0 -166 -118 -284t-284 -118h-1244q-166 0 -284 118t-118 284 q0 116 63 214.5t168 148.5q-10 34 -10 73q0 113 80.5 193.5t193.5 80.5q102 0 180 -67q45 183 194 300t338 117q149 0 275 -73.5t199.5 -199.5t73.5 -275q0 -66 -14 -122q135 -33 221 -142.5t86 -247.5z" />-<glyph unicode="" d="M0 1536h1536v-1392l-776 -338l-760 338v1392zM1436 209v926h-1336v-926l661 -294zM1436 1235v201h-1336v-201h1336zM181 937v-115h-37v115h37zM181 789v-115h-37v115h37zM181 641v-115h-37v115h37zM181 493v-115h-37v115h37zM181 345v-115h-37v115h37zM207 202l15 34 l105 -47l-15 -33zM343 142l15 34l105 -46l-15 -34zM478 82l15 34l105 -46l-15 -34zM614 23l15 33l104 -46l-15 -34zM797 10l105 46l15 -33l-105 -47zM932 70l105 46l15 -34l-105 -46zM1068 130l105 46l15 -34l-105 -46zM1203 189l105 47l15 -34l-105 -46zM259 1389v-36h-114 v36h114zM421 1389v-36h-115v36h115zM583 1389v-36h-115v36h115zM744 1389v-36h-114v36h114zM906 1389v-36h-114v36h114zM1068 1389v-36h-115v36h115zM1230 1389v-36h-115v36h115zM1391 1389v-36h-114v36h114zM181 1049v-79h-37v115h115v-36h-78zM421 1085v-36h-115v36h115z M583 1085v-36h-115v36h115zM744 1085v-36h-114v36h114zM906 1085v-36h-114v36h114zM1068 1085v-36h-115v36h115zM1230 1085v-36h-115v36h115zM1355 970v79h-78v36h115v-115h-37zM1355 822v115h37v-115h-37zM1355 674v115h37v-115h-37zM1355 526v115h37v-115h-37zM1355 378 v115h37v-115h-37zM1355 230v115h37v-115h-37zM760 265q-129 0 -221 91.5t-92 221.5q0 129 92 221t221 92q130 0 221.5 -92t91.5 -221q0 -130 -91.5 -221.5t-221.5 -91.5zM595 646q0 -36 19.5 -56.5t49.5 -25t64 -7t64 -2t49.5 -9t19.5 -30.5q0 -49 -112 -49q-97 0 -123 51 h-3l-31 -63q67 -42 162 -42q29 0 56.5 5t55.5 16t45.5 33t17.5 53q0 46 -27.5 69.5t-67.5 27t-79.5 3t-67 5t-27.5 25.5q0 21 20.5 33t40.5 15t41 3q34 0 70.5 -11t51.5 -34h3l30 58q-3 1 -21 8.5t-22.5 9t-19.5 7t-22 7t-20 4.5t-24 4t-23 1q-29 0 -56.5 -5t-54 -16.5 t-43 -34t-16.5 -53.5z" />-<glyph unicode="" horiz-adv-x="2048" d="M863 504q0 112 -79.5 191.5t-191.5 79.5t-191 -79.5t-79 -191.5t79 -191t191 -79t191.5 79t79.5 191zM1726 505q0 112 -79 191t-191 79t-191.5 -79t-79.5 -191q0 -113 79.5 -192t191.5 -79t191 79.5t79 191.5zM2048 1314v-1348q0 -44 -31.5 -75.5t-76.5 -31.5h-1832 q-45 0 -76.5 31.5t-31.5 75.5v1348q0 44 31.5 75.5t76.5 31.5h431q44 0 76 -31.5t32 -75.5v-161h754v161q0 44 32 75.5t76 31.5h431q45 0 76.5 -31.5t31.5 -75.5z" />-<glyph unicode="" horiz-adv-x="2048" d="M1430 953zM1690 749q148 0 253 -98.5t105 -244.5q0 -157 -109 -261.5t-267 -104.5q-85 0 -162 27.5t-138 73.5t-118 106t-109 126.5t-103.5 132.5t-108.5 126t-117 106t-136 73.5t-159 27.5q-154 0 -251.5 -91.5t-97.5 -244.5q0 -157 104 -250t263 -93q100 0 208 37.5 t193 98.5q5 4 21 18.5t30 24t22 9.5q14 0 24.5 -10.5t10.5 -24.5q0 -24 -60 -77q-101 -88 -234.5 -142t-260.5 -54q-133 0 -245.5 58t-180 165t-67.5 241q0 205 141.5 341t347.5 136q120 0 226.5 -43.5t185.5 -113t151.5 -153t139 -167.5t133.5 -153.5t149.5 -113 t172.5 -43.5q102 0 168.5 61.5t66.5 162.5q0 95 -64.5 159t-159.5 64q-30 0 -81.5 -18.5t-68.5 -18.5q-20 0 -35.5 15t-15.5 35q0 18 8.5 57t8.5 59q0 159 -107.5 263t-266.5 104q-58 0 -111.5 -18.5t-84 -40.5t-55.5 -40.5t-33 -18.5q-15 0 -25.5 10.5t-10.5 25.5 q0 19 25 46q59 67 147 103.5t182 36.5q191 0 318 -125.5t127 -315.5q0 -37 -4 -66q57 15 115 15z" />-<glyph unicode="" horiz-adv-x="1664" d="M1216 832q0 26 -19 45t-45 19h-128v128q0 26 -19 45t-45 19t-45 -19t-19 -45v-128h-128q-26 0 -45 -19t-19 -45t19 -45t45 -19h128v-128q0 -26 19 -45t45 -19t45 19t19 45v128h128q26 0 45 19t19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920 q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1664" d="M1280 832q0 26 -19 45t-45 19t-45 -19l-147 -146v293q0 26 -19 45t-45 19t-45 -19t-19 -45v-293l-147 146q-19 19 -45 19t-45 -19t-19 -45t19 -45l256 -256q19 -19 45 -19t45 19l256 256q19 19 19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920 q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="2048" d="M212 768l623 -665l-300 665h-323zM1024 -4l349 772h-698zM538 896l204 384h-262l-288 -384h346zM1213 103l623 665h-323zM683 896h682l-204 384h-274zM1510 896h346l-288 384h-262zM1651 1382l384 -512q14 -18 13 -41.5t-17 -40.5l-960 -1024q-18 -20 -47 -20t-47 20 l-960 1024q-16 17 -17 40.5t13 41.5l384 512q18 26 51 26h1152q33 0 51 -26z" />-<glyph unicode="" horiz-adv-x="2048" d="M1811 -19q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83 q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83 q19 19 45 19t45 -19l83 -83zM237 19q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -82l83 82q19 19 45 19t45 -19l83 -82l64 64v293l-210 314q-17 26 -7 56.5t40 40.5l177 58v299h128v128h256v128h256v-128h256v-128h128v-299l177 -58q30 -10 40 -40.5t-7 -56.5l-210 -314 v-293l19 18q19 19 45 19t45 -19l83 -82l83 82q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83 q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83zM640 1152v-128l384 128l384 -128v128h-128v128h-512v-128h-128z" />-<glyph unicode="" d="M576 0l96 448l-96 128l-128 64zM832 0l128 640l-128 -64l-96 -128zM992 1010q-2 4 -4 6q-10 8 -96 8q-70 0 -167 -19q-7 -2 -21 -2t-21 2q-97 19 -167 19q-86 0 -96 -8q-2 -2 -4 -6q2 -18 4 -27q2 -3 7.5 -6.5t7.5 -10.5q2 -4 7.5 -20.5t7 -20.5t7.5 -17t8.5 -17t9 -14 t12 -13.5t14 -9.5t17.5 -8t20.5 -4t24.5 -2q36 0 59 12.5t32.5 30t14.5 34.5t11.5 29.5t17.5 12.5h12q11 0 17.5 -12.5t11.5 -29.5t14.5 -34.5t32.5 -30t59 -12.5q13 0 24.5 2t20.5 4t17.5 8t14 9.5t12 13.5t9 14t8.5 17t7.5 17t7 20.5t7.5 20.5q2 7 7.5 10.5t7.5 6.5 q2 9 4 27zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 61 4.5 118t19 125.5t37.5 123.5t63.5 103.5t93.5 74.5l-90 220h214q-22 64 -22 128q0 12 2 32q-194 40 -194 96q0 57 210 99q17 62 51.5 134t70.5 114q32 37 76 37q30 0 84 -31t84 -31t84 31 t84 31q44 0 76 -37q36 -42 70.5 -114t51.5 -134q210 -42 210 -99q0 -56 -194 -96q7 -81 -20 -160h214l-82 -225q63 -33 107.5 -96.5t65.5 -143.5t29 -151.5t8 -148.5z" />-<glyph unicode="" horiz-adv-x="2304" d="M2301 500q12 -103 -22 -198.5t-99 -163.5t-158.5 -106t-196.5 -31q-161 11 -279.5 125t-134.5 274q-12 111 27.5 210.5t118.5 170.5l-71 107q-96 -80 -151 -194t-55 -244q0 -27 -18.5 -46.5t-45.5 -19.5h-256h-69q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5 t-131.5 316.5t131.5 316.5t316.5 131.5q76 0 152 -27l24 45q-123 110 -304 110h-64q-26 0 -45 19t-19 45t19 45t45 19h128q78 0 145 -13.5t116.5 -38.5t71.5 -39.5t51 -36.5h512h115l-85 128h-222q-30 0 -49 22.5t-14 52.5q4 23 23 38t43 15h253q33 0 53 -28l70 -105 l114 114q19 19 46 19h101q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-179l115 -172q131 63 275 36q143 -26 244 -134.5t118 -253.5zM448 128q115 0 203 72.5t111 183.5h-314q-35 0 -55 31q-18 32 -1 63l147 277q-47 13 -91 13q-132 0 -226 -94t-94 -226t94 -226 t226 -94zM1856 128q132 0 226 94t94 226t-94 226t-226 94q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94z" />-<glyph unicode="" d="M1408 0q0 -63 -61.5 -113.5t-164 -81t-225 -46t-253.5 -15.5t-253.5 15.5t-225 46t-164 81t-61.5 113.5q0 49 33 88.5t91 66.5t118 44.5t131 29.5q26 5 48 -10.5t26 -41.5q5 -26 -10.5 -48t-41.5 -26q-58 -10 -106 -23.5t-76.5 -25.5t-48.5 -23.5t-27.5 -19.5t-8.5 -12 q3 -11 27 -26.5t73 -33t114 -32.5t160.5 -25t201.5 -10t201.5 10t160.5 25t114 33t73 33.5t27 27.5q-1 4 -8.5 11t-27.5 19t-48.5 23.5t-76.5 25t-106 23.5q-26 4 -41.5 26t-10.5 48q4 26 26 41.5t48 10.5q71 -12 131 -29.5t118 -44.5t91 -66.5t33 -88.5zM1024 896v-384 q0 -26 -19 -45t-45 -19h-64v-384q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v384h-64q-26 0 -45 19t-19 45v384q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5zM928 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5 t158.5 -65.5t65.5 -158.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1280 512h305q-5 -6 -10 -10.5t-9 -7.5l-3 -4l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-5 2 -21 20h369q22 0 39.5 13.5t22.5 34.5l70 281l190 -667q6 -20 23 -33t39 -13q21 0 38 13t23 33l146 485l56 -112q18 -35 57 -35zM1792 940q0 -145 -103 -300h-369l-111 221 q-8 17 -25.5 27t-36.5 8q-45 -5 -56 -46l-129 -430l-196 686q-6 20 -23.5 33t-39.5 13t-39 -13.5t-22 -34.5l-116 -464h-423q-103 155 -103 300q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124 t127 -344z" />-<glyph unicode="" horiz-adv-x="1280" d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292 q11 134 80.5 249t182 188t245.5 88q170 19 319 -54t236 -212t87 -306zM128 960q0 -185 131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5z" />-<glyph unicode="" d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-382 -383q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5 q203 0 359 -126l382 382h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />-<glyph unicode="" horiz-adv-x="1280" d="M830 1220q145 -72 233.5 -210.5t88.5 -305.5q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5 t-147.5 384.5q0 167 88.5 305.5t233.5 210.5q-165 96 -228 273q-6 16 3.5 29.5t26.5 13.5h69q21 0 29 -20q44 -106 140 -171t214 -65t214 65t140 171q8 20 37 20h61q17 0 26.5 -13.5t3.5 -29.5q-63 -177 -228 -273zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5 t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />-<glyph unicode="" d="M1024 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64 q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-149 16 -270.5 103t-186.5 223.5t-53 291.5q16 204 160 353.5t347 172.5q118 14 228 -19t198 -103l255 254h-134q-14 0 -23 9t-9 23v64zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5 t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1280 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64 q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5t-147.5 384.5q0 201 126 359l-52 53l-101 -111q-9 -10 -22 -10.5t-23 7.5l-48 44q-10 8 -10.5 21.5t8.5 23.5l105 115l-111 112v-134q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9 t-9 23v288q0 26 19 45t45 19h288q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-133l106 -107l86 94q9 10 22 10.5t23 -7.5l48 -44q10 -8 10.5 -21.5t-8.5 -23.5l-90 -99l57 -56q158 126 359 126t359 -126l255 254h-134q-14 0 -23 9t-9 23v64zM832 256q185 0 316.5 131.5 t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1790 1007q12 -155 -52.5 -292t-186 -224t-271.5 -103v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-512v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23 t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292q17 206 164.5 356.5t352.5 169.5q206 21 377 -94q171 115 377 94q205 -19 352.5 -169.5t164.5 -356.5zM896 647q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM576 512q115 0 218 57q-154 165 -154 391 q0 224 154 391q-103 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5zM1152 128v260q-137 15 -256 94q-119 -79 -256 -94v-260h512zM1216 512q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5q-115 0 -218 -57q154 -167 154 -391 q0 -226 -154 -391q103 -57 218 -57z" />-<glyph unicode="" horiz-adv-x="1920" d="M1536 1120q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-31 -182 -166 -312t-318 -156q-210 -29 -384.5 80t-241.5 300q-117 6 -221 57.5t-177.5 133t-113.5 192.5t-32 230 q9 135 78 252t182 191.5t248 89.5q118 14 227.5 -19t198.5 -103l255 254h-134q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q59 -74 93 -169q182 -9 328 -124l255 254h-134q-14 0 -23 9 t-9 23v64zM1024 704q0 20 -4 58q-162 -25 -271 -150t-109 -292q0 -20 4 -58q162 25 271 150t109 292zM128 704q0 -168 111 -294t276 -149q-3 29 -3 59q0 210 135 369.5t338 196.5q-53 120 -163.5 193t-245.5 73q-185 0 -316.5 -131.5t-131.5 -316.5zM1088 -128 q185 0 316.5 131.5t131.5 316.5q0 168 -111 294t-276 149q3 -29 3 -59q0 -210 -135 -369.5t-338 -196.5q53 -120 163.5 -193t245.5 -73z" />-<glyph unicode="" horiz-adv-x="2048" d="M1664 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-32 -180 -164.5 -310t-313.5 -157q-223 -34 -409 90q-117 -78 -256 -93v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23 t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-155 17 -279.5 109.5t-187 237.5t-39.5 307q25 187 159.5 322.5t320.5 164.5q224 34 410 -90q146 97 320 97q201 0 359 -126l255 254h-134q-14 0 -23 9 t-9 23v64zM896 391q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM128 704q0 -185 131.5 -316.5t316.5 -131.5q117 0 218 57q-154 167 -154 391t154 391q-101 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5zM1216 256q185 0 316.5 131.5t131.5 316.5 t-131.5 316.5t-316.5 131.5q-117 0 -218 -57q154 -167 154 -391t-154 -391q101 -57 218 -57z" />-<glyph unicode="" d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-213 -214l140 -140q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-140 141l-78 -79q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5 t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5q203 0 359 -126l78 78l-172 172q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l172 -172l213 213h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5 t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />-<glyph unicode="" horiz-adv-x="1280" d="M640 892q217 -24 364.5 -187.5t147.5 -384.5q0 -167 -87 -306t-236 -212t-319 -54q-133 15 -245.5 88t-182 188t-80.5 249q-12 155 52.5 292t186 224t271.5 103v132h-160q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h160v165l-92 -92q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22 t9 23l202 201q19 19 45 19t45 -19l202 -201q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-92 92v-165h160q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-160v-132zM576 -128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5 t131.5 -316.5t316.5 -131.5z" />-<glyph unicode="" horiz-adv-x="2048" d="M1901 621q19 -19 19 -45t-19 -45l-294 -294q-9 -10 -22.5 -10t-22.5 10l-45 45q-10 9 -10 22.5t10 22.5l185 185h-294v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-132q-24 -217 -187.5 -364.5t-384.5 -147.5q-167 0 -306 87t-212 236t-54 319q15 133 88 245.5 t188 182t249 80.5q155 12 292 -52.5t224 -186t103 -271.5h132v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224h294l-185 185q-10 9 -10 22.5t10 22.5l45 45q9 10 22.5 10t22.5 -10zM576 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5 t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />-<glyph unicode="" horiz-adv-x="1280" d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-612q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v612q-217 24 -364.5 187.5t-147.5 384.5q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM576 512q185 0 316.5 131.5 t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />-<glyph unicode="" horiz-adv-x="1280" d="M1024 576q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1152 576q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123 t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5z" />-<glyph unicode="" horiz-adv-x="1792" />-<glyph unicode="" horiz-adv-x="1792" />-<glyph unicode="" d="M1451 1408q35 0 60 -25t25 -60v-1366q0 -35 -25 -60t-60 -25h-391v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-735q-35 0 -60 25t-25 60v1366q0 35 25 60t60 25h1366z" />-<glyph unicode="" horiz-adv-x="1280" d="M0 939q0 108 37.5 203.5t103.5 166.5t152 123t185 78t202 26q158 0 294 -66.5t221 -193.5t85 -287q0 -96 -19 -188t-60 -177t-100 -149.5t-145 -103t-189 -38.5q-68 0 -135 32t-96 88q-10 -39 -28 -112.5t-23.5 -95t-20.5 -71t-26 -71t-32 -62.5t-46 -77.5t-62 -86.5 l-14 -5l-9 10q-15 157 -15 188q0 92 21.5 206.5t66.5 287.5t52 203q-32 65 -32 169q0 83 52 156t132 73q61 0 95 -40.5t34 -102.5q0 -66 -44 -191t-44 -187q0 -63 45 -104.5t109 -41.5q55 0 102 25t78.5 68t56 95t38 110.5t20 111t6.5 99.5q0 173 -109.5 269.5t-285.5 96.5 q-200 0 -334 -129.5t-134 -328.5q0 -44 12.5 -85t27 -65t27 -45.5t12.5 -30.5q0 -28 -15 -73t-37 -45q-2 0 -17 3q-51 15 -90.5 56t-61 94.5t-32.5 108t-11 106.5z" />-<glyph unicode="" d="M985 562q13 0 97.5 -44t89.5 -53q2 -5 2 -15q0 -33 -17 -76q-16 -39 -71 -65.5t-102 -26.5q-57 0 -190 62q-98 45 -170 118t-148 185q-72 107 -71 194v8q3 91 74 158q24 22 52 22q6 0 18 -1.5t19 -1.5q19 0 26.5 -6.5t15.5 -27.5q8 -20 33 -88t25 -75q0 -21 -34.5 -57.5 t-34.5 -46.5q0 -7 5 -15q34 -73 102 -137q56 -53 151 -101q12 -7 22 -7q15 0 54 48.5t52 48.5zM782 32q127 0 243.5 50t200.5 134t134 200.5t50 243.5t-50 243.5t-134 200.5t-200.5 134t-243.5 50t-243.5 -50t-200.5 -134t-134 -200.5t-50 -243.5q0 -203 120 -368l-79 -233 l242 77q158 -104 345 -104zM782 1414q153 0 292.5 -60t240.5 -161t161 -240.5t60 -292.5t-60 -292.5t-161 -240.5t-240.5 -161t-292.5 -60q-195 0 -365 94l-417 -134l136 405q-108 178 -108 389q0 153 60 292.5t161 240.5t240.5 161t292.5 60z" />-<glyph unicode="" horiz-adv-x="1792" d="M128 128h1024v128h-1024v-128zM128 640h1024v128h-1024v-128zM1696 192q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM128 1152h1024v128h-1024v-128zM1696 704q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1696 1216 q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1792 384v-384h-1792v384h1792zM1792 896v-384h-1792v384h1792zM1792 1408v-384h-1792v384h1792z" />-<glyph unicode="" horiz-adv-x="2048" d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1664 512h352q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-352q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5 t-9.5 22.5v352h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v352q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5v-352zM928 288q0 -52 38 -90t90 -38h256v-238q-68 -50 -171 -50h-874q-121 0 -194 69t-73 190q0 53 3.5 103.5t14 109t26.5 108.5 t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q79 -61 154.5 -91.5t164.5 -30.5t164.5 30.5t154.5 91.5q20 17 39 17q132 0 217 -96h-223q-52 0 -90 -38t-38 -90v-192z" />-<glyph unicode="" horiz-adv-x="2048" d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1781 320l249 -249q9 -9 9 -23q0 -13 -9 -22l-136 -136q-9 -9 -22 -9q-14 0 -23 9l-249 249l-249 -249q-9 -9 -23 -9q-13 0 -22 9l-136 136 q-9 9 -9 22q0 14 9 23l249 249l-249 249q-9 9 -9 23q0 13 9 22l136 136q9 9 22 9q14 0 23 -9l249 -249l249 249q9 9 23 9q13 0 22 -9l136 -136q9 -9 9 -22q0 -14 -9 -23zM1283 320l-181 -181q-37 -37 -37 -91q0 -53 37 -90l83 -83q-21 -3 -44 -3h-874q-121 0 -194 69 t-73 190q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q154 -122 319 -122t319 122q20 17 39 17q28 0 57 -6q-28 -27 -41 -50t-13 -56q0 -54 37 -91z" />-<glyph unicode="" horiz-adv-x="2048" d="M256 512h1728q26 0 45 -19t19 -45v-448h-256v256h-1536v-256h-256v1216q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-704zM832 832q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM2048 576v64q0 159 -112.5 271.5t-271.5 112.5h-704 q-26 0 -45 -19t-19 -45v-384h1152z" />-<glyph unicode="" d="M1536 1536l-192 -448h192v-192h-274l-55 -128h329v-192h-411l-357 -832l-357 832h-411v192h329l-55 128h-274v192h192l-192 448h256l323 -768h378l323 768h256zM768 320l108 256h-216z" />-<glyph unicode="" d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM768 192q80 0 136 56t56 136t-56 136t-136 56 t-136 -56t-56 -136t56 -136t136 -56zM1344 768v512h-1152v-512h1152z" />-<glyph unicode="" d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM288 224q66 0 113 47t47 113t-47 113t-113 47 t-113 -47t-47 -113t47 -113t113 -47zM704 768v512h-544v-512h544zM1248 224q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM1408 768v512h-576v-512h576z" />-<glyph unicode="" horiz-adv-x="1792" d="M597 1115v-1173q0 -25 -12.5 -42.5t-36.5 -17.5q-17 0 -33 8l-465 233q-21 10 -35.5 33.5t-14.5 46.5v1140q0 20 10 34t29 14q14 0 44 -15l511 -256q3 -3 3 -5zM661 1014l534 -866l-534 266v600zM1792 996v-1054q0 -25 -14 -40.5t-38 -15.5t-47 13l-441 220zM1789 1116 q0 -3 -256.5 -419.5t-300.5 -487.5l-390 634l324 527q17 28 52 28q14 0 26 -6l541 -270q4 -2 4 -6z" />-<glyph unicode="" d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1408v-1536h-1536v1536h1536z" />-<glyph unicode="" horiz-adv-x="2296" d="M478 -139q-8 -16 -27 -34.5t-37 -25.5q-25 -9 -51.5 3.5t-28.5 31.5q-1 22 40 55t68 38q23 4 34 -21.5t2 -46.5zM1819 -139q7 -16 26 -34.5t38 -25.5q25 -9 51.5 3.5t27.5 31.5q2 22 -39.5 55t-68.5 38q-22 4 -33 -21.5t-2 -46.5zM1867 -30q13 -27 56.5 -59.5t77.5 -41.5 q45 -13 82 4.5t37 50.5q0 46 -67.5 100.5t-115.5 59.5q-40 5 -63.5 -37.5t-6.5 -76.5zM428 -30q-13 -27 -56 -59.5t-77 -41.5q-45 -13 -82 4.5t-37 50.5q0 46 67.5 100.5t115.5 59.5q40 5 63 -37.5t6 -76.5zM1158 1094h1q-41 0 -76 -15q27 -8 44 -30.5t17 -49.5 q0 -35 -27 -60t-65 -25q-52 0 -80 43q-5 -23 -5 -42q0 -74 56 -126.5t135 -52.5q80 0 136 52.5t56 126.5t-56 126.5t-136 52.5zM1462 1312q-99 109 -220.5 131.5t-245.5 -44.5q27 60 82.5 96.5t118 39.5t121.5 -17t99.5 -74.5t44.5 -131.5zM2212 73q8 -11 -11 -42 q7 -23 7 -40q1 -56 -44.5 -112.5t-109.5 -91.5t-118 -37q-48 -2 -92 21.5t-66 65.5q-687 -25 -1259 0q-23 -41 -66.5 -65t-92.5 -22q-86 3 -179.5 80.5t-92.5 160.5q2 22 7 40q-19 31 -11 42q6 10 31 1q14 22 41 51q-7 29 2 38q11 10 39 -4q29 20 59 34q0 29 13 37 q23 12 51 -16q35 5 61 -2q18 -4 38 -19v73q-11 0 -18 2q-53 10 -97 44.5t-55 87.5q-9 38 0 81q15 62 93 95q2 17 19 35.5t36 23.5t33 -7.5t19 -30.5h13q46 -5 60 -23q3 -3 5 -7q10 1 30.5 3.5t30.5 3.5q-15 11 -30 17q-23 40 -91 43q0 6 1 10q-62 2 -118.5 18.5t-84.5 47.5 q-32 36 -42.5 92t-2.5 112q16 126 90 179q23 16 52 4.5t32 -40.5q0 -1 1.5 -14t2.5 -21t3 -20t5.5 -19t8.5 -10q27 -14 76 -12q48 46 98 74q-40 4 -162 -14l47 46q61 58 163 111q145 73 282 86q-20 8 -41 15.5t-47 14t-42.5 10.5t-47.5 11t-43 10q595 126 904 -139 q98 -84 158 -222q85 -10 121 9h1q5 3 8.5 10t5.5 19t3 19.5t3 21.5l1 14q3 28 32 40t52 -5q73 -52 91 -178q7 -57 -3.5 -113t-42.5 -91q-28 -32 -83.5 -48.5t-115.5 -18.5v-10q-71 -2 -95 -43q-14 -5 -31 -17q11 -1 32 -3.5t30 -3.5q1 4 5 8q16 18 60 23h13q5 18 19 30t33 8 t36 -23t19 -36q79 -32 93 -95q9 -40 1 -81q-12 -53 -56 -88t-97 -44q-10 -2 -17 -2q0 -49 -1 -73q20 15 38 19q26 7 61 2q28 28 51 16q14 -9 14 -37q33 -16 59 -34q27 13 38 4q10 -10 2 -38q28 -30 41 -51q23 8 31 -1zM1937 1025q0 -29 -9 -54q82 -32 112 -132 q4 37 -9.5 98.5t-41.5 90.5q-20 19 -36 17t-16 -20zM1859 925q35 -42 47.5 -108.5t-0.5 -124.5q67 13 97 45q13 14 18 28q-3 64 -31 114.5t-79 66.5q-15 -15 -52 -21zM1822 921q-30 0 -44 1q42 -115 53 -239q21 0 43 3q16 68 1 135t-53 100zM258 839q30 100 112 132 q-9 25 -9 54q0 18 -16.5 20t-35.5 -17q-28 -29 -41.5 -90.5t-9.5 -98.5zM294 737q29 -31 97 -45q-13 58 -0.5 124.5t47.5 108.5v0q-37 6 -52 21q-51 -16 -78.5 -66t-31.5 -115q9 -17 18 -28zM471 683q14 124 73 235q-19 -4 -55 -18l-45 -19v1q-46 -89 -20 -196q25 -3 47 -3z M1434 644q8 -38 16.5 -108.5t11.5 -89.5q3 -18 9.5 -21.5t23.5 4.5q40 20 62 85.5t23 125.5q-24 2 -146 4zM1152 1285q-116 0 -199 -82.5t-83 -198.5q0 -117 83 -199.5t199 -82.5t199 82.5t83 199.5q0 116 -83 198.5t-199 82.5zM1380 646q-106 2 -211 0v1q-1 -27 2.5 -86 t13.5 -66q29 -14 93.5 -14.5t95.5 10.5q9 3 11 39t-0.5 69.5t-4.5 46.5zM1112 447q8 4 9.5 48t-0.5 88t-4 63v1q-212 -3 -214 -3q-4 -20 -7 -62t0 -83t14 -46q34 -15 101 -16t101 10zM718 636q-16 -59 4.5 -118.5t77.5 -84.5q15 -8 24 -5t12 21q3 16 8 90t10 103 q-69 -2 -136 -6zM591 510q3 -23 -34 -36q132 -141 271.5 -240t305.5 -154q172 49 310.5 146t293.5 250q-33 13 -30 34l3 9v1v-1q-17 2 -50 5.5t-48 4.5q-26 -90 -82 -132q-51 -38 -82 1q-5 6 -9 14q-7 13 -17 62q-2 -5 -5 -9t-7.5 -7t-8 -5.5t-9.5 -4l-10 -2.5t-12 -2 l-12 -1.5t-13.5 -1t-13.5 -0.5q-106 -9 -163 11q-4 -17 -10 -26.5t-21 -15t-23 -7t-36 -3.5q-2 0 -3 -0.5t-3 -0.5h-3q-179 -17 -203 40q-2 -63 -56 -54q-47 8 -91 54q-12 13 -20 26q-17 29 -26 65q-58 -6 -87 -10q1 -2 4 -10zM507 -118q3 14 3 30q-17 71 -51 130t-73 70 q-41 12 -101.5 -14.5t-104.5 -80t-39 -107.5q35 -53 100 -93t119 -42q51 -2 94 28t53 79zM510 53q23 -63 27 -119q195 113 392 174q-98 52 -180.5 120t-179.5 165q-6 -4 -29 -13q0 -2 -1 -5t-1 -4q31 -18 22 -37q-12 -23 -56 -34q-10 -13 -29 -24h-1q-2 -83 1 -150 q19 -34 35 -73zM579 -113q532 -21 1145 0q-254 147 -428 196q-76 -35 -156 -57q-8 -3 -16 0q-65 21 -129 49q-208 -60 -416 -188h-1v-1q1 0 1 1zM1763 -67q4 54 28 120q14 38 33 71l-1 -1q3 77 3 153q-15 8 -30 25q-42 9 -56 33q-9 20 22 38q-2 4 -2 9q-16 4 -28 12 q-204 -190 -383 -284q198 -59 414 -176zM2155 -90q5 54 -39 107.5t-104 80t-102 14.5q-38 -11 -72.5 -70.5t-51.5 -129.5q0 -16 3 -30q10 -49 53 -79t94 -28q54 2 119 42t100 93z" />-<glyph unicode="" horiz-adv-x="2304" d="M1524 -25q0 -68 -48 -116t-116 -48t-116.5 48t-48.5 116t48.5 116.5t116.5 48.5t116 -48.5t48 -116.5zM775 -25q0 -68 -48.5 -116t-116.5 -48t-116 48t-48 116t48 116.5t116 48.5t116.5 -48.5t48.5 -116.5zM0 1469q57 -60 110.5 -104.5t121 -82t136 -63t166 -45.5 t200 -31.5t250 -18.5t304 -9.5t372.5 -2.5q139 0 244.5 -5t181 -16.5t124 -27.5t71 -39.5t24 -51.5t-19.5 -64t-56.5 -76.5t-89.5 -91t-116 -104.5t-139 -119q-185 -157 -286 -247q29 51 76.5 109t94 105.5t94.5 98.5t83 91.5t54 80.5t13 70t-45.5 55.5t-116.5 41t-204 23.5 t-304 5q-168 -2 -314 6t-256 23t-204.5 41t-159.5 51.5t-122.5 62.5t-91.5 66.5t-68 71.5t-50.5 69.5t-40 68t-36.5 59.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M896 1472q-169 0 -323 -66t-265.5 -177.5t-177.5 -265.5t-66 -323t66 -323t177.5 -265.5t265.5 -177.5t323 -66t323 66t265.5 177.5t177.5 265.5t66 323t-66 323t-177.5 265.5t-265.5 177.5t-323 66zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348 t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM496 704q16 0 16 -16v-480q0 -16 -16 -16h-32q-16 0 -16 16v480q0 16 16 16h32zM896 640q53 0 90.5 -37.5t37.5 -90.5q0 -35 -17.5 -64t-46.5 -46v-114q0 -14 -9 -23 t-23 -9h-64q-14 0 -23 9t-9 23v114q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5zM896 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM544 928v-96 q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 93 65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5v-96q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 146 -103 249t-249 103t-249 -103t-103 -249zM1408 192v512q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-512 q0 -26 19 -45t45 -19h896q26 0 45 19t19 45z" />-<glyph unicode="" horiz-adv-x="2304" d="M1920 1024v-768h-1664v768h1664zM2048 448h128v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288zM2304 832v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113 v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160q53 0 90.5 -37.5t37.5 -90.5z" />-<glyph unicode="" horiz-adv-x="2304" d="M256 256v768h1280v-768h-1280zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />-<glyph unicode="" horiz-adv-x="2304" d="M256 256v768h896v-768h-896zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />-<glyph unicode="" horiz-adv-x="2304" d="M256 256v768h512v-768h-512zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />-<glyph unicode="" horiz-adv-x="2304" d="M2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23 v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />-<glyph unicode="" horiz-adv-x="1280" d="M1133 493q31 -30 14 -69q-17 -40 -59 -40h-382l201 -476q10 -25 0 -49t-34 -35l-177 -75q-25 -10 -49 0t-35 34l-191 452l-312 -312q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v1504q0 42 40 59q12 5 24 5q27 0 45 -19z" />-<glyph unicode="" horiz-adv-x="1024" d="M832 1408q-320 0 -320 -224v-416h128v-128h-128v-544q0 -224 320 -224h64v-128h-64q-272 0 -384 146q-112 -146 -384 -146h-64v128h64q320 0 320 224v544h-128v128h128v416q0 224 -320 224h-64v128h64q272 0 384 -146q112 146 384 146h64v-128h-64z" />-<glyph unicode="" horiz-adv-x="2048" d="M2048 1152h-128v-1024h128v-384h-384v128h-1280v-128h-384v384h128v1024h-128v384h384v-128h1280v128h384v-384zM1792 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 -128v128h-128v-128h128zM1664 0v128h128v1024h-128v128h-1280v-128h-128v-1024h128v-128 h1280zM1920 -128v128h-128v-128h128zM1280 896h384v-768h-896v256h-384v768h896v-256zM512 512h640v512h-640v-512zM1536 256v512h-256v-384h-384v-128h640z" />-<glyph unicode="" horiz-adv-x="2304" d="M2304 768h-128v-640h128v-384h-384v128h-896v-128h-384v384h128v128h-384v-128h-384v384h128v640h-128v384h384v-128h896v128h384v-384h-128v-128h384v128h384v-384zM2048 1024v-128h128v128h-128zM1408 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 256 v128h-128v-128h128zM1536 384h-128v-128h128v128zM384 384h896v128h128v640h-128v128h-896v-128h-128v-640h128v-128zM896 -128v128h-128v-128h128zM2176 -128v128h-128v-128h128zM2048 128v640h-128v128h-384v-384h128v-384h-384v128h-384v-128h128v-128h896v128h128z" />-<glyph unicode="" d="M1024 288v-416h-928q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68v-928h-416q-40 0 -68 -28t-28 -68zM1152 256h381q-15 -82 -65 -132l-184 -184q-50 -50 -132 -65v381z" />-<glyph unicode="" d="M1400 256h-248v-248q29 10 41 22l185 185q12 12 22 41zM1120 384h288v896h-1280v-1280h896v288q0 40 28 68t68 28zM1536 1312v-1024q0 -40 -20 -88t-48 -76l-184 -184q-28 -28 -76 -48t-88 -20h-1024q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68 z" />-<glyph unicode="" horiz-adv-x="2304" d="M1951 538q0 -26 -15.5 -44.5t-38.5 -23.5q-8 -2 -18 -2h-153v140h153q10 0 18 -2q23 -5 38.5 -23.5t15.5 -44.5zM1933 751q0 -25 -15 -42t-38 -21q-3 -1 -15 -1h-139v129h139q3 0 8.5 -0.5t6.5 -0.5q23 -4 38 -21.5t15 -42.5zM728 587v308h-228v-308q0 -58 -38 -94.5 t-105 -36.5q-108 0 -229 59v-112q53 -15 121 -23t109 -9l42 -1q328 0 328 217zM1442 403v113q-99 -52 -200 -59q-108 -8 -169 41t-61 142t61 142t169 41q101 -7 200 -58v112q-48 12 -100 19.5t-80 9.5l-28 2q-127 6 -218.5 -14t-140.5 -60t-71 -88t-22 -106t22 -106t71 -88 t140.5 -60t218.5 -14q101 4 208 31zM2176 518q0 54 -43 88.5t-109 39.5v3q57 8 89 41.5t32 79.5q0 55 -41 88t-107 36q-3 0 -12 0.5t-14 0.5h-455v-510h491q74 0 121.5 36.5t47.5 96.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90 t90 38h2048q52 0 90 -38t38 -90z" />-<glyph unicode="" horiz-adv-x="2304" d="M858 295v693q-106 -41 -172 -135.5t-66 -211.5t66 -211.5t172 -134.5zM1362 641q0 117 -66 211.5t-172 135.5v-694q106 41 172 135.5t66 211.5zM1577 641q0 -159 -78.5 -294t-213.5 -213.5t-294 -78.5q-119 0 -227.5 46.5t-187 125t-125 187t-46.5 227.5q0 159 78.5 294 t213.5 213.5t294 78.5t294 -78.5t213.5 -213.5t78.5 -294zM1960 634q0 139 -55.5 261.5t-147.5 205.5t-213.5 131t-252.5 48h-301q-176 0 -323.5 -81t-235 -230t-87.5 -335q0 -171 87 -317.5t236 -231.5t323 -85h301q129 0 251.5 50.5t214.5 135t147.5 202.5t55.5 246z M2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />-<glyph unicode="" horiz-adv-x="1792" d="M1664 -96v1088q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5zM1792 992v-1088q0 -66 -47 -113t-113 -47h-1088q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113 zM1408 1376v-160h-128v160q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h160v-128h-160q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113z" />-<glyph unicode="" horiz-adv-x="2304" d="M1728 1088l-384 -704h768zM448 1088l-384 -704h768zM1269 1280q-14 -40 -45.5 -71.5t-71.5 -45.5v-1291h608q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1344q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h608v1291q-40 14 -71.5 45.5t-45.5 71.5h-491q-14 0 -23 9t-9 23v64 q0 14 9 23t23 9h491q21 57 70 92.5t111 35.5t111 -35.5t70 -92.5h491q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-491zM1088 1264q33 0 56.5 23.5t23.5 56.5t-23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5zM2176 384q0 -73 -46.5 -131t-117.5 -91 t-144.5 -49.5t-139.5 -16.5t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81zM896 384q0 -73 -46.5 -131t-117.5 -91t-144.5 -49.5t-139.5 -16.5 t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81z" />-<glyph unicode="" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-77 -29 -149 -92.5 t-129.5 -152.5t-92.5 -210t-35 -253h1024q0 132 -35 253t-92.5 210t-129.5 152.5t-149 92.5q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />-<glyph unicode="" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -66 9 -128h1006q9 61 9 128zM1280 -128q0 130 -34 249.5t-90.5 208t-126.5 152t-146 94.5h-230q-76 -31 -146 -94.5t-126.5 -152t-90.5 -208t-34 -249.5h1024z" />-<glyph unicode="" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -206 85 -384h854q85 178 85 384zM1223 192q-54 141 -145.5 241.5t-194.5 142.5h-230q-103 -42 -194.5 -142.5t-145.5 -241.5h910z" />-<glyph unicode="" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-137 -51 -244 -196 h700q-107 145 -244 196q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />-<glyph unicode="" d="M1504 -64q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472zM130 0q3 55 16 107t30 95t46 87t53.5 76t64.5 69.5t66 60t70.5 55t66.5 47.5t65 43q-43 28 -65 43t-66.5 47.5t-70.5 55t-66 60t-64.5 69.5t-53.5 76t-46 87 t-30 95t-16 107h1276q-3 -55 -16 -107t-30 -95t-46 -87t-53.5 -76t-64.5 -69.5t-66 -60t-70.5 -55t-66.5 -47.5t-65 -43q43 -28 65 -43t66.5 -47.5t70.5 -55t66 -60t64.5 -69.5t53.5 -76t46 -87t30 -95t16 -107h-1276zM1504 1536q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9 h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472z" />-<glyph unicode="" d="M768 1152q-53 0 -90.5 -37.5t-37.5 -90.5v-128h-32v93q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-429l-32 30v172q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-224q0 -47 35 -82l310 -296q39 -39 39 -102q0 -26 19 -45t45 -19h640q26 0 45 19t19 45v25 q0 41 10 77l108 436q10 36 10 77v246q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-32h-32v125q0 40 -25 72.5t-64 40.5q-14 2 -23 2q-46 0 -79 -33t-33 -79v-128h-32v122q0 51 -32.5 89.5t-82.5 43.5q-5 1 -13 1zM768 1280q84 0 149 -50q57 34 123 34q59 0 111 -27 t86 -76q27 7 59 7q100 0 170 -71.5t70 -171.5v-246q0 -51 -13 -108l-109 -436q-6 -24 -6 -71q0 -80 -56 -136t-136 -56h-640q-84 0 -138 58.5t-54 142.5l-308 296q-76 73 -76 175v224q0 99 70.5 169.5t169.5 70.5q11 0 16 -1q6 95 75.5 160t164.5 65q52 0 98 -21 q72 69 174 69z" />-<glyph unicode="" horiz-adv-x="1792" d="M880 1408q-46 0 -79 -33t-33 -79v-656h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528v-256l-154 205q-38 51 -102 51q-53 0 -90.5 -37.5t-37.5 -90.5q0 -43 26 -77l384 -512q38 -51 102 -51h688q34 0 61 22t34 56l76 405q5 32 5 59v498q0 46 -33 79t-79 33t-79 -33 t-33 -79v-272h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528h-32v656q0 46 -33 79t-79 33zM880 1536q68 0 125.5 -35.5t88.5 -96.5q19 4 42 4q99 0 169.5 -70.5t70.5 -169.5v-17q105 6 180.5 -64t75.5 -175v-498q0 -40 -8 -83l-76 -404q-14 -79 -76.5 -131t-143.5 -52 h-688q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 106 75 181t181 75q78 0 128 -34v434q0 99 70.5 169.5t169.5 70.5q23 0 42 -4q31 61 88.5 96.5t125.5 35.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1073 -128h-177q-163 0 -226 141q-23 49 -23 102v5q-62 30 -98.5 88.5t-36.5 127.5q0 38 5 48h-261q-106 0 -181 75t-75 181t75 181t181 75h113l-44 17q-74 28 -119.5 93.5t-45.5 145.5q0 106 75 181t181 75q46 0 91 -17l628 -239h401q106 0 181 -75t75 -181v-668 q0 -88 -54 -157.5t-140 -90.5l-339 -85q-92 -23 -186 -23zM1024 583l-155 -71l-163 -74q-30 -14 -48 -41.5t-18 -60.5q0 -46 33 -79t79 -33q26 0 46 10l338 154q-49 10 -80.5 50t-31.5 90v55zM1344 272q0 46 -33 79t-79 33q-26 0 -46 -10l-290 -132q-28 -13 -37 -17 t-30.5 -17t-29.5 -23.5t-16 -29t-8 -40.5q0 -50 31.5 -82t81.5 -32q20 0 38 9l352 160q30 14 48 41.5t18 60.5zM1112 1024l-650 248q-24 8 -46 8q-53 0 -90.5 -37.5t-37.5 -90.5q0 -40 22.5 -73t59.5 -47l526 -200v-64h-640q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5 t90.5 -37.5h535l233 106v198q0 63 46 106l111 102h-69zM1073 0q82 0 155 19l339 85q43 11 70 45.5t27 78.5v668q0 53 -37.5 90.5t-90.5 37.5h-308l-136 -126q-36 -33 -36 -82v-296q0 -46 33 -77t79 -31t79 35t33 81v208h32v-208q0 -70 -57 -114q52 -8 86.5 -48.5t34.5 -93.5 q0 -42 -23 -78t-61 -53l-310 -141h91z" />-<glyph unicode="" horiz-adv-x="2048" d="M1151 1536q61 0 116 -28t91 -77l572 -781q118 -159 118 -359v-355q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v177l-286 143h-546q-80 0 -136 56t-56 136v32q0 119 84.5 203.5t203.5 84.5h420l42 128h-686q-100 0 -173.5 67.5t-81.5 166.5q-65 79 -65 182v32 q0 80 56 136t136 56h959zM1920 -64v355q0 157 -93 284l-573 781q-39 52 -103 52h-959q-26 0 -45 -19t-19 -45q0 -32 1.5 -49.5t9.5 -40.5t25 -43q10 31 35.5 50t56.5 19h832v-32h-832q-26 0 -45 -19t-19 -45q0 -44 3 -58q8 -44 44 -73t81 -29h640h91q40 0 68 -28t28 -68 q0 -15 -5 -30l-64 -192q-10 -29 -35 -47.5t-56 -18.5h-443q-66 0 -113 -47t-47 -113v-32q0 -26 19 -45t45 -19h561q16 0 29 -7l317 -158q24 -13 38.5 -36t14.5 -50v-197q0 -26 19 -45t45 -19h384q26 0 45 19t19 45z" />-<glyph unicode="" horiz-adv-x="2048" d="M816 1408q-48 0 -79.5 -34t-31.5 -82q0 -14 3 -28l150 -624h-26l-116 482q-9 38 -39.5 62t-69.5 24q-47 0 -79 -34t-32 -81q0 -11 4 -29q3 -13 39 -161t68 -282t32 -138v-227l-307 230q-34 26 -77 26q-52 0 -89.5 -36.5t-37.5 -88.5q0 -67 56 -110l507 -379 q34 -26 76 -26h694q33 0 59 20.5t34 52.5l100 401q8 30 10 88t9 86l116 478q3 12 3 26q0 46 -33 79t-80 33q-38 0 -69 -25.5t-40 -62.5l-99 -408h-26l132 547q3 14 3 28q0 47 -32 80t-80 33q-38 0 -68.5 -24t-39.5 -62l-145 -602h-127l-164 682q-9 38 -39.5 62t-68.5 24z M1461 -256h-694q-85 0 -153 51l-507 380q-50 38 -78.5 94t-28.5 118q0 105 75 179t180 74q25 0 49.5 -5.5t41.5 -11t41 -20.5t35 -23t38.5 -29.5t37.5 -28.5l-123 512q-7 35 -7 59q0 93 60 162t152 79q14 87 80.5 144.5t155.5 57.5q83 0 148 -51.5t85 -132.5l103 -428 l83 348q20 81 85 132.5t148 51.5q87 0 152.5 -54t82.5 -139q93 -10 155 -78t62 -161q0 -30 -7 -57l-116 -477q-5 -22 -5 -67q0 -51 -13 -108l-101 -401q-19 -75 -79.5 -122.5t-137.5 -47.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M640 1408q-53 0 -90.5 -37.5t-37.5 -90.5v-512v-384l-151 202q-41 54 -107 54q-52 0 -89 -38t-37 -90q0 -43 26 -77l384 -512q38 -51 102 -51h718q22 0 39.5 13.5t22.5 34.5l92 368q24 96 24 194v217q0 41 -28 71t-68 30t-68 -28t-28 -68h-32v61q0 48 -32 81.5t-80 33.5 q-46 0 -79 -33t-33 -79v-64h-32v90q0 55 -37 94.5t-91 39.5q-53 0 -90.5 -37.5t-37.5 -90.5v-96h-32v570q0 55 -37 94.5t-91 39.5zM640 1536q107 0 181.5 -77.5t74.5 -184.5v-220q22 2 32 2q99 0 173 -69q47 21 99 21q113 0 184 -87q27 7 56 7q94 0 159 -67.5t65 -161.5 v-217q0 -116 -28 -225l-92 -368q-16 -64 -68 -104.5t-118 -40.5h-718q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 105 74.5 180.5t179.5 75.5q71 0 130 -35v547q0 106 75 181t181 75zM768 128v384h-32v-384h32zM1024 128v384h-32v-384h32zM1280 128v384h-32 v-384h32z" />-<glyph unicode="" d="M1288 889q60 0 107 -23q141 -63 141 -226v-177q0 -94 -23 -186l-85 -339q-21 -86 -90.5 -140t-157.5 -54h-668q-106 0 -181 75t-75 181v401l-239 628q-17 45 -17 91q0 106 75 181t181 75q80 0 145.5 -45.5t93.5 -119.5l17 -44v113q0 106 75 181t181 75t181 -75t75 -181 v-261q27 5 48 5q69 0 127.5 -36.5t88.5 -98.5zM1072 896q-33 0 -60.5 -18t-41.5 -48l-74 -163l-71 -155h55q50 0 90 -31.5t50 -80.5l154 338q10 20 10 46q0 46 -33 79t-79 33zM1293 761q-22 0 -40.5 -8t-29 -16t-23.5 -29.5t-17 -30.5t-17 -37l-132 -290q-10 -20 -10 -46 q0 -46 33 -79t79 -33q33 0 60.5 18t41.5 48l160 352q9 18 9 38q0 50 -32 81.5t-82 31.5zM128 1120q0 -22 8 -46l248 -650v-69l102 111q43 46 106 46h198l106 233v535q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5v-640h-64l-200 526q-14 37 -47 59.5t-73 22.5 q-53 0 -90.5 -37.5t-37.5 -90.5zM1180 -128q44 0 78.5 27t45.5 70l85 339q19 73 19 155v91l-141 -310q-17 -38 -53 -61t-78 -23q-53 0 -93.5 34.5t-48.5 86.5q-44 -57 -114 -57h-208v32h208q46 0 81 33t35 79t-31 79t-77 33h-296q-49 0 -82 -36l-126 -136v-308 q0 -53 37.5 -90.5t90.5 -37.5h668z" />-<glyph unicode="" horiz-adv-x="1973" d="M857 992v-117q0 -13 -9.5 -22t-22.5 -9h-298v-812q0 -13 -9 -22.5t-22 -9.5h-135q-13 0 -22.5 9t-9.5 23v812h-297q-13 0 -22.5 9t-9.5 22v117q0 14 9 23t23 9h793q13 0 22.5 -9.5t9.5 -22.5zM1895 995l77 -961q1 -13 -8 -24q-10 -10 -23 -10h-134q-12 0 -21 8.5 t-10 20.5l-46 588l-189 -425q-8 -19 -29 -19h-120q-20 0 -29 19l-188 427l-45 -590q-1 -12 -10 -20.5t-21 -8.5h-135q-13 0 -23 10q-9 10 -9 24l78 961q1 12 10 20.5t21 8.5h142q20 0 29 -19l220 -520q10 -24 20 -51q3 7 9.5 24.5t10.5 26.5l221 520q9 19 29 19h141 q13 0 22 -8.5t10 -20.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1042 833q0 88 -60 121q-33 18 -117 18h-123v-281h162q66 0 102 37t36 105zM1094 548l205 -373q8 -17 -1 -31q-8 -16 -27 -16h-152q-20 0 -28 17l-194 365h-155v-350q0 -14 -9 -23t-23 -9h-134q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h294q128 0 190 -24q85 -31 134 -109 t49 -180q0 -92 -42.5 -165.5t-115.5 -109.5q6 -10 9 -16zM896 1376q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM1792 640 q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />-<glyph unicode="" horiz-adv-x="1792" d="M605 303q153 0 257 104q14 18 3 36l-45 82q-6 13 -24 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13t-23.5 -14.5t-28.5 -13.5t-33.5 -9.5t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78 q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-148 0 -246 -96.5t-98 -240.5q0 -146 97 -241.5t247 -95.5zM1235 303q153 0 257 104q14 18 4 36l-45 82q-8 14 -25 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13t-23.5 -14.5t-28.5 -13.5t-33.5 -9.5 t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-147 0 -245.5 -96.5t-98.5 -240.5q0 -146 97 -241.5t247 -95.5zM896 1376 q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191 t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71z" />-<glyph unicode="" horiz-adv-x="2048" d="M736 736l384 -384l-384 -384l-672 672l672 672l168 -168l-96 -96l-72 72l-480 -480l480 -480l193 193l-289 287zM1312 1312l672 -672l-672 -672l-168 168l96 96l72 -72l480 480l-480 480l-193 -193l289 -287l-96 -96l-384 384z" />-<glyph unicode="" horiz-adv-x="1792" d="M717 182l271 271l-279 279l-88 -88l192 -191l-96 -96l-279 279l279 279l40 -40l87 87l-127 128l-454 -454zM1075 190l454 454l-454 454l-271 -271l279 -279l88 88l-192 191l96 96l279 -279l-279 -279l-40 40l-87 -88zM1792 640q0 -182 -71 -348t-191 -286t-286 -191 t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />-<glyph unicode="" horiz-adv-x="2304" d="M651 539q0 -39 -27.5 -66.5t-65.5 -27.5q-39 0 -66.5 27.5t-27.5 66.5q0 38 27.5 65.5t66.5 27.5q38 0 65.5 -27.5t27.5 -65.5zM1805 540q0 -39 -27.5 -66.5t-66.5 -27.5t-66.5 27.5t-27.5 66.5t27.5 66t66.5 27t66.5 -27t27.5 -66zM765 539q0 79 -56.5 136t-136.5 57 t-136.5 -56.5t-56.5 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM1918 540q0 80 -56.5 136.5t-136.5 56.5q-79 0 -136 -56.5t-57 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM850 539q0 -116 -81.5 -197.5t-196.5 -81.5q-116 0 -197.5 82t-81.5 197 t82 196.5t197 81.5t196.5 -81.5t81.5 -196.5zM2004 540q0 -115 -81.5 -196.5t-197.5 -81.5q-115 0 -196.5 81.5t-81.5 196.5t81.5 196.5t196.5 81.5q116 0 197.5 -81.5t81.5 -196.5zM1040 537q0 191 -135.5 326.5t-326.5 135.5q-125 0 -231 -62t-168 -168.5t-62 -231.5 t62 -231.5t168 -168.5t231 -62q191 0 326.5 135.5t135.5 326.5zM1708 1110q-254 111 -556 111q-319 0 -573 -110q117 0 223 -45.5t182.5 -122.5t122 -183t45.5 -223q0 115 43.5 219.5t118 180.5t177.5 123t217 50zM2187 537q0 191 -135 326.5t-326 135.5t-326.5 -135.5 t-135.5 -326.5t135.5 -326.5t326.5 -135.5t326 135.5t135 326.5zM1921 1103h383q-44 -51 -75 -114.5t-40 -114.5q110 -151 110 -337q0 -156 -77 -288t-209 -208.5t-287 -76.5q-133 0 -249 56t-196 155q-47 -56 -129 -179q-11 22 -53.5 82.5t-74.5 97.5 q-80 -99 -196.5 -155.5t-249.5 -56.5q-155 0 -287 76.5t-209 208.5t-77 288q0 186 110 337q-9 51 -40 114.5t-75 114.5h365q149 100 355 156.5t432 56.5q224 0 421 -56t348 -157z" />-<glyph unicode="" horiz-adv-x="1280" d="M640 629q-188 0 -321 133t-133 320q0 188 133 321t321 133t321 -133t133 -321q0 -187 -133 -320t-321 -133zM640 1306q-92 0 -157.5 -65.5t-65.5 -158.5q0 -92 65.5 -157.5t157.5 -65.5t157.5 65.5t65.5 157.5q0 93 -65.5 158.5t-157.5 65.5zM1163 574q13 -27 15 -49.5 t-4.5 -40.5t-26.5 -38.5t-42.5 -37t-61.5 -41.5q-115 -73 -315 -94l73 -72l267 -267q30 -31 30 -74t-30 -73l-12 -13q-31 -30 -74 -30t-74 30q-67 68 -267 268l-267 -268q-31 -30 -74 -30t-73 30l-12 13q-31 30 -31 73t31 74l267 267l72 72q-203 21 -317 94 q-39 25 -61.5 41.5t-42.5 37t-26.5 38.5t-4.5 40.5t15 49.5q10 20 28 35t42 22t56 -2t65 -35q5 -4 15 -11t43 -24.5t69 -30.5t92 -24t113 -11q91 0 174 25.5t120 50.5l38 25q33 26 65 35t56 2t42 -22t28 -35z" />-<glyph unicode="" d="M927 956q0 -66 -46.5 -112.5t-112.5 -46.5t-112.5 46.5t-46.5 112.5t46.5 112.5t112.5 46.5t112.5 -46.5t46.5 -112.5zM1141 593q-10 20 -28 32t-47.5 9.5t-60.5 -27.5q-10 -8 -29 -20t-81 -32t-127 -20t-124 18t-86 36l-27 18q-31 25 -60.5 27.5t-47.5 -9.5t-28 -32 q-22 -45 -2 -74.5t87 -73.5q83 -53 226 -67l-51 -52q-142 -142 -191 -190q-22 -22 -22 -52.5t22 -52.5l9 -9q22 -22 52.5 -22t52.5 22l191 191q114 -115 191 -191q22 -22 52.5 -22t52.5 22l9 9q22 22 22 52.5t-22 52.5l-191 190l-52 52q141 14 225 67q67 44 87 73.5t-2 74.5 zM1092 956q0 134 -95 229t-229 95t-229 -95t-95 -229t95 -229t229 -95t229 95t95 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="1720" d="M1565 1408q65 0 110 -45.5t45 -110.5v-519q0 -176 -68 -336t-182.5 -275t-274 -182.5t-334.5 -67.5q-176 0 -335.5 67.5t-274.5 182.5t-183 275t-68 336v519q0 64 46 110t110 46h1409zM861 344q47 0 82 33l404 388q37 35 37 85q0 49 -34.5 83.5t-83.5 34.5q-47 0 -82 -33 l-323 -310l-323 310q-35 33 -81 33q-49 0 -83.5 -34.5t-34.5 -83.5q0 -51 36 -85l405 -388q33 -33 81 -33z" />-<glyph unicode="" horiz-adv-x="2304" d="M1494 -103l-295 695q-25 -49 -158.5 -305.5t-198.5 -389.5q-1 -1 -27.5 -0.5t-26.5 1.5q-82 193 -255.5 587t-259.5 596q-21 50 -66.5 107.5t-103.5 100.5t-102 43q0 5 -0.5 24t-0.5 27h583v-50q-39 -2 -79.5 -16t-66.5 -43t-10 -64q26 -59 216.5 -499t235.5 -540 q31 61 140 266.5t131 247.5q-19 39 -126 281t-136 295q-38 69 -201 71v50l513 -1v-47q-60 -2 -93.5 -25t-12.5 -69q33 -70 87 -189.5t86 -187.5q110 214 173 363q24 55 -10 79.5t-129 26.5q1 7 1 25v24q64 0 170.5 0.5t180 1t92.5 0.5v-49q-62 -2 -119 -33t-90 -81 l-213 -442q13 -33 127.5 -290t121.5 -274l441 1017q-14 38 -49.5 62.5t-65 31.5t-55.5 8v50l460 -4l1 -2l-1 -44q-139 -4 -201 -145q-526 -1216 -559 -1291h-49z" />-<glyph unicode="" horiz-adv-x="1792" d="M949 643q0 -26 -16.5 -45t-41.5 -19q-26 0 -45 16.5t-19 41.5q0 26 17 45t42 19t44 -16.5t19 -41.5zM964 585l350 581q-9 -8 -67.5 -62.5t-125.5 -116.5t-136.5 -127t-117 -110.5t-50.5 -51.5l-349 -580q7 7 67 62t126 116.5t136 127t117 111t50 50.5zM1611 640 q0 -201 -104 -371q-3 2 -17 11t-26.5 16.5t-16.5 7.5q-13 0 -13 -13q0 -10 59 -44q-74 -112 -184.5 -190.5t-241.5 -110.5l-16 67q-1 10 -15 10q-5 0 -8 -5.5t-2 -9.5l16 -68q-72 -15 -146 -15q-199 0 -372 105q1 2 13 20.5t21.5 33.5t9.5 19q0 13 -13 13q-6 0 -17 -14.5 t-22.5 -34.5t-13.5 -23q-113 75 -192 187.5t-110 244.5l69 15q10 3 10 15q0 5 -5.5 8t-10.5 2l-68 -15q-14 72 -14 139q0 206 109 379q2 -1 18.5 -12t30 -19t17.5 -8q13 0 13 12q0 6 -12.5 15.5t-32.5 21.5l-20 12q77 112 189 189t244 107l15 -67q2 -10 15 -10q5 0 8 5.5 t2 10.5l-15 66q71 13 134 13q204 0 379 -109q-39 -56 -39 -65q0 -13 12 -13q11 0 48 64q111 -75 187.5 -186t107.5 -241l-56 -12q-10 -2 -10 -16q0 -5 5.5 -8t9.5 -2l57 13q14 -72 14 -140zM1696 640q0 163 -63.5 311t-170.5 255t-255 170.5t-311 63.5t-311 -63.5 t-255 -170.5t-170.5 -255t-63.5 -311t63.5 -311t170.5 -255t255 -170.5t311 -63.5t311 63.5t255 170.5t170.5 255t63.5 311zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191 t191 -286t71 -348z" />-<glyph unicode="" horiz-adv-x="1792" d="M893 1536q240 2 451 -120q232 -134 352 -372l-742 39q-160 9 -294 -74.5t-185 -229.5l-276 424q128 159 311 245.5t383 87.5zM146 1131l337 -663q72 -143 211 -217t293 -45l-230 -451q-212 33 -385 157.5t-272.5 316t-99.5 411.5q0 267 146 491zM1732 962 q58 -150 59.5 -310.5t-48.5 -306t-153 -272t-246 -209.5q-230 -133 -498 -119l405 623q88 131 82.5 290.5t-106.5 277.5zM896 942q125 0 213.5 -88.5t88.5 -213.5t-88.5 -213.5t-213.5 -88.5t-213.5 88.5t-88.5 213.5t88.5 213.5t213.5 88.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M903 -256q-283 0 -504.5 150.5t-329.5 398.5q-58 131 -67 301t26 332.5t111 312t179 242.5l-11 -281q11 14 68 15.5t70 -15.5q42 81 160.5 138t234.5 59q-54 -45 -119.5 -148.5t-58.5 -163.5q25 -8 62.5 -13.5t63 -7.5t68 -4t50.5 -3q15 -5 9.5 -45.5t-30.5 -75.5 q-5 -7 -16.5 -18.5t-56.5 -35.5t-101 -34l15 -189l-139 67q-18 -43 -7.5 -81.5t36 -66.5t65.5 -41.5t81 -6.5q51 9 98 34.5t83.5 45t73.5 17.5q61 -4 89.5 -33t19.5 -65q-1 -2 -2.5 -5.5t-8.5 -12.5t-18 -15.5t-31.5 -10.5t-46.5 -1q-60 -95 -144.5 -135.5t-209.5 -29.5 q74 -61 162.5 -82.5t168.5 -6t154.5 52t128 87.5t80.5 104q43 91 39 192.5t-37.5 188.5t-78.5 125q87 -38 137 -79.5t77 -112.5q15 170 -57.5 343t-209.5 284q265 -77 412 -279.5t151 -517.5q2 -127 -40.5 -255t-123.5 -238t-189 -196t-247.5 -135.5t-288.5 -49.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1493 1308q-165 110 -359 110q-155 0 -293 -73t-240 -200q-75 -93 -119.5 -218t-48.5 -266v-42q4 -141 48.5 -266t119.5 -218q102 -127 240 -200t293 -73q194 0 359 110q-121 -108 -274.5 -168t-322.5 -60q-29 0 -43 1q-175 8 -333 82t-272 193t-181 281t-67 339 q0 182 71 348t191 286t286 191t348 71h3q168 -1 320.5 -60.5t273.5 -167.5zM1792 640q0 -192 -77 -362.5t-213 -296.5q-104 -63 -222 -63q-137 0 -255 84q154 56 253.5 233t99.5 405q0 227 -99 404t-253 234q119 83 254 83q119 0 226 -65q135 -125 210.5 -295t75.5 -361z " />-<glyph unicode="" horiz-adv-x="1792" d="M1792 599q0 -56 -7 -104h-1151q0 -146 109.5 -244.5t257.5 -98.5q99 0 185.5 46.5t136.5 130.5h423q-56 -159 -170.5 -281t-267.5 -188.5t-321 -66.5q-187 0 -356 83q-228 -116 -394 -116q-237 0 -237 263q0 115 45 275q17 60 109 229q199 360 475 606 q-184 -79 -427 -354q63 274 283.5 449.5t501.5 175.5q30 0 45 -1q255 117 433 117q64 0 116 -13t94.5 -40.5t66.5 -76.5t24 -115q0 -116 -75 -286q101 -182 101 -390zM1722 1239q0 83 -53 132t-137 49q-108 0 -254 -70q121 -47 222.5 -131.5t170.5 -195.5q51 135 51 216z M128 2q0 -86 48.5 -132.5t134.5 -46.5q115 0 266 83q-122 72 -213.5 183t-137.5 245q-98 -205 -98 -332zM632 715h728q-5 142 -113 237t-251 95q-144 0 -251.5 -95t-112.5 -237z" />-<glyph unicode="" horiz-adv-x="2048" d="M1792 288v960q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1248v-960q0 -66 -47 -113t-113 -47h-736v-128h352q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23 v64q0 14 9 23t23 9h352v128h-736q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />-<glyph unicode="" horiz-adv-x="1792" d="M138 1408h197q-70 -64 -126 -149q-36 -56 -59 -115t-30 -125.5t-8.5 -120t10.5 -132t21 -126t28 -136.5q4 -19 6 -28q51 -238 81 -329q57 -171 152 -275h-272q-48 0 -82 34t-34 82v1304q0 48 34 82t82 34zM1346 1408h308q48 0 82 -34t34 -82v-1304q0 -48 -34 -82t-82 -34 h-178q212 210 196 565l-469 -101q-2 -45 -12 -82t-31 -72t-59.5 -59.5t-93.5 -36.5q-123 -26 -199 40q-32 27 -53 61t-51.5 129t-64.5 258q-35 163 -45.5 263t-5.5 139t23 77q20 41 62.5 73t102.5 45q45 12 83.5 6.5t67 -17t54 -35t43 -48t34.5 -56.5l468 100 q-68 175 -180 287z" />-<glyph unicode="" d="M1401 -11l-6 -6q-113 -114 -259 -175q-154 -64 -317 -64q-165 0 -317 64q-148 63 -259 175q-113 112 -175 258q-42 103 -54 189q-4 28 48 36q51 8 56 -20q1 -1 1 -4q18 -90 46 -159q50 -124 152 -226q98 -98 226 -152q132 -56 276 -56q143 0 276 56q128 55 225 152l6 6 q10 10 25 6q12 -3 33 -22q36 -37 17 -58zM929 604l-66 -66l63 -63q21 -21 -7 -49q-17 -17 -32 -17q-10 0 -19 10l-62 61l-66 -66q-5 -5 -15 -5q-15 0 -31 16l-2 2q-18 15 -18 29q0 7 8 17l66 65l-66 66q-16 16 14 45q18 18 31 18q6 0 13 -5l65 -66l65 65q18 17 48 -13 q27 -27 11 -44zM1400 547q0 -118 -46 -228q-45 -105 -126 -186q-80 -80 -187 -126t-228 -46t-228 46t-187 126q-82 82 -125 186q-15 32 -15 40h-1q-9 27 43 44q50 16 60 -12q37 -99 97 -167h1v339v2q3 136 102 232q105 103 253 103q147 0 251 -103t104 -249 q0 -147 -104.5 -251t-250.5 -104q-58 0 -112 16q-28 11 -13 61q16 51 44 43l14 -3q14 -3 32.5 -6t30.5 -3q104 0 176 71.5t72 174.5q0 101 -72 171q-71 71 -175 71q-107 0 -178 -80q-64 -72 -64 -160v-413q110 -67 242 -67q96 0 185 36.5t156 103.5t103.5 155t36.5 183 q0 198 -141 339q-140 140 -339 140q-200 0 -340 -140q-53 -53 -77 -87l-2 -2q-8 -11 -13 -15.5t-21.5 -9.5t-38.5 3q-21 5 -36.5 16.5t-15.5 26.5v680q0 15 10.5 26.5t27.5 11.5h877q30 0 30 -55t-30 -55h-811v-483h1q40 42 102 84t108 61q109 46 231 46q121 0 228 -46 t187 -126q81 -81 126 -186q46 -112 46 -229zM1369 1128q9 -8 9 -18t-5.5 -18t-16.5 -21q-26 -26 -39 -26q-9 0 -16 7q-106 91 -207 133q-128 56 -276 56q-133 0 -262 -49q-27 -10 -45 37q-9 25 -8 38q3 16 16 20q130 57 299 57q164 0 316 -64q137 -58 235 -152z" />-<glyph unicode="" horiz-adv-x="1792" d="M1551 60q15 6 26 3t11 -17.5t-15 -33.5q-13 -16 -44 -43.5t-95.5 -68t-141 -74t-188 -58t-229.5 -24.5q-119 0 -238 31t-209 76.5t-172.5 104t-132.5 105t-84 87.5q-8 9 -10 16.5t1 12t8 7t11.5 2t11.5 -4.5q192 -117 300 -166q389 -176 799 -90q190 40 391 135z M1758 175q11 -16 2.5 -69.5t-28.5 -102.5q-34 -83 -85 -124q-17 -14 -26 -9t0 24q21 45 44.5 121.5t6.5 98.5q-5 7 -15.5 11.5t-27 6t-29.5 2.5t-35 0t-31.5 -2t-31 -3t-22.5 -2q-6 -1 -13 -1.5t-11 -1t-8.5 -1t-7 -0.5h-5.5h-4.5t-3 0.5t-2 1.5l-1.5 3q-6 16 47 40t103 30 q46 7 108 1t76 -24zM1364 618q0 -31 13.5 -64t32 -58t37.5 -46t33 -32l13 -11l-227 -224q-40 37 -79 75.5t-58 58.5l-19 20q-11 11 -25 33q-38 -59 -97.5 -102.5t-127.5 -63.5t-140 -23t-137.5 21t-117.5 65.5t-83 113t-31 162.5q0 84 28 154t72 116.5t106.5 83t122.5 57 t130 34.5t119.5 18.5t99.5 6.5v127q0 65 -21 97q-34 53 -121 53q-6 0 -16.5 -1t-40.5 -12t-56 -29.5t-56 -59.5t-48 -96l-294 27q0 60 22 119t67 113t108 95t151.5 65.5t190.5 24.5q100 0 181 -25t129.5 -61.5t81 -83t45 -86t12.5 -73.5v-589zM692 597q0 -86 70 -133 q66 -44 139 -22q84 25 114 123q14 45 14 101v162q-59 -2 -111 -12t-106.5 -33.5t-87 -71t-32.5 -114.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1536 1280q52 0 90 -38t38 -90v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128zM1152 1376v-288q0 -14 9 -23t23 -9 h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 1376v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM1536 -128v1024h-1408v-1024h1408zM896 448h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224 v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224z" />-<glyph unicode="" horiz-adv-x="1792" d="M1152 416v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23 t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47 t47 -113v-96h128q52 0 90 -38t38 -90z" />-<glyph unicode="" horiz-adv-x="1792" d="M1111 151l-46 -46q-9 -9 -22 -9t-23 9l-188 189l-188 -189q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22t9 23l189 188l-189 188q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l188 -188l188 188q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23l-188 -188l188 -188q9 -10 9 -23t-9 -22z M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />-<glyph unicode="" horiz-adv-x="1792" d="M1303 572l-512 -512q-10 -9 -23 -9t-23 9l-288 288q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l220 -220l444 444q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23 t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47 t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />-<glyph unicode="" horiz-adv-x="1792" d="M448 1536q26 0 45 -19t19 -45v-891l536 429q17 14 40 14q26 0 45 -19t19 -45v-379l536 429q17 14 40 14q26 0 45 -19t19 -45v-1152q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h384z" />-<glyph unicode="" horiz-adv-x="1024" d="M512 448q66 0 128 15v-655q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v655q61 -15 128 -15zM512 1536q212 0 362 -150t150 -362t-150 -362t-362 -150t-362 150t-150 362t150 362t362 150zM512 1312q14 0 23 9t9 23t-9 23t-23 9q-146 0 -249 -103t-103 -249 q0 -14 9 -23t23 -9t23 9t9 23q0 119 84.5 203.5t203.5 84.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1745 1239q10 -10 10 -23t-10 -23l-141 -141q-28 -28 -68 -28h-1344q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h576v64q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-64h512q40 0 68 -28zM768 320h256v-512q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v512zM1600 768 q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-1344q-40 0 -68 28l-141 141q-10 10 -10 23t10 23l141 141q28 28 68 28h512v192h256v-192h576z" />-<glyph unicode="" horiz-adv-x="2048" d="M2020 1525q28 -20 28 -53v-1408q0 -20 -11 -36t-29 -23l-640 -256q-24 -11 -48 0l-616 246l-616 -246q-10 -5 -24 -5q-19 0 -36 11q-28 20 -28 53v1408q0 20 11 36t29 23l640 256q24 11 48 0l616 -246l616 246q32 13 60 -6zM736 1390v-1270l576 -230v1270zM128 1173 v-1270l544 217v1270zM1920 107v1270l-544 -217v-1270z" />-<glyph unicode="" horiz-adv-x="1792" d="M512 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472q0 20 17 28l480 256q7 4 15 4zM1760 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472 q0 20 17 28l480 256q7 4 15 4zM640 1536q8 0 14 -3l512 -256q18 -10 18 -29v-1472q0 -13 -9.5 -22.5t-22.5 -9.5q-8 0 -14 3l-512 256q-18 10 -18 29v1472q0 13 9.5 22.5t22.5 9.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M640 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 640q0 53 -37.5 90.5t-90.5 37.5 t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-110 0 -211 18q-173 -173 -435 -229q-52 -10 -86 -13q-12 -1 -22 6t-13 18q-4 15 20 37q5 5 23.5 21.5t25.5 23.5t23.5 25.5t24 31.5t20.5 37 t20 48t14.5 57.5t12.5 72.5q-146 90 -229.5 216.5t-83.5 269.5q0 174 120 321.5t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M640 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 -53 -37.5 -90.5t-90.5 -37.5 t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5 t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51 t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 130 71 248.5t191 204.5t286 136.5t348 50.5t348 -50.5t286 -136.5t191 -204.5t71 -248.5z" />-<glyph unicode="" horiz-adv-x="1024" d="M512 345l512 295v-591l-512 -296v592zM0 640v-591l512 296zM512 1527v-591l-512 -296v591zM512 936l512 295v-591z" />-<glyph unicode="" horiz-adv-x="1792" d="M1709 1018q-10 -236 -332 -651q-333 -431 -562 -431q-142 0 -240 263q-44 160 -132 482q-72 262 -157 262q-18 0 -127 -76l-77 98q24 21 108 96.5t130 115.5q156 138 241 146q95 9 153 -55.5t81 -203.5q44 -287 66 -373q55 -249 120 -249q51 0 154 161q101 161 109 246 q13 139 -109 139q-57 0 -121 -26q120 393 459 382q251 -8 236 -326z" />-<glyph unicode="" d="M0 1408h1536v-1536h-1536v1536zM1085 293l-221 631l221 297h-634l221 -297l-221 -631l317 -304z" />-<glyph unicode="" d="M0 1408h1536v-1536h-1536v1536zM908 1088l-12 -33l75 -83l-31 -114l25 -25l107 57l107 -57l25 25l-31 114l75 83l-12 33h-95l-53 96h-32l-53 -96h-95zM641 925q32 0 44.5 -16t11.5 -63l174 21q0 55 -17.5 92.5t-50.5 56t-69 25.5t-85 7q-133 0 -199 -57.5t-66 -182.5v-72 h-96v-128h76q20 0 20 -8v-382q0 -14 -5 -20t-18 -7l-73 -7v-88h448v86l-149 14q-6 1 -8.5 1.5t-3.5 2.5t-0.5 4t1 7t0.5 10v387h191l38 128h-231q-6 0 -2 6t4 9v80q0 27 1.5 40.5t7.5 28t19.5 20t36.5 5.5zM1248 96v86l-54 9q-7 1 -9.5 2.5t-2.5 3t1 7.5t1 12v520h-275 l-23 -101l83 -22q23 -7 23 -27v-370q0 -14 -6 -18.5t-20 -6.5l-70 -9v-86h352z" />-<glyph unicode="" horiz-adv-x="1792" d="M1792 690q0 -58 -29.5 -105.5t-79.5 -72.5q12 -46 12 -96q0 -155 -106.5 -287t-290.5 -208.5t-400 -76.5t-399.5 76.5t-290 208.5t-106.5 287q0 47 11 94q-51 25 -82 73.5t-31 106.5q0 82 58 140.5t141 58.5q85 0 145 -63q218 152 515 162l116 521q3 13 15 21t26 5 l369 -81q18 37 54 59.5t79 22.5q62 0 106 -43.5t44 -105.5t-44 -106t-106 -44t-105.5 43.5t-43.5 105.5l-334 74l-104 -472q300 -9 519 -160q58 61 143 61q83 0 141 -58.5t58 -140.5zM418 491q0 -62 43.5 -106t105.5 -44t106 44t44 106t-44 105.5t-106 43.5q-61 0 -105 -44 t-44 -105zM1228 136q11 11 11 26t-11 26q-10 10 -25 10t-26 -10q-41 -42 -121 -62t-160 -20t-160 20t-121 62q-11 10 -26 10t-25 -10q-11 -10 -11 -25.5t11 -26.5q43 -43 118.5 -68t122.5 -29.5t91 -4.5t91 4.5t122.5 29.5t118.5 68zM1225 341q62 0 105.5 44t43.5 106 q0 61 -44 105t-105 44q-62 0 -106 -43.5t-44 -105.5t44 -106t106 -44z" />-<glyph unicode="" horiz-adv-x="1792" d="M69 741h1q16 126 58.5 241.5t115 217t167.5 176t223.5 117.5t276.5 43q231 0 414 -105.5t294 -303.5q104 -187 104 -442v-188h-1125q1 -111 53.5 -192.5t136.5 -122.5t189.5 -57t213 -3t208 46.5t173.5 84.5v-377q-92 -55 -229.5 -92t-312.5 -38t-316 53 q-189 73 -311.5 249t-124.5 372q-3 242 111 412t325 268q-48 -60 -78 -125.5t-46 -159.5h635q8 77 -8 140t-47 101.5t-70.5 66.5t-80.5 41t-75 20.5t-56 8.5l-22 1q-135 -5 -259.5 -44.5t-223.5 -104.5t-176 -140.5t-138 -163.5z" />-<glyph unicode="" horiz-adv-x="2304" d="M0 32v608h2304v-608q0 -66 -47 -113t-113 -47h-1984q-66 0 -113 47t-47 113zM640 256v-128h384v128h-384zM256 256v-128h256v128h-256zM2144 1408q66 0 113 -47t47 -113v-224h-2304v224q0 66 47 113t113 47h1984z" />-<glyph unicode="" horiz-adv-x="1792" d="M1549 857q55 0 85.5 -28.5t30.5 -83.5t-34 -82t-91 -27h-136v-177h-25v398h170zM1710 267l-4 -11l-5 -10q-113 -230 -330.5 -366t-474.5 -136q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71q244 0 454.5 -124t329.5 -338l2 -4l8 -16 q-30 -15 -136.5 -68.5t-163.5 -84.5q-6 -3 -479 -268q384 -183 799 -366zM896 -234q250 0 462.5 132.5t322.5 357.5l-287 129q-72 -140 -206 -222t-292 -82q-151 0 -280 75t-204 204t-75 280t75 280t204 204t280 75t280 -73.5t204 -204.5l280 143q-116 208 -321 329 t-443 121q-119 0 -232.5 -31.5t-209 -87.5t-176.5 -137t-137 -176.5t-87.5 -209t-31.5 -232.5t31.5 -232.5t87.5 -209t137 -176.5t176.5 -137t209 -87.5t232.5 -31.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M1427 827l-614 386l92 151h855zM405 562l-184 116v858l1183 -743zM1424 697l147 -95v-858l-532 335zM1387 718l-500 -802h-855l356 571z" />-<glyph unicode="" horiz-adv-x="1792" d="M640 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1152 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1664 496v-752h-640v320q0 80 -56 136t-136 56t-136 -56t-56 -136v-320h-640v752q0 16 16 16h96 q16 0 16 -16v-112h128v624q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 6 2.5 9.5t8.5 5t9.5 2t11.5 0t9 -0.5v391q-32 15 -32 50q0 23 16.5 39t38.5 16t38.5 -16t16.5 -39q0 -35 -32 -50v-17q45 10 83 10q21 0 59.5 -7.5t54.5 -7.5 q17 0 47 7.5t37 7.5q16 0 16 -16v-210q0 -15 -35 -21.5t-62 -6.5q-18 0 -54.5 7.5t-55.5 7.5q-40 0 -90 -12v-133q1 0 9 0.5t11.5 0t9.5 -2t8.5 -5t2.5 -9.5v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-624h128v112q0 16 16 16h96 q16 0 16 -16z" />-<glyph unicode="" horiz-adv-x="2304" d="M2288 731q16 -8 16 -27t-16 -27l-320 -192q-8 -5 -16 -5q-9 0 -16 4q-16 10 -16 28v128h-858q37 -58 83 -165q16 -37 24.5 -55t24 -49t27 -47t27 -34t31.5 -26t33 -8h96v96q0 14 9 23t23 9h320q14 0 23 -9t9 -23v-320q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v96h-96 q-32 0 -61 10t-51 23.5t-45 40.5t-37 46t-33.5 57t-28.5 57.5t-28 60.5q-23 53 -37 81.5t-36 65t-44.5 53.5t-46.5 17h-360q-22 -84 -91 -138t-157 -54q-106 0 -181 75t-75 181t75 181t181 75q88 0 157 -54t91 -138h104q24 0 46.5 17t44.5 53.5t36 65t37 81.5q19 41 28 60.5 t28.5 57.5t33.5 57t37 46t45 40.5t51 23.5t61 10h107q21 57 70 92.5t111 35.5q80 0 136 -56t56 -136t-56 -136t-136 -56q-62 0 -111 35.5t-70 92.5h-107q-17 0 -33 -8t-31.5 -26t-27 -34t-27 -47t-24 -49t-24.5 -55q-46 -107 -83 -165h1114v128q0 18 16 28t32 -1z" />-<glyph unicode="" horiz-adv-x="1792" d="M1150 774q0 -56 -39.5 -95t-95.5 -39h-253v269h253q56 0 95.5 -39.5t39.5 -95.5zM1329 774q0 130 -91.5 222t-222.5 92h-433v-896h180v269h253q130 0 222 91.5t92 221.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348 t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />-<glyph unicode="" horiz-adv-x="2304" d="M1645 438q0 59 -34 106.5t-87 68.5q-7 -45 -23 -92q-7 -24 -27.5 -38t-44.5 -14q-12 0 -24 3q-31 10 -45 38.5t-4 58.5q23 71 23 143q0 123 -61 227.5t-166 165.5t-228 61q-134 0 -247 -73t-167 -194q108 -28 188 -106q22 -23 22 -55t-22 -54t-54 -22t-55 22 q-75 75 -180 75q-106 0 -181 -74.5t-75 -180.5t75 -180.5t181 -74.5h1046q79 0 134.5 55.5t55.5 133.5zM1798 438q0 -142 -100.5 -242t-242.5 -100h-1046q-169 0 -289 119.5t-120 288.5q0 153 100 267t249 136q62 184 221 298t354 114q235 0 408.5 -158.5t196.5 -389.5 q116 -25 192.5 -118.5t76.5 -214.5zM2048 438q0 -175 -97 -319q-23 -33 -64 -33q-24 0 -43 13q-26 17 -32 48.5t12 57.5q71 104 71 233t-71 233q-18 26 -12 57t32 49t57.5 11.5t49.5 -32.5q97 -142 97 -318zM2304 438q0 -244 -134 -443q-23 -34 -64 -34q-23 0 -42 13 q-26 18 -32.5 49t11.5 57q108 164 108 358q0 195 -108 357q-18 26 -11.5 57.5t32.5 48.5q26 18 57 12t49 -33q134 -198 134 -442z" />-<glyph unicode="" d="M1500 -13q0 -89 -63 -152.5t-153 -63.5t-153.5 63.5t-63.5 152.5q0 90 63.5 153.5t153.5 63.5t153 -63.5t63 -153.5zM1267 268q-115 -15 -192.5 -102.5t-77.5 -205.5q0 -74 33 -138q-146 -78 -379 -78q-109 0 -201 21t-153.5 54.5t-110.5 76.5t-76 85t-44.5 83 t-23.5 66.5t-6 39.5q0 19 4.5 42.5t18.5 56t36.5 58t64 43.5t94.5 18t94 -17.5t63 -41t35.5 -53t17.5 -49t4 -33.5q0 -34 -23 -81q28 -27 82 -42t93 -17l40 -1q115 0 190 51t75 133q0 26 -9 48.5t-31.5 44.5t-49.5 41t-74 44t-93.5 47.5t-119.5 56.5q-28 13 -43 20 q-116 55 -187 100t-122.5 102t-72 125.5t-20.5 162.5q0 78 20.5 150t66 137.5t112.5 114t166.5 77t221.5 28.5q120 0 220 -26t164.5 -67t109.5 -94t64 -105.5t19 -103.5q0 -46 -15 -82.5t-36.5 -58t-48.5 -36t-49 -19.5t-39 -5h-8h-32t-39 5t-44 14t-41 28t-37 46t-24 70.5 t-10 97.5q-15 16 -59 25.5t-81 10.5l-37 1q-68 0 -117.5 -31t-70.5 -70t-21 -76q0 -24 5 -43t24 -46t53 -51t97 -53.5t150 -58.5q76 -25 138.5 -53.5t109 -55.5t83 -59t60.5 -59.5t41 -62.5t26.5 -62t14.5 -63.5t6 -62t1 -62.5z" />-<glyph unicode="" d="M704 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1152 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103 t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273 t73 -273t198 -198t273 -73zM864 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192z" />-<glyph unicode="" d="M1088 352v576q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />-<glyph unicode="" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273 t73 -273t198 -198t273 -73zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h576q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-576z" />-<glyph unicode="" horiz-adv-x="1792" d="M1757 128l35 -313q3 -28 -16 -50q-19 -21 -48 -21h-1664q-29 0 -48 21q-19 22 -16 50l35 313h1722zM1664 967l86 -775h-1708l86 775q3 24 21 40.5t43 16.5h256v-128q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5v128h384v-128q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5v128h256q25 0 43 -16.5t21 -40.5zM1280 1152v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 159 112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />-<glyph unicode="" horiz-adv-x="2048" d="M1920 768q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5h-15l-115 -662q-8 -46 -44 -76t-82 -30h-1280q-46 0 -82 30t-44 76l-115 662h-15q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5h1792zM485 -32q26 2 43.5 22.5t15.5 46.5l-32 416q-2 26 -22.5 43.5 t-46.5 15.5t-43.5 -22.5t-15.5 -46.5l32 -416q2 -25 20.5 -42t43.5 -17h5zM896 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1280 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1632 27l32 416 q2 26 -15.5 46.5t-43.5 22.5t-46.5 -15.5t-22.5 -43.5l-32 -416q-2 -26 15.5 -46.5t43.5 -22.5h5q25 0 43.5 17t20.5 42zM476 1244l-93 -412h-132l101 441q19 88 89 143.5t160 55.5h167q0 26 19 45t45 19h384q26 0 45 -19t19 -45h167q90 0 160 -55.5t89 -143.5l101 -441 h-132l-93 412q-11 44 -45.5 72t-79.5 28h-167q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45h-167q-45 0 -79.5 -28t-45.5 -72z" />-<glyph unicode="" horiz-adv-x="1792" d="M991 512l64 256h-254l-64 -256h254zM1759 1016l-56 -224q-7 -24 -31 -24h-327l-64 -256h311q15 0 25 -12q10 -14 6 -28l-56 -224q-5 -24 -31 -24h-327l-81 -328q-7 -24 -31 -24h-224q-16 0 -26 12q-9 12 -6 28l78 312h-254l-81 -328q-7 -24 -31 -24h-225q-15 0 -25 12 q-9 12 -6 28l78 312h-311q-15 0 -25 12q-9 12 -6 28l56 224q7 24 31 24h327l64 256h-311q-15 0 -25 12q-10 14 -6 28l56 224q5 24 31 24h327l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h254l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h311 q15 0 25 -12q9 -12 6 -28z" />-<glyph unicode="" d="M841 483l148 -148l-149 -149zM840 1094l149 -149l-148 -148zM710 -130l464 464l-306 306l306 306l-464 464v-611l-255 255l-93 -93l320 -321l-320 -321l93 -93l255 255v-611zM1429 640q0 -209 -32 -365.5t-87.5 -257t-140.5 -162.5t-181.5 -86.5t-219.5 -24.5 t-219.5 24.5t-181.5 86.5t-140.5 162.5t-87.5 257t-32 365.5t32 365.5t87.5 257t140.5 162.5t181.5 86.5t219.5 24.5t219.5 -24.5t181.5 -86.5t140.5 -162.5t87.5 -257t32 -365.5z" />-<glyph unicode="" horiz-adv-x="1024" d="M596 113l173 172l-173 172v-344zM596 823l173 172l-173 172v-344zM628 640l356 -356l-539 -540v711l-297 -296l-108 108l372 373l-372 373l108 108l297 -296v711l539 -540z" />-<glyph unicode="" d="M1280 256q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM512 1024q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5 t112.5 -271.5zM1440 1344q0 -20 -13 -38l-1056 -1408q-19 -26 -51 -26h-160q-26 0 -45 19t-19 45q0 20 13 38l1056 1408q19 26 51 26h160q26 0 45 -19t19 -45zM768 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 t271.5 -112.5t112.5 -271.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M104 830l792 -1015l-868 630q-18 13 -25 34.5t0 42.5l101 308v0zM566 830h660l-330 -1015v0zM368 1442l198 -612h-462l198 612q8 23 33 23t33 -23zM1688 830l101 -308q7 -21 0 -42.5t-25 -34.5l-868 -630l792 1015v0zM1688 830h-462l198 612q8 23 33 23t33 -23z" />-<glyph unicode="" horiz-adv-x="1792" d="M384 704h160v224h-160v-224zM1221 372v92q-104 -36 -243 -38q-135 -1 -259.5 46.5t-220.5 122.5l1 -96q88 -80 212 -128.5t272 -47.5q129 0 238 49zM640 704h640v224h-640v-224zM1792 736q0 -187 -99 -352q89 -102 89 -229q0 -157 -129.5 -268t-313.5 -111 q-122 0 -225 52.5t-161 140.5q-19 -1 -57 -1t-57 1q-58 -88 -161 -140.5t-225 -52.5q-184 0 -313.5 111t-129.5 268q0 127 89 229q-99 165 -99 352q0 209 120 385.5t326.5 279.5t449.5 103t449.5 -103t326.5 -279.5t120 -385.5z" />-<glyph unicode="" d="M515 625v-128h-252v128h252zM515 880v-127h-252v127h252zM1273 369v-128h-341v128h341zM1273 625v-128h-672v128h672zM1273 880v-127h-672v127h672zM1408 20v1240q0 8 -6 14t-14 6h-32l-378 -256l-210 171l-210 -171l-378 256h-32q-8 0 -14 -6t-6 -14v-1240q0 -8 6 -14 t14 -6h1240q8 0 14 6t6 14zM553 1130l185 150h-406zM983 1130l221 150h-406zM1536 1260v-1240q0 -62 -43 -105t-105 -43h-1240q-62 0 -105 43t-43 105v1240q0 62 43 105t105 43h1240q62 0 105 -43t43 -105z" />-<glyph unicode="" horiz-adv-x="1792" d="M896 720q-104 196 -160 278q-139 202 -347 318q-34 19 -70 36q-89 40 -94 32t34 -38l39 -31q62 -43 112.5 -93.5t94.5 -116.5t70.5 -113t70.5 -131q9 -17 13 -25q44 -84 84 -153t98 -154t115.5 -150t131 -123.5t148.5 -90.5q153 -66 154 -60q1 3 -49 37q-53 36 -81 57 q-77 58 -179 211t-185 310zM549 177q-76 60 -132.5 125t-98 143.5t-71 154.5t-58.5 186t-52 209t-60.5 252t-76.5 289q273 0 497.5 -36t379 -92t271 -144.5t185.5 -172.5t110 -198.5t56 -199.5t12.5 -198.5t-9.5 -173t-20 -143.5t-13 -107l323 -327h-104l-281 285 q-22 -2 -91.5 -14t-121.5 -19t-138 -6t-160.5 17t-167.5 59t-179 111z" />-<glyph unicode="" horiz-adv-x="1792" d="M1374 879q-6 26 -28.5 39.5t-48.5 7.5q-261 -62 -401 -62t-401 62q-26 6 -48.5 -7.5t-28.5 -39.5t7.5 -48.5t39.5 -28.5q194 -46 303 -58q-2 -158 -15.5 -269t-26.5 -155.5t-41 -115.5l-9 -21q-10 -25 1 -49t36 -34q9 -4 23 -4q44 0 60 41l8 20q54 139 71 259h42 q17 -120 71 -259l8 -20q16 -41 60 -41q14 0 23 4q25 10 36 34t1 49l-9 21q-28 71 -41 115.5t-26.5 155.5t-15.5 269q109 12 303 58q26 6 39.5 28.5t7.5 48.5zM1024 1024q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z M1600 640q0 -143 -55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5zM896 1408q-156 0 -298 -61t-245 -164t-164 -245t-61 -298t61 -298 t164 -245t245 -164t298 -61t298 61t245 164t164 245t61 298t-61 298t-164 245t-245 164t-298 61zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />-<glyph unicode="" d="M1438 723q34 -35 29 -82l-44 -551q-4 -42 -34.5 -70t-71.5 -28q-6 0 -9 1q-44 3 -72.5 36.5t-25.5 77.5l35 429l-143 -8q55 -113 55 -240q0 -216 -148 -372l-137 137q91 101 91 235q0 145 -102.5 248t-247.5 103q-134 0 -236 -92l-137 138q120 114 284 141l264 300 l-149 87l-181 -161q-33 -30 -77 -27.5t-73 35.5t-26.5 77t34.5 73l239 213q26 23 60 26.5t64 -14.5l488 -283q36 -21 48 -68q17 -67 -26 -117l-205 -232l371 20q49 3 83 -32zM1240 1180q-74 0 -126 52t-52 126t52 126t126 52t126.5 -52t52.5 -126t-52.5 -126t-126.5 -52z M613 -62q106 0 196 61l139 -139q-146 -116 -335 -116q-148 0 -273.5 73t-198.5 198t-73 273q0 188 116 336l139 -139q-60 -88 -60 -197q0 -145 102.5 -247.5t247.5 -102.5z" />-<glyph unicode="" d="M880 336v-160q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h160q14 0 23 -9t9 -23zM1136 832q0 -50 -15 -90t-45.5 -69t-52 -44t-59.5 -36q-32 -18 -46.5 -28t-26 -24t-11.5 -29v-32q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v68q0 35 10.5 64.5 t24 47.5t39 35.5t41 25.5t44.5 21q53 25 75 43t22 49q0 42 -43.5 71.5t-95.5 29.5q-56 0 -95 -27q-29 -20 -80 -83q-9 -12 -25 -12q-11 0 -19 6l-108 82q-10 7 -12 20t5 23q122 192 349 192q129 0 238.5 -89.5t109.5 -214.5zM768 1280q-130 0 -248.5 -51t-204 -136.5 t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5 t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" horiz-adv-x="1408" d="M366 1225q-64 0 -110 45.5t-46 110.5q0 64 46 109.5t110 45.5t109.5 -45.5t45.5 -109.5q0 -65 -45.5 -110.5t-109.5 -45.5zM917 583q0 -50 -30 -67.5t-63.5 -6.5t-47.5 34l-367 438q-7 12 -14 15.5t-11 1.5l-3 -3q-7 -8 4 -21l122 -139l1 -354l-161 -457 q-67 -192 -92 -234q-16 -26 -28 -32q-50 -26 -103 -1q-29 13 -41.5 43t-9.5 57q2 17 197 618l5 416l-85 -164l35 -222q4 -24 -1 -42t-14 -27.5t-19 -16t-17 -7.5l-7 -2q-19 -3 -34.5 3t-24 16t-14 22t-7.5 19.5t-2 9.5l-46 299l211 381q23 34 113 34q75 0 107 -40l424 -521 q7 -5 14 -17l3 -3l-1 -1q7 -13 7 -29zM514 433q43 -113 88.5 -225t69.5 -168l24 -55q36 -93 42 -125q11 -70 -36 -97q-35 -22 -66 -16t-51 22t-29 35h-1q-6 16 -8 25l-124 351zM1338 -159q31 -49 31 -57q0 -5 -3 -7q-9 -5 -14.5 0.5t-15.5 26t-16 30.5q-114 172 -423 661 q3 -1 7 1t7 4l3 2q11 9 11 17z" />-<glyph unicode="" horiz-adv-x="2304" d="M504 542h171l-1 265zM1530 641q0 87 -50.5 140t-146.5 53h-54v-388h52q91 0 145 57t54 138zM956 1018l1 -756q0 -14 -9.5 -24t-23.5 -10h-216q-14 0 -23.5 10t-9.5 24v62h-291l-55 -81q-10 -15 -28 -15h-267q-21 0 -30.5 18t3.5 35l556 757q9 14 27 14h332q14 0 24 -10 t10 -24zM1783 641q0 -193 -125.5 -303t-324.5 -110h-270q-14 0 -24 10t-10 24v756q0 14 10 24t24 10h268q200 0 326 -109t126 -302zM1939 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5 t-7.5 60t-20 91.5t-41 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2123 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-45 -108t-74 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5 h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2304 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66 104.5t41 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96 t9.5 -70.5z" />-<glyph unicode="" horiz-adv-x="1408" d="M617 -153q0 11 -13 58t-31 107t-20 69q-1 4 -5 26.5t-8.5 36t-13.5 21.5q-15 14 -51 14q-23 0 -70 -5.5t-71 -5.5q-34 0 -47 11q-6 5 -11 15.5t-7.5 20t-6.5 24t-5 18.5q-37 128 -37 255t37 255q1 4 5 18.5t6.5 24t7.5 20t11 15.5q13 11 47 11q24 0 71 -5.5t70 -5.5 q36 0 51 14q9 8 13.5 21.5t8.5 36t5 26.5q2 9 20 69t31 107t13 58q0 22 -43.5 52.5t-75.5 42.5q-20 8 -45 8q-34 0 -98 -18q-57 -17 -96.5 -40.5t-71 -66t-46 -70t-45.5 -94.5q-6 -12 -9 -19q-49 -107 -68 -216t-19 -244t19 -244t68 -216q56 -122 83 -161q63 -91 179 -127 l6 -2q64 -18 98 -18q25 0 45 8q32 12 75.5 42.5t43.5 52.5zM776 760q-26 0 -45 19t-19 45.5t19 45.5q37 37 37 90q0 52 -37 91q-19 19 -19 45t19 45t45 19t45 -19q75 -75 75 -181t-75 -181q-21 -19 -45 -19zM957 579q-27 0 -45 19q-19 19 -19 45t19 45q112 114 112 272 t-112 272q-19 19 -19 45t19 45t45 19t45 -19q150 -150 150 -362t-150 -362q-18 -19 -45 -19zM1138 398q-27 0 -45 19q-19 19 -19 45t19 45q90 91 138.5 208t48.5 245t-48.5 245t-138.5 208q-19 19 -19 45t19 45t45 19t45 -19q109 -109 167 -249t58 -294t-58 -294t-167 -249 q-18 -19 -45 -19z" />-<glyph unicode="" horiz-adv-x="2176" d="M192 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 352 q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 864 q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 1376q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 192q0 -80 -56 -136 t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 1216q0 -80 -56 -136t-136 -56 t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 192q0 -80 -56 -136t-136 -56t-136 56 t-56 136t56 136t136 56t136 -56t56 -136zM1664 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136 t56 136t136 56t136 -56t56 -136zM2176 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z" />-<glyph unicode="" horiz-adv-x="1792" d="M128 -192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM320 0q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM365 365l256 -256l-90 -90l-256 256zM704 384q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45z M1411 704q0 -59 -11.5 -108.5t-37.5 -93.5t-44 -67.5t-53 -64.5q-31 -35 -45.5 -54t-33.5 -50t-26.5 -64t-7.5 -74q0 -159 -112.5 -271.5t-271.5 -112.5q-26 0 -45 19t-19 45t19 45t45 19q106 0 181 75t75 181q0 57 11.5 105.5t37 91t43.5 66.5t52 63q40 46 59.5 72 t37.5 74.5t18 103.5q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM896 576q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45 t45 19t45 -19t19 -45zM1184 704q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 93 -65.5 158.5t-158.5 65.5q-92 0 -158 -65.5t-66 -158.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 146 103 249t249 103t249 -103t103 -249zM1578 993q10 -25 -1 -49t-36 -34q-9 -4 -23 -4 q-19 0 -35.5 11t-23.5 30q-68 178 -224 295q-21 16 -25 42t12 47q17 21 43 25t47 -12q183 -137 266 -351zM1788 1074q9 -25 -1.5 -49t-35.5 -34q-11 -4 -23 -4q-44 0 -60 41q-92 238 -297 393q-22 16 -25.5 42t12.5 47q16 22 42 25.5t47 -12.5q235 -175 341 -449z" />-<glyph unicode="" horiz-adv-x="2304" d="M1032 576q-59 2 -84 55q-17 34 -48 53.5t-68 19.5q-53 0 -90.5 -37.5t-37.5 -90.5q0 -56 36 -89l10 -8q34 -31 82 -31q37 0 68 19.5t48 53.5q25 53 84 55zM1600 704q0 56 -36 89l-10 8q-34 31 -82 31q-37 0 -68 -19.5t-48 -53.5q-25 -53 -84 -55q59 -2 84 -55 q17 -34 48 -53.5t68 -19.5q53 0 90.5 37.5t37.5 90.5zM1174 925q-17 -35 -55 -48t-73 4q-62 31 -134 31q-51 0 -99 -17q3 0 9.5 0.5t9.5 0.5q92 0 170.5 -50t118.5 -133q17 -36 3.5 -73.5t-49.5 -54.5q-18 -9 -39 -9q21 0 39 -9q36 -17 49.5 -54.5t-3.5 -73.5 q-40 -83 -118.5 -133t-170.5 -50h-6q-16 2 -44 4l-290 27l-239 -120q-14 -7 -29 -7q-40 0 -57 35l-160 320q-11 23 -4 47.5t29 37.5l209 119l148 267q17 155 91.5 291.5t195.5 236.5q31 25 70.5 21.5t64.5 -34.5t21.5 -70t-34.5 -65q-70 -59 -117 -128q123 84 267 101 q40 5 71.5 -19t35.5 -64q5 -40 -19 -71.5t-64 -35.5q-84 -10 -159 -55q46 10 99 10q115 0 218 -50q36 -18 49 -55.5t-5 -73.5zM2137 1085l160 -320q11 -23 4 -47.5t-29 -37.5l-209 -119l-148 -267q-17 -155 -91.5 -291.5t-195.5 -236.5q-26 -22 -61 -22q-45 0 -74 35 q-25 31 -21.5 70t34.5 65q70 59 117 128q-123 -84 -267 -101q-4 -1 -12 -1q-36 0 -63.5 24t-31.5 60q-5 40 19 71.5t64 35.5q84 10 159 55q-46 -10 -99 -10q-115 0 -218 50q-36 18 -49 55.5t5 73.5q17 35 55 48t73 -4q62 -31 134 -31q51 0 99 17q-3 0 -9.5 -0.5t-9.5 -0.5 q-92 0 -170.5 50t-118.5 133q-17 36 -3.5 73.5t49.5 54.5q18 9 39 9q-21 0 -39 9q-36 17 -49.5 54.5t3.5 73.5q40 83 118.5 133t170.5 50h6h1q14 -2 42 -4l291 -27l239 120q14 7 29 7q40 0 57 -35z" />-<glyph unicode="" horiz-adv-x="1792" d="M1056 704q0 -26 19 -45t45 -19t45 19t19 45q0 146 -103 249t-249 103t-249 -103t-103 -249q0 -26 19 -45t45 -19t45 19t19 45q0 93 66 158.5t158 65.5t158 -65.5t66 -158.5zM835 1280q-117 0 -223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5q0 -26 19 -45t45 -19t45 19 t19 45q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -55 -18 -103.5t-37.5 -74.5t-59.5 -72q-34 -39 -52 -63t-43.5 -66.5t-37 -91t-11.5 -105.5q0 -106 -75 -181t-181 -75q-26 0 -45 -19t-19 -45t19 -45t45 -19q159 0 271.5 112.5t112.5 271.5q0 41 7.5 74 t26.5 64t33.5 50t45.5 54q35 41 53 64.5t44 67.5t37.5 93.5t11.5 108.5q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5zM591 561l226 -226l-579 -579q-12 -12 -29 -12t-29 12l-168 168q-12 12 -12 29t12 29zM1612 1524l168 -168q12 -12 12 -29t-12 -30l-233 -233 l-26 -25l-71 -71q-66 153 -195 258l91 91l207 207q13 12 30 12t29 -12z" />-<glyph unicode="" d="M866 1021q0 -27 -13 -94q-11 -50 -31.5 -150t-30.5 -150q-2 -11 -4.5 -12.5t-13.5 -2.5q-20 -2 -31 -2q-58 0 -84 49.5t-26 113.5q0 88 35 174t103 124q28 14 51 14q28 0 36.5 -16.5t8.5 -47.5zM1352 597q0 14 -39 75.5t-52 66.5q-21 8 -34 8q-91 0 -226 -77l-2 2 q3 22 27.5 135t24.5 178q0 233 -242 233q-24 0 -68 -6q-94 -17 -168.5 -89.5t-111.5 -166.5t-37 -189q0 -146 80.5 -225t227.5 -79q25 0 25 -3t-1 -5q-4 -34 -26 -117q-14 -52 -51.5 -101t-82.5 -49q-42 0 -42 47q0 24 10.5 47.5t25 39.5t29.5 28.5t26 20t11 8.5q0 3 -7 10 q-24 22 -58.5 36.5t-65.5 14.5q-35 0 -63.5 -34t-41 -75t-12.5 -75q0 -88 51.5 -142t138.5 -54q82 0 155 53t117.5 126t65.5 153q6 22 15.5 66.5t14.5 66.5q3 12 14 18q118 60 227 60q48 0 127 -18q1 -1 4 -1q5 0 9.5 4.5t4.5 8.5zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="1535" d="M744 1231q0 24 -2 38.5t-8.5 30t-21 23t-37.5 7.5q-39 0 -78 -23q-105 -58 -159 -190.5t-54 -269.5q0 -44 8.5 -85.5t26.5 -80.5t52.5 -62.5t81.5 -23.5q4 0 18 -0.5t20 0t16 3t15 8.5t7 16q16 77 48 231.5t48 231.5q19 91 19 146zM1498 575q0 -7 -7.5 -13.5t-15.5 -6.5 l-6 1q-22 3 -62 11t-72 12.5t-63 4.5q-167 0 -351 -93q-15 -8 -21 -27q-10 -36 -24.5 -105.5t-22.5 -100.5q-23 -91 -70 -179.5t-112.5 -164.5t-154.5 -123t-185 -47q-135 0 -214.5 83.5t-79.5 219.5q0 53 19.5 117t63 116.5t97.5 52.5q38 0 120 -33.5t83 -61.5 q0 -1 -16.5 -12.5t-39.5 -31t-46 -44.5t-39 -61t-16 -74q0 -33 16.5 -53t48.5 -20q45 0 85 31.5t66.5 78t48 105.5t32.5 107t16 90v9q0 2 -3.5 3.5t-8.5 1.5h-10t-10 -0.5t-6 -0.5q-227 0 -352 122.5t-125 348.5q0 108 34.5 221t96 210t156 167.5t204.5 89.5q52 9 106 9 q374 0 374 -360q0 -98 -38 -273t-43 -211l3 -3q101 57 182.5 88t167.5 31q22 0 53 -13q19 -7 80 -102.5t61 -116.5z" />-<glyph unicode="" horiz-adv-x="1664" d="M831 863q32 0 59 -18l222 -148q61 -40 110 -97l146 -170q40 -46 29 -106l-72 -413q-6 -32 -29.5 -53.5t-55.5 -25.5l-527 -56l-352 -32h-9q-39 0 -67.5 28t-28.5 68q0 37 27 64t65 32l260 32h-448q-41 0 -69.5 30t-26.5 71q2 39 32 65t69 26l442 1l-521 64q-41 5 -66 37 t-19 73q6 35 34.5 57.5t65.5 22.5h10l481 -60l-351 94q-38 10 -62 41.5t-18 68.5q6 36 33 58.5t62 22.5q6 0 20 -2l448 -96l217 -37q1 0 3 -0.5t3 -0.5q23 0 30.5 23t-12.5 36l-186 125q-35 23 -42 63.5t18 73.5q27 38 76 38zM761 661l186 -125l-218 37l-5 2l-36 38 l-238 262q-1 1 -2.5 3.5t-2.5 3.5q-24 31 -18.5 70t37.5 64q31 23 68 17.5t64 -33.5l142 -147l-4 -4t-5 -4q-32 -45 -23 -99t55 -85zM1648 1115l15 -266q4 -73 -11 -147l-48 -219q-12 -59 -67 -87l-106 -54q2 62 -39 109l-146 170q-53 61 -117 103l-222 148q-34 23 -76 23 q-51 0 -88 -37l-235 312q-25 33 -18 73.5t41 63.5q33 22 71.5 14t62.5 -40l266 -352l-262 455q-21 35 -10.5 75t47.5 59q35 18 72.5 6t57.5 -46l241 -420l-136 337q-15 35 -4.5 74t44.5 56q37 19 76 6t56 -51l193 -415l101 -196q8 -15 23 -17.5t27 7.5t11 26l-12 224 q-2 41 26 71t69 31q39 0 67 -28.5t30 -67.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M335 180q-2 0 -6 2q-86 57 -168.5 145t-139.5 180q-21 30 -21 69q0 9 2 19t4 18t7 18t8.5 16t10.5 17t10 15t12 15.5t11 14.5q184 251 452 365q-110 198 -110 211q0 19 17 29q116 64 128 64q18 0 28 -16l124 -229q92 19 192 19q266 0 497.5 -137.5t378.5 -369.5 q20 -31 20 -69t-20 -69q-91 -142 -218.5 -253.5t-278.5 -175.5q110 -198 110 -211q0 -20 -17 -29q-116 -64 -127 -64q-19 0 -29 16l-124 229l-64 119l-444 820l7 7q-58 -24 -99 -47q3 -5 127 -234t243 -449t119 -223q0 -7 -9 -9q-13 -3 -72 -3q-57 0 -60 7l-456 841 q-39 -28 -82 -68q24 -43 214 -393.5t190 -354.5q0 -10 -11 -10q-14 0 -82.5 22t-72.5 28l-106 197l-224 413q-44 -53 -78 -106q2 -3 18 -25t23 -34l176 -327q0 -10 -10 -10zM1165 282l49 -91q273 111 450 385q-180 277 -459 389q67 -64 103 -148.5t36 -176.5 q0 -106 -47 -200.5t-132 -157.5zM848 896q0 -20 14 -34t34 -14q86 0 147 -61t61 -147q0 -20 14 -34t34 -14t34 14t14 34q0 126 -89 215t-215 89q-20 0 -34 -14t-14 -34zM1214 961l-9 4l7 -7z" />-<glyph unicode="" horiz-adv-x="1280" d="M1050 430q0 -215 -147 -374q-148 -161 -378 -161q-232 0 -378 161q-147 159 -147 374q0 147 68 270.5t189 196.5t268 73q96 0 182 -31q-32 -62 -39 -126q-66 28 -143 28q-167 0 -280.5 -123t-113.5 -291q0 -170 112.5 -288.5t281.5 -118.5t281 118.5t112 288.5 q0 89 -32 166q66 13 123 49q41 -98 41 -212zM846 619q0 -192 -79.5 -345t-238.5 -253l-14 -1q-29 0 -62 5q83 32 146.5 102.5t99.5 154.5t58.5 189t30 192.5t7.5 178.5q0 69 -3 103q55 -160 55 -326zM791 947v-2q-73 214 -206 440q88 -59 142.5 -186.5t63.5 -251.5z M1035 744q-83 0 -160 75q218 120 290 247q19 37 21 56q-42 -94 -139.5 -166.5t-204.5 -97.5q-35 54 -35 113q0 37 17 79t43 68q46 44 157 74q59 16 106 58.5t74 100.5q74 -105 74 -253q0 -109 -24 -170q-32 -77 -88.5 -130.5t-130.5 -53.5z" />-<glyph unicode="" d="M1050 495q0 78 -28 147q-41 -25 -85 -34q22 -50 22 -114q0 -117 -77 -198.5t-193 -81.5t-193.5 81.5t-77.5 198.5q0 115 78 199.5t193 84.5q53 0 98 -19q4 43 27 87q-60 21 -125 21q-154 0 -257.5 -108.5t-103.5 -263.5t103.5 -261t257.5 -106t257.5 106.5t103.5 260.5z M872 850q2 -24 2 -71q0 -63 -5 -123t-20.5 -132.5t-40.5 -130t-68.5 -106t-100.5 -70.5q21 -3 42 -3h10q219 139 219 411q0 116 -38 225zM872 850q-4 80 -44 171.5t-98 130.5q92 -156 142 -302zM1207 955q0 102 -51 174q-41 -86 -124 -109q-69 -19 -109 -53.5t-40 -99.5 q0 -40 24 -77q74 17 140.5 67t95.5 115q-4 -52 -74.5 -111.5t-138.5 -97.5q52 -52 110 -52q51 0 90 37t60 90q17 43 17 117zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />-<glyph unicode="" d="M1279 388q0 22 -22 27q-67 15 -118 59t-80 108q-7 19 -7 25q0 15 19.5 26t43 17t43 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-12 0 -32 -8t-31 -8q-4 0 -12 2q5 95 5 114q0 79 -17 114q-36 78 -103 121.5t-152 43.5q-199 0 -275 -165q-17 -35 -17 -114q0 -19 5 -114 q-4 -2 -14 -2q-12 0 -32 7.5t-30 7.5q-21 0 -38.5 -12t-17.5 -32q0 -21 19.5 -35.5t43 -20.5t43 -17t19.5 -26q0 -6 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -46 137 -68q2 -5 6 -26t11.5 -30.5t23.5 -9.5q12 0 37.5 4.5t39.5 4.5q35 0 67 -15t54 -32.5t57.5 -32.5 t76.5 -15q43 0 79 15t57.5 32.5t53.5 32.5t67 15q14 0 39.5 -4t38.5 -4q16 0 23 10t11 30t6 25q137 22 137 68zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />-<glyph unicode="" horiz-adv-x="1664" d="M848 1408q134 1 240.5 -68.5t163.5 -192.5q27 -58 27 -179q0 -47 -9 -191q14 -7 28 -7q18 0 51 13.5t51 13.5q29 0 56 -18t27 -46q0 -32 -31.5 -54t-69 -31.5t-69 -29t-31.5 -47.5q0 -15 12 -43q37 -82 102.5 -150t144.5 -101q28 -12 80 -23q28 -6 28 -35 q0 -70 -219 -103q-7 -11 -11 -39t-14 -46.5t-33 -18.5q-20 0 -62 6.5t-64 6.5q-37 0 -62 -5q-32 -5 -63 -22.5t-58 -38t-58 -40.5t-76 -33.5t-99 -13.5q-52 0 -96.5 13.5t-75 33.5t-57.5 40.5t-58 38t-62 22.5q-26 5 -63 5q-24 0 -65.5 -7.5t-58.5 -7.5q-25 0 -35 18.5 t-14 47.5t-11 40q-219 33 -219 103q0 29 28 35q52 11 80 23q78 32 144.5 101t102.5 150q12 28 12 43q0 28 -31.5 47.5t-69.5 29.5t-69.5 31.5t-31.5 52.5q0 27 26 45.5t55 18.5q15 0 48 -13t53 -13q18 0 32 7q-9 142 -9 190q0 122 27 180q64 137 172 198t264 63z" />-<glyph unicode="" d="M1280 388q0 22 -22 27q-67 14 -118 58t-80 109q-7 14 -7 25q0 15 19.5 26t42.5 17t42.5 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-11 0 -31 -8t-32 -8q-4 0 -12 2q5 63 5 115q0 78 -17 114q-36 78 -102.5 121.5t-152.5 43.5q-198 0 -275 -165q-18 -38 -18 -115 q0 -38 6 -114q-10 -2 -15 -2q-11 0 -31.5 8t-30.5 8q-20 0 -37.5 -12.5t-17.5 -32.5q0 -21 19.5 -35.5t42.5 -20.5t42.5 -17t19.5 -26q0 -11 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -47 138 -69q2 -5 6 -26t11 -30.5t23 -9.5q13 0 38.5 5t38.5 5q35 0 67.5 -15 t54.5 -32.5t57.5 -32.5t76.5 -15q43 0 79 15t57.5 32.5t54 32.5t67.5 15q13 0 39 -4.5t39 -4.5q15 0 22.5 9.5t11.5 31t5 24.5q138 22 138 69zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960 q119 0 203.5 -84.5t84.5 -203.5z" />-<glyph unicode="" horiz-adv-x="2304" d="M2304 1536q-69 -46 -125 -92t-89 -81t-59.5 -71.5t-37.5 -57.5t-22 -44.5t-14 -29.5q-10 -18 -35.5 -136.5t-48.5 -164.5q-15 -29 -50 -60.5t-67.5 -50.5t-72.5 -41t-48 -28q-47 -31 -151 -231q-341 14 -630 -158q-92 -53 -303 -179q47 16 86 31t55 22l15 7 q71 27 163 64.5t133.5 53.5t108 34.5t142.5 31.5q186 31 465 -7q1 0 10 -3q11 -6 14 -17t-3 -22l-194 -345q-15 -29 -47 -22q-128 24 -354 24q-146 0 -402 -44.5t-392 -46.5q-82 -1 -149 13t-107 37t-61 40t-33 34l-1 1v2q0 6 6 6q138 0 371 55q192 366 374.5 524t383.5 158 q5 0 14.5 -0.5t38 -5t55 -12t61.5 -24.5t63 -39.5t54 -59t40 -82.5l102 177q2 4 21 42.5t44.5 86.5t61 109.5t84 133.5t100.5 137q66 82 128 141.5t121.5 96.5t92.5 53.5t88 39.5z" />-<glyph unicode="" d="M1322 640q0 -45 -5 -76l-236 14l224 -78q-19 -73 -58 -141l-214 103l177 -158q-44 -61 -107 -108l-157 178l103 -215q-61 -37 -140 -59l-79 228l14 -240q-38 -6 -76 -6t-76 6l14 238l-78 -226q-74 19 -140 59l103 215l-157 -178q-59 43 -108 108l178 158l-214 -104 q-39 69 -58 141l224 79l-237 -14q-5 42 -5 76q0 35 5 77l238 -14l-225 79q19 73 58 140l214 -104l-177 159q46 61 107 108l158 -178l-103 215q67 39 140 58l77 -224l-13 236q36 6 75 6q38 0 76 -6l-14 -237l78 225q74 -19 140 -59l-103 -214l158 178q61 -47 107 -108 l-177 -159l213 104q37 -62 58 -141l-224 -78l237 14q5 -31 5 -77zM1352 640q0 160 -78.5 295.5t-213 214t-292.5 78.5q-119 0 -227 -46.5t-186.5 -125t-124.5 -187.5t-46 -229q0 -119 46 -228t124.5 -187.5t186.5 -125t227 -46.5q158 0 292.5 78.5t213 214t78.5 294.5z M1425 1023v-766l-657 -383l-657 383v766l657 383zM768 -183l708 412v823l-708 411l-708 -411v-823zM1536 1088v-896l-768 -448l-768 448v896l768 448z" />-<glyph unicode="" horiz-adv-x="1664" d="M339 1318h691l-26 -72h-665q-110 0 -188.5 -79t-78.5 -189v-771q0 -95 60.5 -169.5t153.5 -93.5q23 -5 98 -5v-72h-45q-140 0 -239.5 100t-99.5 240v771q0 140 99.5 240t239.5 100zM1190 1536h247l-482 -1294q-23 -61 -40.5 -103.5t-45 -98t-54 -93.5t-64.5 -78.5 t-79.5 -65t-95.5 -41t-116 -18.5v195q163 26 220 182q20 52 20 105q0 54 -20 106l-285 733h228l187 -585zM1664 978v-1111h-795q37 55 45 73h678v1038q0 85 -49.5 155t-129.5 99l25 67q101 -34 163.5 -123.5t62.5 -197.5z" />-<glyph unicode="" horiz-adv-x="1792" d="M852 1227q0 -29 -17 -52.5t-45 -23.5t-45 23.5t-17 52.5t17 52.5t45 23.5t45 -23.5t17 -52.5zM688 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50 -21.5t-20 -51.5v-114q0 -30 20.5 -52t49.5 -22q30 0 50.5 22t20.5 52zM860 -149v114q0 30 -20 51.5t-50 21.5t-50.5 -21.5 t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22q29 0 49.5 22t20.5 52zM1034 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1208 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114 q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1476 535q-84 -160 -232 -259.5t-323 -99.5q-123 0 -229.5 51.5t-178.5 137t-113 197.5t-41 232q0 88 21 174q-104 -175 -104 -390q0 -162 65 -312t185 -251q30 57 91 57q56 0 86 -50q32 50 87 50q56 0 86 -50q32 50 87 50t87 -50 q30 50 86 50q28 0 52.5 -15.5t37.5 -40.5q112 94 177 231.5t73 287.5zM1326 564q0 75 -72 75q-17 0 -47 -6q-95 -19 -149 -19q-226 0 -226 243q0 86 30 204q-83 -127 -83 -275q0 -150 89 -260.5t235 -110.5q111 0 210 70q13 48 13 79zM884 1223q0 50 -32 89.5t-81 39.5 t-81 -39.5t-32 -89.5q0 -51 31.5 -90.5t81.5 -39.5t81.5 39.5t31.5 90.5zM1513 884q0 96 -37.5 179t-113 137t-173.5 54q-77 0 -149 -35t-127 -94q-48 -159 -48 -268q0 -104 45.5 -157t147.5 -53q53 0 142 19q36 6 53 6q51 0 77.5 -28t26.5 -80q0 -26 -4 -46 q75 68 117.5 165.5t42.5 200.5zM1792 667q0 -111 -33.5 -249.5t-93.5 -204.5q-58 -64 -195 -142.5t-228 -104.5l-4 -1v-114q0 -43 -29.5 -75t-72.5 -32q-56 0 -86 50q-32 -50 -87 -50t-87 50q-30 -50 -86 -50q-55 0 -87 50q-30 -50 -86 -50q-47 0 -75 33.5t-28 81.5 q-90 -68 -198 -68q-118 0 -211 80q54 1 106 20q-113 31 -182 127q32 -7 71 -7q89 0 164 46q-192 192 -240 306q-24 56 -24 160q0 57 9 125.5t31.5 146.5t55 141t86.5 105t120 42q59 0 81 -52q19 29 42 54q2 3 12 13t13 16q10 15 23 38t25 42t28 39q87 111 211.5 177 t260.5 66q35 0 62 -4q59 64 146 64q83 0 140 -57q5 -5 5 -12q0 -5 -6 -13.5t-12.5 -16t-16 -17l-10.5 -10.5q17 -6 36 -18t19 -24q0 -6 -16 -25q157 -138 197 -378q25 30 60 30q45 0 100 -49q90 -80 90 -279z" />-<glyph unicode="" d="M917 631q0 33 -6 64h-362v-132h217q-12 -76 -74.5 -120.5t-142.5 -44.5q-99 0 -169 71.5t-70 170.5t70 170.5t169 71.5q93 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585h109v110 h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />-<glyph unicode="" d="M1536 1024v-839q0 -48 -49 -62q-174 -52 -338 -52q-73 0 -215.5 29.5t-227.5 29.5q-164 0 -370 -48v-338h-160v1368q-63 25 -101 81t-38 124q0 91 64 155t155 64t155 -64t64 -155q0 -68 -38 -124t-101 -81v-68q190 44 343 44q99 0 198 -15q14 -2 111.5 -22.5t149.5 -20.5 q77 0 165 18q11 2 80 21t89 19q26 0 45 -19t19 -45z" />-<glyph unicode="" horiz-adv-x="1792" />-<glyph unicode="" horiz-adv-x="1792" />-<glyph unicode="" horiz-adv-x="1792" />-<glyph unicode="" horiz-adv-x="1792" />-<glyph unicode="" horiz-adv-x="1792" />-<glyph unicode="" horiz-adv-x="1792" />-<glyph unicode="" horiz-adv-x="1792" />-<glyph unicode="" horiz-adv-x="1792" />-<glyph unicode="" horiz-adv-x="1792" />-<glyph unicode="" horiz-adv-x="1792" />-<glyph unicode="" horiz-adv-x="1792" />-</font>-</defs></svg>
binary file changed (152796 → absent bytes)
binary file changed (90412 → absent bytes)
@@ -1,10074 +0,0 @@-/*eslint-disable no-unused-vars*/-/*!- * jQuery JavaScript Library v3.1.0- * https://jquery.com/- *- * Includes Sizzle.js- * https://sizzlejs.com/- *- * Copyright jQuery Foundation and other contributors- * Released under the MIT license- * https://jquery.org/license- *- * Date: 2016-07-07T21:44Z- */-( function( global, factory ) {-- "use strict";-- if ( typeof module === "object" && typeof module.exports === "object" ) {-- // For CommonJS and CommonJS-like environments where a proper `window`- // is present, execute the factory and get jQuery.- // For environments that do not have a `window` with a `document`- // (such as Node.js), expose a factory as module.exports.- // This accentuates the need for the creation of a real `window`.- // e.g. var jQuery = require("jquery")(window);- // See ticket #14549 for more info.- module.exports = global.document ?- factory( global, true ) :- function( w ) {- if ( !w.document ) {- throw new Error( "jQuery requires a window with a document" );- }- return factory( w );- };- } else {- factory( global );- }--// Pass this if window is not defined yet-} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {--// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1-// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode-// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common-// enough that all such attempts are guarded in a try block.-"use strict";--var arr = [];--var document = window.document;--var getProto = Object.getPrototypeOf;--var slice = arr.slice;--var concat = arr.concat;--var push = arr.push;--var indexOf = arr.indexOf;--var class2type = {};--var toString = class2type.toString;--var hasOwn = class2type.hasOwnProperty;--var fnToString = hasOwn.toString;--var ObjectFunctionString = fnToString.call( Object );--var support = {};---- function DOMEval( code, doc ) {- doc = doc || document;-- var script = doc.createElement( "script" );-- script.text = code;- doc.head.appendChild( script ).parentNode.removeChild( script );- }-/* global Symbol */-// Defining this global in .eslintrc would create a danger of using the global-// unguarded in another place, it seems safer to define global only for this module----var- version = "3.1.0",-- // Define a local copy of jQuery- jQuery = function( selector, context ) {-- // The jQuery object is actually just the init constructor 'enhanced'- // Need init if jQuery is called (just allow error to be thrown if not included)- return new jQuery.fn.init( selector, context );- },-- // Support: Android <=4.0 only- // Make sure we trim BOM and NBSP- rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,-- // Matches dashed string for camelizing- rmsPrefix = /^-ms-/,- rdashAlpha = /-([a-z])/g,-- // Used by jQuery.camelCase as callback to replace()- fcamelCase = function( all, letter ) {- return letter.toUpperCase();- };--jQuery.fn = jQuery.prototype = {-- // The current version of jQuery being used- jquery: version,-- constructor: jQuery,-- // The default length of a jQuery object is 0- length: 0,-- toArray: function() {- return slice.call( this );- },-- // Get the Nth element in the matched element set OR- // Get the whole matched element set as a clean array- get: function( num ) {- return num != null ?-- // Return just the one element from the set- ( num < 0 ? this[ num + this.length ] : this[ num ] ) :-- // Return all the elements in a clean array- slice.call( this );- },-- // Take an array of elements and push it onto the stack- // (returning the new matched element set)- pushStack: function( elems ) {-- // Build a new jQuery matched element set- var ret = jQuery.merge( this.constructor(), elems );-- // Add the old object onto the stack (as a reference)- ret.prevObject = this;-- // Return the newly-formed element set- return ret;- },-- // Execute a callback for every element in the matched set.- each: function( callback ) {- return jQuery.each( this, callback );- },-- map: function( callback ) {- return this.pushStack( jQuery.map( this, function( elem, i ) {- return callback.call( elem, i, elem );- } ) );- },-- slice: function() {- return this.pushStack( slice.apply( this, arguments ) );- },-- first: function() {- return this.eq( 0 );- },-- last: function() {- return this.eq( -1 );- },-- eq: function( i ) {- var len = this.length,- j = +i + ( i < 0 ? len : 0 );- return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );- },-- end: function() {- return this.prevObject || this.constructor();- },-- // For internal use only.- // Behaves like an Array's method, not like a jQuery method.- push: push,- sort: arr.sort,- splice: arr.splice-};--jQuery.extend = jQuery.fn.extend = function() {- var options, name, src, copy, copyIsArray, clone,- target = arguments[ 0 ] || {},- i = 1,- length = arguments.length,- deep = false;-- // Handle a deep copy situation- if ( typeof target === "boolean" ) {- deep = target;-- // Skip the boolean and the target- target = arguments[ i ] || {};- i++;- }-- // Handle case when target is a string or something (possible in deep copy)- if ( typeof target !== "object" && !jQuery.isFunction( target ) ) {- target = {};- }-- // Extend jQuery itself if only one argument is passed- if ( i === length ) {- target = this;- i--;- }-- for ( ; i < length; i++ ) {-- // Only deal with non-null/undefined values- if ( ( options = arguments[ i ] ) != null ) {-- // Extend the base object- for ( name in options ) {- src = target[ name ];- copy = options[ name ];-- // Prevent never-ending loop- if ( target === copy ) {- continue;- }-- // Recurse if we're merging plain objects or arrays- if ( deep && copy && ( jQuery.isPlainObject( copy ) ||- ( copyIsArray = jQuery.isArray( copy ) ) ) ) {-- if ( copyIsArray ) {- copyIsArray = false;- clone = src && jQuery.isArray( src ) ? src : [];-- } else {- clone = src && jQuery.isPlainObject( src ) ? src : {};- }-- // Never move original objects, clone them- target[ name ] = jQuery.extend( deep, clone, copy );-- // Don't bring in undefined values- } else if ( copy !== undefined ) {- target[ name ] = copy;- }- }- }- }-- // Return the modified object- return target;-};--jQuery.extend( {-- // Unique for each copy of jQuery on the page- expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),-- // Assume jQuery is ready without the ready module- isReady: true,-- error: function( msg ) {- throw new Error( msg );- },-- noop: function() {},-- isFunction: function( obj ) {- return jQuery.type( obj ) === "function";- },-- isArray: Array.isArray,-- isWindow: function( obj ) {- return obj != null && obj === obj.window;- },-- isNumeric: function( obj ) {-- // As of jQuery 3.0, isNumeric is limited to- // strings and numbers (primitives or objects)- // that can be coerced to finite numbers (gh-2662)- var type = jQuery.type( obj );- return ( type === "number" || type === "string" ) &&-- // parseFloat NaNs numeric-cast false positives ("")- // ...but misinterprets leading-number strings, particularly hex literals ("0x...")- // subtraction forces infinities to NaN- !isNaN( obj - parseFloat( obj ) );- },-- isPlainObject: function( obj ) {- var proto, Ctor;-- // Detect obvious negatives- // Use toString instead of jQuery.type to catch host objects- if ( !obj || toString.call( obj ) !== "[object Object]" ) {- return false;- }-- proto = getProto( obj );-- // Objects with no prototype (e.g., `Object.create( null )`) are plain- if ( !proto ) {- return true;- }-- // Objects with prototype are plain iff they were constructed by a global Object function- Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;- return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;- },-- isEmptyObject: function( obj ) {-- /* eslint-disable no-unused-vars */- // See https://github.com/eslint/eslint/issues/6125- var name;-- for ( name in obj ) {- return false;- }- return true;- },-- type: function( obj ) {- if ( obj == null ) {- return obj + "";- }-- // Support: Android <=2.3 only (functionish RegExp)- return typeof obj === "object" || typeof obj === "function" ?- class2type[ toString.call( obj ) ] || "object" :- typeof obj;- },-- // Evaluates a script in a global context- globalEval: function( code ) {- DOMEval( code );- },-- // Convert dashed to camelCase; used by the css and data modules- // Support: IE <=9 - 11, Edge 12 - 13- // Microsoft forgot to hump their vendor prefix (#9572)- camelCase: function( string ) {- return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );- },-- nodeName: function( elem, name ) {- return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();- },-- each: function( obj, callback ) {- var length, i = 0;-- if ( isArrayLike( obj ) ) {- length = obj.length;- for ( ; i < length; i++ ) {- if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {- break;- }- }- } else {- for ( i in obj ) {- if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {- break;- }- }- }-- return obj;- },-- // Support: Android <=4.0 only- trim: function( text ) {- return text == null ?- "" :- ( text + "" ).replace( rtrim, "" );- },-- // results is for internal usage only- makeArray: function( arr, results ) {- var ret = results || [];-- if ( arr != null ) {- if ( isArrayLike( Object( arr ) ) ) {- jQuery.merge( ret,- typeof arr === "string" ?- [ arr ] : arr- );- } else {- push.call( ret, arr );- }- }-- return ret;- },-- inArray: function( elem, arr, i ) {- return arr == null ? -1 : indexOf.call( arr, elem, i );- },-- // Support: Android <=4.0 only, PhantomJS 1 only- // push.apply(_, arraylike) throws on ancient WebKit- merge: function( first, second ) {- var len = +second.length,- j = 0,- i = first.length;-- for ( ; j < len; j++ ) {- first[ i++ ] = second[ j ];- }-- first.length = i;-- return first;- },-- grep: function( elems, callback, invert ) {- var callbackInverse,- matches = [],- i = 0,- length = elems.length,- callbackExpect = !invert;-- // Go through the array, only saving the items- // that pass the validator function- for ( ; i < length; i++ ) {- callbackInverse = !callback( elems[ i ], i );- if ( callbackInverse !== callbackExpect ) {- matches.push( elems[ i ] );- }- }-- return matches;- },-- // arg is for internal usage only- map: function( elems, callback, arg ) {- var length, value,- i = 0,- ret = [];-- // Go through the array, translating each of the items to their new values- if ( isArrayLike( elems ) ) {- length = elems.length;- for ( ; i < length; i++ ) {- value = callback( elems[ i ], i, arg );-- if ( value != null ) {- ret.push( value );- }- }-- // Go through every key on the object,- } else {- for ( i in elems ) {- value = callback( elems[ i ], i, arg );-- if ( value != null ) {- ret.push( value );- }- }- }-- // Flatten any nested arrays- return concat.apply( [], ret );- },-- // A global GUID counter for objects- guid: 1,-- // Bind a function to a context, optionally partially applying any- // arguments.- proxy: function( fn, context ) {- var tmp, args, proxy;-- if ( typeof context === "string" ) {- tmp = fn[ context ];- context = fn;- fn = tmp;- }-- // Quick check to determine if target is callable, in the spec- // this throws a TypeError, but we will just return undefined.- if ( !jQuery.isFunction( fn ) ) {- return undefined;- }-- // Simulated bind- args = slice.call( arguments, 2 );- proxy = function() {- return fn.apply( context || this, args.concat( slice.call( arguments ) ) );- };-- // Set the guid of unique handler to the same of original handler, so it can be removed- proxy.guid = fn.guid = fn.guid || jQuery.guid++;-- return proxy;- },-- now: Date.now,-- // jQuery.support is not used in Core but other projects attach their- // properties to it so it needs to exist.- support: support-} );--if ( typeof Symbol === "function" ) {- jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];-}--// Populate the class2type map-jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),-function( i, name ) {- class2type[ "[object " + name + "]" ] = name.toLowerCase();-} );--function isArrayLike( obj ) {-- // Support: real iOS 8.2 only (not reproducible in simulator)- // `in` check used to prevent JIT error (gh-2145)- // hasOwn isn't used here due to false negatives- // regarding Nodelist length in IE- var length = !!obj && "length" in obj && obj.length,- type = jQuery.type( obj );-- if ( type === "function" || jQuery.isWindow( obj ) ) {- return false;- }-- return type === "array" || length === 0 ||- typeof length === "number" && length > 0 && ( length - 1 ) in obj;-}-var Sizzle =-/*!- * Sizzle CSS Selector Engine v2.3.0- * https://sizzlejs.com/- *- * Copyright jQuery Foundation and other contributors- * Released under the MIT license- * http://jquery.org/license- *- * Date: 2016-01-04- */-(function( window ) {--var i,- support,- Expr,- getText,- isXML,- tokenize,- compile,- select,- outermostContext,- sortInput,- hasDuplicate,-- // Local document vars- setDocument,- document,- docElem,- documentIsHTML,- rbuggyQSA,- rbuggyMatches,- matches,- contains,-- // Instance-specific data- expando = "sizzle" + 1 * new Date(),- preferredDoc = window.document,- dirruns = 0,- done = 0,- classCache = createCache(),- tokenCache = createCache(),- compilerCache = createCache(),- sortOrder = function( a, b ) {- if ( a === b ) {- hasDuplicate = true;- }- return 0;- },-- // Instance methods- hasOwn = ({}).hasOwnProperty,- arr = [],- pop = arr.pop,- push_native = arr.push,- push = arr.push,- slice = arr.slice,- // Use a stripped-down indexOf as it's faster than native- // https://jsperf.com/thor-indexof-vs-for/5- indexOf = function( list, elem ) {- var i = 0,- len = list.length;- for ( ; i < len; i++ ) {- if ( list[i] === elem ) {- return i;- }- }- return -1;- },-- booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",-- // Regular expressions-- // http://www.w3.org/TR/css3-selectors/#whitespace- whitespace = "[\\x20\\t\\r\\n\\f]",-- // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier- identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",-- // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors- attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +- // Operator (capture 2)- "*([*^$|!~]?=)" + whitespace +- // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"- "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +- "*\\]",-- pseudos = ":(" + identifier + ")(?:\\((" +- // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:- // 1. quoted (capture 3; capture 4 or capture 5)- "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +- // 2. simple (capture 6)- "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +- // 3. anything else (capture 2)- ".*" +- ")\\)|)",-- // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter- rwhitespace = new RegExp( whitespace + "+", "g" ),- rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),-- rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),- rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),-- rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),-- rpseudo = new RegExp( pseudos ),- ridentifier = new RegExp( "^" + identifier + "$" ),-- matchExpr = {- "ID": new RegExp( "^#(" + identifier + ")" ),- "CLASS": new RegExp( "^\\.(" + identifier + ")" ),- "TAG": new RegExp( "^(" + identifier + "|[*])" ),- "ATTR": new RegExp( "^" + attributes ),- "PSEUDO": new RegExp( "^" + pseudos ),- "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +- "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +- "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),- "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),- // For use in libraries implementing .is()- // We use this for POS matching in `select`- "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +- whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )- },-- rinputs = /^(?:input|select|textarea|button)$/i,- rheader = /^h\d$/i,-- rnative = /^[^{]+\{\s*\[native \w/,-- // Easily-parseable/retrievable ID or TAG or CLASS selectors- rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,-- rsibling = /[+~]/,-- // CSS escapes- // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters- runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),- funescape = function( _, escaped, escapedWhitespace ) {- var high = "0x" + escaped - 0x10000;- // NaN means non-codepoint- // Support: Firefox<24- // Workaround erroneous numeric interpretation of +"0x"- return high !== high || escapedWhitespace ?- escaped :- high < 0 ?- // BMP codepoint- String.fromCharCode( high + 0x10000 ) :- // Supplemental Plane codepoint (surrogate pair)- String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );- },-- // CSS string/identifier serialization- // https://drafts.csswg.org/cssom/#common-serializing-idioms- rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,- fcssescape = function( ch, asCodePoint ) {- if ( asCodePoint ) {-- // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER- if ( ch === "\0" ) {- return "\uFFFD";- }-- // Control characters and (dependent upon position) numbers get escaped as code points- return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";- }-- // Other potentially-special ASCII characters get backslash-escaped- return "\\" + ch;- },-- // Used for iframes- // See setDocument()- // Removing the function wrapper causes a "Permission Denied"- // error in IE- unloadHandler = function() {- setDocument();- },-- disabledAncestor = addCombinator(- function( elem ) {- return elem.disabled === true;- },- { dir: "parentNode", next: "legend" }- );--// Optimize for push.apply( _, NodeList )-try {- push.apply(- (arr = slice.call( preferredDoc.childNodes )),- preferredDoc.childNodes- );- // Support: Android<4.0- // Detect silently failing push.apply- arr[ preferredDoc.childNodes.length ].nodeType;-} catch ( e ) {- push = { apply: arr.length ?-- // Leverage slice if possible- function( target, els ) {- push_native.apply( target, slice.call(els) );- } :-- // Support: IE<9- // Otherwise append directly- function( target, els ) {- var j = target.length,- i = 0;- // Can't trust NodeList.length- while ( (target[j++] = els[i++]) ) {}- target.length = j - 1;- }- };-}--function Sizzle( selector, context, results, seed ) {- var m, i, elem, nid, match, groups, newSelector,- newContext = context && context.ownerDocument,-- // nodeType defaults to 9, since context defaults to document- nodeType = context ? context.nodeType : 9;-- results = results || [];-- // Return early from calls with invalid selector or context- if ( typeof selector !== "string" || !selector ||- nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {-- return results;- }-- // Try to shortcut find operations (as opposed to filters) in HTML documents- if ( !seed ) {-- if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {- setDocument( context );- }- context = context || document;-- if ( documentIsHTML ) {-- // If the selector is sufficiently simple, try using a "get*By*" DOM method- // (excepting DocumentFragment context, where the methods don't exist)- if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {-- // ID selector- if ( (m = match[1]) ) {-- // Document context- if ( nodeType === 9 ) {- if ( (elem = context.getElementById( m )) ) {-- // Support: IE, Opera, Webkit- // TODO: identify versions- // getElementById can match elements by name instead of ID- if ( elem.id === m ) {- results.push( elem );- return results;- }- } else {- return results;- }-- // Element context- } else {-- // Support: IE, Opera, Webkit- // TODO: identify versions- // getElementById can match elements by name instead of ID- if ( newContext && (elem = newContext.getElementById( m )) &&- contains( context, elem ) &&- elem.id === m ) {-- results.push( elem );- return results;- }- }-- // Type selector- } else if ( match[2] ) {- push.apply( results, context.getElementsByTagName( selector ) );- return results;-- // Class selector- } else if ( (m = match[3]) && support.getElementsByClassName &&- context.getElementsByClassName ) {-- push.apply( results, context.getElementsByClassName( m ) );- return results;- }- }-- // Take advantage of querySelectorAll- if ( support.qsa &&- !compilerCache[ selector + " " ] &&- (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {-- if ( nodeType !== 1 ) {- newContext = context;- newSelector = selector;-- // qSA looks outside Element context, which is not what we want- // Thanks to Andrew Dupont for this workaround technique- // Support: IE <=8- // Exclude object elements- } else if ( context.nodeName.toLowerCase() !== "object" ) {-- // Capture the context ID, setting it first if necessary- if ( (nid = context.getAttribute( "id" )) ) {- nid = nid.replace( rcssescape, fcssescape );- } else {- context.setAttribute( "id", (nid = expando) );- }-- // Prefix every selector in the list- groups = tokenize( selector );- i = groups.length;- while ( i-- ) {- groups[i] = "#" + nid + " " + toSelector( groups[i] );- }- newSelector = groups.join( "," );-- // Expand context for sibling selectors- newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||- context;- }-- if ( newSelector ) {- try {- push.apply( results,- newContext.querySelectorAll( newSelector )- );- return results;- } catch ( qsaError ) {- } finally {- if ( nid === expando ) {- context.removeAttribute( "id" );- }- }- }- }- }- }-- // All others- return select( selector.replace( rtrim, "$1" ), context, results, seed );-}--/**- * Create key-value caches of limited size- * @returns {function(string, object)} Returns the Object data after storing it on itself with- * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)- * deleting the oldest entry- */-function createCache() {- var keys = [];-- function cache( key, value ) {- // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)- if ( keys.push( key + " " ) > Expr.cacheLength ) {- // Only keep the most recent entries- delete cache[ keys.shift() ];- }- return (cache[ key + " " ] = value);- }- return cache;-}--/**- * Mark a function for special use by Sizzle- * @param {Function} fn The function to mark- */-function markFunction( fn ) {- fn[ expando ] = true;- return fn;-}--/**- * Support testing using an element- * @param {Function} fn Passed the created element and returns a boolean result- */-function assert( fn ) {- var el = document.createElement("fieldset");-- try {- return !!fn( el );- } catch (e) {- return false;- } finally {- // Remove from its parent by default- if ( el.parentNode ) {- el.parentNode.removeChild( el );- }- // release memory in IE- el = null;- }-}--/**- * Adds the same handler for all of the specified attrs- * @param {String} attrs Pipe-separated list of attributes- * @param {Function} handler The method that will be applied- */-function addHandle( attrs, handler ) {- var arr = attrs.split("|"),- i = arr.length;-- while ( i-- ) {- Expr.attrHandle[ arr[i] ] = handler;- }-}--/**- * Checks document order of two siblings- * @param {Element} a- * @param {Element} b- * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b- */-function siblingCheck( a, b ) {- var cur = b && a,- diff = cur && a.nodeType === 1 && b.nodeType === 1 &&- a.sourceIndex - b.sourceIndex;-- // Use IE sourceIndex if available on both nodes- if ( diff ) {- return diff;- }-- // Check if b follows a- if ( cur ) {- while ( (cur = cur.nextSibling) ) {- if ( cur === b ) {- return -1;- }- }- }-- return a ? 1 : -1;-}--/**- * Returns a function to use in pseudos for input types- * @param {String} type- */-function createInputPseudo( type ) {- return function( elem ) {- var name = elem.nodeName.toLowerCase();- return name === "input" && elem.type === type;- };-}--/**- * Returns a function to use in pseudos for buttons- * @param {String} type- */-function createButtonPseudo( type ) {- return function( elem ) {- var name = elem.nodeName.toLowerCase();- return (name === "input" || name === "button") && elem.type === type;- };-}--/**- * Returns a function to use in pseudos for :enabled/:disabled- * @param {Boolean} disabled true for :disabled; false for :enabled- */-function createDisabledPseudo( disabled ) {- // Known :disabled false positives:- // IE: *[disabled]:not(button, input, select, textarea, optgroup, option, menuitem, fieldset)- // not IE: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable- return function( elem ) {-- // Check form elements and option elements for explicit disabling- return "label" in elem && elem.disabled === disabled ||- "form" in elem && elem.disabled === disabled ||-- // Check non-disabled form elements for fieldset[disabled] ancestors- "form" in elem && elem.disabled === false && (- // Support: IE6-11+- // Ancestry is covered for us- elem.isDisabled === disabled ||-- // Otherwise, assume any non-<option> under fieldset[disabled] is disabled- /* jshint -W018 */- elem.isDisabled !== !disabled &&- ("label" in elem || !disabledAncestor( elem )) !== disabled- );- };-}--/**- * Returns a function to use in pseudos for positionals- * @param {Function} fn- */-function createPositionalPseudo( fn ) {- return markFunction(function( argument ) {- argument = +argument;- return markFunction(function( seed, matches ) {- var j,- matchIndexes = fn( [], seed.length, argument ),- i = matchIndexes.length;-- // Match elements found at the specified indexes- while ( i-- ) {- if ( seed[ (j = matchIndexes[i]) ] ) {- seed[j] = !(matches[j] = seed[j]);- }- }- });- });-}--/**- * Checks a node for validity as a Sizzle context- * @param {Element|Object=} context- * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value- */-function testContext( context ) {- return context && typeof context.getElementsByTagName !== "undefined" && context;-}--// Expose support vars for convenience-support = Sizzle.support = {};--/**- * Detects XML nodes- * @param {Element|Object} elem An element or a document- * @returns {Boolean} True iff elem is a non-HTML XML node- */-isXML = Sizzle.isXML = function( elem ) {- // documentElement is verified for cases where it doesn't yet exist- // (such as loading iframes in IE - #4833)- var documentElement = elem && (elem.ownerDocument || elem).documentElement;- return documentElement ? documentElement.nodeName !== "HTML" : false;-};--/**- * Sets document-related variables once based on the current document- * @param {Element|Object} [doc] An element or document object to use to set the document- * @returns {Object} Returns the current document- */-setDocument = Sizzle.setDocument = function( node ) {- var hasCompare, subWindow,- doc = node ? node.ownerDocument || node : preferredDoc;-- // Return early if doc is invalid or already selected- if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {- return document;- }-- // Update global variables- document = doc;- docElem = document.documentElement;- documentIsHTML = !isXML( document );-- // Support: IE 9-11, Edge- // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)- if ( preferredDoc !== document &&- (subWindow = document.defaultView) && subWindow.top !== subWindow ) {-- // Support: IE 11, Edge- if ( subWindow.addEventListener ) {- subWindow.addEventListener( "unload", unloadHandler, false );-- // Support: IE 9 - 10 only- } else if ( subWindow.attachEvent ) {- subWindow.attachEvent( "onunload", unloadHandler );- }- }-- /* Attributes- ---------------------------------------------------------------------- */-- // Support: IE<8- // Verify that getAttribute really returns attributes and not properties- // (excepting IE8 booleans)- support.attributes = assert(function( el ) {- el.className = "i";- return !el.getAttribute("className");- });-- /* getElement(s)By*- ---------------------------------------------------------------------- */-- // Check if getElementsByTagName("*") returns only elements- support.getElementsByTagName = assert(function( el ) {- el.appendChild( document.createComment("") );- return !el.getElementsByTagName("*").length;- });-- // Support: IE<9- support.getElementsByClassName = rnative.test( document.getElementsByClassName );-- // Support: IE<10- // Check if getElementById returns elements by name- // The broken getElementById methods don't pick up programmatically-set names,- // so use a roundabout getElementsByName test- support.getById = assert(function( el ) {- docElem.appendChild( el ).id = expando;- return !document.getElementsByName || !document.getElementsByName( expando ).length;- });-- // ID find and filter- if ( support.getById ) {- Expr.find["ID"] = function( id, context ) {- if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {- var m = context.getElementById( id );- return m ? [ m ] : [];- }- };- Expr.filter["ID"] = function( id ) {- var attrId = id.replace( runescape, funescape );- return function( elem ) {- return elem.getAttribute("id") === attrId;- };- };- } else {- // Support: IE6/7- // getElementById is not reliable as a find shortcut- delete Expr.find["ID"];-- Expr.filter["ID"] = function( id ) {- var attrId = id.replace( runescape, funescape );- return function( elem ) {- var node = typeof elem.getAttributeNode !== "undefined" &&- elem.getAttributeNode("id");- return node && node.value === attrId;- };- };- }-- // Tag- Expr.find["TAG"] = support.getElementsByTagName ?- function( tag, context ) {- if ( typeof context.getElementsByTagName !== "undefined" ) {- return context.getElementsByTagName( tag );-- // DocumentFragment nodes don't have gEBTN- } else if ( support.qsa ) {- return context.querySelectorAll( tag );- }- } :-- function( tag, context ) {- var elem,- tmp = [],- i = 0,- // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too- results = context.getElementsByTagName( tag );-- // Filter out possible comments- if ( tag === "*" ) {- while ( (elem = results[i++]) ) {- if ( elem.nodeType === 1 ) {- tmp.push( elem );- }- }-- return tmp;- }- return results;- };-- // Class- Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {- if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {- return context.getElementsByClassName( className );- }- };-- /* QSA/matchesSelector- ---------------------------------------------------------------------- */-- // QSA and matchesSelector support-- // matchesSelector(:active) reports false when true (IE9/Opera 11.5)- rbuggyMatches = [];-- // qSa(:focus) reports false when true (Chrome 21)- // We allow this because of a bug in IE8/9 that throws an error- // whenever `document.activeElement` is accessed on an iframe- // So, we allow :focus to pass through QSA all the time to avoid the IE error- // See https://bugs.jquery.com/ticket/13378- rbuggyQSA = [];-- if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {- // Build QSA regex- // Regex strategy adopted from Diego Perini- assert(function( el ) {- // Select is set to empty string on purpose- // This is to test IE's treatment of not explicitly- // setting a boolean content attribute,- // since its presence should be enough- // https://bugs.jquery.com/ticket/12359- docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +- "<select id='" + expando + "-\r\\' msallowcapture=''>" +- "<option selected=''></option></select>";-- // Support: IE8, Opera 11-12.16- // Nothing should be selected when empty strings follow ^= or $= or *=- // The test attribute must be unknown in Opera but "safe" for WinRT- // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section- if ( el.querySelectorAll("[msallowcapture^='']").length ) {- rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );- }-- // Support: IE8- // Boolean attributes and "value" are not treated correctly- if ( !el.querySelectorAll("[selected]").length ) {- rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );- }-- // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+- if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {- rbuggyQSA.push("~=");- }-- // Webkit/Opera - :checked should return selected option elements- // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked- // IE8 throws error here and will not see later tests- if ( !el.querySelectorAll(":checked").length ) {- rbuggyQSA.push(":checked");- }-- // Support: Safari 8+, iOS 8+- // https://bugs.webkit.org/show_bug.cgi?id=136851- // In-page `selector#id sibling-combinator selector` fails- if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {- rbuggyQSA.push(".#.+[+~]");- }- });-- assert(function( el ) {- el.innerHTML = "<a href='' disabled='disabled'></a>" +- "<select disabled='disabled'><option/></select>";-- // Support: Windows 8 Native Apps- // The type and name attributes are restricted during .innerHTML assignment- var input = document.createElement("input");- input.setAttribute( "type", "hidden" );- el.appendChild( input ).setAttribute( "name", "D" );-- // Support: IE8- // Enforce case-sensitivity of name attribute- if ( el.querySelectorAll("[name=d]").length ) {- rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );- }-- // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)- // IE8 throws error here and will not see later tests- if ( el.querySelectorAll(":enabled").length !== 2 ) {- rbuggyQSA.push( ":enabled", ":disabled" );- }-- // Support: IE9-11+- // IE's :disabled selector does not pick up the children of disabled fieldsets- docElem.appendChild( el ).disabled = true;- if ( el.querySelectorAll(":disabled").length !== 2 ) {- rbuggyQSA.push( ":enabled", ":disabled" );- }-- // Opera 10-11 does not throw on post-comma invalid pseudos- el.querySelectorAll("*,:x");- rbuggyQSA.push(",.*:");- });- }-- if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||- docElem.webkitMatchesSelector ||- docElem.mozMatchesSelector ||- docElem.oMatchesSelector ||- docElem.msMatchesSelector) )) ) {-- assert(function( el ) {- // Check to see if it's possible to do matchesSelector- // on a disconnected node (IE 9)- support.disconnectedMatch = matches.call( el, "*" );-- // This should fail with an exception- // Gecko does not error, returns false instead- matches.call( el, "[s!='']:x" );- rbuggyMatches.push( "!=", pseudos );- });- }-- rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );- rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );-- /* Contains- ---------------------------------------------------------------------- */- hasCompare = rnative.test( docElem.compareDocumentPosition );-- // Element contains another- // Purposefully self-exclusive- // As in, an element does not contain itself- contains = hasCompare || rnative.test( docElem.contains ) ?- function( a, b ) {- var adown = a.nodeType === 9 ? a.documentElement : a,- bup = b && b.parentNode;- return a === bup || !!( bup && bup.nodeType === 1 && (- adown.contains ?- adown.contains( bup ) :- a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16- ));- } :- function( a, b ) {- if ( b ) {- while ( (b = b.parentNode) ) {- if ( b === a ) {- return true;- }- }- }- return false;- };-- /* Sorting- ---------------------------------------------------------------------- */-- // Document order sorting- sortOrder = hasCompare ?- function( a, b ) {-- // Flag for duplicate removal- if ( a === b ) {- hasDuplicate = true;- return 0;- }-- // Sort on method existence if only one input has compareDocumentPosition- var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;- if ( compare ) {- return compare;- }-- // Calculate position if both inputs belong to the same document- compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?- a.compareDocumentPosition( b ) :-- // Otherwise we know they are disconnected- 1;-- // Disconnected nodes- if ( compare & 1 ||- (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {-- // Choose the first element that is related to our preferred document- if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {- return -1;- }- if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {- return 1;- }-- // Maintain original order- return sortInput ?- ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :- 0;- }-- return compare & 4 ? -1 : 1;- } :- function( a, b ) {- // Exit early if the nodes are identical- if ( a === b ) {- hasDuplicate = true;- return 0;- }-- var cur,- i = 0,- aup = a.parentNode,- bup = b.parentNode,- ap = [ a ],- bp = [ b ];-- // Parentless nodes are either documents or disconnected- if ( !aup || !bup ) {- return a === document ? -1 :- b === document ? 1 :- aup ? -1 :- bup ? 1 :- sortInput ?- ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :- 0;-- // If the nodes are siblings, we can do a quick check- } else if ( aup === bup ) {- return siblingCheck( a, b );- }-- // Otherwise we need full lists of their ancestors for comparison- cur = a;- while ( (cur = cur.parentNode) ) {- ap.unshift( cur );- }- cur = b;- while ( (cur = cur.parentNode) ) {- bp.unshift( cur );- }-- // Walk down the tree looking for a discrepancy- while ( ap[i] === bp[i] ) {- i++;- }-- return i ?- // Do a sibling check if the nodes have a common ancestor- siblingCheck( ap[i], bp[i] ) :-- // Otherwise nodes in our document sort first- ap[i] === preferredDoc ? -1 :- bp[i] === preferredDoc ? 1 :- 0;- };-- return document;-};--Sizzle.matches = function( expr, elements ) {- return Sizzle( expr, null, null, elements );-};--Sizzle.matchesSelector = function( elem, expr ) {- // Set document vars if needed- if ( ( elem.ownerDocument || elem ) !== document ) {- setDocument( elem );- }-- // Make sure that attribute selectors are quoted- expr = expr.replace( rattributeQuotes, "='$1']" );-- if ( support.matchesSelector && documentIsHTML &&- !compilerCache[ expr + " " ] &&- ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&- ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {-- try {- var ret = matches.call( elem, expr );-- // IE 9's matchesSelector returns false on disconnected nodes- if ( ret || support.disconnectedMatch ||- // As well, disconnected nodes are said to be in a document- // fragment in IE 9- elem.document && elem.document.nodeType !== 11 ) {- return ret;- }- } catch (e) {}- }-- return Sizzle( expr, document, null, [ elem ] ).length > 0;-};--Sizzle.contains = function( context, elem ) {- // Set document vars if needed- if ( ( context.ownerDocument || context ) !== document ) {- setDocument( context );- }- return contains( context, elem );-};--Sizzle.attr = function( elem, name ) {- // Set document vars if needed- if ( ( elem.ownerDocument || elem ) !== document ) {- setDocument( elem );- }-- var fn = Expr.attrHandle[ name.toLowerCase() ],- // Don't get fooled by Object.prototype properties (jQuery #13807)- val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?- fn( elem, name, !documentIsHTML ) :- undefined;-- return val !== undefined ?- val :- support.attributes || !documentIsHTML ?- elem.getAttribute( name ) :- (val = elem.getAttributeNode(name)) && val.specified ?- val.value :- null;-};--Sizzle.escape = function( sel ) {- return (sel + "").replace( rcssescape, fcssescape );-};--Sizzle.error = function( msg ) {- throw new Error( "Syntax error, unrecognized expression: " + msg );-};--/**- * Document sorting and removing duplicates- * @param {ArrayLike} results- */-Sizzle.uniqueSort = function( results ) {- var elem,- duplicates = [],- j = 0,- i = 0;-- // Unless we *know* we can detect duplicates, assume their presence- hasDuplicate = !support.detectDuplicates;- sortInput = !support.sortStable && results.slice( 0 );- results.sort( sortOrder );-- if ( hasDuplicate ) {- while ( (elem = results[i++]) ) {- if ( elem === results[ i ] ) {- j = duplicates.push( i );- }- }- while ( j-- ) {- results.splice( duplicates[ j ], 1 );- }- }-- // Clear input after sorting to release objects- // See https://github.com/jquery/sizzle/pull/225- sortInput = null;-- return results;-};--/**- * Utility function for retrieving the text value of an array of DOM nodes- * @param {Array|Element} elem- */-getText = Sizzle.getText = function( elem ) {- var node,- ret = "",- i = 0,- nodeType = elem.nodeType;-- if ( !nodeType ) {- // If no nodeType, this is expected to be an array- while ( (node = elem[i++]) ) {- // Do not traverse comment nodes- ret += getText( node );- }- } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {- // Use textContent for elements- // innerText usage removed for consistency of new lines (jQuery #11153)- if ( typeof elem.textContent === "string" ) {- return elem.textContent;- } else {- // Traverse its children- for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {- ret += getText( elem );- }- }- } else if ( nodeType === 3 || nodeType === 4 ) {- return elem.nodeValue;- }- // Do not include comment or processing instruction nodes-- return ret;-};--Expr = Sizzle.selectors = {-- // Can be adjusted by the user- cacheLength: 50,-- createPseudo: markFunction,-- match: matchExpr,-- attrHandle: {},-- find: {},-- relative: {- ">": { dir: "parentNode", first: true },- " ": { dir: "parentNode" },- "+": { dir: "previousSibling", first: true },- "~": { dir: "previousSibling" }- },-- preFilter: {- "ATTR": function( match ) {- match[1] = match[1].replace( runescape, funescape );-- // Move the given value to match[3] whether quoted or unquoted- match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );-- if ( match[2] === "~=" ) {- match[3] = " " + match[3] + " ";- }-- return match.slice( 0, 4 );- },-- "CHILD": function( match ) {- /* matches from matchExpr["CHILD"]- 1 type (only|nth|...)- 2 what (child|of-type)- 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)- 4 xn-component of xn+y argument ([+-]?\d*n|)- 5 sign of xn-component- 6 x of xn-component- 7 sign of y-component- 8 y of y-component- */- match[1] = match[1].toLowerCase();-- if ( match[1].slice( 0, 3 ) === "nth" ) {- // nth-* requires argument- if ( !match[3] ) {- Sizzle.error( match[0] );- }-- // numeric x and y parameters for Expr.filter.CHILD- // remember that false/true cast respectively to 0/1- match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );- match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );-- // other types prohibit arguments- } else if ( match[3] ) {- Sizzle.error( match[0] );- }-- return match;- },-- "PSEUDO": function( match ) {- var excess,- unquoted = !match[6] && match[2];-- if ( matchExpr["CHILD"].test( match[0] ) ) {- return null;- }-- // Accept quoted arguments as-is- if ( match[3] ) {- match[2] = match[4] || match[5] || "";-- // Strip excess characters from unquoted arguments- } else if ( unquoted && rpseudo.test( unquoted ) &&- // Get excess from tokenize (recursively)- (excess = tokenize( unquoted, true )) &&- // advance to the next closing parenthesis- (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {-- // excess is a negative index- match[0] = match[0].slice( 0, excess );- match[2] = unquoted.slice( 0, excess );- }-- // Return only captures needed by the pseudo filter method (type and argument)- return match.slice( 0, 3 );- }- },-- filter: {-- "TAG": function( nodeNameSelector ) {- var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();- return nodeNameSelector === "*" ?- function() { return true; } :- function( elem ) {- return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;- };- },-- "CLASS": function( className ) {- var pattern = classCache[ className + " " ];-- return pattern ||- (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&- classCache( className, function( elem ) {- return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );- });- },-- "ATTR": function( name, operator, check ) {- return function( elem ) {- var result = Sizzle.attr( elem, name );-- if ( result == null ) {- return operator === "!=";- }- if ( !operator ) {- return true;- }-- result += "";-- return operator === "=" ? result === check :- operator === "!=" ? result !== check :- operator === "^=" ? check && result.indexOf( check ) === 0 :- operator === "*=" ? check && result.indexOf( check ) > -1 :- operator === "$=" ? check && result.slice( -check.length ) === check :- operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :- operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :- false;- };- },-- "CHILD": function( type, what, argument, first, last ) {- var simple = type.slice( 0, 3 ) !== "nth",- forward = type.slice( -4 ) !== "last",- ofType = what === "of-type";-- return first === 1 && last === 0 ?-- // Shortcut for :nth-*(n)- function( elem ) {- return !!elem.parentNode;- } :-- function( elem, context, xml ) {- var cache, uniqueCache, outerCache, node, nodeIndex, start,- dir = simple !== forward ? "nextSibling" : "previousSibling",- parent = elem.parentNode,- name = ofType && elem.nodeName.toLowerCase(),- useCache = !xml && !ofType,- diff = false;-- if ( parent ) {-- // :(first|last|only)-(child|of-type)- if ( simple ) {- while ( dir ) {- node = elem;- while ( (node = node[ dir ]) ) {- if ( ofType ?- node.nodeName.toLowerCase() === name :- node.nodeType === 1 ) {-- return false;- }- }- // Reverse direction for :only-* (if we haven't yet done so)- start = dir = type === "only" && !start && "nextSibling";- }- return true;- }-- start = [ forward ? parent.firstChild : parent.lastChild ];-- // non-xml :nth-child(...) stores cache data on `parent`- if ( forward && useCache ) {-- // Seek `elem` from a previously-cached index-- // ...in a gzip-friendly way- node = parent;- outerCache = node[ expando ] || (node[ expando ] = {});-- // Support: IE <9 only- // Defend against cloned attroperties (jQuery gh-1709)- uniqueCache = outerCache[ node.uniqueID ] ||- (outerCache[ node.uniqueID ] = {});-- cache = uniqueCache[ type ] || [];- nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];- diff = nodeIndex && cache[ 2 ];- node = nodeIndex && parent.childNodes[ nodeIndex ];-- while ( (node = ++nodeIndex && node && node[ dir ] ||-- // Fallback to seeking `elem` from the start- (diff = nodeIndex = 0) || start.pop()) ) {-- // When found, cache indexes on `parent` and break- if ( node.nodeType === 1 && ++diff && node === elem ) {- uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];- break;- }- }-- } else {- // Use previously-cached element index if available- if ( useCache ) {- // ...in a gzip-friendly way- node = elem;- outerCache = node[ expando ] || (node[ expando ] = {});-- // Support: IE <9 only- // Defend against cloned attroperties (jQuery gh-1709)- uniqueCache = outerCache[ node.uniqueID ] ||- (outerCache[ node.uniqueID ] = {});-- cache = uniqueCache[ type ] || [];- nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];- diff = nodeIndex;- }-- // xml :nth-child(...)- // or :nth-last-child(...) or :nth(-last)?-of-type(...)- if ( diff === false ) {- // Use the same loop as above to seek `elem` from the start- while ( (node = ++nodeIndex && node && node[ dir ] ||- (diff = nodeIndex = 0) || start.pop()) ) {-- if ( ( ofType ?- node.nodeName.toLowerCase() === name :- node.nodeType === 1 ) &&- ++diff ) {-- // Cache the index of each encountered element- if ( useCache ) {- outerCache = node[ expando ] || (node[ expando ] = {});-- // Support: IE <9 only- // Defend against cloned attroperties (jQuery gh-1709)- uniqueCache = outerCache[ node.uniqueID ] ||- (outerCache[ node.uniqueID ] = {});-- uniqueCache[ type ] = [ dirruns, diff ];- }-- if ( node === elem ) {- break;- }- }- }- }- }-- // Incorporate the offset, then check against cycle size- diff -= last;- return diff === first || ( diff % first === 0 && diff / first >= 0 );- }- };- },-- "PSEUDO": function( pseudo, argument ) {- // pseudo-class names are case-insensitive- // http://www.w3.org/TR/selectors/#pseudo-classes- // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters- // Remember that setFilters inherits from pseudos- var args,- fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||- Sizzle.error( "unsupported pseudo: " + pseudo );-- // The user may use createPseudo to indicate that- // arguments are needed to create the filter function- // just as Sizzle does- if ( fn[ expando ] ) {- return fn( argument );- }-- // But maintain support for old signatures- if ( fn.length > 1 ) {- args = [ pseudo, pseudo, "", argument ];- return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?- markFunction(function( seed, matches ) {- var idx,- matched = fn( seed, argument ),- i = matched.length;- while ( i-- ) {- idx = indexOf( seed, matched[i] );- seed[ idx ] = !( matches[ idx ] = matched[i] );- }- }) :- function( elem ) {- return fn( elem, 0, args );- };- }-- return fn;- }- },-- pseudos: {- // Potentially complex pseudos- "not": markFunction(function( selector ) {- // Trim the selector passed to compile- // to avoid treating leading and trailing- // spaces as combinators- var input = [],- results = [],- matcher = compile( selector.replace( rtrim, "$1" ) );-- return matcher[ expando ] ?- markFunction(function( seed, matches, context, xml ) {- var elem,- unmatched = matcher( seed, null, xml, [] ),- i = seed.length;-- // Match elements unmatched by `matcher`- while ( i-- ) {- if ( (elem = unmatched[i]) ) {- seed[i] = !(matches[i] = elem);- }- }- }) :- function( elem, context, xml ) {- input[0] = elem;- matcher( input, null, xml, results );- // Don't keep the element (issue #299)- input[0] = null;- return !results.pop();- };- }),-- "has": markFunction(function( selector ) {- return function( elem ) {- return Sizzle( selector, elem ).length > 0;- };- }),-- "contains": markFunction(function( text ) {- text = text.replace( runescape, funescape );- return function( elem ) {- return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;- };- }),-- // "Whether an element is represented by a :lang() selector- // is based solely on the element's language value- // being equal to the identifier C,- // or beginning with the identifier C immediately followed by "-".- // The matching of C against the element's language value is performed case-insensitively.- // The identifier C does not have to be a valid language name."- // http://www.w3.org/TR/selectors/#lang-pseudo- "lang": markFunction( function( lang ) {- // lang value must be a valid identifier- if ( !ridentifier.test(lang || "") ) {- Sizzle.error( "unsupported lang: " + lang );- }- lang = lang.replace( runescape, funescape ).toLowerCase();- return function( elem ) {- var elemLang;- do {- if ( (elemLang = documentIsHTML ?- elem.lang :- elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {-- elemLang = elemLang.toLowerCase();- return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;- }- } while ( (elem = elem.parentNode) && elem.nodeType === 1 );- return false;- };- }),-- // Miscellaneous- "target": function( elem ) {- var hash = window.location && window.location.hash;- return hash && hash.slice( 1 ) === elem.id;- },-- "root": function( elem ) {- return elem === docElem;- },-- "focus": function( elem ) {- return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);- },-- // Boolean properties- "enabled": createDisabledPseudo( false ),- "disabled": createDisabledPseudo( true ),-- "checked": function( elem ) {- // In CSS3, :checked should return both checked and selected elements- // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked- var nodeName = elem.nodeName.toLowerCase();- return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);- },-- "selected": function( elem ) {- // Accessing this property makes selected-by-default- // options in Safari work properly- if ( elem.parentNode ) {- elem.parentNode.selectedIndex;- }-- return elem.selected === true;- },-- // Contents- "empty": function( elem ) {- // http://www.w3.org/TR/selectors/#empty-pseudo- // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),- // but not by others (comment: 8; processing instruction: 7; etc.)- // nodeType < 6 works because attributes (2) do not appear as children- for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {- if ( elem.nodeType < 6 ) {- return false;- }- }- return true;- },-- "parent": function( elem ) {- return !Expr.pseudos["empty"]( elem );- },-- // Element/input types- "header": function( elem ) {- return rheader.test( elem.nodeName );- },-- "input": function( elem ) {- return rinputs.test( elem.nodeName );- },-- "button": function( elem ) {- var name = elem.nodeName.toLowerCase();- return name === "input" && elem.type === "button" || name === "button";- },-- "text": function( elem ) {- var attr;- return elem.nodeName.toLowerCase() === "input" &&- elem.type === "text" &&-- // Support: IE<8- // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"- ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );- },-- // Position-in-collection- "first": createPositionalPseudo(function() {- return [ 0 ];- }),-- "last": createPositionalPseudo(function( matchIndexes, length ) {- return [ length - 1 ];- }),-- "eq": createPositionalPseudo(function( matchIndexes, length, argument ) {- return [ argument < 0 ? argument + length : argument ];- }),-- "even": createPositionalPseudo(function( matchIndexes, length ) {- var i = 0;- for ( ; i < length; i += 2 ) {- matchIndexes.push( i );- }- return matchIndexes;- }),-- "odd": createPositionalPseudo(function( matchIndexes, length ) {- var i = 1;- for ( ; i < length; i += 2 ) {- matchIndexes.push( i );- }- return matchIndexes;- }),-- "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {- var i = argument < 0 ? argument + length : argument;- for ( ; --i >= 0; ) {- matchIndexes.push( i );- }- return matchIndexes;- }),-- "gt": createPositionalPseudo(function( matchIndexes, length, argument ) {- var i = argument < 0 ? argument + length : argument;- for ( ; ++i < length; ) {- matchIndexes.push( i );- }- return matchIndexes;- })- }-};--Expr.pseudos["nth"] = Expr.pseudos["eq"];--// Add button/input type pseudos-for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {- Expr.pseudos[ i ] = createInputPseudo( i );-}-for ( i in { submit: true, reset: true } ) {- Expr.pseudos[ i ] = createButtonPseudo( i );-}--// Easy API for creating new setFilters-function setFilters() {}-setFilters.prototype = Expr.filters = Expr.pseudos;-Expr.setFilters = new setFilters();--tokenize = Sizzle.tokenize = function( selector, parseOnly ) {- var matched, match, tokens, type,- soFar, groups, preFilters,- cached = tokenCache[ selector + " " ];-- if ( cached ) {- return parseOnly ? 0 : cached.slice( 0 );- }-- soFar = selector;- groups = [];- preFilters = Expr.preFilter;-- while ( soFar ) {-- // Comma and first run- if ( !matched || (match = rcomma.exec( soFar )) ) {- if ( match ) {- // Don't consume trailing commas as valid- soFar = soFar.slice( match[0].length ) || soFar;- }- groups.push( (tokens = []) );- }-- matched = false;-- // Combinators- if ( (match = rcombinators.exec( soFar )) ) {- matched = match.shift();- tokens.push({- value: matched,- // Cast descendant combinators to space- type: match[0].replace( rtrim, " " )- });- soFar = soFar.slice( matched.length );- }-- // Filters- for ( type in Expr.filter ) {- if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||- (match = preFilters[ type ]( match ))) ) {- matched = match.shift();- tokens.push({- value: matched,- type: type,- matches: match- });- soFar = soFar.slice( matched.length );- }- }-- if ( !matched ) {- break;- }- }-- // Return the length of the invalid excess- // if we're just parsing- // Otherwise, throw an error or return tokens- return parseOnly ?- soFar.length :- soFar ?- Sizzle.error( selector ) :- // Cache the tokens- tokenCache( selector, groups ).slice( 0 );-};--function toSelector( tokens ) {- var i = 0,- len = tokens.length,- selector = "";- for ( ; i < len; i++ ) {- selector += tokens[i].value;- }- return selector;-}--function addCombinator( matcher, combinator, base ) {- var dir = combinator.dir,- skip = combinator.next,- key = skip || dir,- checkNonElements = base && key === "parentNode",- doneName = done++;-- return combinator.first ?- // Check against closest ancestor/preceding element- function( elem, context, xml ) {- while ( (elem = elem[ dir ]) ) {- if ( elem.nodeType === 1 || checkNonElements ) {- return matcher( elem, context, xml );- }- }- } :-- // Check against all ancestor/preceding elements- function( elem, context, xml ) {- var oldCache, uniqueCache, outerCache,- newCache = [ dirruns, doneName ];-- // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching- if ( xml ) {- while ( (elem = elem[ dir ]) ) {- if ( elem.nodeType === 1 || checkNonElements ) {- if ( matcher( elem, context, xml ) ) {- return true;- }- }- }- } else {- while ( (elem = elem[ dir ]) ) {- if ( elem.nodeType === 1 || checkNonElements ) {- outerCache = elem[ expando ] || (elem[ expando ] = {});-- // Support: IE <9 only- // Defend against cloned attroperties (jQuery gh-1709)- uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});-- if ( skip && skip === elem.nodeName.toLowerCase() ) {- elem = elem[ dir ] || elem;- } else if ( (oldCache = uniqueCache[ key ]) &&- oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {-- // Assign to newCache so results back-propagate to previous elements- return (newCache[ 2 ] = oldCache[ 2 ]);- } else {- // Reuse newcache so results back-propagate to previous elements- uniqueCache[ key ] = newCache;-- // A match means we're done; a fail means we have to keep checking- if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {- return true;- }- }- }- }- }- };-}--function elementMatcher( matchers ) {- return matchers.length > 1 ?- function( elem, context, xml ) {- var i = matchers.length;- while ( i-- ) {- if ( !matchers[i]( elem, context, xml ) ) {- return false;- }- }- return true;- } :- matchers[0];-}--function multipleContexts( selector, contexts, results ) {- var i = 0,- len = contexts.length;- for ( ; i < len; i++ ) {- Sizzle( selector, contexts[i], results );- }- return results;-}--function condense( unmatched, map, filter, context, xml ) {- var elem,- newUnmatched = [],- i = 0,- len = unmatched.length,- mapped = map != null;-- for ( ; i < len; i++ ) {- if ( (elem = unmatched[i]) ) {- if ( !filter || filter( elem, context, xml ) ) {- newUnmatched.push( elem );- if ( mapped ) {- map.push( i );- }- }- }- }-- return newUnmatched;-}--function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {- if ( postFilter && !postFilter[ expando ] ) {- postFilter = setMatcher( postFilter );- }- if ( postFinder && !postFinder[ expando ] ) {- postFinder = setMatcher( postFinder, postSelector );- }- return markFunction(function( seed, results, context, xml ) {- var temp, i, elem,- preMap = [],- postMap = [],- preexisting = results.length,-- // Get initial elements from seed or context- elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),-- // Prefilter to get matcher input, preserving a map for seed-results synchronization- matcherIn = preFilter && ( seed || !selector ) ?- condense( elems, preMap, preFilter, context, xml ) :- elems,-- matcherOut = matcher ?- // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,- postFinder || ( seed ? preFilter : preexisting || postFilter ) ?-- // ...intermediate processing is necessary- [] :-- // ...otherwise use results directly- results :- matcherIn;-- // Find primary matches- if ( matcher ) {- matcher( matcherIn, matcherOut, context, xml );- }-- // Apply postFilter- if ( postFilter ) {- temp = condense( matcherOut, postMap );- postFilter( temp, [], context, xml );-- // Un-match failing elements by moving them back to matcherIn- i = temp.length;- while ( i-- ) {- if ( (elem = temp[i]) ) {- matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);- }- }- }-- if ( seed ) {- if ( postFinder || preFilter ) {- if ( postFinder ) {- // Get the final matcherOut by condensing this intermediate into postFinder contexts- temp = [];- i = matcherOut.length;- while ( i-- ) {- if ( (elem = matcherOut[i]) ) {- // Restore matcherIn since elem is not yet a final match- temp.push( (matcherIn[i] = elem) );- }- }- postFinder( null, (matcherOut = []), temp, xml );- }-- // Move matched elements from seed to results to keep them synchronized- i = matcherOut.length;- while ( i-- ) {- if ( (elem = matcherOut[i]) &&- (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {-- seed[temp] = !(results[temp] = elem);- }- }- }-- // Add elements to results, through postFinder if defined- } else {- matcherOut = condense(- matcherOut === results ?- matcherOut.splice( preexisting, matcherOut.length ) :- matcherOut- );- if ( postFinder ) {- postFinder( null, results, matcherOut, xml );- } else {- push.apply( results, matcherOut );- }- }- });-}--function matcherFromTokens( tokens ) {- var checkContext, matcher, j,- len = tokens.length,- leadingRelative = Expr.relative[ tokens[0].type ],- implicitRelative = leadingRelative || Expr.relative[" "],- i = leadingRelative ? 1 : 0,-- // The foundational matcher ensures that elements are reachable from top-level context(s)- matchContext = addCombinator( function( elem ) {- return elem === checkContext;- }, implicitRelative, true ),- matchAnyContext = addCombinator( function( elem ) {- return indexOf( checkContext, elem ) > -1;- }, implicitRelative, true ),- matchers = [ function( elem, context, xml ) {- var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (- (checkContext = context).nodeType ?- matchContext( elem, context, xml ) :- matchAnyContext( elem, context, xml ) );- // Avoid hanging onto element (issue #299)- checkContext = null;- return ret;- } ];-- for ( ; i < len; i++ ) {- if ( (matcher = Expr.relative[ tokens[i].type ]) ) {- matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];- } else {- matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );-- // Return special upon seeing a positional matcher- if ( matcher[ expando ] ) {- // Find the next relative operator (if any) for proper handling- j = ++i;- for ( ; j < len; j++ ) {- if ( Expr.relative[ tokens[j].type ] ) {- break;- }- }- return setMatcher(- i > 1 && elementMatcher( matchers ),- i > 1 && toSelector(- // If the preceding token was a descendant combinator, insert an implicit any-element `*`- tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })- ).replace( rtrim, "$1" ),- matcher,- i < j && matcherFromTokens( tokens.slice( i, j ) ),- j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),- j < len && toSelector( tokens )- );- }- matchers.push( matcher );- }- }-- return elementMatcher( matchers );-}--function matcherFromGroupMatchers( elementMatchers, setMatchers ) {- var bySet = setMatchers.length > 0,- byElement = elementMatchers.length > 0,- superMatcher = function( seed, context, xml, results, outermost ) {- var elem, j, matcher,- matchedCount = 0,- i = "0",- unmatched = seed && [],- setMatched = [],- contextBackup = outermostContext,- // We must always have either seed elements or outermost context- elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),- // Use integer dirruns iff this is the outermost matcher- dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),- len = elems.length;-- if ( outermost ) {- outermostContext = context === document || context || outermost;- }-- // Add elements passing elementMatchers directly to results- // Support: IE<9, Safari- // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id- for ( ; i !== len && (elem = elems[i]) != null; i++ ) {- if ( byElement && elem ) {- j = 0;- if ( !context && elem.ownerDocument !== document ) {- setDocument( elem );- xml = !documentIsHTML;- }- while ( (matcher = elementMatchers[j++]) ) {- if ( matcher( elem, context || document, xml) ) {- results.push( elem );- break;- }- }- if ( outermost ) {- dirruns = dirrunsUnique;- }- }-- // Track unmatched elements for set filters- if ( bySet ) {- // They will have gone through all possible matchers- if ( (elem = !matcher && elem) ) {- matchedCount--;- }-- // Lengthen the array for every element, matched or not- if ( seed ) {- unmatched.push( elem );- }- }- }-- // `i` is now the count of elements visited above, and adding it to `matchedCount`- // makes the latter nonnegative.- matchedCount += i;-- // Apply set filters to unmatched elements- // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`- // equals `i`), unless we didn't visit _any_ elements in the above loop because we have- // no element matchers and no seed.- // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that- // case, which will result in a "00" `matchedCount` that differs from `i` but is also- // numerically zero.- if ( bySet && i !== matchedCount ) {- j = 0;- while ( (matcher = setMatchers[j++]) ) {- matcher( unmatched, setMatched, context, xml );- }-- if ( seed ) {- // Reintegrate element matches to eliminate the need for sorting- if ( matchedCount > 0 ) {- while ( i-- ) {- if ( !(unmatched[i] || setMatched[i]) ) {- setMatched[i] = pop.call( results );- }- }- }-- // Discard index placeholder values to get only actual matches- setMatched = condense( setMatched );- }-- // Add matches to results- push.apply( results, setMatched );-- // Seedless set matches succeeding multiple successful matchers stipulate sorting- if ( outermost && !seed && setMatched.length > 0 &&- ( matchedCount + setMatchers.length ) > 1 ) {-- Sizzle.uniqueSort( results );- }- }-- // Override manipulation of globals by nested matchers- if ( outermost ) {- dirruns = dirrunsUnique;- outermostContext = contextBackup;- }-- return unmatched;- };-- return bySet ?- markFunction( superMatcher ) :- superMatcher;-}--compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {- var i,- setMatchers = [],- elementMatchers = [],- cached = compilerCache[ selector + " " ];-- if ( !cached ) {- // Generate a function of recursive functions that can be used to check each element- if ( !match ) {- match = tokenize( selector );- }- i = match.length;- while ( i-- ) {- cached = matcherFromTokens( match[i] );- if ( cached[ expando ] ) {- setMatchers.push( cached );- } else {- elementMatchers.push( cached );- }- }-- // Cache the compiled function- cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );-- // Save selector and tokenization- cached.selector = selector;- }- return cached;-};--/**- * A low-level selection function that works with Sizzle's compiled- * selector functions- * @param {String|Function} selector A selector or a pre-compiled- * selector function built with Sizzle.compile- * @param {Element} context- * @param {Array} [results]- * @param {Array} [seed] A set of elements to match against- */-select = Sizzle.select = function( selector, context, results, seed ) {- var i, tokens, token, type, find,- compiled = typeof selector === "function" && selector,- match = !seed && tokenize( (selector = compiled.selector || selector) );-- results = results || [];-- // Try to minimize operations if there is only one selector in the list and no seed- // (the latter of which guarantees us context)- if ( match.length === 1 ) {-- // Reduce context if the leading compound selector is an ID- tokens = match[0] = match[0].slice( 0 );- if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&- support.getById && context.nodeType === 9 && documentIsHTML &&- Expr.relative[ tokens[1].type ] ) {-- context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];- if ( !context ) {- return results;-- // Precompiled matchers will still verify ancestry, so step up a level- } else if ( compiled ) {- context = context.parentNode;- }-- selector = selector.slice( tokens.shift().value.length );- }-- // Fetch a seed set for right-to-left matching- i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;- while ( i-- ) {- token = tokens[i];-- // Abort if we hit a combinator- if ( Expr.relative[ (type = token.type) ] ) {- break;- }- if ( (find = Expr.find[ type ]) ) {- // Search, expanding context for leading sibling combinators- if ( (seed = find(- token.matches[0].replace( runescape, funescape ),- rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context- )) ) {-- // If seed is empty or no tokens remain, we can return early- tokens.splice( i, 1 );- selector = seed.length && toSelector( tokens );- if ( !selector ) {- push.apply( results, seed );- return results;- }-- break;- }- }- }- }-- // Compile and execute a filtering function if one is not provided- // Provide `match` to avoid retokenization if we modified the selector above- ( compiled || compile( selector, match ) )(- seed,- context,- !documentIsHTML,- results,- !context || rsibling.test( selector ) && testContext( context.parentNode ) || context- );- return results;-};--// One-time assignments--// Sort stability-support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;--// Support: Chrome 14-35+-// Always assume duplicates if they aren't passed to the comparison function-support.detectDuplicates = !!hasDuplicate;--// Initialize against the default document-setDocument();--// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)-// Detached nodes confoundingly follow *each other*-support.sortDetached = assert(function( el ) {- // Should return 1, but returns 4 (following)- return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;-});--// Support: IE<8-// Prevent attribute/property "interpolation"-// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx-if ( !assert(function( el ) {- el.innerHTML = "<a href='#'></a>";- return el.firstChild.getAttribute("href") === "#" ;-}) ) {- addHandle( "type|href|height|width", function( elem, name, isXML ) {- if ( !isXML ) {- return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );- }- });-}--// Support: IE<9-// Use defaultValue in place of getAttribute("value")-if ( !support.attributes || !assert(function( el ) {- el.innerHTML = "<input/>";- el.firstChild.setAttribute( "value", "" );- return el.firstChild.getAttribute( "value" ) === "";-}) ) {- addHandle( "value", function( elem, name, isXML ) {- if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {- return elem.defaultValue;- }- });-}--// Support: IE<9-// Use getAttributeNode to fetch booleans when getAttribute lies-if ( !assert(function( el ) {- return el.getAttribute("disabled") == null;-}) ) {- addHandle( booleans, function( elem, name, isXML ) {- var val;- if ( !isXML ) {- return elem[ name ] === true ? name.toLowerCase() :- (val = elem.getAttributeNode( name )) && val.specified ?- val.value :- null;- }- });-}--return Sizzle;--})( window );----jQuery.find = Sizzle;-jQuery.expr = Sizzle.selectors;--// Deprecated-jQuery.expr[ ":" ] = jQuery.expr.pseudos;-jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;-jQuery.text = Sizzle.getText;-jQuery.isXMLDoc = Sizzle.isXML;-jQuery.contains = Sizzle.contains;-jQuery.escapeSelector = Sizzle.escape;-----var dir = function( elem, dir, until ) {- var matched = [],- truncate = until !== undefined;-- while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {- if ( elem.nodeType === 1 ) {- if ( truncate && jQuery( elem ).is( until ) ) {- break;- }- matched.push( elem );- }- }- return matched;-};---var siblings = function( n, elem ) {- var matched = [];-- for ( ; n; n = n.nextSibling ) {- if ( n.nodeType === 1 && n !== elem ) {- matched.push( n );- }- }-- return matched;-};---var rneedsContext = jQuery.expr.match.needsContext;--var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );----var risSimple = /^.[^:#\[\.,]*$/;--// Implement the identical functionality for filter and not-function winnow( elements, qualifier, not ) {- if ( jQuery.isFunction( qualifier ) ) {- return jQuery.grep( elements, function( elem, i ) {- return !!qualifier.call( elem, i, elem ) !== not;- } );-- }-- if ( qualifier.nodeType ) {- return jQuery.grep( elements, function( elem ) {- return ( elem === qualifier ) !== not;- } );-- }-- if ( typeof qualifier === "string" ) {- if ( risSimple.test( qualifier ) ) {- return jQuery.filter( qualifier, elements, not );- }-- qualifier = jQuery.filter( qualifier, elements );- }-- return jQuery.grep( elements, function( elem ) {- return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1;- } );-}--jQuery.filter = function( expr, elems, not ) {- var elem = elems[ 0 ];-- if ( not ) {- expr = ":not(" + expr + ")";- }-- return elems.length === 1 && elem.nodeType === 1 ?- jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :- jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {- return elem.nodeType === 1;- } ) );-};--jQuery.fn.extend( {- find: function( selector ) {- var i, ret,- len = this.length,- self = this;-- if ( typeof selector !== "string" ) {- return this.pushStack( jQuery( selector ).filter( function() {- for ( i = 0; i < len; i++ ) {- if ( jQuery.contains( self[ i ], this ) ) {- return true;- }- }- } ) );- }-- ret = this.pushStack( [] );-- for ( i = 0; i < len; i++ ) {- jQuery.find( selector, self[ i ], ret );- }-- return len > 1 ? jQuery.uniqueSort( ret ) : ret;- },- filter: function( selector ) {- return this.pushStack( winnow( this, selector || [], false ) );- },- not: function( selector ) {- return this.pushStack( winnow( this, selector || [], true ) );- },- is: function( selector ) {- return !!winnow(- this,-- // If this is a positional/relative selector, check membership in the returned set- // so $("p:first").is("p:last") won't return true for a doc with two "p".- typeof selector === "string" && rneedsContext.test( selector ) ?- jQuery( selector ) :- selector || [],- false- ).length;- }-} );---// Initialize a jQuery object---// A central reference to the root jQuery(document)-var rootjQuery,-- // A simple way to check for HTML strings- // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)- // Strict HTML recognition (#11290: must start with <)- // Shortcut simple #id case for speed- rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,-- init = jQuery.fn.init = function( selector, context, root ) {- var match, elem;-- // HANDLE: $(""), $(null), $(undefined), $(false)- if ( !selector ) {- return this;- }-- // Method init() accepts an alternate rootjQuery- // so migrate can support jQuery.sub (gh-2101)- root = root || rootjQuery;-- // Handle HTML strings- if ( typeof selector === "string" ) {- if ( selector[ 0 ] === "<" &&- selector[ selector.length - 1 ] === ">" &&- selector.length >= 3 ) {-- // Assume that strings that start and end with <> are HTML and skip the regex check- match = [ null, selector, null ];-- } else {- match = rquickExpr.exec( selector );- }-- // Match html or make sure no context is specified for #id- if ( match && ( match[ 1 ] || !context ) ) {-- // HANDLE: $(html) -> $(array)- if ( match[ 1 ] ) {- context = context instanceof jQuery ? context[ 0 ] : context;-- // Option to run scripts is true for back-compat- // Intentionally let the error be thrown if parseHTML is not present- jQuery.merge( this, jQuery.parseHTML(- match[ 1 ],- context && context.nodeType ? context.ownerDocument || context : document,- true- ) );-- // HANDLE: $(html, props)- if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {- for ( match in context ) {-- // Properties of context are called as methods if possible- if ( jQuery.isFunction( this[ match ] ) ) {- this[ match ]( context[ match ] );-- // ...and otherwise set as attributes- } else {- this.attr( match, context[ match ] );- }- }- }-- return this;-- // HANDLE: $(#id)- } else {- elem = document.getElementById( match[ 2 ] );-- if ( elem ) {-- // Inject the element directly into the jQuery object- this[ 0 ] = elem;- this.length = 1;- }- return this;- }-- // HANDLE: $(expr, $(...))- } else if ( !context || context.jquery ) {- return ( context || root ).find( selector );-- // HANDLE: $(expr, context)- // (which is just equivalent to: $(context).find(expr)- } else {- return this.constructor( context ).find( selector );- }-- // HANDLE: $(DOMElement)- } else if ( selector.nodeType ) {- this[ 0 ] = selector;- this.length = 1;- return this;-- // HANDLE: $(function)- // Shortcut for document ready- } else if ( jQuery.isFunction( selector ) ) {- return root.ready !== undefined ?- root.ready( selector ) :-- // Execute immediately if ready is not present- selector( jQuery );- }-- return jQuery.makeArray( selector, this );- };--// Give the init function the jQuery prototype for later instantiation-init.prototype = jQuery.fn;--// Initialize central reference-rootjQuery = jQuery( document );---var rparentsprev = /^(?:parents|prev(?:Until|All))/,-- // Methods guaranteed to produce a unique set when starting from a unique set- guaranteedUnique = {- children: true,- contents: true,- next: true,- prev: true- };--jQuery.fn.extend( {- has: function( target ) {- var targets = jQuery( target, this ),- l = targets.length;-- return this.filter( function() {- var i = 0;- for ( ; i < l; i++ ) {- if ( jQuery.contains( this, targets[ i ] ) ) {- return true;- }- }- } );- },-- closest: function( selectors, context ) {- var cur,- i = 0,- l = this.length,- matched = [],- targets = typeof selectors !== "string" && jQuery( selectors );-- // Positional selectors never match, since there's no _selection_ context- if ( !rneedsContext.test( selectors ) ) {- for ( ; i < l; i++ ) {- for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {-- // Always skip document fragments- if ( cur.nodeType < 11 && ( targets ?- targets.index( cur ) > -1 :-- // Don't pass non-elements to Sizzle- cur.nodeType === 1 &&- jQuery.find.matchesSelector( cur, selectors ) ) ) {-- matched.push( cur );- break;- }- }- }- }-- return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );- },-- // Determine the position of an element within the set- index: function( elem ) {-- // No argument, return index in parent- if ( !elem ) {- return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;- }-- // Index in selector- if ( typeof elem === "string" ) {- return indexOf.call( jQuery( elem ), this[ 0 ] );- }-- // Locate the position of the desired element- return indexOf.call( this,-- // If it receives a jQuery object, the first element is used- elem.jquery ? elem[ 0 ] : elem- );- },-- add: function( selector, context ) {- return this.pushStack(- jQuery.uniqueSort(- jQuery.merge( this.get(), jQuery( selector, context ) )- )- );- },-- addBack: function( selector ) {- return this.add( selector == null ?- this.prevObject : this.prevObject.filter( selector )- );- }-} );--function sibling( cur, dir ) {- while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}- return cur;-}--jQuery.each( {- parent: function( elem ) {- var parent = elem.parentNode;- return parent && parent.nodeType !== 11 ? parent : null;- },- parents: function( elem ) {- return dir( elem, "parentNode" );- },- parentsUntil: function( elem, i, until ) {- return dir( elem, "parentNode", until );- },- next: function( elem ) {- return sibling( elem, "nextSibling" );- },- prev: function( elem ) {- return sibling( elem, "previousSibling" );- },- nextAll: function( elem ) {- return dir( elem, "nextSibling" );- },- prevAll: function( elem ) {- return dir( elem, "previousSibling" );- },- nextUntil: function( elem, i, until ) {- return dir( elem, "nextSibling", until );- },- prevUntil: function( elem, i, until ) {- return dir( elem, "previousSibling", until );- },- siblings: function( elem ) {- return siblings( ( elem.parentNode || {} ).firstChild, elem );- },- children: function( elem ) {- return siblings( elem.firstChild );- },- contents: function( elem ) {- return elem.contentDocument || jQuery.merge( [], elem.childNodes );- }-}, function( name, fn ) {- jQuery.fn[ name ] = function( until, selector ) {- var matched = jQuery.map( this, fn, until );-- if ( name.slice( -5 ) !== "Until" ) {- selector = until;- }-- if ( selector && typeof selector === "string" ) {- matched = jQuery.filter( selector, matched );- }-- if ( this.length > 1 ) {-- // Remove duplicates- if ( !guaranteedUnique[ name ] ) {- jQuery.uniqueSort( matched );- }-- // Reverse order for parents* and prev-derivatives- if ( rparentsprev.test( name ) ) {- matched.reverse();- }- }-- return this.pushStack( matched );- };-} );-var rnotwhite = ( /\S+/g );----// Convert String-formatted options into Object-formatted ones-function createOptions( options ) {- var object = {};- jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {- object[ flag ] = true;- } );- return object;-}--/*- * Create a callback list using the following parameters:- *- * options: an optional list of space-separated options that will change how- * the callback list behaves or a more traditional option object- *- * By default a callback list will act like an event callback list and can be- * "fired" multiple times.- *- * Possible options:- *- * once: will ensure the callback list can only be fired once (like a Deferred)- *- * memory: will keep track of previous values and will call any callback added- * after the list has been fired right away with the latest "memorized"- * values (like a Deferred)- *- * unique: will ensure a callback can only be added once (no duplicate in the list)- *- * stopOnFalse: interrupt callings when a callback returns false- *- */-jQuery.Callbacks = function( options ) {-- // Convert options from String-formatted to Object-formatted if needed- // (we check in cache first)- options = typeof options === "string" ?- createOptions( options ) :- jQuery.extend( {}, options );-- var // Flag to know if list is currently firing- firing,-- // Last fire value for non-forgettable lists- memory,-- // Flag to know if list was already fired- fired,-- // Flag to prevent firing- locked,-- // Actual callback list- list = [],-- // Queue of execution data for repeatable lists- queue = [],-- // Index of currently firing callback (modified by add/remove as needed)- firingIndex = -1,-- // Fire callbacks- fire = function() {-- // Enforce single-firing- locked = options.once;-- // Execute callbacks for all pending executions,- // respecting firingIndex overrides and runtime changes- fired = firing = true;- for ( ; queue.length; firingIndex = -1 ) {- memory = queue.shift();- while ( ++firingIndex < list.length ) {-- // Run callback and check for early termination- if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&- options.stopOnFalse ) {-- // Jump to end and forget the data so .add doesn't re-fire- firingIndex = list.length;- memory = false;- }- }- }-- // Forget the data if we're done with it- if ( !options.memory ) {- memory = false;- }-- firing = false;-- // Clean up if we're done firing for good- if ( locked ) {-- // Keep an empty list if we have data for future add calls- if ( memory ) {- list = [];-- // Otherwise, this object is spent- } else {- list = "";- }- }- },-- // Actual Callbacks object- self = {-- // Add a callback or a collection of callbacks to the list- add: function() {- if ( list ) {-- // If we have memory from a past run, we should fire after adding- if ( memory && !firing ) {- firingIndex = list.length - 1;- queue.push( memory );- }-- ( function add( args ) {- jQuery.each( args, function( _, arg ) {- if ( jQuery.isFunction( arg ) ) {- if ( !options.unique || !self.has( arg ) ) {- list.push( arg );- }- } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) {-- // Inspect recursively- add( arg );- }- } );- } )( arguments );-- if ( memory && !firing ) {- fire();- }- }- return this;- },-- // Remove a callback from the list- remove: function() {- jQuery.each( arguments, function( _, arg ) {- var index;- while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {- list.splice( index, 1 );-- // Handle firing indexes- if ( index <= firingIndex ) {- firingIndex--;- }- }- } );- return this;- },-- // Check if a given callback is in the list.- // If no argument is given, return whether or not list has callbacks attached.- has: function( fn ) {- return fn ?- jQuery.inArray( fn, list ) > -1 :- list.length > 0;- },-- // Remove all callbacks from the list- empty: function() {- if ( list ) {- list = [];- }- return this;- },-- // Disable .fire and .add- // Abort any current/pending executions- // Clear all callbacks and values- disable: function() {- locked = queue = [];- list = memory = "";- return this;- },- disabled: function() {- return !list;- },-- // Disable .fire- // Also disable .add unless we have memory (since it would have no effect)- // Abort any pending executions- lock: function() {- locked = queue = [];- if ( !memory && !firing ) {- list = memory = "";- }- return this;- },- locked: function() {- return !!locked;- },-- // Call all callbacks with the given context and arguments- fireWith: function( context, args ) {- if ( !locked ) {- args = args || [];- args = [ context, args.slice ? args.slice() : args ];- queue.push( args );- if ( !firing ) {- fire();- }- }- return this;- },-- // Call all the callbacks with the given arguments- fire: function() {- self.fireWith( this, arguments );- return this;- },-- // To know if the callbacks have already been called at least once- fired: function() {- return !!fired;- }- };-- return self;-};---function Identity( v ) {- return v;-}-function Thrower( ex ) {- throw ex;-}--function adoptValue( value, resolve, reject ) {- var method;-- try {-- // Check for promise aspect first to privilege synchronous behavior- if ( value && jQuery.isFunction( ( method = value.promise ) ) ) {- method.call( value ).done( resolve ).fail( reject );-- // Other thenables- } else if ( value && jQuery.isFunction( ( method = value.then ) ) ) {- method.call( value, resolve, reject );-- // Other non-thenables- } else {-- // Support: Android 4.0 only- // Strict mode functions invoked without .call/.apply get global-object context- resolve.call( undefined, value );- }-- // For Promises/A+, convert exceptions into rejections- // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in- // Deferred#then to conditionally suppress rejection.- } catch ( value ) {-- // Support: Android 4.0 only- // Strict mode functions invoked without .call/.apply get global-object context- reject.call( undefined, value );- }-}--jQuery.extend( {-- Deferred: function( func ) {- var tuples = [-- // action, add listener, callbacks,- // ... .then handlers, argument index, [final state]- [ "notify", "progress", jQuery.Callbacks( "memory" ),- jQuery.Callbacks( "memory" ), 2 ],- [ "resolve", "done", jQuery.Callbacks( "once memory" ),- jQuery.Callbacks( "once memory" ), 0, "resolved" ],- [ "reject", "fail", jQuery.Callbacks( "once memory" ),- jQuery.Callbacks( "once memory" ), 1, "rejected" ]- ],- state = "pending",- promise = {- state: function() {- return state;- },- always: function() {- deferred.done( arguments ).fail( arguments );- return this;- },- "catch": function( fn ) {- return promise.then( null, fn );- },-- // Keep pipe for back-compat- pipe: function( /* fnDone, fnFail, fnProgress */ ) {- var fns = arguments;-- return jQuery.Deferred( function( newDefer ) {- jQuery.each( tuples, function( i, tuple ) {-- // Map tuples (progress, done, fail) to arguments (done, fail, progress)- var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];-- // deferred.progress(function() { bind to newDefer or newDefer.notify })- // deferred.done(function() { bind to newDefer or newDefer.resolve })- // deferred.fail(function() { bind to newDefer or newDefer.reject })- deferred[ tuple[ 1 ] ]( function() {- var returned = fn && fn.apply( this, arguments );- if ( returned && jQuery.isFunction( returned.promise ) ) {- returned.promise()- .progress( newDefer.notify )- .done( newDefer.resolve )- .fail( newDefer.reject );- } else {- newDefer[ tuple[ 0 ] + "With" ](- this,- fn ? [ returned ] : arguments- );- }- } );- } );- fns = null;- } ).promise();- },- then: function( onFulfilled, onRejected, onProgress ) {- var maxDepth = 0;- function resolve( depth, deferred, handler, special ) {- return function() {- var that = this,- args = arguments,- mightThrow = function() {- var returned, then;-- // Support: Promises/A+ section 2.3.3.3.3- // https://promisesaplus.com/#point-59- // Ignore double-resolution attempts- if ( depth < maxDepth ) {- return;- }-- returned = handler.apply( that, args );-- // Support: Promises/A+ section 2.3.1- // https://promisesaplus.com/#point-48- if ( returned === deferred.promise() ) {- throw new TypeError( "Thenable self-resolution" );- }-- // Support: Promises/A+ sections 2.3.3.1, 3.5- // https://promisesaplus.com/#point-54- // https://promisesaplus.com/#point-75- // Retrieve `then` only once- then = returned &&-- // Support: Promises/A+ section 2.3.4- // https://promisesaplus.com/#point-64- // Only check objects and functions for thenability- ( typeof returned === "object" ||- typeof returned === "function" ) &&- returned.then;-- // Handle a returned thenable- if ( jQuery.isFunction( then ) ) {-- // Special processors (notify) just wait for resolution- if ( special ) {- then.call(- returned,- resolve( maxDepth, deferred, Identity, special ),- resolve( maxDepth, deferred, Thrower, special )- );-- // Normal processors (resolve) also hook into progress- } else {-- // ...and disregard older resolution values- maxDepth++;-- then.call(- returned,- resolve( maxDepth, deferred, Identity, special ),- resolve( maxDepth, deferred, Thrower, special ),- resolve( maxDepth, deferred, Identity,- deferred.notifyWith )- );- }-- // Handle all other returned values- } else {-- // Only substitute handlers pass on context- // and multiple values (non-spec behavior)- if ( handler !== Identity ) {- that = undefined;- args = [ returned ];- }-- // Process the value(s)- // Default process is resolve- ( special || deferred.resolveWith )( that, args );- }- },-- // Only normal processors (resolve) catch and reject exceptions- process = special ?- mightThrow :- function() {- try {- mightThrow();- } catch ( e ) {-- if ( jQuery.Deferred.exceptionHook ) {- jQuery.Deferred.exceptionHook( e,- process.stackTrace );- }-- // Support: Promises/A+ section 2.3.3.3.4.1- // https://promisesaplus.com/#point-61- // Ignore post-resolution exceptions- if ( depth + 1 >= maxDepth ) {-- // Only substitute handlers pass on context- // and multiple values (non-spec behavior)- if ( handler !== Thrower ) {- that = undefined;- args = [ e ];- }-- deferred.rejectWith( that, args );- }- }- };-- // Support: Promises/A+ section 2.3.3.3.1- // https://promisesaplus.com/#point-57- // Re-resolve promises immediately to dodge false rejection from- // subsequent errors- if ( depth ) {- process();- } else {-- // Call an optional hook to record the stack, in case of exception- // since it's otherwise lost when execution goes async- if ( jQuery.Deferred.getStackHook ) {- process.stackTrace = jQuery.Deferred.getStackHook();- }- window.setTimeout( process );- }- };- }-- return jQuery.Deferred( function( newDefer ) {-- // progress_handlers.add( ... )- tuples[ 0 ][ 3 ].add(- resolve(- 0,- newDefer,- jQuery.isFunction( onProgress ) ?- onProgress :- Identity,- newDefer.notifyWith- )- );-- // fulfilled_handlers.add( ... )- tuples[ 1 ][ 3 ].add(- resolve(- 0,- newDefer,- jQuery.isFunction( onFulfilled ) ?- onFulfilled :- Identity- )- );-- // rejected_handlers.add( ... )- tuples[ 2 ][ 3 ].add(- resolve(- 0,- newDefer,- jQuery.isFunction( onRejected ) ?- onRejected :- Thrower- )- );- } ).promise();- },-- // Get a promise for this deferred- // If obj is provided, the promise aspect is added to the object- promise: function( obj ) {- return obj != null ? jQuery.extend( obj, promise ) : promise;- }- },- deferred = {};-- // Add list-specific methods- jQuery.each( tuples, function( i, tuple ) {- var list = tuple[ 2 ],- stateString = tuple[ 5 ];-- // promise.progress = list.add- // promise.done = list.add- // promise.fail = list.add- promise[ tuple[ 1 ] ] = list.add;-- // Handle state- if ( stateString ) {- list.add(- function() {-- // state = "resolved" (i.e., fulfilled)- // state = "rejected"- state = stateString;- },-- // rejected_callbacks.disable- // fulfilled_callbacks.disable- tuples[ 3 - i ][ 2 ].disable,-- // progress_callbacks.lock- tuples[ 0 ][ 2 ].lock- );- }-- // progress_handlers.fire- // fulfilled_handlers.fire- // rejected_handlers.fire- list.add( tuple[ 3 ].fire );-- // deferred.notify = function() { deferred.notifyWith(...) }- // deferred.resolve = function() { deferred.resolveWith(...) }- // deferred.reject = function() { deferred.rejectWith(...) }- deferred[ tuple[ 0 ] ] = function() {- deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments );- return this;- };-- // deferred.notifyWith = list.fireWith- // deferred.resolveWith = list.fireWith- // deferred.rejectWith = list.fireWith- deferred[ tuple[ 0 ] + "With" ] = list.fireWith;- } );-- // Make the deferred a promise- promise.promise( deferred );-- // Call given func if any- if ( func ) {- func.call( deferred, deferred );- }-- // All done!- return deferred;- },-- // Deferred helper- when: function( singleValue ) {- var-- // count of uncompleted subordinates- remaining = arguments.length,-- // count of unprocessed arguments- i = remaining,-- // subordinate fulfillment data- resolveContexts = Array( i ),- resolveValues = slice.call( arguments ),-- // the master Deferred- master = jQuery.Deferred(),-- // subordinate callback factory- updateFunc = function( i ) {- return function( value ) {- resolveContexts[ i ] = this;- resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;- if ( !( --remaining ) ) {- master.resolveWith( resolveContexts, resolveValues );- }- };- };-- // Single- and empty arguments are adopted like Promise.resolve- if ( remaining <= 1 ) {- adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject );-- // Use .then() to unwrap secondary thenables (cf. gh-3000)- if ( master.state() === "pending" ||- jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {-- return master.then();- }- }-- // Multiple arguments are aggregated like Promise.all array elements- while ( i-- ) {- adoptValue( resolveValues[ i ], updateFunc( i ), master.reject );- }-- return master.promise();- }-} );---// These usually indicate a programmer mistake during development,-// warn about them ASAP rather than swallowing them by default.-var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;--jQuery.Deferred.exceptionHook = function( error, stack ) {-- // Support: IE 8 - 9 only- // Console exists when dev tools are open, which can happen at any time- if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {- window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack );- }-};-----jQuery.readyException = function( error ) {- window.setTimeout( function() {- throw error;- } );-};-----// The deferred used on DOM ready-var readyList = jQuery.Deferred();--jQuery.fn.ready = function( fn ) {-- readyList- .then( fn )-- // Wrap jQuery.readyException in a function so that the lookup- // happens at the time of error handling instead of callback- // registration.- .catch( function( error ) {- jQuery.readyException( error );- } );-- return this;-};--jQuery.extend( {-- // Is the DOM ready to be used? Set to true once it occurs.- isReady: false,-- // A counter to track how many items to wait for before- // the ready event fires. See #6781- readyWait: 1,-- // Hold (or release) the ready event- holdReady: function( hold ) {- if ( hold ) {- jQuery.readyWait++;- } else {- jQuery.ready( true );- }- },-- // Handle when the DOM is ready- ready: function( wait ) {-- // Abort if there are pending holds or we're already ready- if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {- return;- }-- // Remember that the DOM is ready- jQuery.isReady = true;-- // If a normal DOM Ready event fired, decrement, and wait if need be- if ( wait !== true && --jQuery.readyWait > 0 ) {- return;- }-- // If there are functions bound, to execute- readyList.resolveWith( document, [ jQuery ] );- }-} );--jQuery.ready.then = readyList.then;--// The ready event handler and self cleanup method-function completed() {- document.removeEventListener( "DOMContentLoaded", completed );- window.removeEventListener( "load", completed );- jQuery.ready();-}--// Catch cases where $(document).ready() is called-// after the browser event has already occurred.-// Support: IE <=9 - 10 only-// Older IE sometimes signals "interactive" too soon-if ( document.readyState === "complete" ||- ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {-- // Handle it asynchronously to allow scripts the opportunity to delay ready- window.setTimeout( jQuery.ready );--} else {-- // Use the handy event callback- document.addEventListener( "DOMContentLoaded", completed );-- // A fallback to window.onload, that will always work- window.addEventListener( "load", completed );-}-----// Multifunctional method to get and set values of a collection-// The value/s can optionally be executed if it's a function-var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {- var i = 0,- len = elems.length,- bulk = key == null;-- // Sets many values- if ( jQuery.type( key ) === "object" ) {- chainable = true;- for ( i in key ) {- access( elems, fn, i, key[ i ], true, emptyGet, raw );- }-- // Sets one value- } else if ( value !== undefined ) {- chainable = true;-- if ( !jQuery.isFunction( value ) ) {- raw = true;- }-- if ( bulk ) {-- // Bulk operations run against the entire set- if ( raw ) {- fn.call( elems, value );- fn = null;-- // ...except when executing function values- } else {- bulk = fn;- fn = function( elem, key, value ) {- return bulk.call( jQuery( elem ), value );- };- }- }-- if ( fn ) {- for ( ; i < len; i++ ) {- fn(- elems[ i ], key, raw ?- value :- value.call( elems[ i ], i, fn( elems[ i ], key ) )- );- }- }- }-- return chainable ?- elems :-- // Gets- bulk ?- fn.call( elems ) :- len ? fn( elems[ 0 ], key ) : emptyGet;-};-var acceptData = function( owner ) {-- // Accepts only:- // - Node- // - Node.ELEMENT_NODE- // - Node.DOCUMENT_NODE- // - Object- // - Any- return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );-};-----function Data() {- this.expando = jQuery.expando + Data.uid++;-}--Data.uid = 1;--Data.prototype = {-- cache: function( owner ) {-- // Check if the owner object already has a cache- var value = owner[ this.expando ];-- // If not, create one- if ( !value ) {- value = {};-- // We can accept data for non-element nodes in modern browsers,- // but we should not, see #8335.- // Always return an empty object.- if ( acceptData( owner ) ) {-- // If it is a node unlikely to be stringify-ed or looped over- // use plain assignment- if ( owner.nodeType ) {- owner[ this.expando ] = value;-- // Otherwise secure it in a non-enumerable property- // configurable must be true to allow the property to be- // deleted when data is removed- } else {- Object.defineProperty( owner, this.expando, {- value: value,- configurable: true- } );- }- }- }-- return value;- },- set: function( owner, data, value ) {- var prop,- cache = this.cache( owner );-- // Handle: [ owner, key, value ] args- // Always use camelCase key (gh-2257)- if ( typeof data === "string" ) {- cache[ jQuery.camelCase( data ) ] = value;-- // Handle: [ owner, { properties } ] args- } else {-- // Copy the properties one-by-one to the cache object- for ( prop in data ) {- cache[ jQuery.camelCase( prop ) ] = data[ prop ];- }- }- return cache;- },- get: function( owner, key ) {- return key === undefined ?- this.cache( owner ) :-- // Always use camelCase key (gh-2257)- owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ];- },- access: function( owner, key, value ) {-- // In cases where either:- //- // 1. No key was specified- // 2. A string key was specified, but no value provided- //- // Take the "read" path and allow the get method to determine- // which value to return, respectively either:- //- // 1. The entire cache object- // 2. The data stored at the key- //- if ( key === undefined ||- ( ( key && typeof key === "string" ) && value === undefined ) ) {-- return this.get( owner, key );- }-- // When the key is not a string, or both a key and value- // are specified, set or extend (existing objects) with either:- //- // 1. An object of properties- // 2. A key and value- //- this.set( owner, key, value );-- // Since the "set" path can have two possible entry points- // return the expected data based on which path was taken[*]- return value !== undefined ? value : key;- },- remove: function( owner, key ) {- var i,- cache = owner[ this.expando ];-- if ( cache === undefined ) {- return;- }-- if ( key !== undefined ) {-- // Support array or space separated string of keys- if ( jQuery.isArray( key ) ) {-- // If key is an array of keys...- // We always set camelCase keys, so remove that.- key = key.map( jQuery.camelCase );- } else {- key = jQuery.camelCase( key );-- // If a key with the spaces exists, use it.- // Otherwise, create an array by matching non-whitespace- key = key in cache ?- [ key ] :- ( key.match( rnotwhite ) || [] );- }-- i = key.length;-- while ( i-- ) {- delete cache[ key[ i ] ];- }- }-- // Remove the expando if there's no more data- if ( key === undefined || jQuery.isEmptyObject( cache ) ) {-- // Support: Chrome <=35 - 45- // Webkit & Blink performance suffers when deleting properties- // from DOM nodes, so set to undefined instead- // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)- if ( owner.nodeType ) {- owner[ this.expando ] = undefined;- } else {- delete owner[ this.expando ];- }- }- },- hasData: function( owner ) {- var cache = owner[ this.expando ];- return cache !== undefined && !jQuery.isEmptyObject( cache );- }-};-var dataPriv = new Data();--var dataUser = new Data();----// Implementation Summary-//-// 1. Enforce API surface and semantic compatibility with 1.9.x branch-// 2. Improve the module's maintainability by reducing the storage-// paths to a single mechanism.-// 3. Use the same single mechanism to support "private" and "user" data.-// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)-// 5. Avoid exposing implementation details on user objects (eg. expando properties)-// 6. Provide a clear path for implementation upgrade to WeakMap in 2014--var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,- rmultiDash = /[A-Z]/g;--function dataAttr( elem, key, data ) {- var name;-- // If nothing was found internally, try to fetch any- // data from the HTML5 data-* attribute- if ( data === undefined && elem.nodeType === 1 ) {- name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();- data = elem.getAttribute( name );-- if ( typeof data === "string" ) {- try {- data = data === "true" ? true :- data === "false" ? false :- data === "null" ? null :-- // Only convert to a number if it doesn't change the string- +data + "" === data ? +data :- rbrace.test( data ) ? JSON.parse( data ) :- data;- } catch ( e ) {}-- // Make sure we set the data so it isn't changed later- dataUser.set( elem, key, data );- } else {- data = undefined;- }- }- return data;-}--jQuery.extend( {- hasData: function( elem ) {- return dataUser.hasData( elem ) || dataPriv.hasData( elem );- },-- data: function( elem, name, data ) {- return dataUser.access( elem, name, data );- },-- removeData: function( elem, name ) {- dataUser.remove( elem, name );- },-- // TODO: Now that all calls to _data and _removeData have been replaced- // with direct calls to dataPriv methods, these can be deprecated.- _data: function( elem, name, data ) {- return dataPriv.access( elem, name, data );- },-- _removeData: function( elem, name ) {- dataPriv.remove( elem, name );- }-} );--jQuery.fn.extend( {- data: function( key, value ) {- var i, name, data,- elem = this[ 0 ],- attrs = elem && elem.attributes;-- // Gets all values- if ( key === undefined ) {- if ( this.length ) {- data = dataUser.get( elem );-- if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {- i = attrs.length;- while ( i-- ) {-- // Support: IE 11 only- // The attrs elements can be null (#14894)- if ( attrs[ i ] ) {- name = attrs[ i ].name;- if ( name.indexOf( "data-" ) === 0 ) {- name = jQuery.camelCase( name.slice( 5 ) );- dataAttr( elem, name, data[ name ] );- }- }- }- dataPriv.set( elem, "hasDataAttrs", true );- }- }-- return data;- }-- // Sets multiple values- if ( typeof key === "object" ) {- return this.each( function() {- dataUser.set( this, key );- } );- }-- return access( this, function( value ) {- var data;-- // The calling jQuery object (element matches) is not empty- // (and therefore has an element appears at this[ 0 ]) and the- // `value` parameter was not undefined. An empty jQuery object- // will result in `undefined` for elem = this[ 0 ] which will- // throw an exception if an attempt to read a data cache is made.- if ( elem && value === undefined ) {-- // Attempt to get data from the cache- // The key will always be camelCased in Data- data = dataUser.get( elem, key );- if ( data !== undefined ) {- return data;- }-- // Attempt to "discover" the data in- // HTML5 custom data-* attrs- data = dataAttr( elem, key );- if ( data !== undefined ) {- return data;- }-- // We tried really hard, but the data doesn't exist.- return;- }-- // Set the data...- this.each( function() {-- // We always store the camelCased key- dataUser.set( this, key, value );- } );- }, null, value, arguments.length > 1, null, true );- },-- removeData: function( key ) {- return this.each( function() {- dataUser.remove( this, key );- } );- }-} );---jQuery.extend( {- queue: function( elem, type, data ) {- var queue;-- if ( elem ) {- type = ( type || "fx" ) + "queue";- queue = dataPriv.get( elem, type );-- // Speed up dequeue by getting out quickly if this is just a lookup- if ( data ) {- if ( !queue || jQuery.isArray( data ) ) {- queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );- } else {- queue.push( data );- }- }- return queue || [];- }- },-- dequeue: function( elem, type ) {- type = type || "fx";-- var queue = jQuery.queue( elem, type ),- startLength = queue.length,- fn = queue.shift(),- hooks = jQuery._queueHooks( elem, type ),- next = function() {- jQuery.dequeue( elem, type );- };-- // If the fx queue is dequeued, always remove the progress sentinel- if ( fn === "inprogress" ) {- fn = queue.shift();- startLength--;- }-- if ( fn ) {-- // Add a progress sentinel to prevent the fx queue from being- // automatically dequeued- if ( type === "fx" ) {- queue.unshift( "inprogress" );- }-- // Clear up the last queue stop function- delete hooks.stop;- fn.call( elem, next, hooks );- }-- if ( !startLength && hooks ) {- hooks.empty.fire();- }- },-- // Not public - generate a queueHooks object, or return the current one- _queueHooks: function( elem, type ) {- var key = type + "queueHooks";- return dataPriv.get( elem, key ) || dataPriv.access( elem, key, {- empty: jQuery.Callbacks( "once memory" ).add( function() {- dataPriv.remove( elem, [ type + "queue", key ] );- } )- } );- }-} );--jQuery.fn.extend( {- queue: function( type, data ) {- var setter = 2;-- if ( typeof type !== "string" ) {- data = type;- type = "fx";- setter--;- }-- if ( arguments.length < setter ) {- return jQuery.queue( this[ 0 ], type );- }-- return data === undefined ?- this :- this.each( function() {- var queue = jQuery.queue( this, type, data );-- // Ensure a hooks for this queue- jQuery._queueHooks( this, type );-- if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {- jQuery.dequeue( this, type );- }- } );- },- dequeue: function( type ) {- return this.each( function() {- jQuery.dequeue( this, type );- } );- },- clearQueue: function( type ) {- return this.queue( type || "fx", [] );- },-- // Get a promise resolved when queues of a certain type- // are emptied (fx is the type by default)- promise: function( type, obj ) {- var tmp,- count = 1,- defer = jQuery.Deferred(),- elements = this,- i = this.length,- resolve = function() {- if ( !( --count ) ) {- defer.resolveWith( elements, [ elements ] );- }- };-- if ( typeof type !== "string" ) {- obj = type;- type = undefined;- }- type = type || "fx";-- while ( i-- ) {- tmp = dataPriv.get( elements[ i ], type + "queueHooks" );- if ( tmp && tmp.empty ) {- count++;- tmp.empty.add( resolve );- }- }- resolve();- return defer.promise( obj );- }-} );-var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;--var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );---var cssExpand = [ "Top", "Right", "Bottom", "Left" ];--var isHiddenWithinTree = function( elem, el ) {-- // isHiddenWithinTree might be called from jQuery#filter function;- // in that case, element will be second argument- elem = el || elem;-- // Inline style trumps all- return elem.style.display === "none" ||- elem.style.display === "" &&-- // Otherwise, check computed style- // Support: Firefox <=43 - 45- // Disconnected elements can have computed display: none, so first confirm that elem is- // in the document.- jQuery.contains( elem.ownerDocument, elem ) &&-- jQuery.css( elem, "display" ) === "none";- };--var swap = function( elem, options, callback, args ) {- var ret, name,- old = {};-- // Remember the old values, and insert the new ones- for ( name in options ) {- old[ name ] = elem.style[ name ];- elem.style[ name ] = options[ name ];- }-- ret = callback.apply( elem, args || [] );-- // Revert the old values- for ( name in options ) {- elem.style[ name ] = old[ name ];- }-- return ret;-};-----function adjustCSS( elem, prop, valueParts, tween ) {- var adjusted,- scale = 1,- maxIterations = 20,- currentValue = tween ?- function() {- return tween.cur();- } :- function() {- return jQuery.css( elem, prop, "" );- },- initial = currentValue(),- unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),-- // Starting value computation is required for potential unit mismatches- initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&- rcssNum.exec( jQuery.css( elem, prop ) );-- if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {-- // Trust units reported by jQuery.css- unit = unit || initialInUnit[ 3 ];-- // Make sure we update the tween properties later on- valueParts = valueParts || [];-- // Iteratively approximate from a nonzero starting point- initialInUnit = +initial || 1;-- do {-- // If previous iteration zeroed out, double until we get *something*.- // Use string for doubling so we don't accidentally see scale as unchanged below- scale = scale || ".5";-- // Adjust and apply- initialInUnit = initialInUnit / scale;- jQuery.style( elem, prop, initialInUnit + unit );-- // Update scale, tolerating zero or NaN from tween.cur()- // Break the loop if scale is unchanged or perfect, or if we've just had enough.- } while (- scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations- );- }-- if ( valueParts ) {- initialInUnit = +initialInUnit || +initial || 0;-- // Apply relative offset (+=/-=) if specified- adjusted = valueParts[ 1 ] ?- initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :- +valueParts[ 2 ];- if ( tween ) {- tween.unit = unit;- tween.start = initialInUnit;- tween.end = adjusted;- }- }- return adjusted;-}---var defaultDisplayMap = {};--function getDefaultDisplay( elem ) {- var temp,- doc = elem.ownerDocument,- nodeName = elem.nodeName,- display = defaultDisplayMap[ nodeName ];-- if ( display ) {- return display;- }-- temp = doc.body.appendChild( doc.createElement( nodeName ) ),- display = jQuery.css( temp, "display" );-- temp.parentNode.removeChild( temp );-- if ( display === "none" ) {- display = "block";- }- defaultDisplayMap[ nodeName ] = display;-- return display;-}--function showHide( elements, show ) {- var display, elem,- values = [],- index = 0,- length = elements.length;-- // Determine new display value for elements that need to change- for ( ; index < length; index++ ) {- elem = elements[ index ];- if ( !elem.style ) {- continue;- }-- display = elem.style.display;- if ( show ) {-- // Since we force visibility upon cascade-hidden elements, an immediate (and slow)- // check is required in this first loop unless we have a nonempty display value (either- // inline or about-to-be-restored)- if ( display === "none" ) {- values[ index ] = dataPriv.get( elem, "display" ) || null;- if ( !values[ index ] ) {- elem.style.display = "";- }- }- if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) {- values[ index ] = getDefaultDisplay( elem );- }- } else {- if ( display !== "none" ) {- values[ index ] = "none";-- // Remember what we're overwriting- dataPriv.set( elem, "display", display );- }- }- }-- // Set the display of the elements in a second loop to avoid constant reflow- for ( index = 0; index < length; index++ ) {- if ( values[ index ] != null ) {- elements[ index ].style.display = values[ index ];- }- }-- return elements;-}--jQuery.fn.extend( {- show: function() {- return showHide( this, true );- },- hide: function() {- return showHide( this );- },- toggle: function( state ) {- if ( typeof state === "boolean" ) {- return state ? this.show() : this.hide();- }-- return this.each( function() {- if ( isHiddenWithinTree( this ) ) {- jQuery( this ).show();- } else {- jQuery( this ).hide();- }- } );- }-} );-var rcheckableType = ( /^(?:checkbox|radio)$/i );--var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i );--var rscriptType = ( /^$|\/(?:java|ecma)script/i );----// We have to close these tags to support XHTML (#13200)-var wrapMap = {-- // Support: IE <=9 only- option: [ 1, "<select multiple='multiple'>", "</select>" ],-- // XHTML parsers do not magically insert elements in the- // same way that tag soup parsers do. So we cannot shorten- // this by omitting <tbody> or other required elements.- thead: [ 1, "<table>", "</table>" ],- col: [ 2, "<table><colgroup>", "</colgroup></table>" ],- tr: [ 2, "<table><tbody>", "</tbody></table>" ],- td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],-- _default: [ 0, "", "" ]-};--// Support: IE <=9 only-wrapMap.optgroup = wrapMap.option;--wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;-wrapMap.th = wrapMap.td;---function getAll( context, tag ) {-- // Support: IE <=9 - 11 only- // Use typeof to avoid zero-argument method invocation on host objects (#15151)- var ret = typeof context.getElementsByTagName !== "undefined" ?- context.getElementsByTagName( tag || "*" ) :- typeof context.querySelectorAll !== "undefined" ?- context.querySelectorAll( tag || "*" ) :- [];-- return tag === undefined || tag && jQuery.nodeName( context, tag ) ?- jQuery.merge( [ context ], ret ) :- ret;-}---// Mark scripts as having already been evaluated-function setGlobalEval( elems, refElements ) {- var i = 0,- l = elems.length;-- for ( ; i < l; i++ ) {- dataPriv.set(- elems[ i ],- "globalEval",- !refElements || dataPriv.get( refElements[ i ], "globalEval" )- );- }-}---var rhtml = /<|&#?\w+;/;--function buildFragment( elems, context, scripts, selection, ignored ) {- var elem, tmp, tag, wrap, contains, j,- fragment = context.createDocumentFragment(),- nodes = [],- i = 0,- l = elems.length;-- for ( ; i < l; i++ ) {- elem = elems[ i ];-- if ( elem || elem === 0 ) {-- // Add nodes directly- if ( jQuery.type( elem ) === "object" ) {-- // Support: Android <=4.0 only, PhantomJS 1 only- // push.apply(_, arraylike) throws on ancient WebKit- jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );-- // Convert non-html into a text node- } else if ( !rhtml.test( elem ) ) {- nodes.push( context.createTextNode( elem ) );-- // Convert html into DOM nodes- } else {- tmp = tmp || fragment.appendChild( context.createElement( "div" ) );-- // Deserialize a standard representation- tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();- wrap = wrapMap[ tag ] || wrapMap._default;- tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];-- // Descend through wrappers to the right content- j = wrap[ 0 ];- while ( j-- ) {- tmp = tmp.lastChild;- }-- // Support: Android <=4.0 only, PhantomJS 1 only- // push.apply(_, arraylike) throws on ancient WebKit- jQuery.merge( nodes, tmp.childNodes );-- // Remember the top-level container- tmp = fragment.firstChild;-- // Ensure the created nodes are orphaned (#12392)- tmp.textContent = "";- }- }- }-- // Remove wrapper from fragment- fragment.textContent = "";-- i = 0;- while ( ( elem = nodes[ i++ ] ) ) {-- // Skip elements already in the context collection (trac-4087)- if ( selection && jQuery.inArray( elem, selection ) > -1 ) {- if ( ignored ) {- ignored.push( elem );- }- continue;- }-- contains = jQuery.contains( elem.ownerDocument, elem );-- // Append to fragment- tmp = getAll( fragment.appendChild( elem ), "script" );-- // Preserve script evaluation history- if ( contains ) {- setGlobalEval( tmp );- }-- // Capture executables- if ( scripts ) {- j = 0;- while ( ( elem = tmp[ j++ ] ) ) {- if ( rscriptType.test( elem.type || "" ) ) {- scripts.push( elem );- }- }- }- }-- return fragment;-}---( function() {- var fragment = document.createDocumentFragment(),- div = fragment.appendChild( document.createElement( "div" ) ),- input = document.createElement( "input" );-- // Support: Android 4.0 - 4.3 only- // Check state lost if the name is set (#11217)- // Support: Windows Web Apps (WWA)- // `name` and `type` must use .setAttribute for WWA (#14901)- input.setAttribute( "type", "radio" );- input.setAttribute( "checked", "checked" );- input.setAttribute( "name", "t" );-- div.appendChild( input );-- // Support: Android <=4.1 only- // Older WebKit doesn't clone checked state correctly in fragments- support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;-- // Support: IE <=11 only- // Make sure textarea (and checkbox) defaultValue is properly cloned- div.innerHTML = "<textarea>x</textarea>";- support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;-} )();-var documentElement = document.documentElement;----var- rkeyEvent = /^key/,- rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,- rtypenamespace = /^([^.]*)(?:\.(.+)|)/;--function returnTrue() {- return true;-}--function returnFalse() {- return false;-}--// Support: IE <=9 only-// See #13393 for more info-function safeActiveElement() {- try {- return document.activeElement;- } catch ( err ) { }-}--function on( elem, types, selector, data, fn, one ) {- var origFn, type;-- // Types can be a map of types/handlers- if ( typeof types === "object" ) {-- // ( types-Object, selector, data )- if ( typeof selector !== "string" ) {-- // ( types-Object, data )- data = data || selector;- selector = undefined;- }- for ( type in types ) {- on( elem, type, selector, data, types[ type ], one );- }- return elem;- }-- if ( data == null && fn == null ) {-- // ( types, fn )- fn = selector;- data = selector = undefined;- } else if ( fn == null ) {- if ( typeof selector === "string" ) {-- // ( types, selector, fn )- fn = data;- data = undefined;- } else {-- // ( types, data, fn )- fn = data;- data = selector;- selector = undefined;- }- }- if ( fn === false ) {- fn = returnFalse;- } else if ( !fn ) {- return elem;- }-- if ( one === 1 ) {- origFn = fn;- fn = function( event ) {-- // Can use an empty set, since event contains the info- jQuery().off( event );- return origFn.apply( this, arguments );- };-- // Use same guid so caller can remove using origFn- fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );- }- return elem.each( function() {- jQuery.event.add( this, types, fn, data, selector );- } );-}--/*- * Helper functions for managing events -- not part of the public interface.- * Props to Dean Edwards' addEvent library for many of the ideas.- */-jQuery.event = {-- global: {},-- add: function( elem, types, handler, data, selector ) {-- var handleObjIn, eventHandle, tmp,- events, t, handleObj,- special, handlers, type, namespaces, origType,- elemData = dataPriv.get( elem );-- // Don't attach events to noData or text/comment nodes (but allow plain objects)- if ( !elemData ) {- return;- }-- // Caller can pass in an object of custom data in lieu of the handler- if ( handler.handler ) {- handleObjIn = handler;- handler = handleObjIn.handler;- selector = handleObjIn.selector;- }-- // Ensure that invalid selectors throw exceptions at attach time- // Evaluate against documentElement in case elem is a non-element node (e.g., document)- if ( selector ) {- jQuery.find.matchesSelector( documentElement, selector );- }-- // Make sure that the handler has a unique ID, used to find/remove it later- if ( !handler.guid ) {- handler.guid = jQuery.guid++;- }-- // Init the element's event structure and main handler, if this is the first- if ( !( events = elemData.events ) ) {- events = elemData.events = {};- }- if ( !( eventHandle = elemData.handle ) ) {- eventHandle = elemData.handle = function( e ) {-- // Discard the second event of a jQuery.event.trigger() and- // when an event is called after a page has unloaded- return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?- jQuery.event.dispatch.apply( elem, arguments ) : undefined;- };- }-- // Handle multiple events separated by a space- types = ( types || "" ).match( rnotwhite ) || [ "" ];- t = types.length;- while ( t-- ) {- tmp = rtypenamespace.exec( types[ t ] ) || [];- type = origType = tmp[ 1 ];- namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();-- // There *must* be a type, no attaching namespace-only handlers- if ( !type ) {- continue;- }-- // If event changes its type, use the special event handlers for the changed type- special = jQuery.event.special[ type ] || {};-- // If selector defined, determine special event api type, otherwise given type- type = ( selector ? special.delegateType : special.bindType ) || type;-- // Update special based on newly reset type- special = jQuery.event.special[ type ] || {};-- // handleObj is passed to all event handlers- handleObj = jQuery.extend( {- type: type,- origType: origType,- data: data,- handler: handler,- guid: handler.guid,- selector: selector,- needsContext: selector && jQuery.expr.match.needsContext.test( selector ),- namespace: namespaces.join( "." )- }, handleObjIn );-- // Init the event handler queue if we're the first- if ( !( handlers = events[ type ] ) ) {- handlers = events[ type ] = [];- handlers.delegateCount = 0;-- // Only use addEventListener if the special events handler returns false- if ( !special.setup ||- special.setup.call( elem, data, namespaces, eventHandle ) === false ) {-- if ( elem.addEventListener ) {- elem.addEventListener( type, eventHandle );- }- }- }-- if ( special.add ) {- special.add.call( elem, handleObj );-- if ( !handleObj.handler.guid ) {- handleObj.handler.guid = handler.guid;- }- }-- // Add to the element's handler list, delegates in front- if ( selector ) {- handlers.splice( handlers.delegateCount++, 0, handleObj );- } else {- handlers.push( handleObj );- }-- // Keep track of which events have ever been used, for event optimization- jQuery.event.global[ type ] = true;- }-- },-- // Detach an event or set of events from an element- remove: function( elem, types, handler, selector, mappedTypes ) {-- var j, origCount, tmp,- events, t, handleObj,- special, handlers, type, namespaces, origType,- elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );-- if ( !elemData || !( events = elemData.events ) ) {- return;- }-- // Once for each type.namespace in types; type may be omitted- types = ( types || "" ).match( rnotwhite ) || [ "" ];- t = types.length;- while ( t-- ) {- tmp = rtypenamespace.exec( types[ t ] ) || [];- type = origType = tmp[ 1 ];- namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();-- // Unbind all events (on this namespace, if provided) for the element- if ( !type ) {- for ( type in events ) {- jQuery.event.remove( elem, type + types[ t ], handler, selector, true );- }- continue;- }-- special = jQuery.event.special[ type ] || {};- type = ( selector ? special.delegateType : special.bindType ) || type;- handlers = events[ type ] || [];- tmp = tmp[ 2 ] &&- new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );-- // Remove matching events- origCount = j = handlers.length;- while ( j-- ) {- handleObj = handlers[ j ];-- if ( ( mappedTypes || origType === handleObj.origType ) &&- ( !handler || handler.guid === handleObj.guid ) &&- ( !tmp || tmp.test( handleObj.namespace ) ) &&- ( !selector || selector === handleObj.selector ||- selector === "**" && handleObj.selector ) ) {- handlers.splice( j, 1 );-- if ( handleObj.selector ) {- handlers.delegateCount--;- }- if ( special.remove ) {- special.remove.call( elem, handleObj );- }- }- }-- // Remove generic event handler if we removed something and no more handlers exist- // (avoids potential for endless recursion during removal of special event handlers)- if ( origCount && !handlers.length ) {- if ( !special.teardown ||- special.teardown.call( elem, namespaces, elemData.handle ) === false ) {-- jQuery.removeEvent( elem, type, elemData.handle );- }-- delete events[ type ];- }- }-- // Remove data and the expando if it's no longer used- if ( jQuery.isEmptyObject( events ) ) {- dataPriv.remove( elem, "handle events" );- }- },-- dispatch: function( nativeEvent ) {-- // Make a writable jQuery.Event from the native event object- var event = jQuery.event.fix( nativeEvent );-- var i, j, ret, matched, handleObj, handlerQueue,- args = new Array( arguments.length ),- handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],- special = jQuery.event.special[ event.type ] || {};-- // Use the fix-ed jQuery.Event rather than the (read-only) native event- args[ 0 ] = event;-- for ( i = 1; i < arguments.length; i++ ) {- args[ i ] = arguments[ i ];- }-- event.delegateTarget = this;-- // Call the preDispatch hook for the mapped type, and let it bail if desired- if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {- return;- }-- // Determine handlers- handlerQueue = jQuery.event.handlers.call( this, event, handlers );-- // Run delegates first; they may want to stop propagation beneath us- i = 0;- while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {- event.currentTarget = matched.elem;-- j = 0;- while ( ( handleObj = matched.handlers[ j++ ] ) &&- !event.isImmediatePropagationStopped() ) {-- // Triggered event must either 1) have no namespace, or 2) have namespace(s)- // a subset or equal to those in the bound event (both can have no namespace).- if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {-- event.handleObj = handleObj;- event.data = handleObj.data;-- ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||- handleObj.handler ).apply( matched.elem, args );-- if ( ret !== undefined ) {- if ( ( event.result = ret ) === false ) {- event.preventDefault();- event.stopPropagation();- }- }- }- }- }-- // Call the postDispatch hook for the mapped type- if ( special.postDispatch ) {- special.postDispatch.call( this, event );- }-- return event.result;- },-- handlers: function( event, handlers ) {- var i, matches, sel, handleObj,- handlerQueue = [],- delegateCount = handlers.delegateCount,- cur = event.target;-- // Support: IE <=9- // Find delegate handlers- // Black-hole SVG <use> instance trees (#13180)- //- // Support: Firefox <=42- // Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343)- if ( delegateCount && cur.nodeType &&- ( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) {-- for ( ; cur !== this; cur = cur.parentNode || this ) {-- // Don't check non-elements (#13208)- // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)- if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) {- matches = [];- for ( i = 0; i < delegateCount; i++ ) {- handleObj = handlers[ i ];-- // Don't conflict with Object.prototype properties (#13203)- sel = handleObj.selector + " ";-- if ( matches[ sel ] === undefined ) {- matches[ sel ] = handleObj.needsContext ?- jQuery( sel, this ).index( cur ) > -1 :- jQuery.find( sel, this, null, [ cur ] ).length;- }- if ( matches[ sel ] ) {- matches.push( handleObj );- }- }- if ( matches.length ) {- handlerQueue.push( { elem: cur, handlers: matches } );- }- }- }- }-- // Add the remaining (directly-bound) handlers- if ( delegateCount < handlers.length ) {- handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } );- }-- return handlerQueue;- },-- addProp: function( name, hook ) {- Object.defineProperty( jQuery.Event.prototype, name, {- enumerable: true,- configurable: true,-- get: jQuery.isFunction( hook ) ?- function() {- if ( this.originalEvent ) {- return hook( this.originalEvent );- }- } :- function() {- if ( this.originalEvent ) {- return this.originalEvent[ name ];- }- },-- set: function( value ) {- Object.defineProperty( this, name, {- enumerable: true,- configurable: true,- writable: true,- value: value- } );- }- } );- },-- fix: function( originalEvent ) {- return originalEvent[ jQuery.expando ] ?- originalEvent :- new jQuery.Event( originalEvent );- },-- special: {- load: {-- // Prevent triggered image.load events from bubbling to window.load- noBubble: true- },- focus: {-- // Fire native event if possible so blur/focus sequence is correct- trigger: function() {- if ( this !== safeActiveElement() && this.focus ) {- this.focus();- return false;- }- },- delegateType: "focusin"- },- blur: {- trigger: function() {- if ( this === safeActiveElement() && this.blur ) {- this.blur();- return false;- }- },- delegateType: "focusout"- },- click: {-- // For checkbox, fire native event so checked state will be right- trigger: function() {- if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) {- this.click();- return false;- }- },-- // For cross-browser consistency, don't fire native .click() on links- _default: function( event ) {- return jQuery.nodeName( event.target, "a" );- }- },-- beforeunload: {- postDispatch: function( event ) {-- // Support: Firefox 20+- // Firefox doesn't alert if the returnValue field is not set.- if ( event.result !== undefined && event.originalEvent ) {- event.originalEvent.returnValue = event.result;- }- }- }- }-};--jQuery.removeEvent = function( elem, type, handle ) {-- // This "if" is needed for plain objects- if ( elem.removeEventListener ) {- elem.removeEventListener( type, handle );- }-};--jQuery.Event = function( src, props ) {-- // Allow instantiation without the 'new' keyword- if ( !( this instanceof jQuery.Event ) ) {- return new jQuery.Event( src, props );- }-- // Event object- if ( src && src.type ) {- this.originalEvent = src;- this.type = src.type;-- // Events bubbling up the document may have been marked as prevented- // by a handler lower down the tree; reflect the correct value.- this.isDefaultPrevented = src.defaultPrevented ||- src.defaultPrevented === undefined &&-- // Support: Android <=2.3 only- src.returnValue === false ?- returnTrue :- returnFalse;-- // Create target properties- // Support: Safari <=6 - 7 only- // Target should not be a text node (#504, #13143)- this.target = ( src.target && src.target.nodeType === 3 ) ?- src.target.parentNode :- src.target;-- this.currentTarget = src.currentTarget;- this.relatedTarget = src.relatedTarget;-- // Event type- } else {- this.type = src;- }-- // Put explicitly provided properties onto the event object- if ( props ) {- jQuery.extend( this, props );- }-- // Create a timestamp if incoming event doesn't have one- this.timeStamp = src && src.timeStamp || jQuery.now();-- // Mark it as fixed- this[ jQuery.expando ] = true;-};--// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding-// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html-jQuery.Event.prototype = {- constructor: jQuery.Event,- isDefaultPrevented: returnFalse,- isPropagationStopped: returnFalse,- isImmediatePropagationStopped: returnFalse,- isSimulated: false,-- preventDefault: function() {- var e = this.originalEvent;-- this.isDefaultPrevented = returnTrue;-- if ( e && !this.isSimulated ) {- e.preventDefault();- }- },- stopPropagation: function() {- var e = this.originalEvent;-- this.isPropagationStopped = returnTrue;-- if ( e && !this.isSimulated ) {- e.stopPropagation();- }- },- stopImmediatePropagation: function() {- var e = this.originalEvent;-- this.isImmediatePropagationStopped = returnTrue;-- if ( e && !this.isSimulated ) {- e.stopImmediatePropagation();- }-- this.stopPropagation();- }-};--// Includes all common event props including KeyEvent and MouseEvent specific props-jQuery.each( {- altKey: true,- bubbles: true,- cancelable: true,- changedTouches: true,- ctrlKey: true,- detail: true,- eventPhase: true,- metaKey: true,- pageX: true,- pageY: true,- shiftKey: true,- view: true,- "char": true,- charCode: true,- key: true,- keyCode: true,- button: true,- buttons: true,- clientX: true,- clientY: true,- offsetX: true,- offsetY: true,- pointerId: true,- pointerType: true,- screenX: true,- screenY: true,- targetTouches: true,- toElement: true,- touches: true,-- which: function( event ) {- var button = event.button;-- // Add which for key events- if ( event.which == null && rkeyEvent.test( event.type ) ) {- return event.charCode != null ? event.charCode : event.keyCode;- }-- // Add which for click: 1 === left; 2 === middle; 3 === right- if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {- return ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );- }-- return event.which;- }-}, jQuery.event.addProp );--// Create mouseenter/leave events using mouseover/out and event-time checks-// so that event delegation works in jQuery.-// Do the same for pointerenter/pointerleave and pointerover/pointerout-//-// Support: Safari 7 only-// Safari sends mouseenter too often; see:-// https://bugs.chromium.org/p/chromium/issues/detail?id=470258-// for the description of the bug (it existed in older Chrome versions as well).-jQuery.each( {- mouseenter: "mouseover",- mouseleave: "mouseout",- pointerenter: "pointerover",- pointerleave: "pointerout"-}, function( orig, fix ) {- jQuery.event.special[ orig ] = {- delegateType: fix,- bindType: fix,-- handle: function( event ) {- var ret,- target = this,- related = event.relatedTarget,- handleObj = event.handleObj;-- // For mouseenter/leave call the handler if related is outside the target.- // NB: No relatedTarget if the mouse left/entered the browser window- if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {- event.type = handleObj.origType;- ret = handleObj.handler.apply( this, arguments );- event.type = fix;- }- return ret;- }- };-} );--jQuery.fn.extend( {-- on: function( types, selector, data, fn ) {- return on( this, types, selector, data, fn );- },- one: function( types, selector, data, fn ) {- return on( this, types, selector, data, fn, 1 );- },- off: function( types, selector, fn ) {- var handleObj, type;- if ( types && types.preventDefault && types.handleObj ) {-- // ( event ) dispatched jQuery.Event- handleObj = types.handleObj;- jQuery( types.delegateTarget ).off(- handleObj.namespace ?- handleObj.origType + "." + handleObj.namespace :- handleObj.origType,- handleObj.selector,- handleObj.handler- );- return this;- }- if ( typeof types === "object" ) {-- // ( types-object [, selector] )- for ( type in types ) {- this.off( type, selector, types[ type ] );- }- return this;- }- if ( selector === false || typeof selector === "function" ) {-- // ( types [, fn] )- fn = selector;- selector = undefined;- }- if ( fn === false ) {- fn = returnFalse;- }- return this.each( function() {- jQuery.event.remove( this, types, fn, selector );- } );- }-} );---var-- /* eslint-disable max-len */-- // See https://github.com/eslint/eslint/issues/3229- rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,-- /* eslint-enable */-- // Support: IE <=10 - 11, Edge 12 - 13- // In IE/Edge using regex groups here causes severe slowdowns.- // See https://connect.microsoft.com/IE/feedback/details/1736512/- rnoInnerhtml = /<script|<style|<link/i,-- // checked="checked" or checked- rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,- rscriptTypeMasked = /^true\/(.*)/,- rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;--function manipulationTarget( elem, content ) {- if ( jQuery.nodeName( elem, "table" ) &&- jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {-- return elem.getElementsByTagName( "tbody" )[ 0 ] || elem;- }-- return elem;-}--// Replace/restore the type attribute of script elements for safe DOM manipulation-function disableScript( elem ) {- elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;- return elem;-}-function restoreScript( elem ) {- var match = rscriptTypeMasked.exec( elem.type );-- if ( match ) {- elem.type = match[ 1 ];- } else {- elem.removeAttribute( "type" );- }-- return elem;-}--function cloneCopyEvent( src, dest ) {- var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;-- if ( dest.nodeType !== 1 ) {- return;- }-- // 1. Copy private data: events, handlers, etc.- if ( dataPriv.hasData( src ) ) {- pdataOld = dataPriv.access( src );- pdataCur = dataPriv.set( dest, pdataOld );- events = pdataOld.events;-- if ( events ) {- delete pdataCur.handle;- pdataCur.events = {};-- for ( type in events ) {- for ( i = 0, l = events[ type ].length; i < l; i++ ) {- jQuery.event.add( dest, type, events[ type ][ i ] );- }- }- }- }-- // 2. Copy user data- if ( dataUser.hasData( src ) ) {- udataOld = dataUser.access( src );- udataCur = jQuery.extend( {}, udataOld );-- dataUser.set( dest, udataCur );- }-}--// Fix IE bugs, see support tests-function fixInput( src, dest ) {- var nodeName = dest.nodeName.toLowerCase();-- // Fails to persist the checked state of a cloned checkbox or radio button.- if ( nodeName === "input" && rcheckableType.test( src.type ) ) {- dest.checked = src.checked;-- // Fails to return the selected option to the default selected state when cloning options- } else if ( nodeName === "input" || nodeName === "textarea" ) {- dest.defaultValue = src.defaultValue;- }-}--function domManip( collection, args, callback, ignored ) {-- // Flatten any nested arrays- args = concat.apply( [], args );-- var fragment, first, scripts, hasScripts, node, doc,- i = 0,- l = collection.length,- iNoClone = l - 1,- value = args[ 0 ],- isFunction = jQuery.isFunction( value );-- // We can't cloneNode fragments that contain checked, in WebKit- if ( isFunction ||- ( l > 1 && typeof value === "string" &&- !support.checkClone && rchecked.test( value ) ) ) {- return collection.each( function( index ) {- var self = collection.eq( index );- if ( isFunction ) {- args[ 0 ] = value.call( this, index, self.html() );- }- domManip( self, args, callback, ignored );- } );- }-- if ( l ) {- fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );- first = fragment.firstChild;-- if ( fragment.childNodes.length === 1 ) {- fragment = first;- }-- // Require either new content or an interest in ignored elements to invoke the callback- if ( first || ignored ) {- scripts = jQuery.map( getAll( fragment, "script" ), disableScript );- hasScripts = scripts.length;-- // Use the original fragment for the last item- // instead of the first because it can end up- // being emptied incorrectly in certain situations (#8070).- for ( ; i < l; i++ ) {- node = fragment;-- if ( i !== iNoClone ) {- node = jQuery.clone( node, true, true );-- // Keep references to cloned scripts for later restoration- if ( hasScripts ) {-- // Support: Android <=4.0 only, PhantomJS 1 only- // push.apply(_, arraylike) throws on ancient WebKit- jQuery.merge( scripts, getAll( node, "script" ) );- }- }-- callback.call( collection[ i ], node, i );- }-- if ( hasScripts ) {- doc = scripts[ scripts.length - 1 ].ownerDocument;-- // Reenable scripts- jQuery.map( scripts, restoreScript );-- // Evaluate executable scripts on first document insertion- for ( i = 0; i < hasScripts; i++ ) {- node = scripts[ i ];- if ( rscriptType.test( node.type || "" ) &&- !dataPriv.access( node, "globalEval" ) &&- jQuery.contains( doc, node ) ) {-- if ( node.src ) {-- // Optional AJAX dependency, but won't run scripts if not present- if ( jQuery._evalUrl ) {- jQuery._evalUrl( node.src );- }- } else {- DOMEval( node.textContent.replace( rcleanScript, "" ), doc );- }- }- }- }- }- }-- return collection;-}--function remove( elem, selector, keepData ) {- var node,- nodes = selector ? jQuery.filter( selector, elem ) : elem,- i = 0;-- for ( ; ( node = nodes[ i ] ) != null; i++ ) {- if ( !keepData && node.nodeType === 1 ) {- jQuery.cleanData( getAll( node ) );- }-- if ( node.parentNode ) {- if ( keepData && jQuery.contains( node.ownerDocument, node ) ) {- setGlobalEval( getAll( node, "script" ) );- }- node.parentNode.removeChild( node );- }- }-- return elem;-}--jQuery.extend( {- htmlPrefilter: function( html ) {- return html.replace( rxhtmlTag, "<$1></$2>" );- },-- clone: function( elem, dataAndEvents, deepDataAndEvents ) {- var i, l, srcElements, destElements,- clone = elem.cloneNode( true ),- inPage = jQuery.contains( elem.ownerDocument, elem );-- // Fix IE cloning issues- if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&- !jQuery.isXMLDoc( elem ) ) {-- // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2- destElements = getAll( clone );- srcElements = getAll( elem );-- for ( i = 0, l = srcElements.length; i < l; i++ ) {- fixInput( srcElements[ i ], destElements[ i ] );- }- }-- // Copy the events from the original to the clone- if ( dataAndEvents ) {- if ( deepDataAndEvents ) {- srcElements = srcElements || getAll( elem );- destElements = destElements || getAll( clone );-- for ( i = 0, l = srcElements.length; i < l; i++ ) {- cloneCopyEvent( srcElements[ i ], destElements[ i ] );- }- } else {- cloneCopyEvent( elem, clone );- }- }-- // Preserve script evaluation history- destElements = getAll( clone, "script" );- if ( destElements.length > 0 ) {- setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );- }-- // Return the cloned set- return clone;- },-- cleanData: function( elems ) {- var data, elem, type,- special = jQuery.event.special,- i = 0;-- for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {- if ( acceptData( elem ) ) {- if ( ( data = elem[ dataPriv.expando ] ) ) {- if ( data.events ) {- for ( type in data.events ) {- if ( special[ type ] ) {- jQuery.event.remove( elem, type );-- // This is a shortcut to avoid jQuery.event.remove's overhead- } else {- jQuery.removeEvent( elem, type, data.handle );- }- }- }-- // Support: Chrome <=35 - 45+- // Assign undefined instead of using delete, see Data#remove- elem[ dataPriv.expando ] = undefined;- }- if ( elem[ dataUser.expando ] ) {-- // Support: Chrome <=35 - 45+- // Assign undefined instead of using delete, see Data#remove- elem[ dataUser.expando ] = undefined;- }- }- }- }-} );--jQuery.fn.extend( {- detach: function( selector ) {- return remove( this, selector, true );- },-- remove: function( selector ) {- return remove( this, selector );- },-- text: function( value ) {- return access( this, function( value ) {- return value === undefined ?- jQuery.text( this ) :- this.empty().each( function() {- if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {- this.textContent = value;- }- } );- }, null, value, arguments.length );- },-- append: function() {- return domManip( this, arguments, function( elem ) {- if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {- var target = manipulationTarget( this, elem );- target.appendChild( elem );- }- } );- },-- prepend: function() {- return domManip( this, arguments, function( elem ) {- if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {- var target = manipulationTarget( this, elem );- target.insertBefore( elem, target.firstChild );- }- } );- },-- before: function() {- return domManip( this, arguments, function( elem ) {- if ( this.parentNode ) {- this.parentNode.insertBefore( elem, this );- }- } );- },-- after: function() {- return domManip( this, arguments, function( elem ) {- if ( this.parentNode ) {- this.parentNode.insertBefore( elem, this.nextSibling );- }- } );- },-- empty: function() {- var elem,- i = 0;-- for ( ; ( elem = this[ i ] ) != null; i++ ) {- if ( elem.nodeType === 1 ) {-- // Prevent memory leaks- jQuery.cleanData( getAll( elem, false ) );-- // Remove any remaining nodes- elem.textContent = "";- }- }-- return this;- },-- clone: function( dataAndEvents, deepDataAndEvents ) {- dataAndEvents = dataAndEvents == null ? false : dataAndEvents;- deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;-- return this.map( function() {- return jQuery.clone( this, dataAndEvents, deepDataAndEvents );- } );- },-- html: function( value ) {- return access( this, function( value ) {- var elem = this[ 0 ] || {},- i = 0,- l = this.length;-- if ( value === undefined && elem.nodeType === 1 ) {- return elem.innerHTML;- }-- // See if we can take a shortcut and just use innerHTML- if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&- !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {-- value = jQuery.htmlPrefilter( value );-- try {- for ( ; i < l; i++ ) {- elem = this[ i ] || {};-- // Remove element nodes and prevent memory leaks- if ( elem.nodeType === 1 ) {- jQuery.cleanData( getAll( elem, false ) );- elem.innerHTML = value;- }- }-- elem = 0;-- // If using innerHTML throws an exception, use the fallback method- } catch ( e ) {}- }-- if ( elem ) {- this.empty().append( value );- }- }, null, value, arguments.length );- },-- replaceWith: function() {- var ignored = [];-- // Make the changes, replacing each non-ignored context element with the new content- return domManip( this, arguments, function( elem ) {- var parent = this.parentNode;-- if ( jQuery.inArray( this, ignored ) < 0 ) {- jQuery.cleanData( getAll( this ) );- if ( parent ) {- parent.replaceChild( elem, this );- }- }-- // Force callback invocation- }, ignored );- }-} );--jQuery.each( {- appendTo: "append",- prependTo: "prepend",- insertBefore: "before",- insertAfter: "after",- replaceAll: "replaceWith"-}, function( name, original ) {- jQuery.fn[ name ] = function( selector ) {- var elems,- ret = [],- insert = jQuery( selector ),- last = insert.length - 1,- i = 0;-- for ( ; i <= last; i++ ) {- elems = i === last ? this : this.clone( true );- jQuery( insert[ i ] )[ original ]( elems );-- // Support: Android <=4.0 only, PhantomJS 1 only- // .get() because push.apply(_, arraylike) throws on ancient WebKit- push.apply( ret, elems.get() );- }-- return this.pushStack( ret );- };-} );-var rmargin = ( /^margin/ );--var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );--var getStyles = function( elem ) {-- // Support: IE <=11 only, Firefox <=30 (#15098, #14150)- // IE throws on elements created in popups- // FF meanwhile throws on frame elements through "defaultView.getComputedStyle"- var view = elem.ownerDocument.defaultView;-- if ( !view || !view.opener ) {- view = window;- }-- return view.getComputedStyle( elem );- };----( function() {-- // Executing both pixelPosition & boxSizingReliable tests require only one layout- // so they're executed at the same time to save the second computation.- function computeStyleTests() {-- // This is a singleton, we need to execute it only once- if ( !div ) {- return;- }-- div.style.cssText =- "box-sizing:border-box;" +- "position:relative;display:block;" +- "margin:auto;border:1px;padding:1px;" +- "top:1%;width:50%";- div.innerHTML = "";- documentElement.appendChild( container );-- var divStyle = window.getComputedStyle( div );- pixelPositionVal = divStyle.top !== "1%";-- // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44- reliableMarginLeftVal = divStyle.marginLeft === "2px";- boxSizingReliableVal = divStyle.width === "4px";-- // Support: Android 4.0 - 4.3 only- // Some styles come back with percentage values, even though they shouldn't- div.style.marginRight = "50%";- pixelMarginRightVal = divStyle.marginRight === "4px";-- documentElement.removeChild( container );-- // Nullify the div so it wouldn't be stored in the memory and- // it will also be a sign that checks already performed- div = null;- }-- var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal,- container = document.createElement( "div" ),- div = document.createElement( "div" );-- // Finish early in limited (non-browser) environments- if ( !div.style ) {- return;- }-- // Support: IE <=9 - 11 only- // Style of cloned element affects source element cloned (#8908)- div.style.backgroundClip = "content-box";- div.cloneNode( true ).style.backgroundClip = "";- support.clearCloneStyle = div.style.backgroundClip === "content-box";-- container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" +- "padding:0;margin-top:1px;position:absolute";- container.appendChild( div );-- jQuery.extend( support, {- pixelPosition: function() {- computeStyleTests();- return pixelPositionVal;- },- boxSizingReliable: function() {- computeStyleTests();- return boxSizingReliableVal;- },- pixelMarginRight: function() {- computeStyleTests();- return pixelMarginRightVal;- },- reliableMarginLeft: function() {- computeStyleTests();- return reliableMarginLeftVal;- }- } );-} )();---function curCSS( elem, name, computed ) {- var width, minWidth, maxWidth, ret,- style = elem.style;-- computed = computed || getStyles( elem );-- // Support: IE <=9 only- // getPropertyValue is only needed for .css('filter') (#12537)- if ( computed ) {- ret = computed.getPropertyValue( name ) || computed[ name ];-- if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {- ret = jQuery.style( elem, name );- }-- // A tribute to the "awesome hack by Dean Edwards"- // Android Browser returns percentage for some values,- // but width seems to be reliably pixels.- // This is against the CSSOM draft spec:- // https://drafts.csswg.org/cssom/#resolved-values- if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {-- // Remember the original values- width = style.width;- minWidth = style.minWidth;- maxWidth = style.maxWidth;-- // Put in the new values to get a computed value out- style.minWidth = style.maxWidth = style.width = ret;- ret = computed.width;-- // Revert the changed values- style.width = width;- style.minWidth = minWidth;- style.maxWidth = maxWidth;- }- }-- return ret !== undefined ?-- // Support: IE <=9 - 11 only- // IE returns zIndex value as an integer.- ret + "" :- ret;-}---function addGetHookIf( conditionFn, hookFn ) {-- // Define the hook, we'll check on the first run if it's really needed.- return {- get: function() {- if ( conditionFn() ) {-- // Hook not needed (or it's not possible to use it due- // to missing dependency), remove it.- delete this.get;- return;- }-- // Hook needed; redefine it so that the support test is not executed again.- return ( this.get = hookFn ).apply( this, arguments );- }- };-}---var-- // Swappable if display is none or starts with table- // except "table", "table-cell", or "table-caption"- // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display- rdisplayswap = /^(none|table(?!-c[ea]).+)/,- cssShow = { position: "absolute", visibility: "hidden", display: "block" },- cssNormalTransform = {- letterSpacing: "0",- fontWeight: "400"- },-- cssPrefixes = [ "Webkit", "Moz", "ms" ],- emptyStyle = document.createElement( "div" ).style;--// Return a css property mapped to a potentially vendor prefixed property-function vendorPropName( name ) {-- // Shortcut for names that are not vendor prefixed- if ( name in emptyStyle ) {- return name;- }-- // Check for vendor prefixed names- var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),- i = cssPrefixes.length;-- while ( i-- ) {- name = cssPrefixes[ i ] + capName;- if ( name in emptyStyle ) {- return name;- }- }-}--function setPositiveNumber( elem, value, subtract ) {-- // Any relative (+/-) values have already been- // normalized at this point- var matches = rcssNum.exec( value );- return matches ?-- // Guard against undefined "subtract", e.g., when used as in cssHooks- Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :- value;-}--function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {- var i = extra === ( isBorderBox ? "border" : "content" ) ?-- // If we already have the right measurement, avoid augmentation- 4 :-- // Otherwise initialize for horizontal or vertical properties- name === "width" ? 1 : 0,-- val = 0;-- for ( ; i < 4; i += 2 ) {-- // Both box models exclude margin, so add it if we want it- if ( extra === "margin" ) {- val += jQuery.css( elem, extra + cssExpand[ i ], true, styles );- }-- if ( isBorderBox ) {-- // border-box includes padding, so remove it if we want content- if ( extra === "content" ) {- val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );- }-- // At this point, extra isn't border nor margin, so remove border- if ( extra !== "margin" ) {- val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );- }- } else {-- // At this point, extra isn't content, so add padding- val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );-- // At this point, extra isn't content nor padding, so add border- if ( extra !== "padding" ) {- val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );- }- }- }-- return val;-}--function getWidthOrHeight( elem, name, extra ) {-- // Start with offset property, which is equivalent to the border-box value- var val,- valueIsBorderBox = true,- styles = getStyles( elem ),- isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";-- // Support: IE <=11 only- // Running getBoundingClientRect on a disconnected node- // in IE throws an error.- if ( elem.getClientRects().length ) {- val = elem.getBoundingClientRect()[ name ];- }-- // Some non-html elements return undefined for offsetWidth, so check for null/undefined- // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285- // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668- if ( val <= 0 || val == null ) {-- // Fall back to computed then uncomputed css if necessary- val = curCSS( elem, name, styles );- if ( val < 0 || val == null ) {- val = elem.style[ name ];- }-- // Computed unit is not pixels. Stop here and return.- if ( rnumnonpx.test( val ) ) {- return val;- }-- // Check for style in case a browser which returns unreliable values- // for getComputedStyle silently falls back to the reliable elem.style- valueIsBorderBox = isBorderBox &&- ( support.boxSizingReliable() || val === elem.style[ name ] );-- // Normalize "", auto, and prepare for extra- val = parseFloat( val ) || 0;- }-- // Use the active box-sizing model to add/subtract irrelevant styles- return ( val +- augmentWidthOrHeight(- elem,- name,- extra || ( isBorderBox ? "border" : "content" ),- valueIsBorderBox,- styles- )- ) + "px";-}--jQuery.extend( {-- // Add in style property hooks for overriding the default- // behavior of getting and setting a style property- cssHooks: {- opacity: {- get: function( elem, computed ) {- if ( computed ) {-- // We should always get a number back from opacity- var ret = curCSS( elem, "opacity" );- return ret === "" ? "1" : ret;- }- }- }- },-- // Don't automatically add "px" to these possibly-unitless properties- cssNumber: {- "animationIterationCount": true,- "columnCount": true,- "fillOpacity": true,- "flexGrow": true,- "flexShrink": true,- "fontWeight": true,- "lineHeight": true,- "opacity": true,- "order": true,- "orphans": true,- "widows": true,- "zIndex": true,- "zoom": true- },-- // Add in properties whose names you wish to fix before- // setting or getting the value- cssProps: {- "float": "cssFloat"- },-- // Get and set the style property on a DOM Node- style: function( elem, name, value, extra ) {-- // Don't set styles on text and comment nodes- if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {- return;- }-- // Make sure that we're working with the right name- var ret, type, hooks,- origName = jQuery.camelCase( name ),- style = elem.style;-- name = jQuery.cssProps[ origName ] ||- ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );-- // Gets hook for the prefixed version, then unprefixed version- hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];-- // Check if we're setting a value- if ( value !== undefined ) {- type = typeof value;-- // Convert "+=" or "-=" to relative numbers (#7345)- if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {- value = adjustCSS( elem, name, ret );-- // Fixes bug #9237- type = "number";- }-- // Make sure that null and NaN values aren't set (#7116)- if ( value == null || value !== value ) {- return;- }-- // If a number was passed in, add the unit (except for certain CSS properties)- if ( type === "number" ) {- value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );- }-- // background-* props affect original clone's values- if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {- style[ name ] = "inherit";- }-- // If a hook was provided, use that value, otherwise just set the specified value- if ( !hooks || !( "set" in hooks ) ||- ( value = hooks.set( elem, value, extra ) ) !== undefined ) {-- style[ name ] = value;- }-- } else {-- // If a hook was provided get the non-computed value from there- if ( hooks && "get" in hooks &&- ( ret = hooks.get( elem, false, extra ) ) !== undefined ) {-- return ret;- }-- // Otherwise just get the value from the style object- return style[ name ];- }- },-- css: function( elem, name, extra, styles ) {- var val, num, hooks,- origName = jQuery.camelCase( name );-- // Make sure that we're working with the right name- name = jQuery.cssProps[ origName ] ||- ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );-- // Try prefixed name followed by the unprefixed name- hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];-- // If a hook was provided get the computed value from there- if ( hooks && "get" in hooks ) {- val = hooks.get( elem, true, extra );- }-- // Otherwise, if a way to get the computed value exists, use that- if ( val === undefined ) {- val = curCSS( elem, name, styles );- }-- // Convert "normal" to computed value- if ( val === "normal" && name in cssNormalTransform ) {- val = cssNormalTransform[ name ];- }-- // Make numeric if forced or a qualifier was provided and val looks numeric- if ( extra === "" || extra ) {- num = parseFloat( val );- return extra === true || isFinite( num ) ? num || 0 : val;- }- return val;- }-} );--jQuery.each( [ "height", "width" ], function( i, name ) {- jQuery.cssHooks[ name ] = {- get: function( elem, computed, extra ) {- if ( computed ) {-- // Certain elements can have dimension info if we invisibly show them- // but it must have a current display style that would benefit- return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&-- // Support: Safari 8+- // Table columns in Safari have non-zero offsetWidth & zero- // getBoundingClientRect().width unless display is changed.- // Support: IE <=11 only- // Running getBoundingClientRect on a disconnected node- // in IE throws an error.- ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?- swap( elem, cssShow, function() {- return getWidthOrHeight( elem, name, extra );- } ) :- getWidthOrHeight( elem, name, extra );- }- },-- set: function( elem, value, extra ) {- var matches,- styles = extra && getStyles( elem ),- subtract = extra && augmentWidthOrHeight(- elem,- name,- extra,- jQuery.css( elem, "boxSizing", false, styles ) === "border-box",- styles- );-- // Convert to pixels if value adjustment is needed- if ( subtract && ( matches = rcssNum.exec( value ) ) &&- ( matches[ 3 ] || "px" ) !== "px" ) {-- elem.style[ name ] = value;- value = jQuery.css( elem, name );- }-- return setPositiveNumber( elem, value, subtract );- }- };-} );--jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,- function( elem, computed ) {- if ( computed ) {- return ( parseFloat( curCSS( elem, "marginLeft" ) ) ||- elem.getBoundingClientRect().left -- swap( elem, { marginLeft: 0 }, function() {- return elem.getBoundingClientRect().left;- } )- ) + "px";- }- }-);--// These hooks are used by animate to expand properties-jQuery.each( {- margin: "",- padding: "",- border: "Width"-}, function( prefix, suffix ) {- jQuery.cssHooks[ prefix + suffix ] = {- expand: function( value ) {- var i = 0,- expanded = {},-- // Assumes a single number if not a string- parts = typeof value === "string" ? value.split( " " ) : [ value ];-- for ( ; i < 4; i++ ) {- expanded[ prefix + cssExpand[ i ] + suffix ] =- parts[ i ] || parts[ i - 2 ] || parts[ 0 ];- }-- return expanded;- }- };-- if ( !rmargin.test( prefix ) ) {- jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;- }-} );--jQuery.fn.extend( {- css: function( name, value ) {- return access( this, function( elem, name, value ) {- var styles, len,- map = {},- i = 0;-- if ( jQuery.isArray( name ) ) {- styles = getStyles( elem );- len = name.length;-- for ( ; i < len; i++ ) {- map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );- }-- return map;- }-- return value !== undefined ?- jQuery.style( elem, name, value ) :- jQuery.css( elem, name );- }, name, value, arguments.length > 1 );- }-} );---function Tween( elem, options, prop, end, easing ) {- return new Tween.prototype.init( elem, options, prop, end, easing );-}-jQuery.Tween = Tween;--Tween.prototype = {- constructor: Tween,- init: function( elem, options, prop, end, easing, unit ) {- this.elem = elem;- this.prop = prop;- this.easing = easing || jQuery.easing._default;- this.options = options;- this.start = this.now = this.cur();- this.end = end;- this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );- },- cur: function() {- var hooks = Tween.propHooks[ this.prop ];-- return hooks && hooks.get ?- hooks.get( this ) :- Tween.propHooks._default.get( this );- },- run: function( percent ) {- var eased,- hooks = Tween.propHooks[ this.prop ];-- if ( this.options.duration ) {- this.pos = eased = jQuery.easing[ this.easing ](- percent, this.options.duration * percent, 0, 1, this.options.duration- );- } else {- this.pos = eased = percent;- }- this.now = ( this.end - this.start ) * eased + this.start;-- if ( this.options.step ) {- this.options.step.call( this.elem, this.now, this );- }-- if ( hooks && hooks.set ) {- hooks.set( this );- } else {- Tween.propHooks._default.set( this );- }- return this;- }-};--Tween.prototype.init.prototype = Tween.prototype;--Tween.propHooks = {- _default: {- get: function( tween ) {- var result;-- // Use a property on the element directly when it is not a DOM element,- // or when there is no matching style property that exists.- if ( tween.elem.nodeType !== 1 ||- tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {- return tween.elem[ tween.prop ];- }-- // Passing an empty string as a 3rd parameter to .css will automatically- // attempt a parseFloat and fallback to a string if the parse fails.- // Simple values such as "10px" are parsed to Float;- // complex values such as "rotate(1rad)" are returned as-is.- result = jQuery.css( tween.elem, tween.prop, "" );-- // Empty strings, null, undefined and "auto" are converted to 0.- return !result || result === "auto" ? 0 : result;- },- set: function( tween ) {-- // Use step hook for back compat.- // Use cssHook if its there.- // Use .style if available and use plain properties where available.- if ( jQuery.fx.step[ tween.prop ] ) {- jQuery.fx.step[ tween.prop ]( tween );- } else if ( tween.elem.nodeType === 1 &&- ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null ||- jQuery.cssHooks[ tween.prop ] ) ) {- jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );- } else {- tween.elem[ tween.prop ] = tween.now;- }- }- }-};--// Support: IE <=9 only-// Panic based approach to setting things on disconnected nodes-Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {- set: function( tween ) {- if ( tween.elem.nodeType && tween.elem.parentNode ) {- tween.elem[ tween.prop ] = tween.now;- }- }-};--jQuery.easing = {- linear: function( p ) {- return p;- },- swing: function( p ) {- return 0.5 - Math.cos( p * Math.PI ) / 2;- },- _default: "swing"-};--jQuery.fx = Tween.prototype.init;--// Back compat <1.8 extension point-jQuery.fx.step = {};-----var- fxNow, timerId,- rfxtypes = /^(?:toggle|show|hide)$/,- rrun = /queueHooks$/;--function raf() {- if ( timerId ) {- window.requestAnimationFrame( raf );- jQuery.fx.tick();- }-}--// Animations created synchronously will run synchronously-function createFxNow() {- window.setTimeout( function() {- fxNow = undefined;- } );- return ( fxNow = jQuery.now() );-}--// Generate parameters to create a standard animation-function genFx( type, includeWidth ) {- var which,- i = 0,- attrs = { height: type };-- // If we include width, step value is 1 to do all cssExpand values,- // otherwise step value is 2 to skip over Left and Right- includeWidth = includeWidth ? 1 : 0;- for ( ; i < 4; i += 2 - includeWidth ) {- which = cssExpand[ i ];- attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;- }-- if ( includeWidth ) {- attrs.opacity = attrs.width = type;- }-- return attrs;-}--function createTween( value, prop, animation ) {- var tween,- collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ),- index = 0,- length = collection.length;- for ( ; index < length; index++ ) {- if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {-- // We're done with this property- return tween;- }- }-}--function defaultPrefilter( elem, props, opts ) {- var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,- isBox = "width" in props || "height" in props,- anim = this,- orig = {},- style = elem.style,- hidden = elem.nodeType && isHiddenWithinTree( elem ),- dataShow = dataPriv.get( elem, "fxshow" );-- // Queue-skipping animations hijack the fx hooks- if ( !opts.queue ) {- hooks = jQuery._queueHooks( elem, "fx" );- if ( hooks.unqueued == null ) {- hooks.unqueued = 0;- oldfire = hooks.empty.fire;- hooks.empty.fire = function() {- if ( !hooks.unqueued ) {- oldfire();- }- };- }- hooks.unqueued++;-- anim.always( function() {-- // Ensure the complete handler is called before this completes- anim.always( function() {- hooks.unqueued--;- if ( !jQuery.queue( elem, "fx" ).length ) {- hooks.empty.fire();- }- } );- } );- }-- // Detect show/hide animations- for ( prop in props ) {- value = props[ prop ];- if ( rfxtypes.test( value ) ) {- delete props[ prop ];- toggle = toggle || value === "toggle";- if ( value === ( hidden ? "hide" : "show" ) ) {-- // Pretend to be hidden if this is a "show" and- // there is still data from a stopped show/hide- if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {- hidden = true;-- // Ignore all other no-op show/hide data- } else {- continue;- }- }- orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );- }- }-- // Bail out if this is a no-op like .hide().hide()- propTween = !jQuery.isEmptyObject( props );- if ( !propTween && jQuery.isEmptyObject( orig ) ) {- return;- }-- // Restrict "overflow" and "display" styles during box animations- if ( isBox && elem.nodeType === 1 ) {-- // Support: IE <=9 - 11, Edge 12 - 13- // Record all 3 overflow attributes because IE does not infer the shorthand- // from identically-valued overflowX and overflowY- opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];-- // Identify a display type, preferring old show/hide data over the CSS cascade- restoreDisplay = dataShow && dataShow.display;- if ( restoreDisplay == null ) {- restoreDisplay = dataPriv.get( elem, "display" );- }- display = jQuery.css( elem, "display" );- if ( display === "none" ) {- if ( restoreDisplay ) {- display = restoreDisplay;- } else {-- // Get nonempty value(s) by temporarily forcing visibility- showHide( [ elem ], true );- restoreDisplay = elem.style.display || restoreDisplay;- display = jQuery.css( elem, "display" );- showHide( [ elem ] );- }- }-- // Animate inline elements as inline-block- if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) {- if ( jQuery.css( elem, "float" ) === "none" ) {-- // Restore the original display value at the end of pure show/hide animations- if ( !propTween ) {- anim.done( function() {- style.display = restoreDisplay;- } );- if ( restoreDisplay == null ) {- display = style.display;- restoreDisplay = display === "none" ? "" : display;- }- }- style.display = "inline-block";- }- }- }-- if ( opts.overflow ) {- style.overflow = "hidden";- anim.always( function() {- style.overflow = opts.overflow[ 0 ];- style.overflowX = opts.overflow[ 1 ];- style.overflowY = opts.overflow[ 2 ];- } );- }-- // Implement show/hide animations- propTween = false;- for ( prop in orig ) {-- // General show/hide setup for this element animation- if ( !propTween ) {- if ( dataShow ) {- if ( "hidden" in dataShow ) {- hidden = dataShow.hidden;- }- } else {- dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } );- }-- // Store hidden/visible for toggle so `.stop().toggle()` "reverses"- if ( toggle ) {- dataShow.hidden = !hidden;- }-- // Show elements before animating them- if ( hidden ) {- showHide( [ elem ], true );- }-- /* eslint-disable no-loop-func */-- anim.done( function() {-- /* eslint-enable no-loop-func */-- // The final step of a "hide" animation is actually hiding the element- if ( !hidden ) {- showHide( [ elem ] );- }- dataPriv.remove( elem, "fxshow" );- for ( prop in orig ) {- jQuery.style( elem, prop, orig[ prop ] );- }- } );- }-- // Per-property setup- propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );- if ( !( prop in dataShow ) ) {- dataShow[ prop ] = propTween.start;- if ( hidden ) {- propTween.end = propTween.start;- propTween.start = 0;- }- }- }-}--function propFilter( props, specialEasing ) {- var index, name, easing, value, hooks;-- // camelCase, specialEasing and expand cssHook pass- for ( index in props ) {- name = jQuery.camelCase( index );- easing = specialEasing[ name ];- value = props[ index ];- if ( jQuery.isArray( value ) ) {- easing = value[ 1 ];- value = props[ index ] = value[ 0 ];- }-- if ( index !== name ) {- props[ name ] = value;- delete props[ index ];- }-- hooks = jQuery.cssHooks[ name ];- if ( hooks && "expand" in hooks ) {- value = hooks.expand( value );- delete props[ name ];-- // Not quite $.extend, this won't overwrite existing keys.- // Reusing 'index' because we have the correct "name"- for ( index in value ) {- if ( !( index in props ) ) {- props[ index ] = value[ index ];- specialEasing[ index ] = easing;- }- }- } else {- specialEasing[ name ] = easing;- }- }-}--function Animation( elem, properties, options ) {- var result,- stopped,- index = 0,- length = Animation.prefilters.length,- deferred = jQuery.Deferred().always( function() {-- // Don't match elem in the :animated selector- delete tick.elem;- } ),- tick = function() {- if ( stopped ) {- return false;- }- var currentTime = fxNow || createFxNow(),- remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),-- // Support: Android 2.3 only- // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)- temp = remaining / animation.duration || 0,- percent = 1 - temp,- index = 0,- length = animation.tweens.length;-- for ( ; index < length; index++ ) {- animation.tweens[ index ].run( percent );- }-- deferred.notifyWith( elem, [ animation, percent, remaining ] );-- if ( percent < 1 && length ) {- return remaining;- } else {- deferred.resolveWith( elem, [ animation ] );- return false;- }- },- animation = deferred.promise( {- elem: elem,- props: jQuery.extend( {}, properties ),- opts: jQuery.extend( true, {- specialEasing: {},- easing: jQuery.easing._default- }, options ),- originalProperties: properties,- originalOptions: options,- startTime: fxNow || createFxNow(),- duration: options.duration,- tweens: [],- createTween: function( prop, end ) {- var tween = jQuery.Tween( elem, animation.opts, prop, end,- animation.opts.specialEasing[ prop ] || animation.opts.easing );- animation.tweens.push( tween );- return tween;- },- stop: function( gotoEnd ) {- var index = 0,-- // If we are going to the end, we want to run all the tweens- // otherwise we skip this part- length = gotoEnd ? animation.tweens.length : 0;- if ( stopped ) {- return this;- }- stopped = true;- for ( ; index < length; index++ ) {- animation.tweens[ index ].run( 1 );- }-- // Resolve when we played the last frame; otherwise, reject- if ( gotoEnd ) {- deferred.notifyWith( elem, [ animation, 1, 0 ] );- deferred.resolveWith( elem, [ animation, gotoEnd ] );- } else {- deferred.rejectWith( elem, [ animation, gotoEnd ] );- }- return this;- }- } ),- props = animation.props;-- propFilter( props, animation.opts.specialEasing );-- for ( ; index < length; index++ ) {- result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );- if ( result ) {- if ( jQuery.isFunction( result.stop ) ) {- jQuery._queueHooks( animation.elem, animation.opts.queue ).stop =- jQuery.proxy( result.stop, result );- }- return result;- }- }-- jQuery.map( props, createTween, animation );-- if ( jQuery.isFunction( animation.opts.start ) ) {- animation.opts.start.call( elem, animation );- }-- jQuery.fx.timer(- jQuery.extend( tick, {- elem: elem,- anim: animation,- queue: animation.opts.queue- } )- );-- // attach callbacks from options- return animation.progress( animation.opts.progress )- .done( animation.opts.done, animation.opts.complete )- .fail( animation.opts.fail )- .always( animation.opts.always );-}--jQuery.Animation = jQuery.extend( Animation, {-- tweeners: {- "*": [ function( prop, value ) {- var tween = this.createTween( prop, value );- adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );- return tween;- } ]- },-- tweener: function( props, callback ) {- if ( jQuery.isFunction( props ) ) {- callback = props;- props = [ "*" ];- } else {- props = props.match( rnotwhite );- }-- var prop,- index = 0,- length = props.length;-- for ( ; index < length; index++ ) {- prop = props[ index ];- Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];- Animation.tweeners[ prop ].unshift( callback );- }- },-- prefilters: [ defaultPrefilter ],-- prefilter: function( callback, prepend ) {- if ( prepend ) {- Animation.prefilters.unshift( callback );- } else {- Animation.prefilters.push( callback );- }- }-} );--jQuery.speed = function( speed, easing, fn ) {- var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {- complete: fn || !fn && easing ||- jQuery.isFunction( speed ) && speed,- duration: speed,- easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing- };-- // Go to the end state if fx are off or if document is hidden- if ( jQuery.fx.off || document.hidden ) {- opt.duration = 0;-- } else {- opt.duration = typeof opt.duration === "number" ?- opt.duration : opt.duration in jQuery.fx.speeds ?- jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;- }-- // Normalize opt.queue - true/undefined/null -> "fx"- if ( opt.queue == null || opt.queue === true ) {- opt.queue = "fx";- }-- // Queueing- opt.old = opt.complete;-- opt.complete = function() {- if ( jQuery.isFunction( opt.old ) ) {- opt.old.call( this );- }-- if ( opt.queue ) {- jQuery.dequeue( this, opt.queue );- }- };-- return opt;-};--jQuery.fn.extend( {- fadeTo: function( speed, to, easing, callback ) {-- // Show any hidden elements after setting opacity to 0- return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show()-- // Animate to the value specified- .end().animate( { opacity: to }, speed, easing, callback );- },- animate: function( prop, speed, easing, callback ) {- var empty = jQuery.isEmptyObject( prop ),- optall = jQuery.speed( speed, easing, callback ),- doAnimation = function() {-- // Operate on a copy of prop so per-property easing won't be lost- var anim = Animation( this, jQuery.extend( {}, prop ), optall );-- // Empty animations, or finishing resolves immediately- if ( empty || dataPriv.get( this, "finish" ) ) {- anim.stop( true );- }- };- doAnimation.finish = doAnimation;-- return empty || optall.queue === false ?- this.each( doAnimation ) :- this.queue( optall.queue, doAnimation );- },- stop: function( type, clearQueue, gotoEnd ) {- var stopQueue = function( hooks ) {- var stop = hooks.stop;- delete hooks.stop;- stop( gotoEnd );- };-- if ( typeof type !== "string" ) {- gotoEnd = clearQueue;- clearQueue = type;- type = undefined;- }- if ( clearQueue && type !== false ) {- this.queue( type || "fx", [] );- }-- return this.each( function() {- var dequeue = true,- index = type != null && type + "queueHooks",- timers = jQuery.timers,- data = dataPriv.get( this );-- if ( index ) {- if ( data[ index ] && data[ index ].stop ) {- stopQueue( data[ index ] );- }- } else {- for ( index in data ) {- if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {- stopQueue( data[ index ] );- }- }- }-- for ( index = timers.length; index--; ) {- if ( timers[ index ].elem === this &&- ( type == null || timers[ index ].queue === type ) ) {-- timers[ index ].anim.stop( gotoEnd );- dequeue = false;- timers.splice( index, 1 );- }- }-- // Start the next in the queue if the last step wasn't forced.- // Timers currently will call their complete callbacks, which- // will dequeue but only if they were gotoEnd.- if ( dequeue || !gotoEnd ) {- jQuery.dequeue( this, type );- }- } );- },- finish: function( type ) {- if ( type !== false ) {- type = type || "fx";- }- return this.each( function() {- var index,- data = dataPriv.get( this ),- queue = data[ type + "queue" ],- hooks = data[ type + "queueHooks" ],- timers = jQuery.timers,- length = queue ? queue.length : 0;-- // Enable finishing flag on private data- data.finish = true;-- // Empty the queue first- jQuery.queue( this, type, [] );-- if ( hooks && hooks.stop ) {- hooks.stop.call( this, true );- }-- // Look for any active animations, and finish them- for ( index = timers.length; index--; ) {- if ( timers[ index ].elem === this && timers[ index ].queue === type ) {- timers[ index ].anim.stop( true );- timers.splice( index, 1 );- }- }-- // Look for any animations in the old queue and finish them- for ( index = 0; index < length; index++ ) {- if ( queue[ index ] && queue[ index ].finish ) {- queue[ index ].finish.call( this );- }- }-- // Turn off finishing flag- delete data.finish;- } );- }-} );--jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) {- var cssFn = jQuery.fn[ name ];- jQuery.fn[ name ] = function( speed, easing, callback ) {- return speed == null || typeof speed === "boolean" ?- cssFn.apply( this, arguments ) :- this.animate( genFx( name, true ), speed, easing, callback );- };-} );--// Generate shortcuts for custom animations-jQuery.each( {- slideDown: genFx( "show" ),- slideUp: genFx( "hide" ),- slideToggle: genFx( "toggle" ),- fadeIn: { opacity: "show" },- fadeOut: { opacity: "hide" },- fadeToggle: { opacity: "toggle" }-}, function( name, props ) {- jQuery.fn[ name ] = function( speed, easing, callback ) {- return this.animate( props, speed, easing, callback );- };-} );--jQuery.timers = [];-jQuery.fx.tick = function() {- var timer,- i = 0,- timers = jQuery.timers;-- fxNow = jQuery.now();-- for ( ; i < timers.length; i++ ) {- timer = timers[ i ];-- // Checks the timer has not already been removed- if ( !timer() && timers[ i ] === timer ) {- timers.splice( i--, 1 );- }- }-- if ( !timers.length ) {- jQuery.fx.stop();- }- fxNow = undefined;-};--jQuery.fx.timer = function( timer ) {- jQuery.timers.push( timer );- if ( timer() ) {- jQuery.fx.start();- } else {- jQuery.timers.pop();- }-};--jQuery.fx.interval = 13;-jQuery.fx.start = function() {- if ( !timerId ) {- timerId = window.requestAnimationFrame ?- window.requestAnimationFrame( raf ) :- window.setInterval( jQuery.fx.tick, jQuery.fx.interval );- }-};--jQuery.fx.stop = function() {- if ( window.cancelAnimationFrame ) {- window.cancelAnimationFrame( timerId );- } else {- window.clearInterval( timerId );- }-- timerId = null;-};--jQuery.fx.speeds = {- slow: 600,- fast: 200,-- // Default speed- _default: 400-};---// Based off of the plugin by Clint Helfers, with permission.-// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/-jQuery.fn.delay = function( time, type ) {- time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;- type = type || "fx";-- return this.queue( type, function( next, hooks ) {- var timeout = window.setTimeout( next, time );- hooks.stop = function() {- window.clearTimeout( timeout );- };- } );-};---( function() {- var input = document.createElement( "input" ),- select = document.createElement( "select" ),- opt = select.appendChild( document.createElement( "option" ) );-- input.type = "checkbox";-- // Support: Android <=4.3 only- // Default value for a checkbox should be "on"- support.checkOn = input.value !== "";-- // Support: IE <=11 only- // Must access selectedIndex to make default options select- support.optSelected = opt.selected;-- // Support: IE <=11 only- // An input loses its value after becoming a radio- input = document.createElement( "input" );- input.value = "t";- input.type = "radio";- support.radioValue = input.value === "t";-} )();---var boolHook,- attrHandle = jQuery.expr.attrHandle;--jQuery.fn.extend( {- attr: function( name, value ) {- return access( this, jQuery.attr, name, value, arguments.length > 1 );- },-- removeAttr: function( name ) {- return this.each( function() {- jQuery.removeAttr( this, name );- } );- }-} );--jQuery.extend( {- attr: function( elem, name, value ) {- var ret, hooks,- nType = elem.nodeType;-- // Don't get/set attributes on text, comment and attribute nodes- if ( nType === 3 || nType === 8 || nType === 2 ) {- return;- }-- // Fallback to prop when attributes are not supported- if ( typeof elem.getAttribute === "undefined" ) {- return jQuery.prop( elem, name, value );- }-- // Attribute hooks are determined by the lowercase version- // Grab necessary hook if one is defined- if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {- hooks = jQuery.attrHooks[ name.toLowerCase() ] ||- ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );- }-- if ( value !== undefined ) {- if ( value === null ) {- jQuery.removeAttr( elem, name );- return;- }-- if ( hooks && "set" in hooks &&- ( ret = hooks.set( elem, value, name ) ) !== undefined ) {- return ret;- }-- elem.setAttribute( name, value + "" );- return value;- }-- if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {- return ret;- }-- ret = jQuery.find.attr( elem, name );-- // Non-existent attributes return null, we normalize to undefined- return ret == null ? undefined : ret;- },-- attrHooks: {- type: {- set: function( elem, value ) {- if ( !support.radioValue && value === "radio" &&- jQuery.nodeName( elem, "input" ) ) {- var val = elem.value;- elem.setAttribute( "type", value );- if ( val ) {- elem.value = val;- }- return value;- }- }- }- },-- removeAttr: function( elem, value ) {- var name,- i = 0,- attrNames = value && value.match( rnotwhite );-- if ( attrNames && elem.nodeType === 1 ) {- while ( ( name = attrNames[ i++ ] ) ) {- elem.removeAttribute( name );- }- }- }-} );--// Hooks for boolean attributes-boolHook = {- set: function( elem, value, name ) {- if ( value === false ) {-- // Remove boolean attributes when set to false- jQuery.removeAttr( elem, name );- } else {- elem.setAttribute( name, name );- }- return name;- }-};--jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {- var getter = attrHandle[ name ] || jQuery.find.attr;-- attrHandle[ name ] = function( elem, name, isXML ) {- var ret, handle,- lowercaseName = name.toLowerCase();-- if ( !isXML ) {-- // Avoid an infinite loop by temporarily removing this function from the getter- handle = attrHandle[ lowercaseName ];- attrHandle[ lowercaseName ] = ret;- ret = getter( elem, name, isXML ) != null ?- lowercaseName :- null;- attrHandle[ lowercaseName ] = handle;- }- return ret;- };-} );-----var rfocusable = /^(?:input|select|textarea|button)$/i,- rclickable = /^(?:a|area)$/i;--jQuery.fn.extend( {- prop: function( name, value ) {- return access( this, jQuery.prop, name, value, arguments.length > 1 );- },-- removeProp: function( name ) {- return this.each( function() {- delete this[ jQuery.propFix[ name ] || name ];- } );- }-} );--jQuery.extend( {- prop: function( elem, name, value ) {- var ret, hooks,- nType = elem.nodeType;-- // Don't get/set properties on text, comment and attribute nodes- if ( nType === 3 || nType === 8 || nType === 2 ) {- return;- }-- if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {-- // Fix name and attach hooks- name = jQuery.propFix[ name ] || name;- hooks = jQuery.propHooks[ name ];- }-- if ( value !== undefined ) {- if ( hooks && "set" in hooks &&- ( ret = hooks.set( elem, value, name ) ) !== undefined ) {- return ret;- }-- return ( elem[ name ] = value );- }-- if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {- return ret;- }-- return elem[ name ];- },-- propHooks: {- tabIndex: {- get: function( elem ) {-- // Support: IE <=9 - 11 only- // elem.tabIndex doesn't always return the- // correct value when it hasn't been explicitly set- // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/- // Use proper attribute retrieval(#12072)- var tabindex = jQuery.find.attr( elem, "tabindex" );-- return tabindex ?- parseInt( tabindex, 10 ) :- rfocusable.test( elem.nodeName ) ||- rclickable.test( elem.nodeName ) && elem.href ?- 0 :- -1;- }- }- },-- propFix: {- "for": "htmlFor",- "class": "className"- }-} );--// Support: IE <=11 only-// Accessing the selectedIndex property-// forces the browser to respect setting selected-// on the option-// The getter ensures a default option is selected-// when in an optgroup-if ( !support.optSelected ) {- jQuery.propHooks.selected = {- get: function( elem ) {- var parent = elem.parentNode;- if ( parent && parent.parentNode ) {- parent.parentNode.selectedIndex;- }- return null;- },- set: function( elem ) {- var parent = elem.parentNode;- if ( parent ) {- parent.selectedIndex;-- if ( parent.parentNode ) {- parent.parentNode.selectedIndex;- }- }- }- };-}--jQuery.each( [- "tabIndex",- "readOnly",- "maxLength",- "cellSpacing",- "cellPadding",- "rowSpan",- "colSpan",- "useMap",- "frameBorder",- "contentEditable"-], function() {- jQuery.propFix[ this.toLowerCase() ] = this;-} );-----var rclass = /[\t\r\n\f]/g;--function getClass( elem ) {- return elem.getAttribute && elem.getAttribute( "class" ) || "";-}--jQuery.fn.extend( {- addClass: function( value ) {- var classes, elem, cur, curValue, clazz, j, finalValue,- i = 0;-- if ( jQuery.isFunction( value ) ) {- return this.each( function( j ) {- jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );- } );- }-- if ( typeof value === "string" && value ) {- classes = value.match( rnotwhite ) || [];-- while ( ( elem = this[ i++ ] ) ) {- curValue = getClass( elem );- cur = elem.nodeType === 1 &&- ( " " + curValue + " " ).replace( rclass, " " );-- if ( cur ) {- j = 0;- while ( ( clazz = classes[ j++ ] ) ) {- if ( cur.indexOf( " " + clazz + " " ) < 0 ) {- cur += clazz + " ";- }- }-- // Only assign if different to avoid unneeded rendering.- finalValue = jQuery.trim( cur );- if ( curValue !== finalValue ) {- elem.setAttribute( "class", finalValue );- }- }- }- }-- return this;- },-- removeClass: function( value ) {- var classes, elem, cur, curValue, clazz, j, finalValue,- i = 0;-- if ( jQuery.isFunction( value ) ) {- return this.each( function( j ) {- jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );- } );- }-- if ( !arguments.length ) {- return this.attr( "class", "" );- }-- if ( typeof value === "string" && value ) {- classes = value.match( rnotwhite ) || [];-- while ( ( elem = this[ i++ ] ) ) {- curValue = getClass( elem );-- // This expression is here for better compressibility (see addClass)- cur = elem.nodeType === 1 &&- ( " " + curValue + " " ).replace( rclass, " " );-- if ( cur ) {- j = 0;- while ( ( clazz = classes[ j++ ] ) ) {-- // Remove *all* instances- while ( cur.indexOf( " " + clazz + " " ) > -1 ) {- cur = cur.replace( " " + clazz + " ", " " );- }- }-- // Only assign if different to avoid unneeded rendering.- finalValue = jQuery.trim( cur );- if ( curValue !== finalValue ) {- elem.setAttribute( "class", finalValue );- }- }- }- }-- return this;- },-- toggleClass: function( value, stateVal ) {- var type = typeof value;-- if ( typeof stateVal === "boolean" && type === "string" ) {- return stateVal ? this.addClass( value ) : this.removeClass( value );- }-- if ( jQuery.isFunction( value ) ) {- return this.each( function( i ) {- jQuery( this ).toggleClass(- value.call( this, i, getClass( this ), stateVal ),- stateVal- );- } );- }-- return this.each( function() {- var className, i, self, classNames;-- if ( type === "string" ) {-- // Toggle individual class names- i = 0;- self = jQuery( this );- classNames = value.match( rnotwhite ) || [];-- while ( ( className = classNames[ i++ ] ) ) {-- // Check each className given, space separated list- if ( self.hasClass( className ) ) {- self.removeClass( className );- } else {- self.addClass( className );- }- }-- // Toggle whole class name- } else if ( value === undefined || type === "boolean" ) {- className = getClass( this );- if ( className ) {-- // Store className if set- dataPriv.set( this, "__className__", className );- }-- // If the element has a class name or if we're passed `false`,- // then remove the whole classname (if there was one, the above saved it).- // Otherwise bring back whatever was previously saved (if anything),- // falling back to the empty string if nothing was stored.- if ( this.setAttribute ) {- this.setAttribute( "class",- className || value === false ?- "" :- dataPriv.get( this, "__className__" ) || ""- );- }- }- } );- },-- hasClass: function( selector ) {- var className, elem,- i = 0;-- className = " " + selector + " ";- while ( ( elem = this[ i++ ] ) ) {- if ( elem.nodeType === 1 &&- ( " " + getClass( elem ) + " " ).replace( rclass, " " )- .indexOf( className ) > -1- ) {- return true;- }- }-- return false;- }-} );-----var rreturn = /\r/g,- rspaces = /[\x20\t\r\n\f]+/g;--jQuery.fn.extend( {- val: function( value ) {- var hooks, ret, isFunction,- elem = this[ 0 ];-- if ( !arguments.length ) {- if ( elem ) {- hooks = jQuery.valHooks[ elem.type ] ||- jQuery.valHooks[ elem.nodeName.toLowerCase() ];-- if ( hooks &&- "get" in hooks &&- ( ret = hooks.get( elem, "value" ) ) !== undefined- ) {- return ret;- }-- ret = elem.value;-- return typeof ret === "string" ?-- // Handle most common string cases- ret.replace( rreturn, "" ) :-- // Handle cases where value is null/undef or number- ret == null ? "" : ret;- }-- return;- }-- isFunction = jQuery.isFunction( value );-- return this.each( function( i ) {- var val;-- if ( this.nodeType !== 1 ) {- return;- }-- if ( isFunction ) {- val = value.call( this, i, jQuery( this ).val() );- } else {- val = value;- }-- // Treat null/undefined as ""; convert numbers to string- if ( val == null ) {- val = "";-- } else if ( typeof val === "number" ) {- val += "";-- } else if ( jQuery.isArray( val ) ) {- val = jQuery.map( val, function( value ) {- return value == null ? "" : value + "";- } );- }-- hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];-- // If set returns undefined, fall back to normal setting- if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {- this.value = val;- }- } );- }-} );--jQuery.extend( {- valHooks: {- option: {- get: function( elem ) {-- var val = jQuery.find.attr( elem, "value" );- return val != null ?- val :-- // Support: IE <=10 - 11 only- // option.text throws exceptions (#14686, #14858)- // Strip and collapse whitespace- // https://html.spec.whatwg.org/#strip-and-collapse-whitespace- jQuery.trim( jQuery.text( elem ) ).replace( rspaces, " " );- }- },- select: {- get: function( elem ) {- var value, option,- options = elem.options,- index = elem.selectedIndex,- one = elem.type === "select-one",- values = one ? null : [],- max = one ? index + 1 : options.length,- i = index < 0 ?- max :- one ? index : 0;-- // Loop through all the selected options- for ( ; i < max; i++ ) {- option = options[ i ];-- // Support: IE <=9 only- // IE8-9 doesn't update selected after form reset (#2551)- if ( ( option.selected || i === index ) &&-- // Don't return options that are disabled or in a disabled optgroup- !option.disabled &&- ( !option.parentNode.disabled ||- !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) {-- // Get the specific value for the option- value = jQuery( option ).val();-- // We don't need an array for one selects- if ( one ) {- return value;- }-- // Multi-Selects return an array- values.push( value );- }- }-- return values;- },-- set: function( elem, value ) {- var optionSet, option,- options = elem.options,- values = jQuery.makeArray( value ),- i = options.length;-- while ( i-- ) {- option = options[ i ];-- /* eslint-disable no-cond-assign */-- if ( option.selected =- jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1- ) {- optionSet = true;- }-- /* eslint-enable no-cond-assign */- }-- // Force browsers to behave consistently when non-matching value is set- if ( !optionSet ) {- elem.selectedIndex = -1;- }- return values;- }- }- }-} );--// Radios and checkboxes getter/setter-jQuery.each( [ "radio", "checkbox" ], function() {- jQuery.valHooks[ this ] = {- set: function( elem, value ) {- if ( jQuery.isArray( value ) ) {- return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );- }- }- };- if ( !support.checkOn ) {- jQuery.valHooks[ this ].get = function( elem ) {- return elem.getAttribute( "value" ) === null ? "on" : elem.value;- };- }-} );-----// Return jQuery for attributes-only inclusion---var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/;--jQuery.extend( jQuery.event, {-- trigger: function( event, data, elem, onlyHandlers ) {-- var i, cur, tmp, bubbleType, ontype, handle, special,- eventPath = [ elem || document ],- type = hasOwn.call( event, "type" ) ? event.type : event,- namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];-- cur = tmp = elem = elem || document;-- // Don't do events on text and comment nodes- if ( elem.nodeType === 3 || elem.nodeType === 8 ) {- return;- }-- // focus/blur morphs to focusin/out; ensure we're not firing them right now- if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {- return;- }-- if ( type.indexOf( "." ) > -1 ) {-- // Namespaced trigger; create a regexp to match event type in handle()- namespaces = type.split( "." );- type = namespaces.shift();- namespaces.sort();- }- ontype = type.indexOf( ":" ) < 0 && "on" + type;-- // Caller can pass in a jQuery.Event object, Object, or just an event type string- event = event[ jQuery.expando ] ?- event :- new jQuery.Event( type, typeof event === "object" && event );-- // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)- event.isTrigger = onlyHandlers ? 2 : 3;- event.namespace = namespaces.join( "." );- event.rnamespace = event.namespace ?- new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :- null;-- // Clean up the event in case it is being reused- event.result = undefined;- if ( !event.target ) {- event.target = elem;- }-- // Clone any incoming data and prepend the event, creating the handler arg list- data = data == null ?- [ event ] :- jQuery.makeArray( data, [ event ] );-- // Allow special events to draw outside the lines- special = jQuery.event.special[ type ] || {};- if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {- return;- }-- // Determine event propagation path in advance, per W3C events spec (#9951)- // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)- if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {-- bubbleType = special.delegateType || type;- if ( !rfocusMorph.test( bubbleType + type ) ) {- cur = cur.parentNode;- }- for ( ; cur; cur = cur.parentNode ) {- eventPath.push( cur );- tmp = cur;- }-- // Only add window if we got to document (e.g., not plain obj or detached DOM)- if ( tmp === ( elem.ownerDocument || document ) ) {- eventPath.push( tmp.defaultView || tmp.parentWindow || window );- }- }-- // Fire handlers on the event path- i = 0;- while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {-- event.type = i > 1 ?- bubbleType :- special.bindType || type;-- // jQuery handler- handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] &&- dataPriv.get( cur, "handle" );- if ( handle ) {- handle.apply( cur, data );- }-- // Native handler- handle = ontype && cur[ ontype ];- if ( handle && handle.apply && acceptData( cur ) ) {- event.result = handle.apply( cur, data );- if ( event.result === false ) {- event.preventDefault();- }- }- }- event.type = type;-- // If nobody prevented the default action, do it now- if ( !onlyHandlers && !event.isDefaultPrevented() ) {-- if ( ( !special._default ||- special._default.apply( eventPath.pop(), data ) === false ) &&- acceptData( elem ) ) {-- // Call a native DOM method on the target with the same name as the event.- // Don't do default actions on window, that's where global variables be (#6170)- if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {-- // Don't re-trigger an onFOO event when we call its FOO() method- tmp = elem[ ontype ];-- if ( tmp ) {- elem[ ontype ] = null;- }-- // Prevent re-triggering of the same event, since we already bubbled it above- jQuery.event.triggered = type;- elem[ type ]();- jQuery.event.triggered = undefined;-- if ( tmp ) {- elem[ ontype ] = tmp;- }- }- }- }-- return event.result;- },-- // Piggyback on a donor event to simulate a different one- // Used only for `focus(in | out)` events- simulate: function( type, elem, event ) {- var e = jQuery.extend(- new jQuery.Event(),- event,- {- type: type,- isSimulated: true- }- );-- jQuery.event.trigger( e, null, elem );- }--} );--jQuery.fn.extend( {-- trigger: function( type, data ) {- return this.each( function() {- jQuery.event.trigger( type, data, this );- } );- },- triggerHandler: function( type, data ) {- var elem = this[ 0 ];- if ( elem ) {- return jQuery.event.trigger( type, data, elem, true );- }- }-} );---jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +- "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +- "change select submit keydown keypress keyup contextmenu" ).split( " " ),- function( i, name ) {-- // Handle event binding- jQuery.fn[ name ] = function( data, fn ) {- return arguments.length > 0 ?- this.on( name, null, data, fn ) :- this.trigger( name );- };-} );--jQuery.fn.extend( {- hover: function( fnOver, fnOut ) {- return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );- }-} );-----support.focusin = "onfocusin" in window;---// Support: Firefox <=44-// Firefox doesn't have focus(in | out) events-// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787-//-// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1-// focus(in | out) events fire after focus & blur events,-// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order-// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857-if ( !support.focusin ) {- jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {-- // Attach a single capturing handler on the document while someone wants focusin/focusout- var handler = function( event ) {- jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );- };-- jQuery.event.special[ fix ] = {- setup: function() {- var doc = this.ownerDocument || this,- attaches = dataPriv.access( doc, fix );-- if ( !attaches ) {- doc.addEventListener( orig, handler, true );- }- dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );- },- teardown: function() {- var doc = this.ownerDocument || this,- attaches = dataPriv.access( doc, fix ) - 1;-- if ( !attaches ) {- doc.removeEventListener( orig, handler, true );- dataPriv.remove( doc, fix );-- } else {- dataPriv.access( doc, fix, attaches );- }- }- };- } );-}-var location = window.location;--var nonce = jQuery.now();--var rquery = ( /\?/ );----// Cross-browser xml parsing-jQuery.parseXML = function( data ) {- var xml;- if ( !data || typeof data !== "string" ) {- return null;- }-- // Support: IE 9 - 11 only- // IE throws on parseFromString with invalid input.- try {- xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );- } catch ( e ) {- xml = undefined;- }-- if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {- jQuery.error( "Invalid XML: " + data );- }- return xml;-};---var- rbracket = /\[\]$/,- rCRLF = /\r?\n/g,- rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,- rsubmittable = /^(?:input|select|textarea|keygen)/i;--function buildParams( prefix, obj, traditional, add ) {- var name;-- if ( jQuery.isArray( obj ) ) {-- // Serialize array item.- jQuery.each( obj, function( i, v ) {- if ( traditional || rbracket.test( prefix ) ) {-- // Treat each array item as a scalar.- add( prefix, v );-- } else {-- // Item is non-scalar (array or object), encode its numeric index.- buildParams(- prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",- v,- traditional,- add- );- }- } );-- } else if ( !traditional && jQuery.type( obj ) === "object" ) {-- // Serialize object item.- for ( name in obj ) {- buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );- }-- } else {-- // Serialize scalar item.- add( prefix, obj );- }-}--// Serialize an array of form elements or a set of-// key/values into a query string-jQuery.param = function( a, traditional ) {- var prefix,- s = [],- add = function( key, valueOrFunction ) {-- // If value is a function, invoke it and use its return value- var value = jQuery.isFunction( valueOrFunction ) ?- valueOrFunction() :- valueOrFunction;-- s[ s.length ] = encodeURIComponent( key ) + "=" +- encodeURIComponent( value == null ? "" : value );- };-- // If an array was passed in, assume that it is an array of form elements.- if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {-- // Serialize the form elements- jQuery.each( a, function() {- add( this.name, this.value );- } );-- } else {-- // If traditional, encode the "old" way (the way 1.3.2 or older- // did it), otherwise encode params recursively.- for ( prefix in a ) {- buildParams( prefix, a[ prefix ], traditional, add );- }- }-- // Return the resulting serialization- return s.join( "&" );-};--jQuery.fn.extend( {- serialize: function() {- return jQuery.param( this.serializeArray() );- },- serializeArray: function() {- return this.map( function() {-- // Can add propHook for "elements" to filter or add form elements- var elements = jQuery.prop( this, "elements" );- return elements ? jQuery.makeArray( elements ) : this;- } )- .filter( function() {- var type = this.type;-- // Use .is( ":disabled" ) so that fieldset[disabled] works- return this.name && !jQuery( this ).is( ":disabled" ) &&- rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&- ( this.checked || !rcheckableType.test( type ) );- } )- .map( function( i, elem ) {- var val = jQuery( this ).val();-- return val == null ?- null :- jQuery.isArray( val ) ?- jQuery.map( val, function( val ) {- return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };- } ) :- { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };- } ).get();- }-} );---var- r20 = /%20/g,- rhash = /#.*$/,- rts = /([?&])_=[^&]*/,- rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,-- // #7653, #8125, #8152: local protocol detection- rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,- rnoContent = /^(?:GET|HEAD)$/,- rprotocol = /^\/\//,-- /* Prefilters- * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)- * 2) These are called:- * - BEFORE asking for a transport- * - AFTER param serialization (s.data is a string if s.processData is true)- * 3) key is the dataType- * 4) the catchall symbol "*" can be used- * 5) execution will start with transport dataType and THEN continue down to "*" if needed- */- prefilters = {},-- /* Transports bindings- * 1) key is the dataType- * 2) the catchall symbol "*" can be used- * 3) selection will start with transport dataType and THEN go to "*" if needed- */- transports = {},-- // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression- allTypes = "*/".concat( "*" ),-- // Anchor tag for parsing the document origin- originAnchor = document.createElement( "a" );- originAnchor.href = location.href;--// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport-function addToPrefiltersOrTransports( structure ) {-- // dataTypeExpression is optional and defaults to "*"- return function( dataTypeExpression, func ) {-- if ( typeof dataTypeExpression !== "string" ) {- func = dataTypeExpression;- dataTypeExpression = "*";- }-- var dataType,- i = 0,- dataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || [];-- if ( jQuery.isFunction( func ) ) {-- // For each dataType in the dataTypeExpression- while ( ( dataType = dataTypes[ i++ ] ) ) {-- // Prepend if requested- if ( dataType[ 0 ] === "+" ) {- dataType = dataType.slice( 1 ) || "*";- ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );-- // Otherwise append- } else {- ( structure[ dataType ] = structure[ dataType ] || [] ).push( func );- }- }- }- };-}--// Base inspection function for prefilters and transports-function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {-- var inspected = {},- seekingTransport = ( structure === transports );-- function inspect( dataType ) {- var selected;- inspected[ dataType ] = true;- jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {- var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );- if ( typeof dataTypeOrTransport === "string" &&- !seekingTransport && !inspected[ dataTypeOrTransport ] ) {-- options.dataTypes.unshift( dataTypeOrTransport );- inspect( dataTypeOrTransport );- return false;- } else if ( seekingTransport ) {- return !( selected = dataTypeOrTransport );- }- } );- return selected;- }-- return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );-}--// A special extend for ajax options-// that takes "flat" options (not to be deep extended)-// Fixes #9887-function ajaxExtend( target, src ) {- var key, deep,- flatOptions = jQuery.ajaxSettings.flatOptions || {};-- for ( key in src ) {- if ( src[ key ] !== undefined ) {- ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];- }- }- if ( deep ) {- jQuery.extend( true, target, deep );- }-- return target;-}--/* Handles responses to an ajax request:- * - finds the right dataType (mediates between content-type and expected dataType)- * - returns the corresponding response- */-function ajaxHandleResponses( s, jqXHR, responses ) {-- var ct, type, finalDataType, firstDataType,- contents = s.contents,- dataTypes = s.dataTypes;-- // Remove auto dataType and get content-type in the process- while ( dataTypes[ 0 ] === "*" ) {- dataTypes.shift();- if ( ct === undefined ) {- ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );- }- }-- // Check if we're dealing with a known content-type- if ( ct ) {- for ( type in contents ) {- if ( contents[ type ] && contents[ type ].test( ct ) ) {- dataTypes.unshift( type );- break;- }- }- }-- // Check to see if we have a response for the expected dataType- if ( dataTypes[ 0 ] in responses ) {- finalDataType = dataTypes[ 0 ];- } else {-- // Try convertible dataTypes- for ( type in responses ) {- if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {- finalDataType = type;- break;- }- if ( !firstDataType ) {- firstDataType = type;- }- }-- // Or just use first one- finalDataType = finalDataType || firstDataType;- }-- // If we found a dataType- // We add the dataType to the list if needed- // and return the corresponding response- if ( finalDataType ) {- if ( finalDataType !== dataTypes[ 0 ] ) {- dataTypes.unshift( finalDataType );- }- return responses[ finalDataType ];- }-}--/* Chain conversions given the request and the original response- * Also sets the responseXXX fields on the jqXHR instance- */-function ajaxConvert( s, response, jqXHR, isSuccess ) {- var conv2, current, conv, tmp, prev,- converters = {},-- // Work with a copy of dataTypes in case we need to modify it for conversion- dataTypes = s.dataTypes.slice();-- // Create converters map with lowercased keys- if ( dataTypes[ 1 ] ) {- for ( conv in s.converters ) {- converters[ conv.toLowerCase() ] = s.converters[ conv ];- }- }-- current = dataTypes.shift();-- // Convert to each sequential dataType- while ( current ) {-- if ( s.responseFields[ current ] ) {- jqXHR[ s.responseFields[ current ] ] = response;- }-- // Apply the dataFilter if provided- if ( !prev && isSuccess && s.dataFilter ) {- response = s.dataFilter( response, s.dataType );- }-- prev = current;- current = dataTypes.shift();-- if ( current ) {-- // There's only work to do if current dataType is non-auto- if ( current === "*" ) {-- current = prev;-- // Convert response if prev dataType is non-auto and differs from current- } else if ( prev !== "*" && prev !== current ) {-- // Seek a direct converter- conv = converters[ prev + " " + current ] || converters[ "* " + current ];-- // If none found, seek a pair- if ( !conv ) {- for ( conv2 in converters ) {-- // If conv2 outputs current- tmp = conv2.split( " " );- if ( tmp[ 1 ] === current ) {-- // If prev can be converted to accepted input- conv = converters[ prev + " " + tmp[ 0 ] ] ||- converters[ "* " + tmp[ 0 ] ];- if ( conv ) {-- // Condense equivalence converters- if ( conv === true ) {- conv = converters[ conv2 ];-- // Otherwise, insert the intermediate dataType- } else if ( converters[ conv2 ] !== true ) {- current = tmp[ 0 ];- dataTypes.unshift( tmp[ 1 ] );- }- break;- }- }- }- }-- // Apply converter (if not an equivalence)- if ( conv !== true ) {-- // Unless errors are allowed to bubble, catch and return them- if ( conv && s.throws ) {- response = conv( response );- } else {- try {- response = conv( response );- } catch ( e ) {- return {- state: "parsererror",- error: conv ? e : "No conversion from " + prev + " to " + current- };- }- }- }- }- }- }-- return { state: "success", data: response };-}--jQuery.extend( {-- // Counter for holding the number of active queries- active: 0,-- // Last-Modified header cache for next request- lastModified: {},- etag: {},-- ajaxSettings: {- url: location.href,- type: "GET",- isLocal: rlocalProtocol.test( location.protocol ),- global: true,- processData: true,- async: true,- contentType: "application/x-www-form-urlencoded; charset=UTF-8",-- /*- timeout: 0,- data: null,- dataType: null,- username: null,- password: null,- cache: null,- throws: false,- traditional: false,- headers: {},- */-- accepts: {- "*": allTypes,- text: "text/plain",- html: "text/html",- xml: "application/xml, text/xml",- json: "application/json, text/javascript"- },-- contents: {- xml: /\bxml\b/,- html: /\bhtml/,- json: /\bjson\b/- },-- responseFields: {- xml: "responseXML",- text: "responseText",- json: "responseJSON"- },-- // Data converters- // Keys separate source (or catchall "*") and destination types with a single space- converters: {-- // Convert anything to text- "* text": String,-- // Text to html (true = no transformation)- "text html": true,-- // Evaluate text as a json expression- "text json": JSON.parse,-- // Parse text as xml- "text xml": jQuery.parseXML- },-- // For options that shouldn't be deep extended:- // you can add your own custom options here if- // and when you create one that shouldn't be- // deep extended (see ajaxExtend)- flatOptions: {- url: true,- context: true- }- },-- // Creates a full fledged settings object into target- // with both ajaxSettings and settings fields.- // If target is omitted, writes into ajaxSettings.- ajaxSetup: function( target, settings ) {- return settings ?-- // Building a settings object- ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :-- // Extending ajaxSettings- ajaxExtend( jQuery.ajaxSettings, target );- },-- ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),- ajaxTransport: addToPrefiltersOrTransports( transports ),-- // Main method- ajax: function( url, options ) {-- // If url is an object, simulate pre-1.5 signature- if ( typeof url === "object" ) {- options = url;- url = undefined;- }-- // Force options to be an object- options = options || {};-- var transport,-- // URL without anti-cache param- cacheURL,-- // Response headers- responseHeadersString,- responseHeaders,-- // timeout handle- timeoutTimer,-- // Url cleanup var- urlAnchor,-- // Request state (becomes false upon send and true upon completion)- completed,-- // To know if global events are to be dispatched- fireGlobals,-- // Loop variable- i,-- // uncached part of the url- uncached,-- // Create the final options object- s = jQuery.ajaxSetup( {}, options ),-- // Callbacks context- callbackContext = s.context || s,-- // Context for global events is callbackContext if it is a DOM node or jQuery collection- globalEventContext = s.context &&- ( callbackContext.nodeType || callbackContext.jquery ) ?- jQuery( callbackContext ) :- jQuery.event,-- // Deferreds- deferred = jQuery.Deferred(),- completeDeferred = jQuery.Callbacks( "once memory" ),-- // Status-dependent callbacks- statusCode = s.statusCode || {},-- // Headers (they are sent all at once)- requestHeaders = {},- requestHeadersNames = {},-- // Default abort message- strAbort = "canceled",-- // Fake xhr- jqXHR = {- readyState: 0,-- // Builds headers hashtable if needed- getResponseHeader: function( key ) {- var match;- if ( completed ) {- if ( !responseHeaders ) {- responseHeaders = {};- while ( ( match = rheaders.exec( responseHeadersString ) ) ) {- responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ];- }- }- match = responseHeaders[ key.toLowerCase() ];- }- return match == null ? null : match;- },-- // Raw string- getAllResponseHeaders: function() {- return completed ? responseHeadersString : null;- },-- // Caches the header- setRequestHeader: function( name, value ) {- if ( completed == null ) {- name = requestHeadersNames[ name.toLowerCase() ] =- requestHeadersNames[ name.toLowerCase() ] || name;- requestHeaders[ name ] = value;- }- return this;- },-- // Overrides response content-type header- overrideMimeType: function( type ) {- if ( completed == null ) {- s.mimeType = type;- }- return this;- },-- // Status-dependent callbacks- statusCode: function( map ) {- var code;- if ( map ) {- if ( completed ) {-- // Execute the appropriate callbacks- jqXHR.always( map[ jqXHR.status ] );- } else {-- // Lazy-add the new callbacks in a way that preserves old ones- for ( code in map ) {- statusCode[ code ] = [ statusCode[ code ], map[ code ] ];- }- }- }- return this;- },-- // Cancel the request- abort: function( statusText ) {- var finalText = statusText || strAbort;- if ( transport ) {- transport.abort( finalText );- }- done( 0, finalText );- return this;- }- };-- // Attach deferreds- deferred.promise( jqXHR );-- // Add protocol if not provided (prefilters might expect it)- // Handle falsy url in the settings object (#10093: consistency with old signature)- // We also use the url parameter if available- s.url = ( ( url || s.url || location.href ) + "" )- .replace( rprotocol, location.protocol + "//" );-- // Alias method option to type as per ticket #12004- s.type = options.method || options.type || s.method || s.type;-- // Extract dataTypes list- s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnotwhite ) || [ "" ];-- // A cross-domain request is in order when the origin doesn't match the current origin.- if ( s.crossDomain == null ) {- urlAnchor = document.createElement( "a" );-- // Support: IE <=8 - 11, Edge 12 - 13- // IE throws exception on accessing the href property if url is malformed,- // e.g. http://example.com:80x/- try {- urlAnchor.href = s.url;-- // Support: IE <=8 - 11 only- // Anchor's host property isn't correctly set when s.url is relative- urlAnchor.href = urlAnchor.href;- s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !==- urlAnchor.protocol + "//" + urlAnchor.host;- } catch ( e ) {-- // If there is an error parsing the URL, assume it is crossDomain,- // it can be rejected by the transport if it is invalid- s.crossDomain = true;- }- }-- // Convert data if not already a string- if ( s.data && s.processData && typeof s.data !== "string" ) {- s.data = jQuery.param( s.data, s.traditional );- }-- // Apply prefilters- inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );-- // If request was aborted inside a prefilter, stop there- if ( completed ) {- return jqXHR;- }-- // We can fire global events as of now if asked to- // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)- fireGlobals = jQuery.event && s.global;-- // Watch for a new set of requests- if ( fireGlobals && jQuery.active++ === 0 ) {- jQuery.event.trigger( "ajaxStart" );- }-- // Uppercase the type- s.type = s.type.toUpperCase();-- // Determine if request has content- s.hasContent = !rnoContent.test( s.type );-- // Save the URL in case we're toying with the If-Modified-Since- // and/or If-None-Match header later on- // Remove hash to simplify url manipulation- cacheURL = s.url.replace( rhash, "" );-- // More options handling for requests with no content- if ( !s.hasContent ) {-- // Remember the hash so we can put it back- uncached = s.url.slice( cacheURL.length );-- // If data is available, append data to url- if ( s.data ) {- cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;-- // #9682: remove data so that it's not used in an eventual retry- delete s.data;- }-- // Add anti-cache in uncached url if needed- if ( s.cache === false ) {- cacheURL = cacheURL.replace( rts, "" );- uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached;- }-- // Put hash and anti-cache on the URL that will be requested (gh-1732)- s.url = cacheURL + uncached;-- // Change '%20' to '+' if this is encoded form body content (gh-2658)- } else if ( s.data && s.processData &&- ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) {- s.data = s.data.replace( r20, "+" );- }-- // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.- if ( s.ifModified ) {- if ( jQuery.lastModified[ cacheURL ] ) {- jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );- }- if ( jQuery.etag[ cacheURL ] ) {- jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );- }- }-- // Set the correct header, if data is being sent- if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {- jqXHR.setRequestHeader( "Content-Type", s.contentType );- }-- // Set the Accepts header for the server, depending on the dataType- jqXHR.setRequestHeader(- "Accept",- s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?- s.accepts[ s.dataTypes[ 0 ] ] +- ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :- s.accepts[ "*" ]- );-- // Check for headers option- for ( i in s.headers ) {- jqXHR.setRequestHeader( i, s.headers[ i ] );- }-- // Allow custom headers/mimetypes and early abort- if ( s.beforeSend &&- ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {-- // Abort if not done already and return- return jqXHR.abort();- }-- // Aborting is no longer a cancellation- strAbort = "abort";-- // Install callbacks on deferreds- completeDeferred.add( s.complete );- jqXHR.done( s.success );- jqXHR.fail( s.error );-- // Get transport- transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );-- // If no transport, we auto-abort- if ( !transport ) {- done( -1, "No Transport" );- } else {- jqXHR.readyState = 1;-- // Send global event- if ( fireGlobals ) {- globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );- }-- // If request was aborted inside ajaxSend, stop there- if ( completed ) {- return jqXHR;- }-- // Timeout- if ( s.async && s.timeout > 0 ) {- timeoutTimer = window.setTimeout( function() {- jqXHR.abort( "timeout" );- }, s.timeout );- }-- try {- completed = false;- transport.send( requestHeaders, done );- } catch ( e ) {-- // Rethrow post-completion exceptions- if ( completed ) {- throw e;- }-- // Propagate others as results- done( -1, e );- }- }-- // Callback for when everything is done- function done( status, nativeStatusText, responses, headers ) {- var isSuccess, success, error, response, modified,- statusText = nativeStatusText;-- // Ignore repeat invocations- if ( completed ) {- return;- }-- completed = true;-- // Clear timeout if it exists- if ( timeoutTimer ) {- window.clearTimeout( timeoutTimer );- }-- // Dereference transport for early garbage collection- // (no matter how long the jqXHR object will be used)- transport = undefined;-- // Cache response headers- responseHeadersString = headers || "";-- // Set readyState- jqXHR.readyState = status > 0 ? 4 : 0;-- // Determine if successful- isSuccess = status >= 200 && status < 300 || status === 304;-- // Get response data- if ( responses ) {- response = ajaxHandleResponses( s, jqXHR, responses );- }-- // Convert no matter what (that way responseXXX fields are always set)- response = ajaxConvert( s, response, jqXHR, isSuccess );-- // If successful, handle type chaining- if ( isSuccess ) {-- // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.- if ( s.ifModified ) {- modified = jqXHR.getResponseHeader( "Last-Modified" );- if ( modified ) {- jQuery.lastModified[ cacheURL ] = modified;- }- modified = jqXHR.getResponseHeader( "etag" );- if ( modified ) {- jQuery.etag[ cacheURL ] = modified;- }- }-- // if no content- if ( status === 204 || s.type === "HEAD" ) {- statusText = "nocontent";-- // if not modified- } else if ( status === 304 ) {- statusText = "notmodified";-- // If we have data, let's convert it- } else {- statusText = response.state;- success = response.data;- error = response.error;- isSuccess = !error;- }- } else {-- // Extract error from statusText and normalize for non-aborts- error = statusText;- if ( status || !statusText ) {- statusText = "error";- if ( status < 0 ) {- status = 0;- }- }- }-- // Set data for the fake xhr object- jqXHR.status = status;- jqXHR.statusText = ( nativeStatusText || statusText ) + "";-- // Success/Error- if ( isSuccess ) {- deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );- } else {- deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );- }-- // Status-dependent callbacks- jqXHR.statusCode( statusCode );- statusCode = undefined;-- if ( fireGlobals ) {- globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",- [ jqXHR, s, isSuccess ? success : error ] );- }-- // Complete- completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );-- if ( fireGlobals ) {- globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );-- // Handle the global AJAX counter- if ( !( --jQuery.active ) ) {- jQuery.event.trigger( "ajaxStop" );- }- }- }-- return jqXHR;- },-- getJSON: function( url, data, callback ) {- return jQuery.get( url, data, callback, "json" );- },-- getScript: function( url, callback ) {- return jQuery.get( url, undefined, callback, "script" );- }-} );--jQuery.each( [ "get", "post" ], function( i, method ) {- jQuery[ method ] = function( url, data, callback, type ) {-- // Shift arguments if data argument was omitted- if ( jQuery.isFunction( data ) ) {- type = type || callback;- callback = data;- data = undefined;- }-- // The url can be an options object (which then must have .url)- return jQuery.ajax( jQuery.extend( {- url: url,- type: method,- dataType: type,- data: data,- success: callback- }, jQuery.isPlainObject( url ) && url ) );- };-} );---jQuery._evalUrl = function( url ) {- return jQuery.ajax( {- url: url,-- // Make this explicit, since user can override this through ajaxSetup (#11264)- type: "GET",- dataType: "script",- cache: true,- async: false,- global: false,- "throws": true- } );-};---jQuery.fn.extend( {- wrapAll: function( html ) {- var wrap;-- if ( this[ 0 ] ) {- if ( jQuery.isFunction( html ) ) {- html = html.call( this[ 0 ] );- }-- // The elements to wrap the target around- wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );-- if ( this[ 0 ].parentNode ) {- wrap.insertBefore( this[ 0 ] );- }-- wrap.map( function() {- var elem = this;-- while ( elem.firstElementChild ) {- elem = elem.firstElementChild;- }-- return elem;- } ).append( this );- }-- return this;- },-- wrapInner: function( html ) {- if ( jQuery.isFunction( html ) ) {- return this.each( function( i ) {- jQuery( this ).wrapInner( html.call( this, i ) );- } );- }-- return this.each( function() {- var self = jQuery( this ),- contents = self.contents();-- if ( contents.length ) {- contents.wrapAll( html );-- } else {- self.append( html );- }- } );- },-- wrap: function( html ) {- var isFunction = jQuery.isFunction( html );-- return this.each( function( i ) {- jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html );- } );- },-- unwrap: function( selector ) {- this.parent( selector ).not( "body" ).each( function() {- jQuery( this ).replaceWith( this.childNodes );- } );- return this;- }-} );---jQuery.expr.pseudos.hidden = function( elem ) {- return !jQuery.expr.pseudos.visible( elem );-};-jQuery.expr.pseudos.visible = function( elem ) {- return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );-};-----jQuery.ajaxSettings.xhr = function() {- try {- return new window.XMLHttpRequest();- } catch ( e ) {}-};--var xhrSuccessStatus = {-- // File protocol always yields status code 0, assume 200- 0: 200,-- // Support: IE <=9 only- // #1450: sometimes IE returns 1223 when it should be 204- 1223: 204- },- xhrSupported = jQuery.ajaxSettings.xhr();--support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );-support.ajax = xhrSupported = !!xhrSupported;--jQuery.ajaxTransport( function( options ) {- var callback, errorCallback;-- // Cross domain only allowed if supported through XMLHttpRequest- if ( support.cors || xhrSupported && !options.crossDomain ) {- return {- send: function( headers, complete ) {- var i,- xhr = options.xhr();-- xhr.open(- options.type,- options.url,- options.async,- options.username,- options.password- );-- // Apply custom fields if provided- if ( options.xhrFields ) {- for ( i in options.xhrFields ) {- xhr[ i ] = options.xhrFields[ i ];- }- }-- // Override mime type if needed- if ( options.mimeType && xhr.overrideMimeType ) {- xhr.overrideMimeType( options.mimeType );- }-- // X-Requested-With header- // For cross-domain requests, seeing as conditions for a preflight are- // akin to a jigsaw puzzle, we simply never set it to be sure.- // (it can always be set on a per-request basis or even using ajaxSetup)- // For same-domain requests, won't change header if already provided.- if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {- headers[ "X-Requested-With" ] = "XMLHttpRequest";- }-- // Set headers- for ( i in headers ) {- xhr.setRequestHeader( i, headers[ i ] );- }-- // Callback- callback = function( type ) {- return function() {- if ( callback ) {- callback = errorCallback = xhr.onload =- xhr.onerror = xhr.onabort = xhr.onreadystatechange = null;-- if ( type === "abort" ) {- xhr.abort();- } else if ( type === "error" ) {-- // Support: IE <=9 only- // On a manual native abort, IE9 throws- // errors on any property access that is not readyState- if ( typeof xhr.status !== "number" ) {- complete( 0, "error" );- } else {- complete(-- // File: protocol always yields status 0; see #8605, #14207- xhr.status,- xhr.statusText- );- }- } else {- complete(- xhrSuccessStatus[ xhr.status ] || xhr.status,- xhr.statusText,-- // Support: IE <=9 only- // IE9 has no XHR2 but throws on binary (trac-11426)- // For XHR2 non-text, let the caller handle it (gh-2498)- ( xhr.responseType || "text" ) !== "text" ||- typeof xhr.responseText !== "string" ?- { binary: xhr.response } :- { text: xhr.responseText },- xhr.getAllResponseHeaders()- );- }- }- };- };-- // Listen to events- xhr.onload = callback();- errorCallback = xhr.onerror = callback( "error" );-- // Support: IE 9 only- // Use onreadystatechange to replace onabort- // to handle uncaught aborts- if ( xhr.onabort !== undefined ) {- xhr.onabort = errorCallback;- } else {- xhr.onreadystatechange = function() {-- // Check readyState before timeout as it changes- if ( xhr.readyState === 4 ) {-- // Allow onerror to be called first,- // but that will not handle a native abort- // Also, save errorCallback to a variable- // as xhr.onerror cannot be accessed- window.setTimeout( function() {- if ( callback ) {- errorCallback();- }- } );- }- };- }-- // Create the abort callback- callback = callback( "abort" );-- try {-- // Do send the request (this may raise an exception)- xhr.send( options.hasContent && options.data || null );- } catch ( e ) {-- // #14683: Only rethrow if this hasn't been notified as an error yet- if ( callback ) {- throw e;- }- }- },-- abort: function() {- if ( callback ) {- callback();- }- }- };- }-} );-----// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)-jQuery.ajaxPrefilter( function( s ) {- if ( s.crossDomain ) {- s.contents.script = false;- }-} );--// Install script dataType-jQuery.ajaxSetup( {- accepts: {- script: "text/javascript, application/javascript, " +- "application/ecmascript, application/x-ecmascript"- },- contents: {- script: /\b(?:java|ecma)script\b/- },- converters: {- "text script": function( text ) {- jQuery.globalEval( text );- return text;- }- }-} );--// Handle cache's special case and crossDomain-jQuery.ajaxPrefilter( "script", function( s ) {- if ( s.cache === undefined ) {- s.cache = false;- }- if ( s.crossDomain ) {- s.type = "GET";- }-} );--// Bind script tag hack transport-jQuery.ajaxTransport( "script", function( s ) {-- // This transport only deals with cross domain requests- if ( s.crossDomain ) {- var script, callback;- return {- send: function( _, complete ) {- script = jQuery( "<script>" ).prop( {- charset: s.scriptCharset,- src: s.url- } ).on(- "load error",- callback = function( evt ) {- script.remove();- callback = null;- if ( evt ) {- complete( evt.type === "error" ? 404 : 200, evt.type );- }- }- );-- // Use native DOM manipulation to avoid our domManip AJAX trickery- document.head.appendChild( script[ 0 ] );- },- abort: function() {- if ( callback ) {- callback();- }- }- };- }-} );-----var oldCallbacks = [],- rjsonp = /(=)\?(?=&|$)|\?\?/;--// Default jsonp settings-jQuery.ajaxSetup( {- jsonp: "callback",- jsonpCallback: function() {- var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );- this[ callback ] = true;- return callback;- }-} );--// Detect, normalize options and install callbacks for jsonp requests-jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {-- var callbackName, overwritten, responseContainer,- jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?- "url" :- typeof s.data === "string" &&- ( s.contentType || "" )- .indexOf( "application/x-www-form-urlencoded" ) === 0 &&- rjsonp.test( s.data ) && "data"- );-- // Handle iff the expected data type is "jsonp" or we have a parameter to set- if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {-- // Get callback name, remembering preexisting value associated with it- callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?- s.jsonpCallback() :- s.jsonpCallback;-- // Insert callback into url or form data- if ( jsonProp ) {- s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );- } else if ( s.jsonp !== false ) {- s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;- }-- // Use data converter to retrieve json after script execution- s.converters[ "script json" ] = function() {- if ( !responseContainer ) {- jQuery.error( callbackName + " was not called" );- }- return responseContainer[ 0 ];- };-- // Force json dataType- s.dataTypes[ 0 ] = "json";-- // Install callback- overwritten = window[ callbackName ];- window[ callbackName ] = function() {- responseContainer = arguments;- };-- // Clean-up function (fires after converters)- jqXHR.always( function() {-- // If previous value didn't exist - remove it- if ( overwritten === undefined ) {- jQuery( window ).removeProp( callbackName );-- // Otherwise restore preexisting value- } else {- window[ callbackName ] = overwritten;- }-- // Save back as free- if ( s[ callbackName ] ) {-- // Make sure that re-using the options doesn't screw things around- s.jsonpCallback = originalSettings.jsonpCallback;-- // Save the callback name for future use- oldCallbacks.push( callbackName );- }-- // Call if it was a function and we have a response- if ( responseContainer && jQuery.isFunction( overwritten ) ) {- overwritten( responseContainer[ 0 ] );- }-- responseContainer = overwritten = undefined;- } );-- // Delegate to script- return "script";- }-} );-----// Support: Safari 8 only-// In Safari 8 documents created via document.implementation.createHTMLDocument-// collapse sibling forms: the second one becomes a child of the first one.-// Because of that, this security measure has to be disabled in Safari 8.-// https://bugs.webkit.org/show_bug.cgi?id=137337-support.createHTMLDocument = ( function() {- var body = document.implementation.createHTMLDocument( "" ).body;- body.innerHTML = "<form></form><form></form>";- return body.childNodes.length === 2;-} )();---// Argument "data" should be string of html-// context (optional): If specified, the fragment will be created in this context,-// defaults to document-// keepScripts (optional): If true, will include scripts passed in the html string-jQuery.parseHTML = function( data, context, keepScripts ) {- if ( typeof data !== "string" ) {- return [];- }- if ( typeof context === "boolean" ) {- keepScripts = context;- context = false;- }-- var base, parsed, scripts;-- if ( !context ) {-- // Stop scripts or inline event handlers from being executed immediately- // by using document.implementation- if ( support.createHTMLDocument ) {- context = document.implementation.createHTMLDocument( "" );-- // Set the base href for the created document- // so any parsed elements with URLs- // are based on the document's URL (gh-2965)- base = context.createElement( "base" );- base.href = document.location.href;- context.head.appendChild( base );- } else {- context = document;- }- }-- parsed = rsingleTag.exec( data );- scripts = !keepScripts && [];-- // Single tag- if ( parsed ) {- return [ context.createElement( parsed[ 1 ] ) ];- }-- parsed = buildFragment( [ data ], context, scripts );-- if ( scripts && scripts.length ) {- jQuery( scripts ).remove();- }-- return jQuery.merge( [], parsed.childNodes );-};---/**- * Load a url into a page- */-jQuery.fn.load = function( url, params, callback ) {- var selector, type, response,- self = this,- off = url.indexOf( " " );-- if ( off > -1 ) {- selector = jQuery.trim( url.slice( off ) );- url = url.slice( 0, off );- }-- // If it's a function- if ( jQuery.isFunction( params ) ) {-- // We assume that it's the callback- callback = params;- params = undefined;-- // Otherwise, build a param string- } else if ( params && typeof params === "object" ) {- type = "POST";- }-- // If we have elements to modify, make the request- if ( self.length > 0 ) {- jQuery.ajax( {- url: url,-- // If "type" variable is undefined, then "GET" method will be used.- // Make value of this field explicit since- // user can override it through ajaxSetup method- type: type || "GET",- dataType: "html",- data: params- } ).done( function( responseText ) {-- // Save response for use in complete callback- response = arguments;-- self.html( selector ?-- // If a selector was specified, locate the right elements in a dummy div- // Exclude scripts to avoid IE 'Permission Denied' errors- jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :-- // Otherwise use the full result- responseText );-- // If the request succeeds, this function gets "data", "status", "jqXHR"- // but they are ignored because response was set above.- // If it fails, this function gets "jqXHR", "status", "error"- } ).always( callback && function( jqXHR, status ) {- self.each( function() {- callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );- } );- } );- }-- return this;-};-----// Attach a bunch of functions for handling common AJAX events-jQuery.each( [- "ajaxStart",- "ajaxStop",- "ajaxComplete",- "ajaxError",- "ajaxSuccess",- "ajaxSend"-], function( i, type ) {- jQuery.fn[ type ] = function( fn ) {- return this.on( type, fn );- };-} );-----jQuery.expr.pseudos.animated = function( elem ) {- return jQuery.grep( jQuery.timers, function( fn ) {- return elem === fn.elem;- } ).length;-};-----/**- * Gets a window from an element- */-function getWindow( elem ) {- return jQuery.isWindow( elem ) ? elem : elem.nodeType === 9 && elem.defaultView;-}--jQuery.offset = {- setOffset: function( elem, options, i ) {- var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,- position = jQuery.css( elem, "position" ),- curElem = jQuery( elem ),- props = {};-- // Set position first, in-case top/left are set even on static elem- if ( position === "static" ) {- elem.style.position = "relative";- }-- curOffset = curElem.offset();- curCSSTop = jQuery.css( elem, "top" );- curCSSLeft = jQuery.css( elem, "left" );- calculatePosition = ( position === "absolute" || position === "fixed" ) &&- ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1;-- // Need to be able to calculate position if either- // top or left is auto and position is either absolute or fixed- if ( calculatePosition ) {- curPosition = curElem.position();- curTop = curPosition.top;- curLeft = curPosition.left;-- } else {- curTop = parseFloat( curCSSTop ) || 0;- curLeft = parseFloat( curCSSLeft ) || 0;- }-- if ( jQuery.isFunction( options ) ) {-- // Use jQuery.extend here to allow modification of coordinates argument (gh-1848)- options = options.call( elem, i, jQuery.extend( {}, curOffset ) );- }-- if ( options.top != null ) {- props.top = ( options.top - curOffset.top ) + curTop;- }- if ( options.left != null ) {- props.left = ( options.left - curOffset.left ) + curLeft;- }-- if ( "using" in options ) {- options.using.call( elem, props );-- } else {- curElem.css( props );- }- }-};--jQuery.fn.extend( {- offset: function( options ) {-- // Preserve chaining for setter- if ( arguments.length ) {- return options === undefined ?- this :- this.each( function( i ) {- jQuery.offset.setOffset( this, options, i );- } );- }-- var docElem, win, rect, doc,- elem = this[ 0 ];-- if ( !elem ) {- return;- }-- // Support: IE <=11 only- // Running getBoundingClientRect on a- // disconnected node in IE throws an error- if ( !elem.getClientRects().length ) {- return { top: 0, left: 0 };- }-- rect = elem.getBoundingClientRect();-- // Make sure element is not hidden (display: none)- if ( rect.width || rect.height ) {- doc = elem.ownerDocument;- win = getWindow( doc );- docElem = doc.documentElement;-- return {- top: rect.top + win.pageYOffset - docElem.clientTop,- left: rect.left + win.pageXOffset - docElem.clientLeft- };- }-- // Return zeros for disconnected and hidden elements (gh-2310)- return rect;- },-- position: function() {- if ( !this[ 0 ] ) {- return;- }-- var offsetParent, offset,- elem = this[ 0 ],- parentOffset = { top: 0, left: 0 };-- // Fixed elements are offset from window (parentOffset = {top:0, left: 0},- // because it is its only offset parent- if ( jQuery.css( elem, "position" ) === "fixed" ) {-- // Assume getBoundingClientRect is there when computed position is fixed- offset = elem.getBoundingClientRect();-- } else {-- // Get *real* offsetParent- offsetParent = this.offsetParent();-- // Get correct offsets- offset = this.offset();- if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) {- parentOffset = offsetParent.offset();- }-- // Add offsetParent borders- parentOffset = {- top: parentOffset.top + jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ),- left: parentOffset.left + jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true )- };- }-- // Subtract parent offsets and element margins- return {- top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),- left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )- };- },-- // This method will return documentElement in the following cases:- // 1) For the element inside the iframe without offsetParent, this method will return- // documentElement of the parent window- // 2) For the hidden or detached element- // 3) For body or html element, i.e. in case of the html node - it will return itself- //- // but those exceptions were never presented as a real life use-cases- // and might be considered as more preferable results.- //- // This logic, however, is not guaranteed and can change at any point in the future- offsetParent: function() {- return this.map( function() {- var offsetParent = this.offsetParent;-- while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {- offsetParent = offsetParent.offsetParent;- }-- return offsetParent || documentElement;- } );- }-} );--// Create scrollLeft and scrollTop methods-jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {- var top = "pageYOffset" === prop;-- jQuery.fn[ method ] = function( val ) {- return access( this, function( elem, method, val ) {- var win = getWindow( elem );-- if ( val === undefined ) {- return win ? win[ prop ] : elem[ method ];- }-- if ( win ) {- win.scrollTo(- !top ? val : win.pageXOffset,- top ? val : win.pageYOffset- );-- } else {- elem[ method ] = val;- }- }, method, val, arguments.length );- };-} );--// Support: Safari <=7 - 9.1, Chrome <=37 - 49-// Add the top/left cssHooks using jQuery.fn.position-// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084-// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347-// getComputedStyle returns percent when specified for top/left/bottom/right;-// rather than make the css module depend on the offset module, just check for it here-jQuery.each( [ "top", "left" ], function( i, prop ) {- jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,- function( elem, computed ) {- if ( computed ) {- computed = curCSS( elem, prop );-- // If curCSS returns percentage, fallback to offset- return rnumnonpx.test( computed ) ?- jQuery( elem ).position()[ prop ] + "px" :- computed;- }- }- );-} );---// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods-jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {- jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name },- function( defaultExtra, funcName ) {-- // Margin is only for outerHeight, outerWidth- jQuery.fn[ funcName ] = function( margin, value ) {- var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),- extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );-- return access( this, function( elem, type, value ) {- var doc;-- if ( jQuery.isWindow( elem ) ) {-- // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)- return funcName.indexOf( "outer" ) === 0 ?- elem[ "inner" + name ] :- elem.document.documentElement[ "client" + name ];- }-- // Get document width or height- if ( elem.nodeType === 9 ) {- doc = elem.documentElement;-- // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],- // whichever is greatest- return Math.max(- elem.body[ "scroll" + name ], doc[ "scroll" + name ],- elem.body[ "offset" + name ], doc[ "offset" + name ],- doc[ "client" + name ]- );- }-- return value === undefined ?-- // Get width or height on the element, requesting but not forcing parseFloat- jQuery.css( elem, type, extra ) :-- // Set width or height on the element- jQuery.style( elem, type, value, extra );- }, type, chainable ? margin : undefined, chainable );- };- } );-} );---jQuery.fn.extend( {-- bind: function( types, data, fn ) {- return this.on( types, null, data, fn );- },- unbind: function( types, fn ) {- return this.off( types, null, fn );- },-- delegate: function( selector, types, data, fn ) {- return this.on( types, selector, data, fn );- },- undelegate: function( selector, types, fn ) {-- // ( namespace ) or ( selector, types [, fn] )- return arguments.length === 1 ?- this.off( selector, "**" ) :- this.off( types, selector || "**", fn );- }-} );--jQuery.parseJSON = JSON.parse;-----// Register as a named AMD module, since jQuery can be concatenated with other-// files that may use define, but not via a proper concatenation script that-// understands anonymous AMD modules. A named AMD is safest and most robust-// way to register. Lowercase jquery is used because AMD module names are-// derived from file names, and jQuery is normally delivered in a lowercase-// file name. Do this after creating the global so that if an AMD module wants-// to call noConflict to hide this version of jQuery, it will work.--// Note that for maximum portability, libraries that are not jQuery should-// declare themselves as anonymous modules, and avoid setting a global if an-// AMD loader is present. jQuery is a special case. For more information, see-// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon--if ( typeof define === "function" && define.amd ) {- define( "jquery", [], function() {- return jQuery;- } );-}------var-- // Map over jQuery in case of overwrite- _jQuery = window.jQuery,-- // Map over the $ in case of overwrite- _$ = window.$;--jQuery.noConflict = function( deep ) {- if ( window.$ === jQuery ) {- window.$ = _$;- }-- if ( deep && window.jQuery === jQuery ) {- window.jQuery = _jQuery;- }-- return jQuery;-};--// Expose jQuery and $ identifiers, even in AMD-// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)-// and CommonJS for browser emulators (#13566)-if ( !noGlobal ) {- window.jQuery = window.$ = jQuery;-}---return jQuery;-} );
@@ -1,4 +0,0 @@-/*! jQuery v3.1.0 | (c) jQuery Foundation | jquery.org/license */-!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.1.0",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null!=a?a<0?this[a+this.length]:this[a]:f.call(this)},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=r.isArray(d)))?(e?(e=!1,f=c&&r.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"label"in b&&b.disabled===a||"form"in b&&b.disabled===a||"form"in b&&b.disabled===!1&&(b.isDisabled===a||b.isDisabled!==!a&&("label"in b||!ea(b))!==a)}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e)}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(_,aa),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=V.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(_,aa),$.test(j[0].type)&&qa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&sa(j),!a)return G.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||$.test(a)&&qa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){if(r.isFunction(b))return r.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return r.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(C.test(b))return r.filter(b,a,c);b=r.filter(b,a)}return r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType})}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return J(a,"nextSibling")},prev:function(a){return J(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/\S+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,M,e),g(f,c,N,e)):(f++,j.call(a,g(f,c,M,e),g(f,c,N,e),g(f,c,M,c.notifyWith))):(d!==M&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R),a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,-r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},T=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function U(){this.expando=r.expando+U.uid++}U.uid=1,U.prototype={cache:function(a){var b=a[this.expando];return b||(b={},T(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){r.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(K)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var V=new U,W=new U,X=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Y=/[A-Z]/g;function Z(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Y,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:X.test(c)?JSON.parse(c):c)}catch(e){}W.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return W.hasData(a)||V.hasData(a)},data:function(a,b,c){return W.access(a,b,c)},removeData:function(a,b){W.remove(a,b)},_data:function(a,b,c){return V.access(a,b,c)},_removeData:function(a,b){V.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=W.get(f),1===f.nodeType&&!V.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),Z(f,d,e[d])));V.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){W.set(this,a)}):S(this,function(b){var c;if(f&&void 0===b){if(c=W.get(f,a),void 0!==c)return c;if(c=Z(f,a),void 0!==c)return c}else this.each(function(){W.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=V.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var $=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,_=new RegExp("^(?:([+-])=|)("+$+")([a-z%]*)$","i"),aa=["Top","Right","Bottom","Left"],ba=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ca=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function da(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&_.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ea={};function fa(a){var b,c=a.ownerDocument,d=a.nodeName,e=ea[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ea[d]=e,e)}function ga(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=V.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&ba(d)&&(e[f]=fa(d))):"none"!==c&&(e[f]="none",V.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ga(this,!0)},hide:function(){return ga(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){ba(this)?r(this).show():r(this).hide()})}});var ha=/^(?:checkbox|radio)$/i,ia=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,ja=/^$|\/(?:java|ecma)script/i,ka={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ka.optgroup=ka.option,ka.tbody=ka.tfoot=ka.colgroup=ka.caption=ka.thead,ka.th=ka.td;function la(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function ma(a,b){for(var c=0,d=a.length;c<d;c++)V.set(a[c],"globalEval",!b||V.get(b[c],"globalEval"))}var na=/<|&#?\w+;/;function oa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(na.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ia.exec(f)||["",""])[1].toLowerCase(),i=ka[h]||ka._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=la(l.appendChild(f),"script"),j&&ma(g),c){k=0;while(f=g[k++])ja.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var pa=d.documentElement,qa=/^key/,ra=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,sa=/^([^.]*)(?:\.(.+)|)/;function ta(){return!0}function ua(){return!1}function va(){try{return d.activeElement}catch(a){}}function wa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)wa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ua;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(pa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(K)||[""],j=b.length;while(j--)h=sa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=sa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;c<h;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?r(e,this).index(i)>-1:r.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==va()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===va()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&r.nodeName(this,"input"))return this.click(),!1},_default:function(a){return r.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ta:ua,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:ua,isPropagationStopped:ua,isImmediatePropagationStopped:ua,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ta,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ta,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ta,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&qa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ra.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return wa(this,a,b,c,d)},one:function(a,b,c,d){return wa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=ua),this.each(function(){r.event.remove(this,a,c,b)})}});var xa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,ya=/<script|<style|<link/i,za=/checked\s*(?:[^=]|=\s*.checked.)/i,Aa=/^true\/(.*)/,Ba=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ca(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Da(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ea(a){var b=Aa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}W.hasData(a)&&(h=W.access(a),i=r.extend({},h),W.set(b,i))}}function Ga(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ha.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ha(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&za.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(m&&(e=oa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(la(e,"script"),Da),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,la(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ea),l=0;l<i;l++)j=h[l],ja.test(j.type||"")&&!V.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Ba,""),k))}return a}function Ia(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(la(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&ma(la(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(xa,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=la(h),f=la(a),d=0,e=f.length;d<e;d++)Ga(f[d],g[d]);if(b)if(c)for(f=f||la(a),g=g||la(h),d=0,e=f.length;d<e;d++)Fa(f[d],g[d]);else Fa(a,h);return g=la(h,"script"),g.length>0&&ma(g,!i&&la(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(la(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!ya.test(a)&&!ka[(ia.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(la(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(la(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var Ja=/^margin/,Ka=new RegExp("^("+$+")(?!px)[a-z%]+$","i"),La=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",pa.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,pa.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Ma(a,b,c){var d,e,f,g,h=a.style;return c=c||La(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ka.test(g)&&Ja.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Na(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Oa=/^(none|table(?!-c[ea]).+)/,Pa={position:"absolute",visibility:"hidden",display:"block"},Qa={letterSpacing:"0",fontWeight:"400"},Ra=["Webkit","Moz","ms"],Sa=d.createElement("div").style;function Ta(a){if(a in Sa)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ra.length;while(c--)if(a=Ra[c]+b,a in Sa)return a}function Ua(a,b,c){var d=_.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Va(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+aa[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+aa[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+aa[f]+"Width",!0,e))):(g+=r.css(a,"padding"+aa[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+aa[f]+"Width",!0,e)));return g}function Wa(a,b,c){var d,e=!0,f=La(a),g="border-box"===r.css(a,"boxSizing",!1,f);if(a.getClientRects().length&&(d=a.getBoundingClientRect()[b]),d<=0||null==d){if(d=Ma(a,b,f),(d<0||null==d)&&(d=a.style[b]),Ka.test(d))return d;e=g&&(o.boxSizingReliable()||d===a.style[b]),d=parseFloat(d)||0}return d+Va(a,b,c||(g?"border":"content"),e,f)+"px"}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ma(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=a.style;return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=_.exec(c))&&e[1]&&(c=da(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b);return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Ma(a,b,d)),"normal"===e&&b in Qa&&(e=Qa[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Oa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?Wa(a,b,d):ca(a,Pa,function(){return Wa(a,b,d)})},set:function(a,c,d){var e,f=d&&La(a),g=d&&Va(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=_.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ua(a,c,g)}}}),r.cssHooks.marginLeft=Na(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Ma(a,"marginLeft"))||a.getBoundingClientRect().left-ca(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+aa[d]+b]=f[d]||f[d-2]||f[0];return e}},Ja.test(a)||(r.cssHooks[a+b].set=Ua)}),r.fn.extend({css:function(a,b){return S(this,function(a,b,c){var d,e,f={},g=0;if(r.isArray(b)){for(d=La(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function Xa(a,b,c,d,e){return new Xa.prototype.init(a,b,c,d,e)}r.Tween=Xa,Xa.prototype={constructor:Xa,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=Xa.propHooks[this.prop];return a&&a.get?a.get(this):Xa.propHooks._default.get(this)},run:function(a){var b,c=Xa.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Xa.propHooks._default.set(this),this}},Xa.prototype.init.prototype=Xa.prototype,Xa.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},Xa.propHooks.scrollTop=Xa.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=Xa.prototype.init,r.fx.step={};var Ya,Za,$a=/^(?:toggle|show|hide)$/,_a=/queueHooks$/;function ab(){Za&&(a.requestAnimationFrame(ab),r.fx.tick())}function bb(){return a.setTimeout(function(){Ya=void 0}),Ya=r.now()}function cb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=aa[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function db(a,b,c){for(var d,e=(gb.tweeners[b]||[]).concat(gb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function eb(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&ba(a),q=V.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],$a.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=V.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ga([a],!0),j=a.style.display||j,k=r.css(a,"display"),ga([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=V.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ga([a],!0),m.done(function(){p||ga([a]),V.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=db(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function fb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],r.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function gb(a,b,c){var d,e,f=0,g=gb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Ya||bb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:Ya||bb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(fb(k,j.opts.specialEasing);f<g;f++)if(d=gb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,db,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}r.Animation=r.extend(gb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return da(c.elem,a,_.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(K);for(var c,d=0,e=a.length;d<e;d++)c=a[d],gb.tweeners[c]=gb.tweeners[c]||[],gb.tweeners[c].unshift(b)},prefilters:[eb],prefilter:function(a,b){b?gb.prefilters.unshift(a):gb.prefilters.push(a)}}),r.speed=function(a,b,c){var e=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off||d.hidden?e.duration=0:e.duration="number"==typeof e.duration?e.duration:e.duration in r.fx.speeds?r.fx.speeds[e.duration]:r.fx.speeds._default,null!=e.queue&&e.queue!==!0||(e.queue="fx"),e.old=e.complete,e.complete=function(){r.isFunction(e.old)&&e.old.call(this),e.queue&&r.dequeue(this,e.queue)},e},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(ba).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=gb(this,r.extend({},a),f);(e||V.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=V.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&_a.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=V.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(cb(b,!0),a,d,e)}}),r.each({slideDown:cb("show"),slideUp:cb("hide"),slideToggle:cb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(Ya=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),Ya=void 0},r.fx.timer=function(a){r.timers.push(a),a()?r.fx.start():r.timers.pop()},r.fx.interval=13,r.fx.start=function(){Za||(Za=a.requestAnimationFrame?a.requestAnimationFrame(ab):a.setInterval(r.fx.tick,r.fx.interval))},r.fx.stop=function(){a.cancelAnimationFrame?a.cancelAnimationFrame(Za):a.clearInterval(Za),Za=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var hb,ib=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return S(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?hb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K);-if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),hb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ib[b]||r.find.attr;ib[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=ib[g],ib[g]=e,e=null!=c(a,b,d)?g:null,ib[g]=f),e}});var jb=/^(?:input|select|textarea|button)$/i,kb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):jb.test(a.nodeName)||kb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});var lb=/[\t\r\n\f]/g;function mb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,mb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(" "+e+" ").replace(lb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=r.trim(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,mb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(" "+e+" ").replace(lb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=r.trim(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,mb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=mb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(c)+" ").replace(lb," ").indexOf(b)>-1)return!0;return!1}});var nb=/\r/g,ob=/[\x20\t\r\n\f]+/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":r.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(nb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:r.trim(r.text(a)).replace(ob," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type,g=f?null:[],h=f?e+1:d.length,i=e<0?h:f?e:0;i<h;i++)if(c=d[i],(c.selected||i===e)&&!c.disabled&&(!c.parentNode.disabled||!r.nodeName(c.parentNode,"optgroup"))){if(b=r(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(r.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,pb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)xb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ha.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Kb(a,b,c,d){var e={},f=a===Gb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Lb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Mb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Nb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Bb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Kb(Fb,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,""),n=(sb.test(f)?"&":"?")+"_="+rb++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Hb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Kb(Gb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Mb(o,y,d)),v=Nb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;if(o.cors||Pb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ob[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Qb=[],Rb=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Qb.pop()||r.expando+"_"+rb++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Rb.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Rb.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Rb,"$1"+e):b.jsonp!==!1&&(b.url+=(sb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Qb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=B.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=oa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=r.trim(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length};function Sb(a){return r.isWindow(a)?a:9===a.nodeType&&a.defaultView}r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),d.width||d.height?(e=f.ownerDocument,c=Sb(e),b=e.documentElement,{top:d.top+c.pageYOffset-b.clientTop,left:d.left+c.pageXOffset-b.clientLeft}):d):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),r.nodeName(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||pa})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return S(this,function(a,d,e){var f=Sb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Na(o.pixelPosition,function(a,c){if(c)return c=Ma(a,b),Ka.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return S(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.parseJSON=JSON.parse,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Tb=a.jQuery,Ub=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Ub),b&&a.jQuery===r&&(a.jQuery=Tb),r},b||(a.jQuery=a.$=r),r});
@@ -1,4 +0,0 @@-/* Modernizr 2.6.2 (Custom Build) | MIT & BSD- * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load- */-;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a){var e=a[d];if(!G(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function K(){e.input=function(c){for(var d=0,e=c.length;d<e;d++)u[c[d]]=c[d]in k;return u.list&&(u.list=!!b.createElement("datalist")&&!!a.HTMLDataListElement),u}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)k.setAttribute("type",f=a[d]),e=k.type!=="text",e&&(k.value=l,k.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&k.style.WebkitAppearance!==c?(g.appendChild(k),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(k,null).WebkitAppearance!=="textfield"&&k.offsetHeight!==0,g.removeChild(k)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=k.checkValidity&&k.checkValidity()===!1:e=k.value!=l)),t[a[d]]=!!e;return t}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k=b.createElement("input"),l=":)",m={}.toString,n=" -webkit- -moz- -o- -ms- ".split(" "),o="Webkit Moz O ms",p=o.split(" "),q=o.toLowerCase().split(" "),r={svg:"http://www.w3.org/2000/svg"},s={},t={},u={},v=[],w=v.slice,x,y=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["­",'<style id="s',h,'">',a,"</style>"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return J("flexWrap")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="<svg/>",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var L in s)C(s,L)&&(x=L.toLowerCase(),e[x]=s[L](),v.push((e[x]?"":"no-")+x));return e.input||K(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},D(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return d}function p(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return r.shivMethods?n(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+l().join().replace(/\w+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(r,b.frag)}function q(a){a||(a=b);var c=m(a);return r.shivCSS&&!f&&!c.hasCSS&&(c.hasCSS=!!k(a,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),j||p(a,c),a}var c=a.html5||{},d=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,e=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,f,g="_html5shiv",h=0,i={},j;(function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,null==b.readyState&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
@@ -1,169 +0,0 @@-require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({"sphinx-rtd-theme":[function(require,module,exports){-var jQuery = (typeof(window) != 'undefined') ? window.jQuery : require('jquery');--// Sphinx theme nav state-function ThemeNav () {-- var nav = {- navBar: null,- win: null,- winScroll: false,- winResize: false,- linkScroll: false,- winPosition: 0,- winHeight: null,- docHeight: null,- isRunning: false- };-- nav.enable = function () {- var self = this;-- if (!self.isRunning) {- self.isRunning = true;- jQuery(function ($) {- self.init($);-- self.reset();- self.win.on('hashchange', self.reset);-- // Set scroll monitor- self.win.on('scroll', function () {- if (!self.linkScroll) {- self.winScroll = true;- }- });- setInterval(function () { if (self.winScroll) self.onScroll(); }, 25);-- // Set resize monitor- self.win.on('resize', function () {- self.winResize = true;- });- setInterval(function () { if (self.winResize) self.onResize(); }, 25);- self.onResize();- });- };- };-- nav.init = function ($) {- var doc = $(document),- self = this;-- this.navBar = $('div.wy-side-scroll:first');- this.win = $(window);-- // Set up javascript UX bits- $(document)- // Shift nav in mobile when clicking the menu.- .on('click', "[data-toggle='wy-nav-top']", function() {- $("[data-toggle='wy-nav-shift']").toggleClass("shift");- $("[data-toggle='rst-versions']").toggleClass("shift");- })-- // Nav menu link click operations- .on('click', ".wy-menu-vertical .current ul li a", function() {- var target = $(this);- // Close menu when you click a link.- $("[data-toggle='wy-nav-shift']").removeClass("shift");- $("[data-toggle='rst-versions']").toggleClass("shift");- // Handle dynamic display of l3 and l4 nav lists- self.toggleCurrent(target);- self.hashChange();- })- .on('click', "[data-toggle='rst-current-version']", function() {- $("[data-toggle='rst-versions']").toggleClass("shift-up");- })-- // Make tables responsive- $("table.docutils:not(.field-list)")- .wrap("<div class='wy-table-responsive'></div>");-- // Add expand links to all parents of nested ul- $('.wy-menu-vertical ul').not('.simple').siblings('a').each(function () {- var link = $(this);- expand = $('<span class="toctree-expand"></span>');- expand.on('click', function (ev) {- self.toggleCurrent(link);- ev.stopPropagation();- return false;- });- link.prepend(expand);- });- };-- nav.reset = function () {- // Get anchor from URL and open up nested nav- var anchor = encodeURI(window.location.hash);- if (anchor) {- try {- var link = $('.wy-menu-vertical')- .find('[href="' + anchor + '"]');- // If we didn't find a link, it may be because we clicked on- // something that is not in the sidebar (eg: when using- // sphinxcontrib.httpdomain it generates headerlinks but those- // aren't picked up and placed in the toctree). So let's find- // the closest header in the document and try with that one.- if (link.length === 0) {- var doc_link = $('.document a[href="' + anchor + '"]');- var closest_section = doc_link.closest('div.section');- // Try again with the closest section entry.- link = $('.wy-menu-vertical')- .find('[href="#' + closest_section.attr("id") + '"]');-- }- $('.wy-menu-vertical li.toctree-l1 li.current')- .removeClass('current');- link.closest('li.toctree-l2').addClass('current');- link.closest('li.toctree-l3').addClass('current');- link.closest('li.toctree-l4').addClass('current');- }- catch (err) {- console.log("Error expanding nav for anchor", err);- }- }- };-- nav.onScroll = function () {- this.winScroll = false;- var newWinPosition = this.win.scrollTop(),- winBottom = newWinPosition + this.winHeight,- navPosition = this.navBar.scrollTop(),- newNavPosition = navPosition + (newWinPosition - this.winPosition);- if (newWinPosition < 0 || winBottom > this.docHeight) {- return;- }- this.navBar.scrollTop(newNavPosition);- this.winPosition = newWinPosition;- };-- nav.onResize = function () {- this.winResize = false;- this.winHeight = this.win.height();- this.docHeight = $(document).height();- };-- nav.hashChange = function () {- this.linkScroll = true;- this.win.one('hashchange', function () {- this.linkScroll = false;- });- };-- nav.toggleCurrent = function (elem) {- var parent_li = elem.closest('li');- parent_li.siblings('li.current').removeClass('current');- parent_li.siblings().find('li.current').removeClass('current');- parent_li.find('> ul li.current').removeClass('current');- parent_li.toggleClass('current');- }-- return nav;-};--module.exports.ThemeNav = ThemeNav();--if (typeof(window) != 'undefined') {- window.SphinxRtdTheme = { StickyNav: module.exports.ThemeNav };-}--},{"jquery":"jquery"}]},{},["sphinx-rtd-theme"]);
binary file changed (90 → absent bytes)
binary file changed (90 → absent bytes)
@@ -1,2 +0,0 @@-.highlight .hll { background-color: #ffffcc }-.highlight { background: #ffffff; }
@@ -1,758 +0,0 @@-/*- * searchtools.js_t- * ~~~~~~~~~~~~~~~~- *- * Sphinx JavaScript utilities for the full-text search.- *- * :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS.- * :license: BSD, see LICENSE for details.- *- */---/* Non-minified version JS is _stemmer.js if file is provided */ -/**- * Porter Stemmer- */-var Stemmer = function() {-- var step2list = {- ational: 'ate',- tional: 'tion',- enci: 'ence',- anci: 'ance',- izer: 'ize',- bli: 'ble',- alli: 'al',- entli: 'ent',- eli: 'e',- ousli: 'ous',- ization: 'ize',- ation: 'ate',- ator: 'ate',- alism: 'al',- iveness: 'ive',- fulness: 'ful',- ousness: 'ous',- aliti: 'al',- iviti: 'ive',- biliti: 'ble',- logi: 'log'- };-- var step3list = {- icate: 'ic',- ative: '',- alize: 'al',- iciti: 'ic',- ical: 'ic',- ful: '',- ness: ''- };-- var c = "[^aeiou]"; // consonant- var v = "[aeiouy]"; // vowel- var C = c + "[^aeiouy]*"; // consonant sequence- var V = v + "[aeiou]*"; // vowel sequence-- var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0- var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1- var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1- var s_v = "^(" + C + ")?" + v; // vowel in stem-- this.stemWord = function (w) {- var stem;- var suffix;- var firstch;- var origword = w;-- if (w.length < 3)- return w;-- var re;- var re2;- var re3;- var re4;-- firstch = w.substr(0,1);- if (firstch == "y")- w = firstch.toUpperCase() + w.substr(1);-- // Step 1a- re = /^(.+?)(ss|i)es$/;- re2 = /^(.+?)([^s])s$/;-- if (re.test(w))- w = w.replace(re,"$1$2");- else if (re2.test(w))- w = w.replace(re2,"$1$2");-- // Step 1b- re = /^(.+?)eed$/;- re2 = /^(.+?)(ed|ing)$/;- if (re.test(w)) {- var fp = re.exec(w);- re = new RegExp(mgr0);- if (re.test(fp[1])) {- re = /.$/;- w = w.replace(re,"");- }- }- else if (re2.test(w)) {- var fp = re2.exec(w);- stem = fp[1];- re2 = new RegExp(s_v);- if (re2.test(stem)) {- w = stem;- re2 = /(at|bl|iz)$/;- re3 = new RegExp("([^aeiouylsz])\\1$");- re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");- if (re2.test(w))- w = w + "e";- else if (re3.test(w)) {- re = /.$/;- w = w.replace(re,"");- }- else if (re4.test(w))- w = w + "e";- }- }-- // Step 1c- re = /^(.+?)y$/;- if (re.test(w)) {- var fp = re.exec(w);- stem = fp[1];- re = new RegExp(s_v);- if (re.test(stem))- w = stem + "i";- }-- // Step 2- re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;- if (re.test(w)) {- var fp = re.exec(w);- stem = fp[1];- suffix = fp[2];- re = new RegExp(mgr0);- if (re.test(stem))- w = stem + step2list[suffix];- }-- // Step 3- re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;- if (re.test(w)) {- var fp = re.exec(w);- stem = fp[1];- suffix = fp[2];- re = new RegExp(mgr0);- if (re.test(stem))- w = stem + step3list[suffix];- }-- // Step 4- re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;- re2 = /^(.+?)(s|t)(ion)$/;- if (re.test(w)) {- var fp = re.exec(w);- stem = fp[1];- re = new RegExp(mgr1);- if (re.test(stem))- w = stem;- }- else if (re2.test(w)) {- var fp = re2.exec(w);- stem = fp[1] + fp[2];- re2 = new RegExp(mgr1);- if (re2.test(stem))- w = stem;- }-- // Step 5- re = /^(.+?)e$/;- if (re.test(w)) {- var fp = re.exec(w);- stem = fp[1];- re = new RegExp(mgr1);- re2 = new RegExp(meq1);- re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");- if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))- w = stem;- }- re = /ll$/;- re2 = new RegExp(mgr1);- if (re.test(w) && re2.test(w)) {- re = /.$/;- w = w.replace(re,"");- }-- // and turn initial Y back to y- if (firstch == "y")- w = firstch.toLowerCase() + w.substr(1);- return w;- }-}----/**- * Simple result scoring code.- */-var Scorer = {- // Implement the following function to further tweak the score for each result- // The function takes a result array [filename, title, anchor, descr, score]- // and returns the new score.- /*- score: function(result) {- return result[4];- },- */-- // query matches the full name of an object- objNameMatch: 11,- // or matches in the last dotted part of the object name- objPartialMatch: 6,- // Additive scores depending on the priority of the object- objPrio: {0: 15, // used to be importantResults- 1: 5, // used to be objectResults- 2: -5}, // used to be unimportantResults- // Used when the priority is not in the mapping.- objPrioDefault: 0,-- // query found in title- title: 15,- // query found in terms- term: 5-};------var splitChars = (function() {- var result = {};- var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648,- 1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702,- 2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971,- 2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345,- 3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761,- 3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823,- 4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125,- 8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695,- 11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587,- 43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141];- var i, j, start, end;- for (i = 0; i < singles.length; i++) {- result[singles[i]] = true;- }- var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709],- [722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161],- [1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568],- [1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807],- [1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047],- [2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383],- [2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450],- [2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547],- [2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673],- [2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820],- [2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946],- [2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023],- [3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173],- [3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332],- [3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481],- [3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718],- [3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791],- [3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095],- [4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205],- [4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687],- [4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968],- [4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869],- [5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102],- [6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271],- [6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592],- [6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822],- [6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167],- [7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959],- [7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143],- [8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318],- [8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483],- [8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101],- [10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567],- [11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292],- [12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444],- [12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783],- [12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311],- [19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511],- [42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774],- [42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071],- [43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263],- [43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519],- [43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647],- [43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967],- [44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295],- [57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274],- [64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007],- [65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381],- [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]];- for (i = 0; i < ranges.length; i++) {- start = ranges[i][0];- end = ranges[i][1];- for (j = start; j <= end; j++) {- result[j] = true;- }- }- return result;-})();--function splitQuery(query) {- var result = [];- var start = -1;- for (var i = 0; i < query.length; i++) {- if (splitChars[query.charCodeAt(i)]) {- if (start !== -1) {- result.push(query.slice(start, i));- start = -1;- }- } else if (start === -1) {- start = i;- }- }- if (start !== -1) {- result.push(query.slice(start));- }- return result;-}-----/**- * Search Module- */-var Search = {-- _index : null,- _queued_query : null,- _pulse_status : -1,-- init : function() {- var params = $.getQueryParameters();- if (params.q) {- var query = params.q[0];- $('input[name="q"]')[0].value = query;- this.performSearch(query);- }- },-- loadIndex : function(url) {- $.ajax({type: "GET", url: url, data: null,- dataType: "script", cache: true,- complete: function(jqxhr, textstatus) {- if (textstatus != "success") {- document.getElementById("searchindexloader").src = url;- }- }});- },-- setIndex : function(index) {- var q;- this._index = index;- if ((q = this._queued_query) !== null) {- this._queued_query = null;- Search.query(q);- }- },-- hasIndex : function() {- return this._index !== null;- },-- deferQuery : function(query) {- this._queued_query = query;- },-- stopPulse : function() {- this._pulse_status = 0;- },-- startPulse : function() {- if (this._pulse_status >= 0)- return;- function pulse() {- var i;- Search._pulse_status = (Search._pulse_status + 1) % 4;- var dotString = '';- for (i = 0; i < Search._pulse_status; i++)- dotString += '.';- Search.dots.text(dotString);- if (Search._pulse_status > -1)- window.setTimeout(pulse, 500);- }- pulse();- },-- /**- * perform a search for something (or wait until index is loaded)- */- performSearch : function(query) {- // create the required interface elements- this.out = $('#search-results');- this.title = $('<h2>' + _('Searching') + '</h2>').appendTo(this.out);- this.dots = $('<span></span>').appendTo(this.title);- this.status = $('<p style="display: none"></p>').appendTo(this.out);- this.output = $('<ul class="search"/>').appendTo(this.out);-- $('#search-progress').text(_('Preparing search...'));- this.startPulse();-- // index already loaded, the browser was quick!- if (this.hasIndex())- this.query(query);- else- this.deferQuery(query);- },-- /**- * execute search (requires search index to be loaded)- */- query : function(query) {- var i;- var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"];-- // stem the searchterms and add them to the correct list- var stemmer = new Stemmer();- var searchterms = [];- var excluded = [];- var hlterms = [];- var tmp = splitQuery(query);- var objectterms = [];- for (i = 0; i < tmp.length; i++) {- if (tmp[i] !== "") {- objectterms.push(tmp[i].toLowerCase());- }-- if ($u.indexOf(stopwords, tmp[i].toLowerCase()) != -1 || tmp[i].match(/^\d+$/) ||- tmp[i] === "") {- // skip this "word"- continue;- }- // stem the word- var word = stemmer.stemWord(tmp[i].toLowerCase());- // prevent stemmer from cutting word smaller than two chars- if(word.length < 3 && tmp[i].length >= 3) {- word = tmp[i];- }- var toAppend;- // select the correct list- if (word[0] == '-') {- toAppend = excluded;- word = word.substr(1);- }- else {- toAppend = searchterms;- hlterms.push(tmp[i].toLowerCase());- }- // only add if not already in the list- if (!$u.contains(toAppend, word))- toAppend.push(word);- }- var highlightstring = '?highlight=' + $.urlencode(hlterms.join(" "));-- // console.debug('SEARCH: searching for:');- // console.info('required: ', searchterms);- // console.info('excluded: ', excluded);-- // prepare search- var terms = this._index.terms;- var titleterms = this._index.titleterms;-- // array of [filename, title, anchor, descr, score]- var results = [];- $('#search-progress').empty();-- // lookup as object- for (i = 0; i < objectterms.length; i++) {- var others = [].concat(objectterms.slice(0, i),- objectterms.slice(i+1, objectterms.length));- results = results.concat(this.performObjectSearch(objectterms[i], others));- }-- // lookup as search terms in fulltext- results = results.concat(this.performTermsSearch(searchterms, excluded, terms, titleterms));-- // let the scorer override scores with a custom scoring function- if (Scorer.score) {- for (i = 0; i < results.length; i++)- results[i][4] = Scorer.score(results[i]);- }-- // now sort the results by score (in opposite order of appearance, since the- // display function below uses pop() to retrieve items) and then- // alphabetically- results.sort(function(a, b) {- var left = a[4];- var right = b[4];- if (left > right) {- return 1;- } else if (left < right) {- return -1;- } else {- // same score: sort alphabetically- left = a[1].toLowerCase();- right = b[1].toLowerCase();- return (left > right) ? -1 : ((left < right) ? 1 : 0);- }- });-- // for debugging- //Search.lastresults = results.slice(); // a copy- //console.info('search results:', Search.lastresults);-- // print the results- var resultCount = results.length;- function displayNextItem() {- // results left, load the summary and display it- if (results.length) {- var item = results.pop();- var listItem = $('<li style="display:none"></li>');- if (DOCUMENTATION_OPTIONS.FILE_SUFFIX === '') {- // dirhtml builder- var dirname = item[0] + '/';- if (dirname.match(/\/index\/$/)) {- dirname = dirname.substring(0, dirname.length-6);- } else if (dirname == 'index/') {- dirname = '';- }- listItem.append($('<a/>').attr('href',- DOCUMENTATION_OPTIONS.URL_ROOT + dirname +- highlightstring + item[2]).html(item[1]));- } else {- // normal html builders- listItem.append($('<a/>').attr('href',- item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX +- highlightstring + item[2]).html(item[1]));- }- if (item[3]) {- listItem.append($('<span> (' + item[3] + ')</span>'));- Search.output.append(listItem);- listItem.slideDown(5, function() {- displayNextItem();- });- } else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {- var suffix = DOCUMENTATION_OPTIONS.SOURCELINK_SUFFIX;- $.ajax({url: DOCUMENTATION_OPTIONS.URL_ROOT + '_sources/' + item[5] + (item[5].slice(-suffix.length) === suffix ? '' : suffix),- dataType: "text",- complete: function(jqxhr, textstatus) {- var data = jqxhr.responseText;- if (data !== '' && data !== undefined) {- listItem.append(Search.makeSearchSummary(data, searchterms, hlterms));- }- Search.output.append(listItem);- listItem.slideDown(5, function() {- displayNextItem();- });- }});- } else {- // no source available, just display title- Search.output.append(listItem);- listItem.slideDown(5, function() {- displayNextItem();- });- }- }- // search finished, update title and status message- else {- Search.stopPulse();- Search.title.text(_('Search Results'));- if (!resultCount)- Search.status.text(_('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.'));- else- Search.status.text(_('Search finished, found %s page(s) matching the search query.').replace('%s', resultCount));- Search.status.fadeIn(500);- }- }- displayNextItem();- },-- /**- * search for object names- */- performObjectSearch : function(object, otherterms) {- var filenames = this._index.filenames;- var docnames = this._index.docnames;- var objects = this._index.objects;- var objnames = this._index.objnames;- var titles = this._index.titles;-- var i;- var results = [];-- for (var prefix in objects) {- for (var name in objects[prefix]) {- var fullname = (prefix ? prefix + '.' : '') + name;- if (fullname.toLowerCase().indexOf(object) > -1) {- var score = 0;- var parts = fullname.split('.');- // check for different match types: exact matches of full name or- // "last name" (i.e. last dotted part)- if (fullname == object || parts[parts.length - 1] == object) {- score += Scorer.objNameMatch;- // matches in last name- } else if (parts[parts.length - 1].indexOf(object) > -1) {- score += Scorer.objPartialMatch;- }- var match = objects[prefix][name];- var objname = objnames[match[1]][2];- var title = titles[match[0]];- // If more than one term searched for, we require other words to be- // found in the name/title/description- if (otherterms.length > 0) {- var haystack = (prefix + ' ' + name + ' ' +- objname + ' ' + title).toLowerCase();- var allfound = true;- for (i = 0; i < otherterms.length; i++) {- if (haystack.indexOf(otherterms[i]) == -1) {- allfound = false;- break;- }- }- if (!allfound) {- continue;- }- }- var descr = objname + _(', in ') + title;-- var anchor = match[3];- if (anchor === '')- anchor = fullname;- else if (anchor == '-')- anchor = objnames[match[1]][1] + '-' + fullname;- // add custom score for some objects according to scorer- if (Scorer.objPrio.hasOwnProperty(match[2])) {- score += Scorer.objPrio[match[2]];- } else {- score += Scorer.objPrioDefault;- }- results.push([docnames[match[0]], fullname, '#'+anchor, descr, score, filenames[match[0]]]);- }- }- }-- return results;- },-- /**- * search for full-text terms in the index- */- performTermsSearch : function(searchterms, excluded, terms, titleterms) {- var docnames = this._index.docnames;- var filenames = this._index.filenames;- var titles = this._index.titles;-- var i, j, file;- var fileMap = {};- var scoreMap = {};- var results = [];-- // perform the search on the required terms- for (i = 0; i < searchterms.length; i++) {- var word = searchterms[i];- var files = [];- var _o = [- {files: terms[word], score: Scorer.term},- {files: titleterms[word], score: Scorer.title}- ];-- // no match but word was a required one- if ($u.every(_o, function(o){return o.files === undefined;})) {- break;- }- // found search word in contents- $u.each(_o, function(o) {- var _files = o.files;- if (_files === undefined)- return-- if (_files.length === undefined)- _files = [_files];- files = files.concat(_files);-- // set score for the word in each file to Scorer.term- for (j = 0; j < _files.length; j++) {- file = _files[j];- if (!(file in scoreMap))- scoreMap[file] = {}- scoreMap[file][word] = o.score;- }- });-- // create the mapping- for (j = 0; j < files.length; j++) {- file = files[j];- if (file in fileMap)- fileMap[file].push(word);- else- fileMap[file] = [word];- }- }-- // now check if the files don't contain excluded terms- for (file in fileMap) {- var valid = true;-- // check if all requirements are matched- if (fileMap[file].length != searchterms.length)- continue;-- // ensure that none of the excluded terms is in the search result- for (i = 0; i < excluded.length; i++) {- if (terms[excluded[i]] == file ||- titleterms[excluded[i]] == file ||- $u.contains(terms[excluded[i]] || [], file) ||- $u.contains(titleterms[excluded[i]] || [], file)) {- valid = false;- break;- }- }-- // if we have still a valid result we can add it to the result list- if (valid) {- // select one (max) score for the file.- // for better ranking, we should calculate ranking by using words statistics like basic tf-idf...- var score = $u.max($u.map(fileMap[file], function(w){return scoreMap[file][w]}));- results.push([docnames[file], titles[file], '', null, score, filenames[file]]);- }- }- return results;- },-- /**- * helper function to return a node containing the- * search summary for a given text. keywords is a list- * of stemmed words, hlwords is the list of normal, unstemmed- * words. the first one is used to find the occurrence, the- * latter for highlighting it.- */- makeSearchSummary : function(text, keywords, hlwords) {- var textLower = text.toLowerCase();- var start = 0;- $.each(keywords, function() {- var i = textLower.indexOf(this.toLowerCase());- if (i > -1)- start = i;- });- start = Math.max(start - 120, 0);- var excerpt = ((start > 0) ? '...' : '') +- $.trim(text.substr(start, 240)) +- ((start + 240 - text.length) ? '...' : '');- var rv = $('<div class="context"></div>').text(excerpt);- $.each(hlwords, function() {- rv = rv.highlightText(this, 'highlighted');- });- return rv;- }-};--$(document).ready(function() {- Search.init();-});
@@ -1,999 +0,0 @@-// Underscore.js 1.3.1-// (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc.-// Underscore is freely distributable under the MIT license.-// Portions of Underscore are inspired or borrowed from Prototype,-// Oliver Steele's Functional, and John Resig's Micro-Templating.-// For all details and documentation:-// http://documentcloud.github.com/underscore--(function() {-- // Baseline setup- // ---------------- // Establish the root object, `window` in the browser, or `global` on the server.- var root = this;-- // Save the previous value of the `_` variable.- var previousUnderscore = root._;-- // Establish the object that gets returned to break out of a loop iteration.- var breaker = {};-- // Save bytes in the minified (but not gzipped) version:- var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;-- // Create quick reference variables for speed access to core prototypes.- var slice = ArrayProto.slice,- unshift = ArrayProto.unshift,- toString = ObjProto.toString,- hasOwnProperty = ObjProto.hasOwnProperty;-- // All **ECMAScript 5** native function implementations that we hope to use- // are declared here.- var- nativeForEach = ArrayProto.forEach,- nativeMap = ArrayProto.map,- nativeReduce = ArrayProto.reduce,- nativeReduceRight = ArrayProto.reduceRight,- nativeFilter = ArrayProto.filter,- nativeEvery = ArrayProto.every,- nativeSome = ArrayProto.some,- nativeIndexOf = ArrayProto.indexOf,- nativeLastIndexOf = ArrayProto.lastIndexOf,- nativeIsArray = Array.isArray,- nativeKeys = Object.keys,- nativeBind = FuncProto.bind;-- // Create a safe reference to the Underscore object for use below.- var _ = function(obj) { return new wrapper(obj); };-- // Export the Underscore object for **Node.js**, with- // backwards-compatibility for the old `require()` API. If we're in- // the browser, add `_` as a global object via a string identifier,- // for Closure Compiler "advanced" mode.- if (typeof exports !== 'undefined') {- if (typeof module !== 'undefined' && module.exports) {- exports = module.exports = _;- }- exports._ = _;- } else {- root['_'] = _;- }-- // Current version.- _.VERSION = '1.3.1';-- // Collection Functions- // ---------------------- // The cornerstone, an `each` implementation, aka `forEach`.- // Handles objects with the built-in `forEach`, arrays, and raw objects.- // Delegates to **ECMAScript 5**'s native `forEach` if available.- var each = _.each = _.forEach = function(obj, iterator, context) {- if (obj == null) return;- if (nativeForEach && obj.forEach === nativeForEach) {- obj.forEach(iterator, context);- } else if (obj.length === +obj.length) {- for (var i = 0, l = obj.length; i < l; i++) {- if (i in obj && iterator.call(context, obj[i], i, obj) === breaker) return;- }- } else {- for (var key in obj) {- if (_.has(obj, key)) {- if (iterator.call(context, obj[key], key, obj) === breaker) return;- }- }- }- };-- // Return the results of applying the iterator to each element.- // Delegates to **ECMAScript 5**'s native `map` if available.- _.map = _.collect = function(obj, iterator, context) {- var results = [];- if (obj == null) return results;- if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context);- each(obj, function(value, index, list) {- results[results.length] = iterator.call(context, value, index, list);- });- if (obj.length === +obj.length) results.length = obj.length;- return results;- };-- // **Reduce** builds up a single result from a list of values, aka `inject`,- // or `foldl`. Delegates to **ECMAScript 5**'s native `reduce` if available.- _.reduce = _.foldl = _.inject = function(obj, iterator, memo, context) {- var initial = arguments.length > 2;- if (obj == null) obj = [];- if (nativeReduce && obj.reduce === nativeReduce) {- if (context) iterator = _.bind(iterator, context);- return initial ? obj.reduce(iterator, memo) : obj.reduce(iterator);- }- each(obj, function(value, index, list) {- if (!initial) {- memo = value;- initial = true;- } else {- memo = iterator.call(context, memo, value, index, list);- }- });- if (!initial) throw new TypeError('Reduce of empty array with no initial value');- return memo;- };-- // The right-associative version of reduce, also known as `foldr`.- // Delegates to **ECMAScript 5**'s native `reduceRight` if available.- _.reduceRight = _.foldr = function(obj, iterator, memo, context) {- var initial = arguments.length > 2;- if (obj == null) obj = [];- if (nativeReduceRight && obj.reduceRight === nativeReduceRight) {- if (context) iterator = _.bind(iterator, context);- return initial ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator);- }- var reversed = _.toArray(obj).reverse();- if (context && !initial) iterator = _.bind(iterator, context);- return initial ? _.reduce(reversed, iterator, memo, context) : _.reduce(reversed, iterator);- };-- // Return the first value which passes a truth test. Aliased as `detect`.- _.find = _.detect = function(obj, iterator, context) {- var result;- any(obj, function(value, index, list) {- if (iterator.call(context, value, index, list)) {- result = value;- return true;- }- });- return result;- };-- // Return all the elements that pass a truth test.- // Delegates to **ECMAScript 5**'s native `filter` if available.- // Aliased as `select`.- _.filter = _.select = function(obj, iterator, context) {- var results = [];- if (obj == null) return results;- if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context);- each(obj, function(value, index, list) {- if (iterator.call(context, value, index, list)) results[results.length] = value;- });- return results;- };-- // Return all the elements for which a truth test fails.- _.reject = function(obj, iterator, context) {- var results = [];- if (obj == null) return results;- each(obj, function(value, index, list) {- if (!iterator.call(context, value, index, list)) results[results.length] = value;- });- return results;- };-- // Determine whether all of the elements match a truth test.- // Delegates to **ECMAScript 5**'s native `every` if available.- // Aliased as `all`.- _.every = _.all = function(obj, iterator, context) {- var result = true;- if (obj == null) return result;- if (nativeEvery && obj.every === nativeEvery) return obj.every(iterator, context);- each(obj, function(value, index, list) {- if (!(result = result && iterator.call(context, value, index, list))) return breaker;- });- return result;- };-- // Determine if at least one element in the object matches a truth test.- // Delegates to **ECMAScript 5**'s native `some` if available.- // Aliased as `any`.- var any = _.some = _.any = function(obj, iterator, context) {- iterator || (iterator = _.identity);- var result = false;- if (obj == null) return result;- if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context);- each(obj, function(value, index, list) {- if (result || (result = iterator.call(context, value, index, list))) return breaker;- });- return !!result;- };-- // Determine if a given value is included in the array or object using `===`.- // Aliased as `contains`.- _.include = _.contains = function(obj, target) {- var found = false;- if (obj == null) return found;- if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1;- found = any(obj, function(value) {- return value === target;- });- return found;- };-- // Invoke a method (with arguments) on every item in a collection.- _.invoke = function(obj, method) {- var args = slice.call(arguments, 2);- return _.map(obj, function(value) {- return (_.isFunction(method) ? method || value : value[method]).apply(value, args);- });- };-- // Convenience version of a common use case of `map`: fetching a property.- _.pluck = function(obj, key) {- return _.map(obj, function(value){ return value[key]; });- };-- // Return the maximum element or (element-based computation).- _.max = function(obj, iterator, context) {- if (!iterator && _.isArray(obj)) return Math.max.apply(Math, obj);- if (!iterator && _.isEmpty(obj)) return -Infinity;- var result = {computed : -Infinity};- each(obj, function(value, index, list) {- var computed = iterator ? iterator.call(context, value, index, list) : value;- computed >= result.computed && (result = {value : value, computed : computed});- });- return result.value;- };-- // Return the minimum element (or element-based computation).- _.min = function(obj, iterator, context) {- if (!iterator && _.isArray(obj)) return Math.min.apply(Math, obj);- if (!iterator && _.isEmpty(obj)) return Infinity;- var result = {computed : Infinity};- each(obj, function(value, index, list) {- var computed = iterator ? iterator.call(context, value, index, list) : value;- computed < result.computed && (result = {value : value, computed : computed});- });- return result.value;- };-- // Shuffle an array.- _.shuffle = function(obj) {- var shuffled = [], rand;- each(obj, function(value, index, list) {- if (index == 0) {- shuffled[0] = value;- } else {- rand = Math.floor(Math.random() * (index + 1));- shuffled[index] = shuffled[rand];- shuffled[rand] = value;- }- });- return shuffled;- };-- // Sort the object's values by a criterion produced by an iterator.- _.sortBy = function(obj, iterator, context) {- return _.pluck(_.map(obj, function(value, index, list) {- return {- value : value,- criteria : iterator.call(context, value, index, list)- };- }).sort(function(left, right) {- var a = left.criteria, b = right.criteria;- return a < b ? -1 : a > b ? 1 : 0;- }), 'value');- };-- // Groups the object's values by a criterion. Pass either a string attribute- // to group by, or a function that returns the criterion.- _.groupBy = function(obj, val) {- var result = {};- var iterator = _.isFunction(val) ? val : function(obj) { return obj[val]; };- each(obj, function(value, index) {- var key = iterator(value, index);- (result[key] || (result[key] = [])).push(value);- });- return result;- };-- // Use a comparator function to figure out at what index an object should- // be inserted so as to maintain order. Uses binary search.- _.sortedIndex = function(array, obj, iterator) {- iterator || (iterator = _.identity);- var low = 0, high = array.length;- while (low < high) {- var mid = (low + high) >> 1;- iterator(array[mid]) < iterator(obj) ? low = mid + 1 : high = mid;- }- return low;- };-- // Safely convert anything iterable into a real, live array.- _.toArray = function(iterable) {- if (!iterable) return [];- if (iterable.toArray) return iterable.toArray();- if (_.isArray(iterable)) return slice.call(iterable);- if (_.isArguments(iterable)) return slice.call(iterable);- return _.values(iterable);- };-- // Return the number of elements in an object.- _.size = function(obj) {- return _.toArray(obj).length;- };-- // Array Functions- // ----------------- // Get the first element of an array. Passing **n** will return the first N- // values in the array. Aliased as `head`. The **guard** check allows it to work- // with `_.map`.- _.first = _.head = function(array, n, guard) {- return (n != null) && !guard ? slice.call(array, 0, n) : array[0];- };-- // Returns everything but the last entry of the array. Especcialy useful on- // the arguments object. Passing **n** will return all the values in- // the array, excluding the last N. The **guard** check allows it to work with- // `_.map`.- _.initial = function(array, n, guard) {- return slice.call(array, 0, array.length - ((n == null) || guard ? 1 : n));- };-- // Get the last element of an array. Passing **n** will return the last N- // values in the array. The **guard** check allows it to work with `_.map`.- _.last = function(array, n, guard) {- if ((n != null) && !guard) {- return slice.call(array, Math.max(array.length - n, 0));- } else {- return array[array.length - 1];- }- };-- // Returns everything but the first entry of the array. Aliased as `tail`.- // Especially useful on the arguments object. Passing an **index** will return- // the rest of the values in the array from that index onward. The **guard**- // check allows it to work with `_.map`.- _.rest = _.tail = function(array, index, guard) {- return slice.call(array, (index == null) || guard ? 1 : index);- };-- // Trim out all falsy values from an array.- _.compact = function(array) {- return _.filter(array, function(value){ return !!value; });- };-- // Return a completely flattened version of an array.- _.flatten = function(array, shallow) {- return _.reduce(array, function(memo, value) {- if (_.isArray(value)) return memo.concat(shallow ? value : _.flatten(value));- memo[memo.length] = value;- return memo;- }, []);- };-- // Return a version of the array that does not contain the specified value(s).- _.without = function(array) {- return _.difference(array, slice.call(arguments, 1));- };-- // Produce a duplicate-free version of the array. If the array has already- // been sorted, you have the option of using a faster algorithm.- // Aliased as `unique`.- _.uniq = _.unique = function(array, isSorted, iterator) {- var initial = iterator ? _.map(array, iterator) : array;- var result = [];- _.reduce(initial, function(memo, el, i) {- if (0 == i || (isSorted === true ? _.last(memo) != el : !_.include(memo, el))) {- memo[memo.length] = el;- result[result.length] = array[i];- }- return memo;- }, []);- return result;- };-- // Produce an array that contains the union: each distinct element from all of- // the passed-in arrays.- _.union = function() {- return _.uniq(_.flatten(arguments, true));- };-- // Produce an array that contains every item shared between all the- // passed-in arrays. (Aliased as "intersect" for back-compat.)- _.intersection = _.intersect = function(array) {- var rest = slice.call(arguments, 1);- return _.filter(_.uniq(array), function(item) {- return _.every(rest, function(other) {- return _.indexOf(other, item) >= 0;- });- });- };-- // Take the difference between one array and a number of other arrays.- // Only the elements present in just the first array will remain.- _.difference = function(array) {- var rest = _.flatten(slice.call(arguments, 1));- return _.filter(array, function(value){ return !_.include(rest, value); });- };-- // Zip together multiple lists into a single array -- elements that share- // an index go together.- _.zip = function() {- var args = slice.call(arguments);- var length = _.max(_.pluck(args, 'length'));- var results = new Array(length);- for (var i = 0; i < length; i++) results[i] = _.pluck(args, "" + i);- return results;- };-- // If the browser doesn't supply us with indexOf (I'm looking at you, **MSIE**),- // we need this function. Return the position of the first occurrence of an- // item in an array, or -1 if the item is not included in the array.- // Delegates to **ECMAScript 5**'s native `indexOf` if available.- // If the array is large and already in sort order, pass `true`- // for **isSorted** to use binary search.- _.indexOf = function(array, item, isSorted) {- if (array == null) return -1;- var i, l;- if (isSorted) {- i = _.sortedIndex(array, item);- return array[i] === item ? i : -1;- }- if (nativeIndexOf && array.indexOf === nativeIndexOf) return array.indexOf(item);- for (i = 0, l = array.length; i < l; i++) if (i in array && array[i] === item) return i;- return -1;- };-- // Delegates to **ECMAScript 5**'s native `lastIndexOf` if available.- _.lastIndexOf = function(array, item) {- if (array == null) return -1;- if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) return array.lastIndexOf(item);- var i = array.length;- while (i--) if (i in array && array[i] === item) return i;- return -1;- };-- // Generate an integer Array containing an arithmetic progression. A port of- // the native Python `range()` function. See- // [the Python documentation](http://docs.python.org/library/functions.html#range).- _.range = function(start, stop, step) {- if (arguments.length <= 1) {- stop = start || 0;- start = 0;- }- step = arguments[2] || 1;-- var len = Math.max(Math.ceil((stop - start) / step), 0);- var idx = 0;- var range = new Array(len);-- while(idx < len) {- range[idx++] = start;- start += step;- }-- return range;- };-- // Function (ahem) Functions- // -------------------- // Reusable constructor function for prototype setting.- var ctor = function(){};-- // Create a function bound to a given object (assigning `this`, and arguments,- // optionally). Binding with arguments is also known as `curry`.- // Delegates to **ECMAScript 5**'s native `Function.bind` if available.- // We check for `func.bind` first, to fail fast when `func` is undefined.- _.bind = function bind(func, context) {- var bound, args;- if (func.bind === nativeBind && nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));- if (!_.isFunction(func)) throw new TypeError;- args = slice.call(arguments, 2);- return bound = function() {- if (!(this instanceof bound)) return func.apply(context, args.concat(slice.call(arguments)));- ctor.prototype = func.prototype;- var self = new ctor;- var result = func.apply(self, args.concat(slice.call(arguments)));- if (Object(result) === result) return result;- return self;- };- };-- // Bind all of an object's methods to that object. Useful for ensuring that- // all callbacks defined on an object belong to it.- _.bindAll = function(obj) {- var funcs = slice.call(arguments, 1);- if (funcs.length == 0) funcs = _.functions(obj);- each(funcs, function(f) { obj[f] = _.bind(obj[f], obj); });- return obj;- };-- // Memoize an expensive function by storing its results.- _.memoize = function(func, hasher) {- var memo = {};- hasher || (hasher = _.identity);- return function() {- var key = hasher.apply(this, arguments);- return _.has(memo, key) ? memo[key] : (memo[key] = func.apply(this, arguments));- };- };-- // Delays a function for the given number of milliseconds, and then calls- // it with the arguments supplied.- _.delay = function(func, wait) {- var args = slice.call(arguments, 2);- return setTimeout(function(){ return func.apply(func, args); }, wait);- };-- // Defers a function, scheduling it to run after the current call stack has- // cleared.- _.defer = function(func) {- return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1)));- };-- // Returns a function, that, when invoked, will only be triggered at most once- // during a given window of time.- _.throttle = function(func, wait) {- var context, args, timeout, throttling, more;- var whenDone = _.debounce(function(){ more = throttling = false; }, wait);- return function() {- context = this; args = arguments;- var later = function() {- timeout = null;- if (more) func.apply(context, args);- whenDone();- };- if (!timeout) timeout = setTimeout(later, wait);- if (throttling) {- more = true;- } else {- func.apply(context, args);- }- whenDone();- throttling = true;- };- };-- // Returns a function, that, as long as it continues to be invoked, will not- // be triggered. The function will be called after it stops being called for- // N milliseconds.- _.debounce = function(func, wait) {- var timeout;- return function() {- var context = this, args = arguments;- var later = function() {- timeout = null;- func.apply(context, args);- };- clearTimeout(timeout);- timeout = setTimeout(later, wait);- };- };-- // Returns a function that will be executed at most one time, no matter how- // often you call it. Useful for lazy initialization.- _.once = function(func) {- var ran = false, memo;- return function() {- if (ran) return memo;- ran = true;- return memo = func.apply(this, arguments);- };- };-- // Returns the first function passed as an argument to the second,- // allowing you to adjust arguments, run code before and after, and- // conditionally execute the original function.- _.wrap = function(func, wrapper) {- return function() {- var args = [func].concat(slice.call(arguments, 0));- return wrapper.apply(this, args);- };- };-- // Returns a function that is the composition of a list of functions, each- // consuming the return value of the function that follows.- _.compose = function() {- var funcs = arguments;- return function() {- var args = arguments;- for (var i = funcs.length - 1; i >= 0; i--) {- args = [funcs[i].apply(this, args)];- }- return args[0];- };- };-- // Returns a function that will only be executed after being called N times.- _.after = function(times, func) {- if (times <= 0) return func();- return function() {- if (--times < 1) { return func.apply(this, arguments); }- };- };-- // Object Functions- // ------------------ // Retrieve the names of an object's properties.- // Delegates to **ECMAScript 5**'s native `Object.keys`- _.keys = nativeKeys || function(obj) {- if (obj !== Object(obj)) throw new TypeError('Invalid object');- var keys = [];- for (var key in obj) if (_.has(obj, key)) keys[keys.length] = key;- return keys;- };-- // Retrieve the values of an object's properties.- _.values = function(obj) {- return _.map(obj, _.identity);- };-- // Return a sorted list of the function names available on the object.- // Aliased as `methods`- _.functions = _.methods = function(obj) {- var names = [];- for (var key in obj) {- if (_.isFunction(obj[key])) names.push(key);- }- return names.sort();- };-- // Extend a given object with all the properties in passed-in object(s).- _.extend = function(obj) {- each(slice.call(arguments, 1), function(source) {- for (var prop in source) {- obj[prop] = source[prop];- }- });- return obj;- };-- // Fill in a given object with default properties.- _.defaults = function(obj) {- each(slice.call(arguments, 1), function(source) {- for (var prop in source) {- if (obj[prop] == null) obj[prop] = source[prop];- }- });- return obj;- };-- // Create a (shallow-cloned) duplicate of an object.- _.clone = function(obj) {- if (!_.isObject(obj)) return obj;- return _.isArray(obj) ? obj.slice() : _.extend({}, obj);- };-- // Invokes interceptor with the obj, and then returns obj.- // The primary purpose of this method is to "tap into" a method chain, in- // order to perform operations on intermediate results within the chain.- _.tap = function(obj, interceptor) {- interceptor(obj);- return obj;- };-- // Internal recursive comparison function.- function eq(a, b, stack) {- // Identical objects are equal. `0 === -0`, but they aren't identical.- // See the Harmony `egal` proposal: http://wiki.ecmascript.org/doku.php?id=harmony:egal.- if (a === b) return a !== 0 || 1 / a == 1 / b;- // A strict comparison is necessary because `null == undefined`.- if (a == null || b == null) return a === b;- // Unwrap any wrapped objects.- if (a._chain) a = a._wrapped;- if (b._chain) b = b._wrapped;- // Invoke a custom `isEqual` method if one is provided.- if (a.isEqual && _.isFunction(a.isEqual)) return a.isEqual(b);- if (b.isEqual && _.isFunction(b.isEqual)) return b.isEqual(a);- // Compare `[[Class]]` names.- var className = toString.call(a);- if (className != toString.call(b)) return false;- switch (className) {- // Strings, numbers, dates, and booleans are compared by value.- case '[object String]':- // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is- // equivalent to `new String("5")`.- return a == String(b);- case '[object Number]':- // `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for- // other numeric values.- return a != +a ? b != +b : (a == 0 ? 1 / a == 1 / b : a == +b);- case '[object Date]':- case '[object Boolean]':- // Coerce dates and booleans to numeric primitive values. Dates are compared by their- // millisecond representations. Note that invalid dates with millisecond representations- // of `NaN` are not equivalent.- return +a == +b;- // RegExps are compared by their source patterns and flags.- case '[object RegExp]':- return a.source == b.source &&- a.global == b.global &&- a.multiline == b.multiline &&- a.ignoreCase == b.ignoreCase;- }- if (typeof a != 'object' || typeof b != 'object') return false;- // Assume equality for cyclic structures. The algorithm for detecting cyclic- // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.- var length = stack.length;- while (length--) {- // Linear search. Performance is inversely proportional to the number of- // unique nested structures.- if (stack[length] == a) return true;- }- // Add the first object to the stack of traversed objects.- stack.push(a);- var size = 0, result = true;- // Recursively compare objects and arrays.- if (className == '[object Array]') {- // Compare array lengths to determine if a deep comparison is necessary.- size = a.length;- result = size == b.length;- if (result) {- // Deep compare the contents, ignoring non-numeric properties.- while (size--) {- // Ensure commutative equality for sparse arrays.- if (!(result = size in a == size in b && eq(a[size], b[size], stack))) break;- }- }- } else {- // Objects with different constructors are not equivalent.- if ('constructor' in a != 'constructor' in b || a.constructor != b.constructor) return false;- // Deep compare objects.- for (var key in a) {- if (_.has(a, key)) {- // Count the expected number of properties.- size++;- // Deep compare each member.- if (!(result = _.has(b, key) && eq(a[key], b[key], stack))) break;- }- }- // Ensure that both objects contain the same number of properties.- if (result) {- for (key in b) {- if (_.has(b, key) && !(size--)) break;- }- result = !size;- }- }- // Remove the first object from the stack of traversed objects.- stack.pop();- return result;- }-- // Perform a deep comparison to check if two objects are equal.- _.isEqual = function(a, b) {- return eq(a, b, []);- };-- // Is a given array, string, or object empty?- // An "empty" object has no enumerable own-properties.- _.isEmpty = function(obj) {- if (_.isArray(obj) || _.isString(obj)) return obj.length === 0;- for (var key in obj) if (_.has(obj, key)) return false;- return true;- };-- // Is a given value a DOM element?- _.isElement = function(obj) {- return !!(obj && obj.nodeType == 1);- };-- // Is a given value an array?- // Delegates to ECMA5's native Array.isArray- _.isArray = nativeIsArray || function(obj) {- return toString.call(obj) == '[object Array]';- };-- // Is a given variable an object?- _.isObject = function(obj) {- return obj === Object(obj);- };-- // Is a given variable an arguments object?- _.isArguments = function(obj) {- return toString.call(obj) == '[object Arguments]';- };- if (!_.isArguments(arguments)) {- _.isArguments = function(obj) {- return !!(obj && _.has(obj, 'callee'));- };- }-- // Is a given value a function?- _.isFunction = function(obj) {- return toString.call(obj) == '[object Function]';- };-- // Is a given value a string?- _.isString = function(obj) {- return toString.call(obj) == '[object String]';- };-- // Is a given value a number?- _.isNumber = function(obj) {- return toString.call(obj) == '[object Number]';- };-- // Is the given value `NaN`?- _.isNaN = function(obj) {- // `NaN` is the only value for which `===` is not reflexive.- return obj !== obj;- };-- // Is a given value a boolean?- _.isBoolean = function(obj) {- return obj === true || obj === false || toString.call(obj) == '[object Boolean]';- };-- // Is a given value a date?- _.isDate = function(obj) {- return toString.call(obj) == '[object Date]';- };-- // Is the given value a regular expression?- _.isRegExp = function(obj) {- return toString.call(obj) == '[object RegExp]';- };-- // Is a given value equal to null?- _.isNull = function(obj) {- return obj === null;- };-- // Is a given variable undefined?- _.isUndefined = function(obj) {- return obj === void 0;- };-- // Has own property?- _.has = function(obj, key) {- return hasOwnProperty.call(obj, key);- };-- // Utility Functions- // ------------------- // Run Underscore.js in *noConflict* mode, returning the `_` variable to its- // previous owner. Returns a reference to the Underscore object.- _.noConflict = function() {- root._ = previousUnderscore;- return this;- };-- // Keep the identity function around for default iterators.- _.identity = function(value) {- return value;- };-- // Run a function **n** times.- _.times = function (n, iterator, context) {- for (var i = 0; i < n; i++) iterator.call(context, i);- };-- // Escape a string for HTML interpolation.- _.escape = function(string) {- return (''+string).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/');- };-- // Add your own custom functions to the Underscore object, ensuring that- // they're correctly added to the OOP wrapper as well.- _.mixin = function(obj) {- each(_.functions(obj), function(name){- addToWrapper(name, _[name] = obj[name]);- });- };-- // Generate a unique integer id (unique within the entire client session).- // Useful for temporary DOM ids.- var idCounter = 0;- _.uniqueId = function(prefix) {- var id = idCounter++;- return prefix ? prefix + id : id;- };-- // By default, Underscore uses ERB-style template delimiters, change the- // following template settings to use alternative delimiters.- _.templateSettings = {- evaluate : /<%([\s\S]+?)%>/g,- interpolate : /<%=([\s\S]+?)%>/g,- escape : /<%-([\s\S]+?)%>/g- };-- // When customizing `templateSettings`, if you don't want to define an- // interpolation, evaluation or escaping regex, we need one that is- // guaranteed not to match.- var noMatch = /.^/;-- // Within an interpolation, evaluation, or escaping, remove HTML escaping- // that had been previously added.- var unescape = function(code) {- return code.replace(/\\\\/g, '\\').replace(/\\'/g, "'");- };-- // JavaScript micro-templating, similar to John Resig's implementation.- // Underscore templating handles arbitrary delimiters, preserves whitespace,- // and correctly escapes quotes within interpolated code.- _.template = function(str, data) {- var c = _.templateSettings;- var tmpl = 'var __p=[],print=function(){__p.push.apply(__p,arguments);};' +- 'with(obj||{}){__p.push(\'' +- str.replace(/\\/g, '\\\\')- .replace(/'/g, "\\'")- .replace(c.escape || noMatch, function(match, code) {- return "',_.escape(" + unescape(code) + "),'";- })- .replace(c.interpolate || noMatch, function(match, code) {- return "'," + unescape(code) + ",'";- })- .replace(c.evaluate || noMatch, function(match, code) {- return "');" + unescape(code).replace(/[\r\n\t]/g, ' ') + ";__p.push('";- })- .replace(/\r/g, '\\r')- .replace(/\n/g, '\\n')- .replace(/\t/g, '\\t')- + "');}return __p.join('');";- var func = new Function('obj', '_', tmpl);- if (data) return func(data, _);- return function(data) {- return func.call(this, data, _);- };- };-- // Add a "chain" function, which will delegate to the wrapper.- _.chain = function(obj) {- return _(obj).chain();- };-- // The OOP Wrapper- // ----------------- // If Underscore is called as a function, it returns a wrapped object that- // can be used OO-style. This wrapper holds altered versions of all the- // underscore functions. Wrapped objects may be chained.- var wrapper = function(obj) { this._wrapped = obj; };-- // Expose `wrapper.prototype` as `_.prototype`- _.prototype = wrapper.prototype;-- // Helper function to continue chaining intermediate results.- var result = function(obj, chain) {- return chain ? _(obj).chain() : obj;- };-- // A method to easily add functions to the OOP wrapper.- var addToWrapper = function(name, func) {- wrapper.prototype[name] = function() {- var args = slice.call(arguments);- unshift.call(args, this._wrapped);- return result(func.apply(_, args), this._chain);- };- };-- // Add all of the Underscore functions to the wrapper object.- _.mixin(_);-- // Add all mutator Array functions to the wrapper.- each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {- var method = ArrayProto[name];- wrapper.prototype[name] = function() {- var wrapped = this._wrapped;- method.apply(wrapped, arguments);- var length = wrapped.length;- if ((name == 'shift' || name == 'splice') && length === 0) delete wrapped[0];- return result(wrapped, this._chain);- };- });-- // Add all accessor Array functions to the wrapper.- each(['concat', 'join', 'slice'], function(name) {- var method = ArrayProto[name];- wrapper.prototype[name] = function() {- return result(method.apply(this._wrapped, arguments), this._chain);- };- });-- // Start chaining a wrapped Underscore object.- wrapper.prototype.chain = function() {- this._chain = true;- return this;- };-- // Extracts the result from a wrapped and chained object.- wrapper.prototype.value = function() {- return this._wrapped;- };--}).call(this);
@@ -1,31 +0,0 @@-// Underscore.js 1.3.1-// (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc.-// Underscore is freely distributable under the MIT license.-// Portions of Underscore are inspired or borrowed from Prototype,-// Oliver Steele's Functional, and John Resig's Micro-Templating.-// For all details and documentation:-// http://documentcloud.github.com/underscore-(function(){function q(a,c,d){if(a===c)return a!==0||1/a==1/c;if(a==null||c==null)return a===c;if(a._chain)a=a._wrapped;if(c._chain)c=c._wrapped;if(a.isEqual&&b.isFunction(a.isEqual))return a.isEqual(c);if(c.isEqual&&b.isFunction(c.isEqual))return c.isEqual(a);var e=l.call(a);if(e!=l.call(c))return false;switch(e){case "[object String]":return a==String(c);case "[object Number]":return a!=+a?c!=+c:a==0?1/a==1/c:a==+c;case "[object Date]":case "[object Boolean]":return+a==+c;case "[object RegExp]":return a.source==-c.source&&a.global==c.global&&a.multiline==c.multiline&&a.ignoreCase==c.ignoreCase}if(typeof a!="object"||typeof c!="object")return false;for(var f=d.length;f--;)if(d[f]==a)return true;d.push(a);var f=0,g=true;if(e=="[object Array]"){if(f=a.length,g=f==c.length)for(;f--;)if(!(g=f in a==f in c&&q(a[f],c[f],d)))break}else{if("constructor"in a!="constructor"in c||a.constructor!=c.constructor)return false;for(var h in a)if(b.has(a,h)&&(f++,!(g=b.has(c,h)&&q(a[h],c[h],d))))break;if(g){for(h in c)if(b.has(c,-h)&&!f--)break;g=!f}}d.pop();return g}var r=this,G=r._,n={},k=Array.prototype,o=Object.prototype,i=k.slice,H=k.unshift,l=o.toString,I=o.hasOwnProperty,w=k.forEach,x=k.map,y=k.reduce,z=k.reduceRight,A=k.filter,B=k.every,C=k.some,p=k.indexOf,D=k.lastIndexOf,o=Array.isArray,J=Object.keys,s=Function.prototype.bind,b=function(a){return new m(a)};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports)exports=module.exports=b;exports._=b}else r._=b;b.VERSION="1.3.1";var j=b.each=-b.forEach=function(a,c,d){if(a!=null)if(w&&a.forEach===w)a.forEach(c,d);else if(a.length===+a.length)for(var e=0,f=a.length;e<f;e++){if(e in a&&c.call(d,a[e],e,a)===n)break}else for(e in a)if(b.has(a,e)&&c.call(d,a[e],e,a)===n)break};b.map=b.collect=function(a,c,b){var e=[];if(a==null)return e;if(x&&a.map===x)return a.map(c,b);j(a,function(a,g,h){e[e.length]=c.call(b,a,g,h)});if(a.length===+a.length)e.length=a.length;return e};b.reduce=b.foldl=b.inject=function(a,c,d,e){var f=arguments.length>2;a==-null&&(a=[]);if(y&&a.reduce===y)return e&&(c=b.bind(c,e)),f?a.reduce(c,d):a.reduce(c);j(a,function(a,b,i){f?d=c.call(e,d,a,b,i):(d=a,f=true)});if(!f)throw new TypeError("Reduce of empty array with no initial value");return d};b.reduceRight=b.foldr=function(a,c,d,e){var f=arguments.length>2;a==null&&(a=[]);if(z&&a.reduceRight===z)return e&&(c=b.bind(c,e)),f?a.reduceRight(c,d):a.reduceRight(c);var g=b.toArray(a).reverse();e&&!f&&(c=b.bind(c,e));return f?b.reduce(g,c,d,e):b.reduce(g,c)};b.find=b.detect=-function(a,c,b){var e;E(a,function(a,g,h){if(c.call(b,a,g,h))return e=a,true});return e};b.filter=b.select=function(a,c,b){var e=[];if(a==null)return e;if(A&&a.filter===A)return a.filter(c,b);j(a,function(a,g,h){c.call(b,a,g,h)&&(e[e.length]=a)});return e};b.reject=function(a,c,b){var e=[];if(a==null)return e;j(a,function(a,g,h){c.call(b,a,g,h)||(e[e.length]=a)});return e};b.every=b.all=function(a,c,b){var e=true;if(a==null)return e;if(B&&a.every===B)return a.every(c,b);j(a,function(a,g,h){if(!(e=-e&&c.call(b,a,g,h)))return n});return e};var E=b.some=b.any=function(a,c,d){c||(c=b.identity);var e=false;if(a==null)return e;if(C&&a.some===C)return a.some(c,d);j(a,function(a,b,h){if(e||(e=c.call(d,a,b,h)))return n});return!!e};b.include=b.contains=function(a,c){var b=false;if(a==null)return b;return p&&a.indexOf===p?a.indexOf(c)!=-1:b=E(a,function(a){return a===c})};b.invoke=function(a,c){var d=i.call(arguments,2);return b.map(a,function(a){return(b.isFunction(c)?c||a:a[c]).apply(a,d)})};b.pluck=-function(a,c){return b.map(a,function(a){return a[c]})};b.max=function(a,c,d){if(!c&&b.isArray(a))return Math.max.apply(Math,a);if(!c&&b.isEmpty(a))return-Infinity;var e={computed:-Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b>=e.computed&&(e={value:a,computed:b})});return e.value};b.min=function(a,c,d){if(!c&&b.isArray(a))return Math.min.apply(Math,a);if(!c&&b.isEmpty(a))return Infinity;var e={computed:Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b<e.computed&&(e={value:a,computed:b})});-return e.value};b.shuffle=function(a){var b=[],d;j(a,function(a,f){f==0?b[0]=a:(d=Math.floor(Math.random()*(f+1)),b[f]=b[d],b[d]=a)});return b};b.sortBy=function(a,c,d){return b.pluck(b.map(a,function(a,b,g){return{value:a,criteria:c.call(d,a,b,g)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;return c<d?-1:c>d?1:0}),"value")};b.groupBy=function(a,c){var d={},e=b.isFunction(c)?c:function(a){return a[c]};j(a,function(a,b){var c=e(a,b);(d[c]||(d[c]=[])).push(a)});return d};b.sortedIndex=function(a,-c,d){d||(d=b.identity);for(var e=0,f=a.length;e<f;){var g=e+f>>1;d(a[g])<d(c)?e=g+1:f=g}return e};b.toArray=function(a){return!a?[]:a.toArray?a.toArray():b.isArray(a)?i.call(a):b.isArguments(a)?i.call(a):b.values(a)};b.size=function(a){return b.toArray(a).length};b.first=b.head=function(a,b,d){return b!=null&&!d?i.call(a,0,b):a[0]};b.initial=function(a,b,d){return i.call(a,0,a.length-(b==null||d?1:b))};b.last=function(a,b,d){return b!=null&&!d?i.call(a,Math.max(a.length-b,0)):a[a.length-1]};b.rest=-b.tail=function(a,b,d){return i.call(a,b==null||d?1:b)};b.compact=function(a){return b.filter(a,function(a){return!!a})};b.flatten=function(a,c){return b.reduce(a,function(a,e){if(b.isArray(e))return a.concat(c?e:b.flatten(e));a[a.length]=e;return a},[])};b.without=function(a){return b.difference(a,i.call(arguments,1))};b.uniq=b.unique=function(a,c,d){var d=d?b.map(a,d):a,e=[];b.reduce(d,function(d,g,h){if(0==h||(c===true?b.last(d)!=g:!b.include(d,g)))d[d.length]=g,e[e.length]=a[h];return d},[]);-return e};b.union=function(){return b.uniq(b.flatten(arguments,true))};b.intersection=b.intersect=function(a){var c=i.call(arguments,1);return b.filter(b.uniq(a),function(a){return b.every(c,function(c){return b.indexOf(c,a)>=0})})};b.difference=function(a){var c=b.flatten(i.call(arguments,1));return b.filter(a,function(a){return!b.include(c,a)})};b.zip=function(){for(var a=i.call(arguments),c=b.max(b.pluck(a,"length")),d=Array(c),e=0;e<c;e++)d[e]=b.pluck(a,""+e);return d};b.indexOf=function(a,c,-d){if(a==null)return-1;var e;if(d)return d=b.sortedIndex(a,c),a[d]===c?d:-1;if(p&&a.indexOf===p)return a.indexOf(c);for(d=0,e=a.length;d<e;d++)if(d in a&&a[d]===c)return d;return-1};b.lastIndexOf=function(a,b){if(a==null)return-1;if(D&&a.lastIndexOf===D)return a.lastIndexOf(b);for(var d=a.length;d--;)if(d in a&&a[d]===b)return d;return-1};b.range=function(a,b,d){arguments.length<=1&&(b=a||0,a=0);for(var d=arguments[2]||1,e=Math.max(Math.ceil((b-a)/d),0),f=0,g=Array(e);f<e;)g[f++]=a,a+=d;return g};-var F=function(){};b.bind=function(a,c){var d,e;if(a.bind===s&&s)return s.apply(a,i.call(arguments,1));if(!b.isFunction(a))throw new TypeError;e=i.call(arguments,2);return d=function(){if(!(this instanceof d))return a.apply(c,e.concat(i.call(arguments)));F.prototype=a.prototype;var b=new F,g=a.apply(b,e.concat(i.call(arguments)));return Object(g)===g?g:b}};b.bindAll=function(a){var c=i.call(arguments,1);c.length==0&&(c=b.functions(a));j(c,function(c){a[c]=b.bind(a[c],a)});return a};b.memoize=function(a,-c){var d={};c||(c=b.identity);return function(){var e=c.apply(this,arguments);return b.has(d,e)?d[e]:d[e]=a.apply(this,arguments)}};b.delay=function(a,b){var d=i.call(arguments,2);return setTimeout(function(){return a.apply(a,d)},b)};b.defer=function(a){return b.delay.apply(b,[a,1].concat(i.call(arguments,1)))};b.throttle=function(a,c){var d,e,f,g,h,i=b.debounce(function(){h=g=false},c);return function(){d=this;e=arguments;var b;f||(f=setTimeout(function(){f=null;h&&a.apply(d,e);i()},c));g?h=true:-a.apply(d,e);i();g=true}};b.debounce=function(a,b){var d;return function(){var e=this,f=arguments;clearTimeout(d);d=setTimeout(function(){d=null;a.apply(e,f)},b)}};b.once=function(a){var b=false,d;return function(){if(b)return d;b=true;return d=a.apply(this,arguments)}};b.wrap=function(a,b){return function(){var d=[a].concat(i.call(arguments,0));return b.apply(this,d)}};b.compose=function(){var a=arguments;return function(){for(var b=arguments,d=a.length-1;d>=0;d--)b=[a[d].apply(this,b)];return b[0]}};-b.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}};b.keys=J||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var c=[],d;for(d in a)b.has(a,d)&&(c[c.length]=d);return c};b.values=function(a){return b.map(a,b.identity)};b.functions=b.methods=function(a){var c=[],d;for(d in a)b.isFunction(a[d])&&c.push(d);return c.sort()};b.extend=function(a){j(i.call(arguments,1),function(b){for(var d in b)a[d]=b[d]});return a};b.defaults=function(a){j(i.call(arguments,-1),function(b){for(var d in b)a[d]==null&&(a[d]=b[d])});return a};b.clone=function(a){return!b.isObject(a)?a:b.isArray(a)?a.slice():b.extend({},a)};b.tap=function(a,b){b(a);return a};b.isEqual=function(a,b){return q(a,b,[])};b.isEmpty=function(a){if(b.isArray(a)||b.isString(a))return a.length===0;for(var c in a)if(b.has(a,c))return false;return true};b.isElement=function(a){return!!(a&&a.nodeType==1)};b.isArray=o||function(a){return l.call(a)=="[object Array]"};b.isObject=function(a){return a===Object(a)};-b.isArguments=function(a){return l.call(a)=="[object Arguments]"};if(!b.isArguments(arguments))b.isArguments=function(a){return!(!a||!b.has(a,"callee"))};b.isFunction=function(a){return l.call(a)=="[object Function]"};b.isString=function(a){return l.call(a)=="[object String]"};b.isNumber=function(a){return l.call(a)=="[object Number]"};b.isNaN=function(a){return a!==a};b.isBoolean=function(a){return a===true||a===false||l.call(a)=="[object Boolean]"};b.isDate=function(a){return l.call(a)=="[object Date]"};-b.isRegExp=function(a){return l.call(a)=="[object RegExp]"};b.isNull=function(a){return a===null};b.isUndefined=function(a){return a===void 0};b.has=function(a,b){return I.call(a,b)};b.noConflict=function(){r._=G;return this};b.identity=function(a){return a};b.times=function(a,b,d){for(var e=0;e<a;e++)b.call(d,e)};b.escape=function(a){return(""+a).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")};b.mixin=function(a){j(b.functions(a),-function(c){K(c,b[c]=a[c])})};var L=0;b.uniqueId=function(a){var b=L++;return a?a+b:b};b.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var t=/.^/,u=function(a){return a.replace(/\\\\/g,"\\").replace(/\\'/g,"'")};b.template=function(a,c){var d=b.templateSettings,d="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+a.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(d.escape||t,function(a,b){return"',_.escape("+-u(b)+"),'"}).replace(d.interpolate||t,function(a,b){return"',"+u(b)+",'"}).replace(d.evaluate||t,function(a,b){return"');"+u(b).replace(/[\r\n\t]/g," ")+";__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');",e=new Function("obj","_",d);return c?e(c,b):function(a){return e.call(this,a,b)}};b.chain=function(a){return b(a).chain()};var m=function(a){this._wrapped=a};b.prototype=m.prototype;var v=function(a,c){return c?b(a).chain():a},K=function(a,c){m.prototype[a]=-function(){var a=i.call(arguments);H.call(a,this._wrapped);return v(c.apply(b,a),this._chain)}};b.mixin(b);j("pop,push,reverse,shift,sort,splice,unshift".split(","),function(a){var b=k[a];m.prototype[a]=function(){var d=this._wrapped;b.apply(d,arguments);var e=d.length;(a=="shift"||a=="splice")&&e===0&&delete d[0];return v(d,this._chain)}});j(["concat","join","slice"],function(a){var b=k[a];m.prototype[a]=function(){return v(b.apply(this._wrapped,arguments),this._chain)}});m.prototype.chain=function(){this._chain=-true;return this};m.prototype.value=function(){return this._wrapped}}).call(this);
binary file changed (214 → absent bytes)
binary file changed (203 → absent bytes)
@@ -1,808 +0,0 @@-/*- * websupport.js- * ~~~~~~~~~~~~~- *- * sphinx.websupport utilities for all documentation.- *- * :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS.- * :license: BSD, see LICENSE for details.- *- */--(function($) {- $.fn.autogrow = function() {- return this.each(function() {- var textarea = this;-- $.fn.autogrow.resize(textarea);-- $(textarea)- .focus(function() {- textarea.interval = setInterval(function() {- $.fn.autogrow.resize(textarea);- }, 500);- })- .blur(function() {- clearInterval(textarea.interval);- });- });- };-- $.fn.autogrow.resize = function(textarea) {- var lineHeight = parseInt($(textarea).css('line-height'), 10);- var lines = textarea.value.split('\n');- var columns = textarea.cols;- var lineCount = 0;- $.each(lines, function() {- lineCount += Math.ceil(this.length / columns) || 1;- });- var height = lineHeight * (lineCount + 1);- $(textarea).css('height', height);- };-})(jQuery);--(function($) {- var comp, by;-- function init() {- initEvents();- initComparator();- }-- function initEvents() {- $(document).on("click", 'a.comment-close', function(event) {- event.preventDefault();- hide($(this).attr('id').substring(2));- });- $(document).on("click", 'a.vote', function(event) {- event.preventDefault();- handleVote($(this));- });- $(document).on("click", 'a.reply', function(event) {- event.preventDefault();- openReply($(this).attr('id').substring(2));- });- $(document).on("click", 'a.close-reply', function(event) {- event.preventDefault();- closeReply($(this).attr('id').substring(2));- });- $(document).on("click", 'a.sort-option', function(event) {- event.preventDefault();- handleReSort($(this));- });- $(document).on("click", 'a.show-proposal', function(event) {- event.preventDefault();- showProposal($(this).attr('id').substring(2));- });- $(document).on("click", 'a.hide-proposal', function(event) {- event.preventDefault();- hideProposal($(this).attr('id').substring(2));- });- $(document).on("click", 'a.show-propose-change', function(event) {- event.preventDefault();- showProposeChange($(this).attr('id').substring(2));- });- $(document).on("click", 'a.hide-propose-change', function(event) {- event.preventDefault();- hideProposeChange($(this).attr('id').substring(2));- });- $(document).on("click", 'a.accept-comment', function(event) {- event.preventDefault();- acceptComment($(this).attr('id').substring(2));- });- $(document).on("click", 'a.delete-comment', function(event) {- event.preventDefault();- deleteComment($(this).attr('id').substring(2));- });- $(document).on("click", 'a.comment-markup', function(event) {- event.preventDefault();- toggleCommentMarkupBox($(this).attr('id').substring(2));- });- }-- /**- * Set comp, which is a comparator function used for sorting and- * inserting comments into the list.- */- function setComparator() {- // If the first three letters are "asc", sort in ascending order- // and remove the prefix.- if (by.substring(0,3) == 'asc') {- var i = by.substring(3);- comp = function(a, b) { return a[i] - b[i]; };- } else {- // Otherwise sort in descending order.- comp = function(a, b) { return b[by] - a[by]; };- }-- // Reset link styles and format the selected sort option.- $('a.sel').attr('href', '#').removeClass('sel');- $('a.by' + by).removeAttr('href').addClass('sel');- }-- /**- * Create a comp function. If the user has preferences stored in- * the sortBy cookie, use those, otherwise use the default.- */- function initComparator() {- by = 'rating'; // Default to sort by rating.- // If the sortBy cookie is set, use that instead.- if (document.cookie.length > 0) {- var start = document.cookie.indexOf('sortBy=');- if (start != -1) {- start = start + 7;- var end = document.cookie.indexOf(";", start);- if (end == -1) {- end = document.cookie.length;- by = unescape(document.cookie.substring(start, end));- }- }- }- setComparator();- }-- /**- * Show a comment div.- */- function show(id) {- $('#ao' + id).hide();- $('#ah' + id).show();- var context = $.extend({id: id}, opts);- var popup = $(renderTemplate(popupTemplate, context)).hide();- popup.find('textarea[name="proposal"]').hide();- popup.find('a.by' + by).addClass('sel');- var form = popup.find('#cf' + id);- form.submit(function(event) {- event.preventDefault();- addComment(form);- });- $('#s' + id).after(popup);- popup.slideDown('fast', function() {- getComments(id);- });- }-- /**- * Hide a comment div.- */- function hide(id) {- $('#ah' + id).hide();- $('#ao' + id).show();- var div = $('#sc' + id);- div.slideUp('fast', function() {- div.remove();- });- }-- /**- * Perform an ajax request to get comments for a node- * and insert the comments into the comments tree.- */- function getComments(id) {- $.ajax({- type: 'GET',- url: opts.getCommentsURL,- data: {node: id},- success: function(data, textStatus, request) {- var ul = $('#cl' + id);- var speed = 100;- $('#cf' + id)- .find('textarea[name="proposal"]')- .data('source', data.source);-- if (data.comments.length === 0) {- ul.html('<li>No comments yet.</li>');- ul.data('empty', true);- } else {- // If there are comments, sort them and put them in the list.- var comments = sortComments(data.comments);- speed = data.comments.length * 100;- appendComments(comments, ul);- ul.data('empty', false);- }- $('#cn' + id).slideUp(speed + 200);- ul.slideDown(speed);- },- error: function(request, textStatus, error) {- showError('Oops, there was a problem retrieving the comments.');- },- dataType: 'json'- });- }-- /**- * Add a comment via ajax and insert the comment into the comment tree.- */- function addComment(form) {- var node_id = form.find('input[name="node"]').val();- var parent_id = form.find('input[name="parent"]').val();- var text = form.find('textarea[name="comment"]').val();- var proposal = form.find('textarea[name="proposal"]').val();-- if (text == '') {- showError('Please enter a comment.');- return;- }-- // Disable the form that is being submitted.- form.find('textarea,input').attr('disabled', 'disabled');-- // Send the comment to the server.- $.ajax({- type: "POST",- url: opts.addCommentURL,- dataType: 'json',- data: {- node: node_id,- parent: parent_id,- text: text,- proposal: proposal- },- success: function(data, textStatus, error) {- // Reset the form.- if (node_id) {- hideProposeChange(node_id);- }- form.find('textarea')- .val('')- .add(form.find('input'))- .removeAttr('disabled');- var ul = $('#cl' + (node_id || parent_id));- if (ul.data('empty')) {- $(ul).empty();- ul.data('empty', false);- }- insertComment(data.comment);- var ao = $('#ao' + node_id);- ao.find('img').attr({'src': opts.commentBrightImage});- if (node_id) {- // if this was a "root" comment, remove the commenting box- // (the user can get it back by reopening the comment popup)- $('#ca' + node_id).slideUp();- }- },- error: function(request, textStatus, error) {- form.find('textarea,input').removeAttr('disabled');- showError('Oops, there was a problem adding the comment.');- }- });- }-- /**- * Recursively append comments to the main comment list and children- * lists, creating the comment tree.- */- function appendComments(comments, ul) {- $.each(comments, function() {- var div = createCommentDiv(this);- ul.append($(document.createElement('li')).html(div));- appendComments(this.children, div.find('ul.comment-children'));- // To avoid stagnating data, don't store the comments children in data.- this.children = null;- div.data('comment', this);- });- }-- /**- * After adding a new comment, it must be inserted in the correct- * location in the comment tree.- */- function insertComment(comment) {- var div = createCommentDiv(comment);-- // To avoid stagnating data, don't store the comments children in data.- comment.children = null;- div.data('comment', comment);-- var ul = $('#cl' + (comment.node || comment.parent));- var siblings = getChildren(ul);-- var li = $(document.createElement('li'));- li.hide();-- // Determine where in the parents children list to insert this comment.- for(i=0; i < siblings.length; i++) {- if (comp(comment, siblings[i]) <= 0) {- $('#cd' + siblings[i].id)- .parent()- .before(li.html(div));- li.slideDown('fast');- return;- }- }-- // If we get here, this comment rates lower than all the others,- // or it is the only comment in the list.- ul.append(li.html(div));- li.slideDown('fast');- }-- function acceptComment(id) {- $.ajax({- type: 'POST',- url: opts.acceptCommentURL,- data: {id: id},- success: function(data, textStatus, request) {- $('#cm' + id).fadeOut('fast');- $('#cd' + id).removeClass('moderate');- },- error: function(request, textStatus, error) {- showError('Oops, there was a problem accepting the comment.');- }- });- }-- function deleteComment(id) {- $.ajax({- type: 'POST',- url: opts.deleteCommentURL,- data: {id: id},- success: function(data, textStatus, request) {- var div = $('#cd' + id);- if (data == 'delete') {- // Moderator mode: remove the comment and all children immediately- div.slideUp('fast', function() {- div.remove();- });- return;- }- // User mode: only mark the comment as deleted- div- .find('span.user-id:first')- .text('[deleted]').end()- .find('div.comment-text:first')- .text('[deleted]').end()- .find('#cm' + id + ', #dc' + id + ', #ac' + id + ', #rc' + id +- ', #sp' + id + ', #hp' + id + ', #cr' + id + ', #rl' + id)- .remove();- var comment = div.data('comment');- comment.username = '[deleted]';- comment.text = '[deleted]';- div.data('comment', comment);- },- error: function(request, textStatus, error) {- showError('Oops, there was a problem deleting the comment.');- }- });- }-- function showProposal(id) {- $('#sp' + id).hide();- $('#hp' + id).show();- $('#pr' + id).slideDown('fast');- }-- function hideProposal(id) {- $('#hp' + id).hide();- $('#sp' + id).show();- $('#pr' + id).slideUp('fast');- }-- function showProposeChange(id) {- $('#pc' + id).hide();- $('#hc' + id).show();- var textarea = $('#pt' + id);- textarea.val(textarea.data('source'));- $.fn.autogrow.resize(textarea[0]);- textarea.slideDown('fast');- }-- function hideProposeChange(id) {- $('#hc' + id).hide();- $('#pc' + id).show();- var textarea = $('#pt' + id);- textarea.val('').removeAttr('disabled');- textarea.slideUp('fast');- }-- function toggleCommentMarkupBox(id) {- $('#mb' + id).toggle();- }-- /** Handle when the user clicks on a sort by link. */- function handleReSort(link) {- var classes = link.attr('class').split(/\s+/);- for (var i=0; i<classes.length; i++) {- if (classes[i] != 'sort-option') {- by = classes[i].substring(2);- }- }- setComparator();- // Save/update the sortBy cookie.- var expiration = new Date();- expiration.setDate(expiration.getDate() + 365);- document.cookie= 'sortBy=' + escape(by) +- ';expires=' + expiration.toUTCString();- $('ul.comment-ul').each(function(index, ul) {- var comments = getChildren($(ul), true);- comments = sortComments(comments);- appendComments(comments, $(ul).empty());- });- }-- /**- * Function to process a vote when a user clicks an arrow.- */- function handleVote(link) {- if (!opts.voting) {- showError("You'll need to login to vote.");- return;- }-- var id = link.attr('id');- if (!id) {- // Didn't click on one of the voting arrows.- return;- }- // If it is an unvote, the new vote value is 0,- // Otherwise it's 1 for an upvote, or -1 for a downvote.- var value = 0;- if (id.charAt(1) != 'u') {- value = id.charAt(0) == 'u' ? 1 : -1;- }- // The data to be sent to the server.- var d = {- comment_id: id.substring(2),- value: value- };-- // Swap the vote and unvote links.- link.hide();- $('#' + id.charAt(0) + (id.charAt(1) == 'u' ? 'v' : 'u') + d.comment_id)- .show();-- // The div the comment is displayed in.- var div = $('div#cd' + d.comment_id);- var data = div.data('comment');-- // If this is not an unvote, and the other vote arrow has- // already been pressed, unpress it.- if ((d.value !== 0) && (data.vote === d.value * -1)) {- $('#' + (d.value == 1 ? 'd' : 'u') + 'u' + d.comment_id).hide();- $('#' + (d.value == 1 ? 'd' : 'u') + 'v' + d.comment_id).show();- }-- // Update the comments rating in the local data.- data.rating += (data.vote === 0) ? d.value : (d.value - data.vote);- data.vote = d.value;- div.data('comment', data);-- // Change the rating text.- div.find('.rating:first')- .text(data.rating + ' point' + (data.rating == 1 ? '' : 's'));-- // Send the vote information to the server.- $.ajax({- type: "POST",- url: opts.processVoteURL,- data: d,- error: function(request, textStatus, error) {- showError('Oops, there was a problem casting that vote.');- }- });- }-- /**- * Open a reply form used to reply to an existing comment.- */- function openReply(id) {- // Swap out the reply link for the hide link- $('#rl' + id).hide();- $('#cr' + id).show();-- // Add the reply li to the children ul.- var div = $(renderTemplate(replyTemplate, {id: id})).hide();- $('#cl' + id)- .prepend(div)- // Setup the submit handler for the reply form.- .find('#rf' + id)- .submit(function(event) {- event.preventDefault();- addComment($('#rf' + id));- closeReply(id);- })- .find('input[type=button]')- .click(function() {- closeReply(id);- });- div.slideDown('fast', function() {- $('#rf' + id).find('textarea').focus();- });- }-- /**- * Close the reply form opened with openReply.- */- function closeReply(id) {- // Remove the reply div from the DOM.- $('#rd' + id).slideUp('fast', function() {- $(this).remove();- });-- // Swap out the hide link for the reply link- $('#cr' + id).hide();- $('#rl' + id).show();- }-- /**- * Recursively sort a tree of comments using the comp comparator.- */- function sortComments(comments) {- comments.sort(comp);- $.each(comments, function() {- this.children = sortComments(this.children);- });- return comments;- }-- /**- * Get the children comments from a ul. If recursive is true,- * recursively include childrens' children.- */- function getChildren(ul, recursive) {- var children = [];- ul.children().children("[id^='cd']")- .each(function() {- var comment = $(this).data('comment');- if (recursive)- comment.children = getChildren($(this).find('#cl' + comment.id), true);- children.push(comment);- });- return children;- }-- /** Create a div to display a comment in. */- function createCommentDiv(comment) {- if (!comment.displayed && !opts.moderator) {- return $('<div class="moderate">Thank you! Your comment will show up '- + 'once it is has been approved by a moderator.</div>');- }- // Prettify the comment rating.- comment.pretty_rating = comment.rating + ' point' +- (comment.rating == 1 ? '' : 's');- // Make a class (for displaying not yet moderated comments differently)- comment.css_class = comment.displayed ? '' : ' moderate';- // Create a div for this comment.- var context = $.extend({}, opts, comment);- var div = $(renderTemplate(commentTemplate, context));-- // If the user has voted on this comment, highlight the correct arrow.- if (comment.vote) {- var direction = (comment.vote == 1) ? 'u' : 'd';- div.find('#' + direction + 'v' + comment.id).hide();- div.find('#' + direction + 'u' + comment.id).show();- }-- if (opts.moderator || comment.text != '[deleted]') {- div.find('a.reply').show();- if (comment.proposal_diff)- div.find('#sp' + comment.id).show();- if (opts.moderator && !comment.displayed)- div.find('#cm' + comment.id).show();- if (opts.moderator || (opts.username == comment.username))- div.find('#dc' + comment.id).show();- }- return div;- }-- /**- * A simple template renderer. Placeholders such as <%id%> are replaced- * by context['id'] with items being escaped. Placeholders such as <#id#>- * are not escaped.- */- function renderTemplate(template, context) {- var esc = $(document.createElement('div'));-- function handle(ph, escape) {- var cur = context;- $.each(ph.split('.'), function() {- cur = cur[this];- });- return escape ? esc.text(cur || "").html() : cur;- }-- return template.replace(/<([%#])([\w\.]*)\1>/g, function() {- return handle(arguments[2], arguments[1] == '%' ? true : false);- });- }-- /** Flash an error message briefly. */- function showError(message) {- $(document.createElement('div')).attr({'class': 'popup-error'})- .append($(document.createElement('div'))- .attr({'class': 'error-message'}).text(message))- .appendTo('body')- .fadeIn("slow")- .delay(2000)- .fadeOut("slow");- }-- /** Add a link the user uses to open the comments popup. */- $.fn.comment = function() {- return this.each(function() {- var id = $(this).attr('id').substring(1);- var count = COMMENT_METADATA[id];- var title = count + ' comment' + (count == 1 ? '' : 's');- var image = count > 0 ? opts.commentBrightImage : opts.commentImage;- var addcls = count == 0 ? ' nocomment' : '';- $(this)- .append(- $(document.createElement('a')).attr({- href: '#',- 'class': 'sphinx-comment-open' + addcls,- id: 'ao' + id- })- .append($(document.createElement('img')).attr({- src: image,- alt: 'comment',- title: title- }))- .click(function(event) {- event.preventDefault();- show($(this).attr('id').substring(2));- })- )- .append(- $(document.createElement('a')).attr({- href: '#',- 'class': 'sphinx-comment-close hidden',- id: 'ah' + id- })- .append($(document.createElement('img')).attr({- src: opts.closeCommentImage,- alt: 'close',- title: 'close'- }))- .click(function(event) {- event.preventDefault();- hide($(this).attr('id').substring(2));- })- );- });- };-- var opts = {- processVoteURL: '/_process_vote',- addCommentURL: '/_add_comment',- getCommentsURL: '/_get_comments',- acceptCommentURL: '/_accept_comment',- deleteCommentURL: '/_delete_comment',- commentImage: '/static/_static/comment.png',- closeCommentImage: '/static/_static/comment-close.png',- loadingImage: '/static/_static/ajax-loader.gif',- commentBrightImage: '/static/_static/comment-bright.png',- upArrow: '/static/_static/up.png',- downArrow: '/static/_static/down.png',- upArrowPressed: '/static/_static/up-pressed.png',- downArrowPressed: '/static/_static/down-pressed.png',- voting: false,- moderator: false- };-- if (typeof COMMENT_OPTIONS != "undefined") {- opts = jQuery.extend(opts, COMMENT_OPTIONS);- }-- var popupTemplate = '\- <div class="sphinx-comments" id="sc<%id%>">\- <p class="sort-options">\- Sort by:\- <a href="#" class="sort-option byrating">best rated</a>\- <a href="#" class="sort-option byascage">newest</a>\- <a href="#" class="sort-option byage">oldest</a>\- </p>\- <div class="comment-header">Comments</div>\- <div class="comment-loading" id="cn<%id%>">\- loading comments... <img src="<%loadingImage%>" alt="" /></div>\- <ul id="cl<%id%>" class="comment-ul"></ul>\- <div id="ca<%id%>">\- <p class="add-a-comment">Add a comment\- (<a href="#" class="comment-markup" id="ab<%id%>">markup</a>):</p>\- <div class="comment-markup-box" id="mb<%id%>">\- reStructured text markup: <i>*emph*</i>, <b>**strong**</b>, \- <code>``code``</code>, \- code blocks: <code>::</code> and an indented block after blank line</div>\- <form method="post" id="cf<%id%>" class="comment-form" action="">\- <textarea name="comment" cols="80"></textarea>\- <p class="propose-button">\- <a href="#" id="pc<%id%>" class="show-propose-change">\- Propose a change ▹\- </a>\- <a href="#" id="hc<%id%>" class="hide-propose-change">\- Propose a change ▿\- </a>\- </p>\- <textarea name="proposal" id="pt<%id%>" cols="80"\- spellcheck="false"></textarea>\- <input type="submit" value="Add comment" />\- <input type="hidden" name="node" value="<%id%>" />\- <input type="hidden" name="parent" value="" />\- </form>\- </div>\- </div>';-- var commentTemplate = '\- <div id="cd<%id%>" class="sphinx-comment<%css_class%>">\- <div class="vote">\- <div class="arrow">\- <a href="#" id="uv<%id%>" class="vote" title="vote up">\- <img src="<%upArrow%>" />\- </a>\- <a href="#" id="uu<%id%>" class="un vote" title="vote up">\- <img src="<%upArrowPressed%>" />\- </a>\- </div>\- <div class="arrow">\- <a href="#" id="dv<%id%>" class="vote" title="vote down">\- <img src="<%downArrow%>" id="da<%id%>" />\- </a>\- <a href="#" id="du<%id%>" class="un vote" title="vote down">\- <img src="<%downArrowPressed%>" />\- </a>\- </div>\- </div>\- <div class="comment-content">\- <p class="tagline comment">\- <span class="user-id"><%username%></span>\- <span class="rating"><%pretty_rating%></span>\- <span class="delta"><%time.delta%></span>\- </p>\- <div class="comment-text comment"><#text#></div>\- <p class="comment-opts comment">\- <a href="#" class="reply hidden" id="rl<%id%>">reply ▹</a>\- <a href="#" class="close-reply" id="cr<%id%>">reply ▿</a>\- <a href="#" id="sp<%id%>" class="show-proposal">proposal ▹</a>\- <a href="#" id="hp<%id%>" class="hide-proposal">proposal ▿</a>\- <a href="#" id="dc<%id%>" class="delete-comment hidden">delete</a>\- <span id="cm<%id%>" class="moderation hidden">\- <a href="#" id="ac<%id%>" class="accept-comment">accept</a>\- </span>\- </p>\- <pre class="proposal" id="pr<%id%>">\-<#proposal_diff#>\- </pre>\- <ul class="comment-children" id="cl<%id%>"></ul>\- </div>\- <div class="clearleft"></div>\- </div>\- </div>';-- var replyTemplate = '\- <li>\- <div class="reply-div" id="rd<%id%>">\- <form id="rf<%id%>">\- <textarea name="comment" cols="80"></textarea>\- <input type="submit" value="Add reply" />\- <input type="button" value="Cancel" />\- <input type="hidden" name="parent" value="<%id%>" />\- <input type="hidden" name="node" value="" />\- </form>\- </div>\- </li>';-- $(document).ready(function() {- init();- });-})(jQuery);--$(document).ready(function() {- // add comment anchors for all paragraphs that are commentable- $('.sphinx-has-comment').comment();-- // highlight search words in search results- $("div.context").each(function() {- var params = $.getQueryParameters();- var terms = (params.q) ? params.q[0].split(/\s+/) : [];- var result = $(this);- $.each(terms, function() {- result.highlightText(this.toLowerCase(), 'highlighted');- });- });-- // directly open comment window if requested- var anchor = document.location.hash;- if (anchor.substring(0, 9) == '#comment-') {- $('#ao' + anchor.substring(9)).click();- document.location.hash = '#s' + anchor.substring(9);- }-});
@@ -1,272 +0,0 @@---<!DOCTYPE html>-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->-<head>- <meta charset="utf-8">- - <meta name="viewport" content="width=device-width, initial-scale=1.0">- - <title>4. Reporting Bugs and Stability of Cabal Interfaces — Cabal <release> User's Guide</title>- -- - - - -- -- - - -- -- - - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />- -- -- - <link rel="index" title="Index"- href="genindex.html"/>- <link rel="search" title="Search" href="search.html"/>- <link rel="top" title="Cabal <release> User's Guide" href="index.html"/>- <link rel="next" title="4.1. Reporting bugs and deficiencies" href="misc.html"/>- <link rel="prev" title="3.1. Quickstart" href="developing-packages.html"/> -- - <script src="_static/js/modernizr.min.js"></script>--</head>--<body class="wy-body-for-nav" role="document">-- - <div class="wy-grid-for-nav">-- - <nav data-toggle="wy-nav-shift" class="wy-nav-side">- <div class="wy-side-scroll">- <div class="wy-side-nav-search">- -- - <a href="index.html" class="icon icon-home"> Cabal- -- - - <img src="_static/Cabal-dark.png" class="logo" />- - </a>-- - - - <div class="version">- 2.0- </div>- - -- -<div role="search">- <form id="rtd-search-form" class="wy-form" action="search.html" method="get">- <input type="text" name="q" placeholder="Search docs" />- <input type="hidden" name="check_keywords" value="yes" />- <input type="hidden" name="area" value="default" />- </form>-</div>-- - </div>-- <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">- - - - - - - - <ul class="current">-<li class="toctree-l1"><a class="reference internal" href="intro.html">1. Introduction</a></li>-<li class="toctree-l1"><a class="reference internal" href="config-and-install.html">2. Configuration and Installing Packages</a></li>-<li class="toctree-l1"><a class="reference internal" href="concepts-and-development.html">3. Package Concepts and Development</a></li>-<li class="toctree-l1 current"><a class="current reference internal" href="#">4. Reporting Bugs and Stability of Cabal Interfaces</a><ul>-<li class="toctree-l2"><a class="reference internal" href="misc.html">4.1. Reporting bugs and deficiencies</a></li>-<li class="toctree-l2"><a class="reference internal" href="misc.html#stability-of-cabal-interfaces">4.2. Stability of Cabal interfaces</a></li>-</ul>-</li>-<li class="toctree-l1"><a class="reference internal" href="nix-local-build-overview.html">5. Nix-style Local Builds</a></li>-<li class="toctree-l1"><a class="reference internal" href="nix-integration.html">6. Nix Integration</a></li>-</ul>-- - - <a href="cabal-projectindex.html">Reference</a>- <a href="genindex.html">Index</a>-- </div>- </div>- </nav>-- <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">-- - <nav class="wy-nav-top" role="navigation" aria-label="top navigation">- - <i data-toggle="wy-nav-top" class="fa fa-bars"></i>- <a href="index.html">Cabal</a>- - </nav>--- - <div class="wy-nav-content">- <div class="rst-content">- ----------------<div role="navigation" aria-label="breadcrumbs navigation">-- <ul class="wy-breadcrumbs">- - <li><a href="index.html">Docs</a> »</li>- - <li>4. Reporting Bugs and Stability of Cabal Interfaces</li>- - - <li class="wy-breadcrumbs-aside">- - - <a href="_sources/bugs-and-stability.rst.txt" rel="nofollow"> View page source</a>- - - </li>- - </ul>-- - <hr/>-</div>- <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">- <div itemprop="articleBody">- - <div class="section" id="reporting-bugs-and-stability-of-cabal-interfaces">-<h1>4. Reporting Bugs and Stability of Cabal Interfaces<a class="headerlink" href="#reporting-bugs-and-stability-of-cabal-interfaces" title="Permalink to this headline">¶</a></h1>-<div class="toctree-wrapper compound">-<ul>-<li class="toctree-l1"><a class="reference internal" href="misc.html">4.1. Reporting bugs and deficiencies</a></li>-<li class="toctree-l1"><a class="reference internal" href="misc.html#stability-of-cabal-interfaces">4.2. Stability of Cabal interfaces</a><ul>-<li class="toctree-l2"><a class="reference internal" href="misc.html#cabal-file-format">4.2.1. Cabal file format</a></li>-<li class="toctree-l2"><a class="reference internal" href="misc.html#command-line-interface">4.2.2. Command-line interface</a><ul>-<li class="toctree-l3"><a class="reference internal" href="misc.html#very-stable-command-line-interfaces">4.2.2.1. Very Stable Command-line interfaces</a></li>-<li class="toctree-l3"><a class="reference internal" href="misc.html#stable-command-line-interfaces">4.2.2.2. Stable Command-line interfaces</a></li>-<li class="toctree-l3"><a class="reference internal" href="misc.html#unstable-command-line">4.2.2.3. Unstable command-line</a></li>-</ul>-</li>-<li class="toctree-l2"><a class="reference internal" href="misc.html#functions-and-types">4.2.3. Functions and Types</a><ul>-<li class="toctree-l3"><a class="reference internal" href="misc.html#very-stable-api">4.2.3.1. Very Stable API</a></li>-<li class="toctree-l3"><a class="reference internal" href="misc.html#semi-stable-api">4.2.3.2. Semi-stable API</a></li>-<li class="toctree-l3"><a class="reference internal" href="misc.html#unstable-api">4.2.3.3. Unstable API</a></li>-</ul>-</li>-<li class="toctree-l2"><a class="reference internal" href="misc.html#hackage">4.2.4. Hackage</a></li>-</ul>-</li>-</ul>-</div>-</div>--- </div>- <div class="articleComments">- - </div>- </div>- <footer>- - <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">- - <a href="misc.html" class="btn btn-neutral float-right" title="4.1. Reporting bugs and deficiencies" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>- - - <a href="developing-packages.html" class="btn btn-neutral" title="3.1. Quickstart" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>- - </div>- -- <hr/>-- <div role="contentinfo">- <p>- © Copyright 2003-2017, Cabal Team.-- </p>- </div>- Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. --</footer>-- </div>- </div>-- </section>-- </div>- --- -- <script type="text/javascript">- var DOCUMENTATION_OPTIONS = {- URL_ROOT:'./',- VERSION:'2.0',- COLLAPSE_INDEX:false,- FILE_SUFFIX:'.html',- HAS_SOURCE: true,- SOURCELINK_SUFFIX: '.txt'- };- </script>- <script type="text/javascript" src="_static/jquery.js"></script>- <script type="text/javascript" src="_static/underscore.js"></script>- <script type="text/javascript" src="_static/doctools.js"></script>-- -- - - <script type="text/javascript" src="_static/js/theme.js"></script>- -- - - <script type="text/javascript">- jQuery(function () {- SphinxRtdTheme.StickyNav.enable();- });- </script>- --</body>-</html>
@@ -1,1604 +0,0 @@---<!DOCTYPE html>-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->-<head>- <meta charset="utf-8">- - <meta name="viewport" content="width=device-width, initial-scale=1.0">- - <title>Cabal reference — Cabal <release> User's Guide</title>- -- - - - -- -- - - -- -- - - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />- -- -- - <link rel="index" title="Index"- href="genindex.html"/>- <link rel="search" title="Search" href="search.html"/>- <link rel="top" title="Cabal <release> User's Guide" href="index.html"/>- ---- - <script src="_static/js/modernizr.min.js"></script>--</head>--<body class="wy-body-for-nav" role="document">-- - <div class="wy-grid-for-nav">-- - <nav data-toggle="wy-nav-shift" class="wy-nav-side">- <div class="wy-side-scroll">- <div class="wy-side-nav-search">- -- - <a href="index.html" class="icon icon-home"> Cabal- -- - - <img src="_static/Cabal-dark.png" class="logo" />- - </a>-- - - - <div class="version">- 2.0- </div>- - -- -<div role="search">- <form id="rtd-search-form" class="wy-form" action="search.html" method="get">- <input type="text" name="q" placeholder="Search docs" />- <input type="hidden" name="check_keywords" value="yes" />- <input type="hidden" name="area" value="default" />- </form>-</div>-- - </div>-- <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">- - - - - - - - <ul>-<li class="toctree-l1"><a class="reference internal" href="intro.html">1. Introduction</a></li>-<li class="toctree-l1"><a class="reference internal" href="config-and-install.html">2. Configuration and Installing Packages</a></li>-<li class="toctree-l1"><a class="reference internal" href="concepts-and-development.html">3. Package Concepts and Development</a></li>-<li class="toctree-l1"><a class="reference internal" href="bugs-and-stability.html">4. Reporting Bugs and Stability of Cabal Interfaces</a></li>-<li class="toctree-l1"><a class="reference internal" href="nix-local-build-overview.html">5. Nix-style Local Builds</a></li>-<li class="toctree-l1"><a class="reference internal" href="nix-integration.html">6. Nix Integration</a></li>-</ul>-- - - <a href="cabal-projectindex.html">Reference</a>- <a href="genindex.html">Index</a>-- </div>- </div>- </nav>-- <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">-- - <nav class="wy-nav-top" role="navigation" aria-label="top navigation">- - <i data-toggle="wy-nav-top" class="fa fa-bars"></i>- <a href="index.html">Cabal</a>- - </nav>--- - <div class="wy-nav-content">- <div class="rst-content">- ----------------<div role="navigation" aria-label="breadcrumbs navigation">-- <ul class="wy-breadcrumbs">- - <li><a href="index.html">Docs</a> »</li>- - <li>Cabal reference</li>- - - <li class="wy-breadcrumbs-aside">- - - - </li>- - </ul>-- - <hr/>-</div>- <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">- <div itemprop="articleBody">- -- <h1>Cabal reference</h1>-- <div class="modindex-jumpbox">- <a href="#cap-project.cabal fields"><strong>project.cabal fields</strong></a> | - <a href="#cap-cabal project flags"><strong>cabal project flags</strong></a> | - <a href="#cap-package.cabal fields"><strong>package.cabal fields</strong></a>- </div>-- <table class="indextable modindextable">- <tr class="pcap"><td></td><td> </td><td></td></tr>- <tr class="cap" id="cap-project.cabal fields"><td></td><td>- <strong>project.cabal fields</strong></td><td></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-1" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#specifying-the-local-packages"><code class="xref">Specifying the local packages</code></a></td><td>- <em></em></td></tr>- <tr class="cg-1">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-packages"><code class="xref">packages</code></a></td><td>- <em>Project packages.</em></td></tr>- <tr class="cg-1">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-optional-packages"><code class="xref">optional-packages</code></a></td><td>- <em>Optional project packages.</em></td></tr>- <tr class="cg-1">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-extra-packages"><code class="xref">extra-packages</code></a></td><td>- <em>Adds external pacakges as local</em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-2" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#global-configuration-options"><code class="xref">Global configuration options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-2">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-verbose"><code class="xref">verbose</code></a></td><td>- <em>Build verbosity level.</em></td></tr>- <tr class="cg-2">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-jobs"><code class="xref">jobs</code></a></td><td>- <em>Number of builds running in parallel.</em></td></tr>- <tr class="cg-2">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-keep-going"><code class="xref">keep-going</code></a></td><td>- <em>Try to continue building on failure.</em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-3" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#solver-configuration-options"><code class="xref">Solver configuration options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-3">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-constraints"><code class="xref">constraints</code></a></td><td>- <em>Extra dependencies constraints.</em></td></tr>- <tr class="cg-3">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-preferences"><code class="xref">preferences</code></a></td><td>- <em>Prefered dependency versions.</em></td></tr>- <tr class="cg-3">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-allow-newer"><code class="xref">allow-newer</code></a></td><td>- <em>Lift dependencies upper bound constaints.</em></td></tr>- <tr class="cg-3">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-allow-older"><code class="xref">allow-older</code></a></td><td>- <em>Lift dependency lower bound constaints.</em></td></tr>- <tr class="cg-3">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-index-state"><code class="xref">index-state</code></a> <em>(since version: 2.0)</em></td><td>- <em>Use source package index state as it existed at a previous time.</em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-4" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#package-configuration-options"><code class="xref">Package configuration options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-4">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-flags"><code class="xref">flags</code></a></td><td>- <em>Enable or disable package flags.</em></td></tr>- <tr class="cg-4">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-with-compiler"><code class="xref">with-compiler</code></a></td><td>- <em>Path to compiler executable.</em></td></tr>- <tr class="cg-4">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-with-hc-pkg"><code class="xref">with-hc-pkg</code></a></td><td>- <em>Specifies package tool.</em></td></tr>- <tr class="cg-4">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-optimization"><code class="xref">optimization</code></a></td><td>- <em>Build with optimization.</em></td></tr>- <tr class="cg-4">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-configure-options"><code class="xref">configure-options</code></a></td><td>- <em>Options to pass to configure script.</em></td></tr>- <tr class="cg-4">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-compiler"><code class="xref">compiler</code></a></td><td>- <em>Compiler to build with.</em></td></tr>- <tr class="cg-4">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-tests"><code class="xref">tests</code></a></td><td>- <em>Build tests.</em></td></tr>- <tr class="cg-4">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-benchmarks"><code class="xref">benchmarks</code></a></td><td>- <em>Build benchmarks.</em></td></tr>- <tr class="cg-4">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-extra-prog-path"><code class="xref">extra-prog-path</code></a> <em>(since version: 1.18)</em></td><td>- <em>Add directories to program search path.</em></td></tr>- <tr class="cg-4">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-run-tests"><code class="xref">run-tests</code></a></td><td>- <em>Run package test suite upon installation.</em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-5" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#object-code-options"><code class="xref">Object code options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-5">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-debug-info"><code class="xref">debug-info</code></a> <em>(since version: 1.22)</em></td><td>- <em>Build with debug info enabled.</em></td></tr>- <tr class="cg-5">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-split-objs"><code class="xref">split-objs</code></a></td><td>- <em>Use GHC split objects feature.</em></td></tr>- <tr class="cg-5">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-executable-stripping"><code class="xref">executable-stripping</code></a></td><td>- <em>Strip installed programs.</em></td></tr>- <tr class="cg-5">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-library-stripping"><code class="xref">library-stripping</code></a> <em>(since version: 1.19)</em></td><td>- <em>Strip installed libraries.</em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-6" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#executable-options"><code class="xref">Executable options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-6">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-program-prefix"><code class="xref">program-prefix</code></a></td><td>- <em>Prepend prefix to program names.</em></td></tr>- <tr class="cg-6">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-program-suffix"><code class="xref">program-suffix</code></a></td><td>- <em>Append refix to program names.</em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-7" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#dynamic-linking-options"><code class="xref">Dynamic linking options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-7">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-shared"><code class="xref">shared</code></a></td><td>- <em>Build shared library.</em></td></tr>- <tr class="cg-7">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-executable-dynamic"><code class="xref">executable-dynamic</code></a></td><td>- <em>Link executables dynamically.</em></td></tr>- <tr class="cg-7">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-library-for-ghci"><code class="xref">library-for-ghci</code></a></td><td>- <em>Build libraries suitable for use with GHCi.</em></td></tr>- <tr class="cg-7">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-relocatable"><code class="xref">relocatable</code></a> <em>(since version: 1.21)</em></td><td>- <em>Build relocatable package.</em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-8" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#foreign-function-interface-options"><code class="xref">Foreign function interface options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-8">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-extra-include-dirs"><code class="xref">extra-include-dirs</code></a></td><td>- <em>Adds C header search path.</em></td></tr>- <tr class="cg-8">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-extra-lib-dirs"><code class="xref">extra-lib-dirs</code></a></td><td>- <em>Adds library search directory.</em></td></tr>- <tr class="cg-8">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-extra-framework-dirs"><code class="xref">extra-framework-dirs</code></a></td><td>- <em>Adds framework search directory (OS X only).</em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-9" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#profiling-options"><code class="xref">Profiling options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-9">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-profiling"><code class="xref">profiling</code></a> <em>(since version: 1.21)</em></td><td>- <em>Enable profiling builds.</em></td></tr>- <tr class="cg-9">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-profiling-detail"><code class="xref">profiling-detail</code></a> <em>(since version: 1.23)</em></td><td>- <em>Profiling detail level.</em></td></tr>- <tr class="cg-9">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-library-profiling-detail"><code class="xref">library-profiling-detail</code></a> <em>(since version: 1.23)</em></td><td>- <em>Libraries profiling detail level.</em></td></tr>- <tr class="cg-9">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-library-vanilla"><code class="xref">library-vanilla</code></a></td><td>- <em>Build libraries without profiling.</em></td></tr>- <tr class="cg-9">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-library-profiling"><code class="xref">library-profiling</code></a> <em>(since version: 1.21)</em></td><td>- <em>Build libraries with profiling enabled.</em></td></tr>- <tr class="cg-9">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-executable-profiling"><code class="xref">executable-profiling</code></a> <em>(since version: 1.21)</em></td><td>- <em>Build executables with profiling enabled.</em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-10" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#coverage-options"><code class="xref">Coverage options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-10">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-coverage"><code class="xref">coverage</code></a> <em>(since version: 1.21)</em></td><td>- <em>Build with coverage enabled.</em></td></tr>- <tr class="cg-10">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-library-coverage"><code class="xref">library-coverage</code></a> <em>(deprecated)</em></td><td>- <em></em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-11" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#haddock-options"><code class="xref">Haddock options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-11">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-documentation"><code class="xref">documentation</code></a></td><td>- <em>Enable building of documentation.</em></td></tr>- <tr class="cg-11">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-doc-index-file"><code class="xref">doc-index-file</code></a></td><td>- <em>Path to haddock templates.</em></td></tr>- <tr class="cg-11">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-haddock-hoogle"><code class="xref">haddock-hoogle</code></a></td><td>- <em>Generate Hoogle file.</em></td></tr>- <tr class="cg-11">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-haddock-html"><code class="xref">haddock-html</code></a></td><td>- <em>Build HTML documentation.</em></td></tr>- <tr class="cg-11">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-haddock-html-location"><code class="xref">haddock-html-location</code></a></td><td>- <em>Haddock HTML templates location.</em></td></tr>- <tr class="cg-11">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-haddock-executables"><code class="xref">haddock-executables</code></a></td><td>- <em>Generate documentation for executables.</em></td></tr>- <tr class="cg-11">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-haddock-tests"><code class="xref">haddock-tests</code></a></td><td>- <em>Generate documentation for tests.</em></td></tr>- <tr class="cg-11">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-haddock-benchmarks"><code class="xref">haddock-benchmarks</code></a></td><td>- <em>Generate documentation for benchmarks.</em></td></tr>- <tr class="cg-11">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-haddock-all"><code class="xref">haddock-all</code></a></td><td>- <em>Generate documentation for everything</em></td></tr>- <tr class="cg-11">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-haddock-internal"><code class="xref">haddock-internal</code></a></td><td>- <em>Generate documentation for internal modules</em></td></tr>- <tr class="cg-11">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-haddock-css"><code class="xref">haddock-css</code></a></td><td>- <em>Location of Haddoc CSS file.</em></td></tr>- <tr class="cg-11">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-haddock-hyperlink-source"><code class="xref">haddock-hyperlink-source</code></a></td><td>- <em>Generate hyperlinked source code for documentation</em></td></tr>- <tr class="cg-11">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-haddock-hscolour-css"><code class="xref">haddock-hscolour-css</code></a></td><td>- <em>Location of CSS file for HsColour</em></td></tr>- <tr class="cg-11">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-haddock-contents-location"><code class="xref">haddock-contents-location</code></a></td><td>- <em>URL for contents page.</em></td></tr>- <tr class="cg-11">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-haddock-keep-temp-files"><code class="xref">haddock-keep-temp-files</code></a></td><td>- <em>Keep temporary Haddock files.</em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-12" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#advanced-global-configuration-options"><code class="xref">Advanced global configuration options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-12">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-http-transport"><code class="xref">http-transport</code></a></td><td>- <em>Transport to use with http(s) requests.</em></td></tr>- <tr class="cg-12">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-ignore-expiry"><code class="xref">ignore-expiry</code></a></td><td>- <em>Ignore Hackage expiration dates.</em></td></tr>- <tr class="cg-12">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-remote-repo-cache"><code class="xref">remote-repo-cache</code></a></td><td>- <em>Location of packages cache.</em></td></tr>- <tr class="cg-12">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-logs-dir"><code class="xref">logs-dir</code></a></td><td>- <em>Directory to store build logs.</em></td></tr>- <tr class="cg-12">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-build-summary"><code class="xref">build-summary</code></a></td><td>- <em>Build summaries location.</em></td></tr>- <tr class="cg-12">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-local-repo"><code class="xref">local-repo</code></a> <em>(deprecated)</em></td><td>- <em></em></td></tr>- <tr class="cg-12">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-world-file"><code class="xref">world-file</code></a> <em>(deprecated)</em></td><td>- <em></em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-13" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#advanced-solver-options"><code class="xref">Advanced solver options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-13">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-solver"><code class="xref">solver</code></a></td><td>- <em>Which solver to use.</em></td></tr>- <tr class="cg-13">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-max-backjumps"><code class="xref">max-backjumps</code></a></td><td>- <em>Maximum number of solver backjumps.</em></td></tr>- <tr class="cg-13">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-reorder-goals"><code class="xref">reorder-goals</code></a></td><td>- <em>Allow solver to reorder goals.</em></td></tr>- <tr class="cg-13">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-count-conflicts"><code class="xref">count-conflicts</code></a></td><td>- <em>Solver prefers versions with less conflicts.</em></td></tr>- <tr class="cg-13">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-strong-flags"><code class="xref">strong-flags</code></a></td><td>- <em>Do not defer flag choices when solving.</em></td></tr>- <tr class="cg-13">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-allow-boot-library-installs"><code class="xref">allow-boot-library-installs</code></a></td><td>- <em>Allow cabal to install or upgrade any package.</em></td></tr>- <tr class="cg-13">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-field-cabal-lib-version"><code class="xref">cabal-lib-version</code></a></td><td>- <em>Version of Cabal library used to build package.</em></td></tr>- <tr class="pcap"><td></td><td> </td><td></td></tr>- <tr class="cap" id="cap-cabal project flags"><td></td><td>- <strong>cabal project flags</strong></td><td></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-14" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#global-configuration-options"><code class="xref">Global configuration options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-14">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---verbose"><code class="xref">--verbose</code></a></td><td>- <em>Build verbosity level.</em></td></tr>- <tr class="cg-14">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---jobs"><code class="xref">--jobs</code></a></td><td>- <em>Number of builds running in parallel.</em></td></tr>- <tr class="cg-14">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---keep-going"><code class="xref">--keep-going</code></a></td><td>- <em>Try to continue building on failure.</em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-15" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#solver-configuration-options"><code class="xref">Solver configuration options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-15">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---constraint"><code class="xref">--constraint</code></a></td><td>- <em>Extra dependencies constraints.</em></td></tr>- <tr class="cg-15">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---preference"><code class="xref">--preference</code></a></td><td>- <em>Prefered dependency versions.</em></td></tr>- <tr class="cg-15">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---allow-newer"><code class="xref">--allow-newer</code></a></td><td>- <em>Lift dependencies upper bound constaints.</em></td></tr>- <tr class="cg-15">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---allow-older"><code class="xref">--allow-older</code></a></td><td>- <em>Lift dependency lower bound constaints.</em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-16" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#package-configuration-options"><code class="xref">Package configuration options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-16">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---flags"><code class="xref">--flags</code></a></td><td>- <em>Enable or disable package flags.</em></td></tr>- <tr class="cg-16">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---with-compiler"><code class="xref">--with-compiler</code></a></td><td>- <em>Path to compiler executable.</em></td></tr>- <tr class="cg-16">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---with-hc-pkg"><code class="xref">--with-hc-pkg</code></a></td><td>- <em>Specifies package tool.</em></td></tr>- <tr class="cg-16">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---disable-optimization"><code class="xref">--disable-optimization</code></a></td><td>- <em>Build with optimization.</em></td></tr>- <tr class="cg-16">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---enable-optimization"><code class="xref">--enable-optimization</code></a></td><td>- <em>Build with optimization.</em></td></tr>- <tr class="cg-16">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---configure-option"><code class="xref">--configure-option</code></a></td><td>- <em>Options to pass to configure script.</em></td></tr>- <tr class="cg-16">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---compiler"><code class="xref">--compiler</code></a></td><td>- <em>Compiler to build with.</em></td></tr>- <tr class="cg-16">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---disable-tests"><code class="xref">--disable-tests</code></a></td><td>- <em>Build tests.</em></td></tr>- <tr class="cg-16">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---enable-tests"><code class="xref">--enable-tests</code></a></td><td>- <em>Build tests.</em></td></tr>- <tr class="cg-16">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---enable-benchmarks"><code class="xref">--enable-benchmarks</code></a></td><td>- <em>Build benchmarks.</em></td></tr>- <tr class="cg-16">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---disable-benchmarks"><code class="xref">--disable-benchmarks</code></a></td><td>- <em>Build benchmarks.</em></td></tr>- <tr class="cg-16">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---extra-prog-path"><code class="xref">--extra-prog-path</code></a> <em>(since version: 1.18)</em></td><td>- <em>Add directories to program search path.</em></td></tr>- <tr class="cg-16">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---run-tests"><code class="xref">--run-tests</code></a></td><td>- <em>Run package test suite upon installation.</em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-17" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#object-code-options"><code class="xref">Object code options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-17">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---enable-debug-info"><code class="xref">--enable-debug-info</code></a> <em>(since version: 1.22)</em></td><td>- <em>Build with debug info enabled.</em></td></tr>- <tr class="cg-17">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---disable-debug-info"><code class="xref">--disable-debug-info</code></a> <em>(since version: 1.22)</em></td><td>- <em>Build with debug info enabled.</em></td></tr>- <tr class="cg-17">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---enable-split-objs"><code class="xref">--enable-split-objs</code></a></td><td>- <em>Use GHC split objects feature.</em></td></tr>- <tr class="cg-17">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---disable-split-objs"><code class="xref">--disable-split-objs</code></a></td><td>- <em>Use GHC split objects feature.</em></td></tr>- <tr class="cg-17">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---enable-executable-stripping"><code class="xref">--enable-executable-stripping</code></a></td><td>- <em>Strip installed programs.</em></td></tr>- <tr class="cg-17">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---disable-executable-stripping"><code class="xref">--disable-executable-stripping</code></a></td><td>- <em>Strip installed programs.</em></td></tr>- <tr class="cg-17">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---disable-library-stripping"><code class="xref">--disable-library-stripping</code></a> <em>(since version: 1.19)</em></td><td>- <em>Strip installed libraries.</em></td></tr>- <tr class="cg-17">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---enable-library-stripping"><code class="xref">--enable-library-stripping</code></a> <em>(since version: 1.19)</em></td><td>- <em>Strip installed libraries.</em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-18" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#executable-options"><code class="xref">Executable options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-18">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---program-prefix"><code class="xref">--program-prefix</code></a></td><td>- <em>Prepend prefix to program names.</em></td></tr>- <tr class="cg-18">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---program-suffix"><code class="xref">--program-suffix</code></a></td><td>- <em>Append refix to program names.</em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-19" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#dynamic-linking-options"><code class="xref">Dynamic linking options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-19">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---enable-shared"><code class="xref">--enable-shared</code></a></td><td>- <em>Build shared library.</em></td></tr>- <tr class="cg-19">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---disable-shared"><code class="xref">--disable-shared</code></a></td><td>- <em>Build shared library.</em></td></tr>- <tr class="cg-19">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---enable-executable-dynamic"><code class="xref">--enable-executable-dynamic</code></a></td><td>- <em>Link executables dynamically.</em></td></tr>- <tr class="cg-19">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---disable-executable-dynamic"><code class="xref">--disable-executable-dynamic</code></a></td><td>- <em>Link executables dynamically.</em></td></tr>- <tr class="cg-19">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---disable-library-for-ghci"><code class="xref">--disable-library-for-ghci</code></a></td><td>- <em>Build libraries suitable for use with GHCi.</em></td></tr>- <tr class="cg-19">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---enable-library-for-ghci"><code class="xref">--enable-library-for-ghci</code></a></td><td>- <em>Build libraries suitable for use with GHCi.</em></td></tr>- <tr class="cg-19">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---relocatable"><code class="xref">--relocatable</code></a> <em>(since version: 1.21)</em></td><td>- <em>Build relocatable package.</em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-20" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#foreign-function-interface-options"><code class="xref">Foreign function interface options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-20">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---extra-include-dirs"><code class="xref">--extra-include-dirs</code></a></td><td>- <em>Adds C header search path.</em></td></tr>- <tr class="cg-20">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---extra-lib-dirs"><code class="xref">--extra-lib-dirs</code></a></td><td>- <em>Adds library search directory.</em></td></tr>- <tr class="cg-20">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---extra-framework-dirs"><code class="xref">--extra-framework-dirs</code></a></td><td>- <em>Adds framework search directory (OS X only).</em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-21" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#profiling-options"><code class="xref">Profiling options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-21">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---enable-profiling"><code class="xref">--enable-profiling</code></a> <em>(since version: 1.21)</em></td><td>- <em>Enable profiling builds.</em></td></tr>- <tr class="cg-21">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---disable-profiling"><code class="xref">--disable-profiling</code></a> <em>(since version: 1.21)</em></td><td>- <em>Enable profiling builds.</em></td></tr>- <tr class="cg-21">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---profiling-detail"><code class="xref">--profiling-detail</code></a> <em>(since version: 1.23)</em></td><td>- <em>Profiling detail level.</em></td></tr>- <tr class="cg-21">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---library-profiling-detail"><code class="xref">--library-profiling-detail</code></a> <em>(since version: 1.23)</em></td><td>- <em>Libraries profiling detail level.</em></td></tr>- <tr class="cg-21">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---enable-library-vanilla"><code class="xref">--enable-library-vanilla</code></a></td><td>- <em>Build libraries without profiling.</em></td></tr>- <tr class="cg-21">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---disable-library-vanilla"><code class="xref">--disable-library-vanilla</code></a></td><td>- <em>Build libraries without profiling.</em></td></tr>- <tr class="cg-21">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---disable-library-profiling"><code class="xref">--disable-library-profiling</code></a> <em>(since version: 1.21)</em></td><td>- <em>Build libraries with profiling enabled.</em></td></tr>- <tr class="cg-21">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---enable-library-profiling"><code class="xref">--enable-library-profiling</code></a> <em>(since version: 1.21)</em></td><td>- <em>Build libraries with profiling enabled.</em></td></tr>- <tr class="cg-21">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---enable-executable-profiling"><code class="xref">--enable-executable-profiling</code></a> <em>(since version: 1.21)</em></td><td>- <em>Build executables with profiling enabled.</em></td></tr>- <tr class="cg-21">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---disable-executable-profiling"><code class="xref">--disable-executable-profiling</code></a> <em>(since version: 1.21)</em></td><td>- <em>Build executables with profiling enabled.</em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-22" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#coverage-options"><code class="xref">Coverage options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-22">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---enable-coverage"><code class="xref">--enable-coverage</code></a> <em>(since version: 1.21)</em></td><td>- <em>Build with coverage enabled.</em></td></tr>- <tr class="cg-22">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---disable-coverage"><code class="xref">--disable-coverage</code></a> <em>(since version: 1.21)</em></td><td>- <em>Build with coverage enabled.</em></td></tr>- <tr class="cg-22">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---enable-library-coverage"><code class="xref">--enable-library-coverage</code></a> <em>(deprecated)</em></td><td>- <em></em></td></tr>- <tr class="cg-22">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---disable-library-coverage"><code class="xref">--disable-library-coverage</code></a> <em>(deprecated)</em></td><td>- <em></em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-23" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#haddock-options"><code class="xref">Haddock options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-23">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---enable-documentation"><code class="xref">--enable-documentation</code></a></td><td>- <em>Enable building of documentation.</em></td></tr>- <tr class="cg-23">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---disable-documentation"><code class="xref">--disable-documentation</code></a></td><td>- <em>Enable building of documentation.</em></td></tr>- <tr class="cg-23">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---doc-index-file"><code class="xref">--doc-index-file</code></a></td><td>- <em>Path to haddock templates.</em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-24" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#advanced-global-configuration-options"><code class="xref">Advanced global configuration options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-24">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---http-transport"><code class="xref">--http-transport</code></a></td><td>- <em>Transport to use with http(s) requests.</em></td></tr>- <tr class="cg-24">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---ignore-expiry"><code class="xref">--ignore-expiry</code></a></td><td>- <em>Ignore Hackage expiration dates.</em></td></tr>- <tr class="cg-24">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---remote-repo-cache"><code class="xref">--remote-repo-cache</code></a></td><td>- <em>Location of packages cache.</em></td></tr>- <tr class="cg-24">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---logs-dir"><code class="xref">--logs-dir</code></a></td><td>- <em>Directory to store build logs.</em></td></tr>- <tr class="cg-24">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---build-summary"><code class="xref">--build-summary</code></a></td><td>- <em>Build summaries location.</em></td></tr>- <tr class="cg-24">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---local-repo"><code class="xref">--local-repo</code></a> <em>(deprecated)</em></td><td>- <em></em></td></tr>- <tr class="cg-24">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---world-file"><code class="xref">--world-file</code></a> <em>(deprecated)</em></td><td>- <em></em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-25" style="display: none" alt="-" /></td>- <td>- <a href="nix-local-build.html#advanced-solver-options"><code class="xref">Advanced solver options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-25">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---solver"><code class="xref">--solver</code></a></td><td>- <em>Which solver to use.</em></td></tr>- <tr class="cg-25">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---max-backjumps"><code class="xref">--max-backjumps</code></a></td><td>- <em>Maximum number of solver backjumps.</em></td></tr>- <tr class="cg-25">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---no-reorder-goals"><code class="xref">--no-reorder-goals</code></a></td><td>- <em>Allow solver to reorder goals.</em></td></tr>- <tr class="cg-25">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---reorder-goals"><code class="xref">--reorder-goals</code></a></td><td>- <em>Allow solver to reorder goals.</em></td></tr>- <tr class="cg-25">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---no-count-conflicts"><code class="xref">--no-count-conflicts</code></a></td><td>- <em>Solver prefers versions with less conflicts.</em></td></tr>- <tr class="cg-25">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---count-conflicts"><code class="xref">--count-conflicts</code></a></td><td>- <em>Solver prefers versions with less conflicts.</em></td></tr>- <tr class="cg-25">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---no-strong-flags"><code class="xref">--no-strong-flags</code></a></td><td>- <em>Do not defer flag choices when solving.</em></td></tr>- <tr class="cg-25">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---strong-flags"><code class="xref">--strong-flags</code></a></td><td>- <em>Do not defer flag choices when solving.</em></td></tr>- <tr class="cg-25">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---no-allow-boot-library-installs"><code class="xref">--no-allow-boot-library-installs</code></a></td><td>- <em>Allow cabal to install or upgrade any package.</em></td></tr>- <tr class="cg-25">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---allow-boot-library-installs"><code class="xref">--allow-boot-library-installs</code></a></td><td>- <em>Allow cabal to install or upgrade any package.</em></td></tr>- <tr class="cg-25">- <td></td>- <td>   - <a href="nix-local-build.html#cfg-flag---cabal-lib-version"><code class="xref">--cabal-lib-version</code></a></td><td>- <em>Version of Cabal library used to build package.</em></td></tr>- <tr class="pcap"><td></td><td> </td><td></td></tr>- <tr class="cap" id="cap-package.cabal fields"><td></td><td>- <strong>package.cabal fields</strong></td><td></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-26" style="display: none" alt="-" /></td>- <td>- <a href="developing-packages.html#package-properties"><code class="xref">Package properties</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-name"><code class="xref">name</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-version"><code class="xref">version</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-cabal-version"><code class="xref">cabal-version</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-build-type"><code class="xref">build-type</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-license"><code class="xref">license</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-license-file"><code class="xref">license-file</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-license-files"><code class="xref">license-files</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-copyright"><code class="xref">copyright</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-author"><code class="xref">author</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-maintainer"><code class="xref">maintainer</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-stability"><code class="xref">stability</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-homepage"><code class="xref">homepage</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-bug-reports"><code class="xref">bug-reports</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-package-url"><code class="xref">package-url</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-synopsis"><code class="xref">synopsis</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-description"><code class="xref">description</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-category"><code class="xref">category</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-tested-with"><code class="xref">tested-with</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-data-files"><code class="xref">data-files</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-data-dir"><code class="xref">data-dir</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-extra-source-files"><code class="xref">extra-source-files</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-extra-doc-files"><code class="xref">extra-doc-files</code></a></td><td>- <em></em></td></tr>- <tr class="cg-26">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-extra-tmp-files"><code class="xref">extra-tmp-files</code></a></td><td>- <em></em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-27" style="display: none" alt="-" /></td>- <td>- <a href="developing-packages.html#library"><code class="xref">Library</code></a></td><td>- <em></em></td></tr>- <tr class="cg-27">- <td></td>- <td>   - <a href="developing-packages.html#pkg-section-library-library"><code class="xref">library</code></a></td><td>- <em>Library build information.</em></td></tr>- <tr class="cg-27">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-library-exposed-modules"><code class="xref">exposed-modules</code></a></td><td>- <em></em></td></tr>- <tr class="cg-27">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-library-exposed"><code class="xref">exposed</code></a></td><td>- <em></em></td></tr>- <tr class="cg-27">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-library-reexported-modules"><code class="xref">reexported-modules</code></a></td><td>- <em></em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-28" style="display: none" alt="-" /></td>- <td>- <a href="developing-packages.html#executables"><code class="xref">Executables</code></a></td><td>- <em></em></td></tr>- <tr class="cg-28">- <td></td>- <td>   - <a href="developing-packages.html#pkg-section-executable-executable"><code class="xref">executable</code></a></td><td>- <em>Exectuable build info section.</em></td></tr>- <tr class="cg-28">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-executable-main-is"><code class="xref">main-is</code></a></td><td>- <em></em></td></tr>- <tr class="cg-28">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-executable-scope"><code class="xref">scope</code></a></td><td>- <em></em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-29" style="display: none" alt="-" /></td>- <td>- <a href="developing-packages.html#test-suites"><code class="xref">Test suites</code></a></td><td>- <em></em></td></tr>- <tr class="cg-29">- <td></td>- <td>   - <a href="developing-packages.html#pkg-section-test-test"><code class="xref">test</code></a></td><td>- <em>Test suit build information.</em></td></tr>- <tr class="cg-29">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-test-type"><code class="xref">type</code></a></td><td>- <em></em></td></tr>- <tr class="cg-29">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-test-main-is"><code class="xref">main-is</code></a></td><td>- <em>Module containing tests main function.</em></td></tr>- <tr class="cg-29">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-test-test-module"><code class="xref">test-module</code></a></td><td>- <em></em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-30" style="display: none" alt="-" /></td>- <td>- <a href="developing-packages.html#benchmarks"><code class="xref">Benchmarks</code></a></td><td>- <em></em></td></tr>- <tr class="cg-30">- <td></td>- <td>   - <a href="developing-packages.html#pkg-section-benchmark-benchmark"><code class="xref">benchmark</code></a> <em>(since version: 1.9.2)</em></td><td>- <em>Benchmark build information.</em></td></tr>- <tr class="cg-30">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-benchmark-main-is"><code class="xref">main-is</code></a></td><td>- <em></em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-31" style="display: none" alt="-" /></td>- <td>- <a href="developing-packages.html#foreign-libraries"><code class="xref">Foreign libraries</code></a></td><td>- <em></em></td></tr>- <tr class="cg-31">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-benchmark-type"><code class="xref">type</code></a></td><td>- <em></em></td></tr>- <tr class="cg-31">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-benchmark-options"><code class="xref">options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-31">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-benchmark-mod-def-file"><code class="xref">mod-def-file</code></a></td><td>- <em></em></td></tr>- <tr class="cg-31">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-benchmark-lib-version-info"><code class="xref">lib-version-info</code></a></td><td>- <em></em></td></tr>- <tr class="cg-31">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-benchmark-lib-version-linux"><code class="xref">lib-version-linux</code></a></td><td>- <em></em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-32" style="display: none" alt="-" /></td>- <td>- <a href="developing-packages.html#build-information"><code class="xref">Build information</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-build-depends"><code class="xref">build-depends</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-other-modules"><code class="xref">other-modules</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-hs-source-dirs"><code class="xref">hs-source-dirs</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-default-extensions"><code class="xref">default-extensions</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-other-extensions"><code class="xref">other-extensions</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-extensions"><code class="xref">extensions</code></a> <em>(deprecated)</em></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-build-tool-depends"><code class="xref">build-tool-depends</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-build-tools"><code class="xref">build-tools</code></a> <em>(deprecated)</em></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-buildable"><code class="xref">buildable</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-ghc-options"><code class="xref">ghc-options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-ghc-prof-options"><code class="xref">ghc-prof-options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-ghc-shared-options"><code class="xref">ghc-shared-options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-includes"><code class="xref">includes</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-install-includes"><code class="xref">install-includes</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-include-dirs"><code class="xref">include-dirs</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-c-sources"><code class="xref">c-sources</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-js-sources"><code class="xref">js-sources</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-extra-libraries"><code class="xref">extra-libraries</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-extra-ghci-libraries"><code class="xref">extra-ghci-libraries</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-extra-lib-dirs"><code class="xref">extra-lib-dirs</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-cc-options"><code class="xref">cc-options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-cpp-options"><code class="xref">cpp-options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-ld-options"><code class="xref">ld-options</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-pkgconfig-depends"><code class="xref">pkgconfig-depends</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-frameworks"><code class="xref">frameworks</code></a></td><td>- <em></em></td></tr>- <tr class="cg-32">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-extra-frameworks-dirs"><code class="xref">extra-frameworks-dirs</code></a></td><td>- <em></em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-33" style="display: none" alt="-" /></td>- <td>- <a href="developing-packages.html#configuration-flags"><code class="xref">Configuration Flags</code></a></td><td>- <em></em></td></tr>- <tr class="cg-33">- <td></td>- <td>   - <a href="developing-packages.html#pkg-section-flag-flag"><code class="xref">flag</code></a></td><td>- <em>Flag declaration.</em></td></tr>- <tr class="cg-33">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-flag-description"><code class="xref">description</code></a></td><td>- <em></em></td></tr>- <tr class="cg-33">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-flag-default"><code class="xref">default</code></a></td><td>- <em></em></td></tr>- <tr class="cg-33">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-flag-manual"><code class="xref">manual</code></a></td><td>- <em></em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-34" style="display: none" alt="-" /></td>- <td>- <a href="developing-packages.html#source-repositories"><code class="xref">Source Repositories</code></a></td><td>- <em></em></td></tr>- <tr class="cg-34">- <td></td>- <td>   - <a href="developing-packages.html#pkg-section-source-repository-source-repository"><code class="xref">source-repository</code></a></td><td>- <em></em></td></tr>- <tr class="cg-34">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-source-repository-type"><code class="xref">type</code></a></td><td>- <em></em></td></tr>- <tr class="cg-34">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-source-repository-location"><code class="xref">location</code></a></td><td>- <em></em></td></tr>- <tr class="cg-34">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-source-repository-module"><code class="xref">module</code></a></td><td>- <em></em></td></tr>- <tr class="cg-34">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-source-repository-branch"><code class="xref">branch</code></a></td><td>- <em></em></td></tr>- <tr class="cg-34">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-source-repository-tag"><code class="xref">tag</code></a></td><td>- <em></em></td></tr>- <tr class="cg-34">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-source-repository-subdir"><code class="xref">subdir</code></a></td><td>- <em></em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-35" style="display: none" alt="-" /></td>- <td>- <a href="developing-packages.html#custom-setup-scripts"><code class="xref">Custom setup scripts</code></a></td><td>- <em></em></td></tr>- <tr class="cg-35">- <td></td>- <td>   - <a href="developing-packages.html#pkg-section-custom-setup-custom-setup"><code class="xref">custom-setup</code></a> <em>(since version: 1.24)</em></td><td>- <em>Custom Setup.hs build information.</em></td></tr>- <tr class="cg-35">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-custom-setup-setup-depends"><code class="xref">setup-depends</code></a> <em>(since version: 1.24)</em></td><td>- <em></em></td></tr>- <tr>- <td><img src="_static/minus.png" class="toggler"- id="toggle-36" style="display: none" alt="-" /></td>- <td>- <a href="developing-packages.html#autogenerated-modules"><code class="xref">Autogenerated modules</code></a></td><td>- <em></em></td></tr>- <tr class="cg-36">- <td></td>- <td>   - <a href="developing-packages.html#pkg-field-custom-setup-autogen-modules"><code class="xref">autogen-modules</code></a></td><td>- <em></em></td></tr>- </table>--- </div>- <div class="articleComments">- - </div>- </div>- <footer>- -- <hr/>-- <div role="contentinfo">- <p>- © Copyright 2003-2017, Cabal Team.-- </p>- </div>- Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. --</footer>-- </div>- </div>-- </section>-- </div>- --- -- <script type="text/javascript">- var DOCUMENTATION_OPTIONS = {- URL_ROOT:'./',- VERSION:'2.0',- COLLAPSE_INDEX:false,- FILE_SUFFIX:'.html',- HAS_SOURCE: true,- SOURCELINK_SUFFIX: '.txt'- };- </script>- <script type="text/javascript" src="_static/jquery.js"></script>- <script type="text/javascript" src="_static/underscore.js"></script>- <script type="text/javascript" src="_static/doctools.js"></script>-- -- - - <script type="text/javascript" src="_static/js/theme.js"></script>- -- - - <script type="text/javascript">- jQuery(function () {- SphinxRtdTheme.StickyNav.enable();- });- </script>- --</body>-</html>
@@ -1,284 +0,0 @@---<!DOCTYPE html>-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->-<head>- <meta charset="utf-8">- - <meta name="viewport" content="width=device-width, initial-scale=1.0">- - <title>3. Package Concepts and Development — Cabal <release> User's Guide</title>- -- - - - -- -- - - -- -- - - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />- -- -- - <link rel="index" title="Index"- href="genindex.html"/>- <link rel="search" title="Search" href="search.html"/>- <link rel="top" title="Cabal <release> User's Guide" href="index.html"/>- <link rel="next" title="3.1. Quickstart" href="developing-packages.html"/>- <link rel="prev" title="2.1. Configuration" href="installing-packages.html"/> -- - <script src="_static/js/modernizr.min.js"></script>--</head>--<body class="wy-body-for-nav" role="document">-- - <div class="wy-grid-for-nav">-- - <nav data-toggle="wy-nav-shift" class="wy-nav-side">- <div class="wy-side-scroll">- <div class="wy-side-nav-search">- -- - <a href="index.html" class="icon icon-home"> Cabal- -- - - <img src="_static/Cabal-dark.png" class="logo" />- - </a>-- - - - <div class="version">- 2.0- </div>- - -- -<div role="search">- <form id="rtd-search-form" class="wy-form" action="search.html" method="get">- <input type="text" name="q" placeholder="Search docs" />- <input type="hidden" name="check_keywords" value="yes" />- <input type="hidden" name="area" value="default" />- </form>-</div>-- - </div>-- <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">- - - - - - - - <ul class="current">-<li class="toctree-l1"><a class="reference internal" href="intro.html">1. Introduction</a></li>-<li class="toctree-l1"><a class="reference internal" href="config-and-install.html">2. Configuration and Installing Packages</a></li>-<li class="toctree-l1 current"><a class="current reference internal" href="#">3. Package Concepts and Development</a><ul>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html">3.1. Quickstart</a></li>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#package-concepts">3.2. Package concepts</a></li>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#developing-packages">3.3. Developing packages</a></li>-</ul>-</li>-<li class="toctree-l1"><a class="reference internal" href="bugs-and-stability.html">4. Reporting Bugs and Stability of Cabal Interfaces</a></li>-<li class="toctree-l1"><a class="reference internal" href="nix-local-build-overview.html">5. Nix-style Local Builds</a></li>-<li class="toctree-l1"><a class="reference internal" href="nix-integration.html">6. Nix Integration</a></li>-</ul>-- - - <a href="cabal-projectindex.html">Reference</a>- <a href="genindex.html">Index</a>-- </div>- </div>- </nav>-- <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">-- - <nav class="wy-nav-top" role="navigation" aria-label="top navigation">- - <i data-toggle="wy-nav-top" class="fa fa-bars"></i>- <a href="index.html">Cabal</a>- - </nav>--- - <div class="wy-nav-content">- <div class="rst-content">- ----------------<div role="navigation" aria-label="breadcrumbs navigation">-- <ul class="wy-breadcrumbs">- - <li><a href="index.html">Docs</a> »</li>- - <li>3. Package Concepts and Development</li>- - - <li class="wy-breadcrumbs-aside">- - - <a href="_sources/concepts-and-development.rst.txt" rel="nofollow"> View page source</a>- - - </li>- - </ul>-- - <hr/>-</div>- <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">- <div itemprop="articleBody">- - <div class="section" id="package-concepts-and-development">-<h1>3. Package Concepts and Development<a class="headerlink" href="#package-concepts-and-development" title="Permalink to this headline">¶</a></h1>-<div class="toctree-wrapper compound">-<ul>-<li class="toctree-l1"><a class="reference internal" href="developing-packages.html">3.1. Quickstart</a><ul>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#using-cabal-init">3.1.1. Using “cabal init”</a></li>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#editing-the-cabal-file">3.1.2. Editing the .cabal file</a></li>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#modules-included-in-the-package">3.1.3. Modules included in the package</a></li>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#modules-imported-from-other-packages">3.1.4. Modules imported from other packages</a></li>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#building-the-package">3.1.5. Building the package</a></li>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#next-steps">3.1.6. Next steps</a></li>-</ul>-</li>-<li class="toctree-l1"><a class="reference internal" href="developing-packages.html#package-concepts">3.2. Package concepts</a><ul>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#the-point-of-packages">3.2.1. The point of packages</a></li>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#package-names-and-versions">3.2.2. Package names and versions</a></li>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#kinds-of-package-cabal-vs-ghc-vs-system">3.2.3. Kinds of package: Cabal vs GHC vs system</a></li>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#unit-of-distribution">3.2.4. Unit of distribution</a></li>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#explicit-dependencies-and-automatic-package-management">3.2.5. Explicit dependencies and automatic package management</a></li>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#portability">3.2.6. Portability</a></li>-</ul>-</li>-<li class="toctree-l1"><a class="reference internal" href="developing-packages.html#developing-packages">3.3. Developing packages</a><ul>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#creating-a-package">3.3.1. Creating a package</a></li>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#package-descriptions">3.3.2. Package descriptions</a></li>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#custom-setup-scripts">3.3.3. Custom setup scripts</a></li>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#autogenerated-modules">3.3.4. Autogenerated modules</a></li>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#accessing-data-files-from-package-code">3.3.5. Accessing data files from package code</a></li>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#system-dependent-parameters">3.3.6. System-dependent parameters</a></li>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#conditional-compilation">3.3.7. Conditional compilation</a></li>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#more-complex-packages">3.3.8. More complex packages</a></li>-</ul>-</li>-</ul>-</div>-</div>--- </div>- <div class="articleComments">- - </div>- </div>- <footer>- - <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">- - <a href="developing-packages.html" class="btn btn-neutral float-right" title="3.1. Quickstart" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>- - - <a href="installing-packages.html" class="btn btn-neutral" title="2.1. Configuration" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>- - </div>- -- <hr/>-- <div role="contentinfo">- <p>- © Copyright 2003-2017, Cabal Team.-- </p>- </div>- Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. --</footer>-- </div>- </div>-- </section>-- </div>- --- -- <script type="text/javascript">- var DOCUMENTATION_OPTIONS = {- URL_ROOT:'./',- VERSION:'2.0',- COLLAPSE_INDEX:false,- FILE_SUFFIX:'.html',- HAS_SOURCE: true,- SOURCELINK_SUFFIX: '.txt'- };- </script>- <script type="text/javascript" src="_static/jquery.js"></script>- <script type="text/javascript" src="_static/underscore.js"></script>- <script type="text/javascript" src="_static/doctools.js"></script>-- -- - - <script type="text/javascript" src="_static/js/theme.js"></script>- -- - - <script type="text/javascript">- jQuery(function () {- SphinxRtdTheme.StickyNav.enable();- });- </script>- --</body>-</html>
@@ -1,299 +0,0 @@---<!DOCTYPE html>-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->-<head>- <meta charset="utf-8">- - <meta name="viewport" content="width=device-width, initial-scale=1.0">- - <title>2. Configuration and Installing Packages — Cabal <release> User's Guide</title>- -- - - - -- -- - - -- -- - - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />- -- -- - <link rel="index" title="Index"- href="genindex.html"/>- <link rel="search" title="Search" href="search.html"/>- <link rel="top" title="Cabal <release> User's Guide" href="index.html"/>- <link rel="next" title="2.1. Configuration" href="installing-packages.html"/>- <link rel="prev" title="1. Introduction" href="intro.html"/> -- - <script src="_static/js/modernizr.min.js"></script>--</head>--<body class="wy-body-for-nav" role="document">-- - <div class="wy-grid-for-nav">-- - <nav data-toggle="wy-nav-shift" class="wy-nav-side">- <div class="wy-side-scroll">- <div class="wy-side-nav-search">- -- - <a href="index.html" class="icon icon-home"> Cabal- -- - - <img src="_static/Cabal-dark.png" class="logo" />- - </a>-- - - - <div class="version">- 2.0- </div>- - -- -<div role="search">- <form id="rtd-search-form" class="wy-form" action="search.html" method="get">- <input type="text" name="q" placeholder="Search docs" />- <input type="hidden" name="check_keywords" value="yes" />- <input type="hidden" name="area" value="default" />- </form>-</div>-- - </div>-- <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">- - - - - - - - <ul class="current">-<li class="toctree-l1"><a class="reference internal" href="intro.html">1. Introduction</a></li>-<li class="toctree-l1 current"><a class="current reference internal" href="#">2. Configuration and Installing Packages</a><ul>-<li class="toctree-l2"><a class="reference internal" href="installing-packages.html">2.1. Configuration</a></li>-<li class="toctree-l2"><a class="reference internal" href="installing-packages.html#building-and-installing-packages">2.2. Building and installing packages</a></li>-</ul>-</li>-<li class="toctree-l1"><a class="reference internal" href="concepts-and-development.html">3. Package Concepts and Development</a></li>-<li class="toctree-l1"><a class="reference internal" href="bugs-and-stability.html">4. Reporting Bugs and Stability of Cabal Interfaces</a></li>-<li class="toctree-l1"><a class="reference internal" href="nix-local-build-overview.html">5. Nix-style Local Builds</a></li>-<li class="toctree-l1"><a class="reference internal" href="nix-integration.html">6. Nix Integration</a></li>-</ul>-- - - <a href="cabal-projectindex.html">Reference</a>- <a href="genindex.html">Index</a>-- </div>- </div>- </nav>-- <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">-- - <nav class="wy-nav-top" role="navigation" aria-label="top navigation">- - <i data-toggle="wy-nav-top" class="fa fa-bars"></i>- <a href="index.html">Cabal</a>- - </nav>--- - <div class="wy-nav-content">- <div class="rst-content">- ----------------<div role="navigation" aria-label="breadcrumbs navigation">-- <ul class="wy-breadcrumbs">- - <li><a href="index.html">Docs</a> »</li>- - <li>2. Configuration and Installing Packages</li>- - - <li class="wy-breadcrumbs-aside">- - - <a href="_sources/config-and-install.rst.txt" rel="nofollow"> View page source</a>- - - </li>- - </ul>-- - <hr/>-</div>- <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">- <div itemprop="articleBody">- - <div class="section" id="configuration-and-installing-packages">-<h1>2. Configuration and Installing Packages<a class="headerlink" href="#configuration-and-installing-packages" title="Permalink to this headline">¶</a></h1>-<div class="toctree-wrapper compound">-<ul>-<li class="toctree-l1"><a class="reference internal" href="installing-packages.html">2.1. Configuration</a><ul>-<li class="toctree-l2"><a class="reference internal" href="installing-packages.html#overview">2.1.1. Overview</a></li>-<li class="toctree-l2"><a class="reference internal" href="installing-packages.html#repository-specification">2.1.2. Repository specification</a><ul>-<li class="toctree-l3"><a class="reference internal" href="installing-packages.html#using-secure-repositories">2.1.2.1. Using secure repositories</a></li>-<li class="toctree-l3"><a class="reference internal" href="installing-packages.html#legacy-repositories">2.1.2.2. Legacy repositories</a></li>-<li class="toctree-l3"><a class="reference internal" href="installing-packages.html#secure-local-repositories">2.1.2.3. Secure local repositories</a></li>-</ul>-</li>-</ul>-</li>-<li class="toctree-l1"><a class="reference internal" href="installing-packages.html#building-and-installing-packages">2.2. Building and installing packages</a><ul>-<li class="toctree-l2"><a class="reference internal" href="installing-packages.html#building-and-installing-a-system-package">2.2.1. Building and installing a system package</a></li>-<li class="toctree-l2"><a class="reference internal" href="installing-packages.html#building-and-installing-a-user-package">2.2.2. Building and installing a user package</a></li>-<li class="toctree-l2"><a class="reference internal" href="installing-packages.html#installing-packages-from-hackage">2.2.3. Installing packages from Hackage</a></li>-<li class="toctree-l2"><a class="reference internal" href="installing-packages.html#developing-with-sandboxes">2.2.4. Developing with sandboxes</a><ul>-<li class="toctree-l3"><a class="reference internal" href="installing-packages.html#sandboxes-basic-usage">2.2.4.1. Sandboxes: basic usage</a></li>-<li class="toctree-l3"><a class="reference internal" href="installing-packages.html#sandboxes-advanced-usage">2.2.4.2. Sandboxes: advanced usage</a></li>-</ul>-</li>-<li class="toctree-l2"><a class="reference internal" href="installing-packages.html#creating-a-binary-package">2.2.5. Creating a binary package</a></li>-<li class="toctree-l2"><a class="reference internal" href="installing-packages.html#setup-configure">2.2.6. setup configure</a><ul>-<li class="toctree-l3"><a class="reference internal" href="installing-packages.html#programs-used-for-building">2.2.6.1. Programs used for building</a></li>-<li class="toctree-l3"><a class="reference internal" href="installing-packages.html#installation-paths">2.2.6.2. Installation paths</a><ul>-<li class="toctree-l4"><a class="reference internal" href="installing-packages.html#path-variables-in-the-simple-build-system">2.2.6.2.1. Path variables in the simple build system</a></li>-<li class="toctree-l4"><a class="reference internal" href="installing-packages.html#paths-in-the-simple-build-system">2.2.6.2.2. Paths in the simple build system</a></li>-<li class="toctree-l4"><a class="reference internal" href="installing-packages.html#prefix-independence">2.2.6.2.3. Prefix-independence</a></li>-</ul>-</li>-<li class="toctree-l3"><a class="reference internal" href="installing-packages.html#controlling-flag-assignments">2.2.6.3. Controlling Flag Assignments</a></li>-<li class="toctree-l3"><a class="reference internal" href="installing-packages.html#building-test-suites">2.2.6.4. Building Test Suites</a></li>-<li class="toctree-l3"><a class="reference internal" href="installing-packages.html#miscellaneous-options">2.2.6.5. Miscellaneous options</a></li>-</ul>-</li>-<li class="toctree-l2"><a class="reference internal" href="installing-packages.html#setup-build">2.2.7. setup build</a></li>-<li class="toctree-l2"><a class="reference internal" href="installing-packages.html#setup-haddock">2.2.8. setup haddock</a></li>-<li class="toctree-l2"><a class="reference internal" href="installing-packages.html#setup-hscolour">2.2.9. setup hscolour</a></li>-<li class="toctree-l2"><a class="reference internal" href="installing-packages.html#setup-install">2.2.10. setup install</a></li>-<li class="toctree-l2"><a class="reference internal" href="installing-packages.html#setup-copy">2.2.11. setup copy</a></li>-<li class="toctree-l2"><a class="reference internal" href="installing-packages.html#setup-register">2.2.12. setup register</a></li>-<li class="toctree-l2"><a class="reference internal" href="installing-packages.html#setup-unregister">2.2.13. setup unregister</a></li>-<li class="toctree-l2"><a class="reference internal" href="installing-packages.html#setup-clean">2.2.14. setup clean</a></li>-<li class="toctree-l2"><a class="reference internal" href="installing-packages.html#setup-test">2.2.15. setup test</a></li>-<li class="toctree-l2"><a class="reference internal" href="installing-packages.html#setup-sdist">2.2.16. setup sdist</a></li>-</ul>-</li>-</ul>-</div>-</div>--- </div>- <div class="articleComments">- - </div>- </div>- <footer>- - <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">- - <a href="installing-packages.html" class="btn btn-neutral float-right" title="2.1. Configuration" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>- - - <a href="intro.html" class="btn btn-neutral" title="1. Introduction" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>- - </div>- -- <hr/>-- <div role="contentinfo">- <p>- © Copyright 2003-2017, Cabal Team.-- </p>- </div>- Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. --</footer>-- </div>- </div>-- </section>-- </div>- --- -- <script type="text/javascript">- var DOCUMENTATION_OPTIONS = {- URL_ROOT:'./',- VERSION:'2.0',- COLLAPSE_INDEX:false,- FILE_SUFFIX:'.html',- HAS_SOURCE: true,- SOURCELINK_SUFFIX: '.txt'- };- </script>- <script type="text/javascript" src="_static/jquery.js"></script>- <script type="text/javascript" src="_static/underscore.js"></script>- <script type="text/javascript" src="_static/doctools.js"></script>-- -- - - <script type="text/javascript" src="_static/js/theme.js"></script>- -- - - <script type="text/javascript">- jQuery(function () {- SphinxRtdTheme.StickyNav.enable();- });- </script>- --</body>-</html>
@@ -1,3144 +0,0 @@---<!DOCTYPE html>-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->-<head>- <meta charset="utf-8">- - <meta name="viewport" content="width=device-width, initial-scale=1.0">- - <title>3.1. Quickstart — Cabal <release> User's Guide</title>- -- - - - -- -- - - -- -- - - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />- -- -- - <link rel="index" title="Index"- href="genindex.html"/>- <link rel="search" title="Search" href="search.html"/>- <link rel="top" title="Cabal <release> User's Guide" href="index.html"/>- <link rel="up" title="3. Package Concepts and Development" href="concepts-and-development.html"/>- <link rel="next" title="4. Reporting Bugs and Stability of Cabal Interfaces" href="bugs-and-stability.html"/>- <link rel="prev" title="3. Package Concepts and Development" href="concepts-and-development.html"/> -- - <script src="_static/js/modernizr.min.js"></script>--</head>--<body class="wy-body-for-nav" role="document">-- - <div class="wy-grid-for-nav">-- - <nav data-toggle="wy-nav-shift" class="wy-nav-side">- <div class="wy-side-scroll">- <div class="wy-side-nav-search">- -- - <a href="index.html" class="icon icon-home"> Cabal- -- - - <img src="_static/Cabal-dark.png" class="logo" />- - </a>-- - - - <div class="version">- 2.0- </div>- - -- -<div role="search">- <form id="rtd-search-form" class="wy-form" action="search.html" method="get">- <input type="text" name="q" placeholder="Search docs" />- <input type="hidden" name="check_keywords" value="yes" />- <input type="hidden" name="area" value="default" />- </form>-</div>-- - </div>-- <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">- - - - - - - - <ul class="current">-<li class="toctree-l1"><a class="reference internal" href="intro.html">1. Introduction</a></li>-<li class="toctree-l1"><a class="reference internal" href="config-and-install.html">2. Configuration and Installing Packages</a></li>-<li class="toctree-l1 current"><a class="reference internal" href="concepts-and-development.html">3. Package Concepts and Development</a><ul class="current">-<li class="toctree-l2 current"><a class="current reference internal" href="#">3.1. Quickstart</a><ul>-<li class="toctree-l3"><a class="reference internal" href="#using-cabal-init">3.1.1. Using “cabal init”</a></li>-<li class="toctree-l3"><a class="reference internal" href="#editing-the-cabal-file">3.1.2. Editing the .cabal file</a></li>-<li class="toctree-l3"><a class="reference internal" href="#modules-included-in-the-package">3.1.3. Modules included in the package</a></li>-<li class="toctree-l3"><a class="reference internal" href="#modules-imported-from-other-packages">3.1.4. Modules imported from other packages</a></li>-<li class="toctree-l3"><a class="reference internal" href="#building-the-package">3.1.5. Building the package</a></li>-<li class="toctree-l3"><a class="reference internal" href="#next-steps">3.1.6. Next steps</a></li>-</ul>-</li>-<li class="toctree-l2"><a class="reference internal" href="#package-concepts">3.2. Package concepts</a><ul>-<li class="toctree-l3"><a class="reference internal" href="#the-point-of-packages">3.2.1. The point of packages</a></li>-<li class="toctree-l3"><a class="reference internal" href="#package-names-and-versions">3.2.2. Package names and versions</a></li>-<li class="toctree-l3"><a class="reference internal" href="#kinds-of-package-cabal-vs-ghc-vs-system">3.2.3. Kinds of package: Cabal vs GHC vs system</a></li>-<li class="toctree-l3"><a class="reference internal" href="#unit-of-distribution">3.2.4. Unit of distribution</a></li>-<li class="toctree-l3"><a class="reference internal" href="#explicit-dependencies-and-automatic-package-management">3.2.5. Explicit dependencies and automatic package management</a></li>-<li class="toctree-l3"><a class="reference internal" href="#portability">3.2.6. Portability</a></li>-</ul>-</li>-<li class="toctree-l2"><a class="reference internal" href="#developing-packages">3.3. Developing packages</a><ul>-<li class="toctree-l3"><a class="reference internal" href="#creating-a-package">3.3.1. Creating a package</a><ul>-<li class="toctree-l4"><a class="reference internal" href="#example-a-package-containing-a-simple-library">3.3.1.1. Example: A package containing a simple library</a></li>-<li class="toctree-l4"><a class="reference internal" href="#example-a-package-containing-executable-programs">3.3.1.2. Example: A package containing executable programs</a></li>-<li class="toctree-l4"><a class="reference internal" href="#example-a-package-containing-a-library-and-executable-programs">3.3.1.3. Example: A package containing a library and executable programs</a></li>-</ul>-</li>-<li class="toctree-l3"><a class="reference internal" href="#package-descriptions">3.3.2. Package descriptions</a><ul>-<li class="toctree-l4"><a class="reference internal" href="#modules-and-preprocessors">3.3.2.1. Modules and preprocessors</a></li>-<li class="toctree-l4"><a class="reference internal" href="#package-properties">3.3.2.2. Package properties</a></li>-<li class="toctree-l4"><a class="reference internal" href="#library">3.3.2.3. Library</a></li>-<li class="toctree-l4"><a class="reference internal" href="#opening-an-interpreter-session">3.3.2.4. Opening an interpreter session</a></li>-<li class="toctree-l4"><a class="reference internal" href="#executables">3.3.2.5. Executables</a></li>-<li class="toctree-l4"><a class="reference internal" href="#test-suites">3.3.2.6. Test suites</a></li>-<li class="toctree-l4"><a class="reference internal" href="#benchmarks">3.3.2.7. Benchmarks</a></li>-<li class="toctree-l4"><a class="reference internal" href="#foreign-libraries">3.3.2.8. Foreign libraries</a></li>-<li class="toctree-l4"><a class="reference internal" href="#build-information">3.3.2.9. Build information</a></li>-<li class="toctree-l4"><a class="reference internal" href="#configurations">3.3.2.10. Configurations</a></li>-<li class="toctree-l4"><a class="reference internal" href="#conditional-blocks">3.3.2.11. Conditional Blocks</a></li>-<li class="toctree-l4"><a class="reference internal" href="#meaning-of-field-values-when-using-conditionals">3.3.2.12. Meaning of field values when using conditionals</a></li>-<li class="toctree-l4"><a class="reference internal" href="#source-repositories">3.3.2.13. Source Repositories</a></li>-<li class="toctree-l4"><a class="reference internal" href="#downloading-a-package-s-source">3.3.2.14. Downloading a package’s source</a></li>-</ul>-</li>-<li class="toctree-l3"><a class="reference internal" href="#custom-setup-scripts">3.3.3. Custom setup scripts</a></li>-<li class="toctree-l3"><a class="reference internal" href="#autogenerated-modules">3.3.4. Autogenerated modules</a></li>-<li class="toctree-l3"><a class="reference internal" href="#accessing-data-files-from-package-code">3.3.5. Accessing data files from package code</a><ul>-<li class="toctree-l4"><a class="reference internal" href="#accessing-the-package-version">3.3.5.1. Accessing the package version</a></li>-</ul>-</li>-<li class="toctree-l3"><a class="reference internal" href="#system-dependent-parameters">3.3.6. System-dependent parameters</a><ul>-<li class="toctree-l4"><a class="reference internal" href="#example-using-autoconf">3.3.6.1. Example: Using autoconf</a></li>-</ul>-</li>-<li class="toctree-l3"><a class="reference internal" href="#conditional-compilation">3.3.7. Conditional compilation</a></li>-<li class="toctree-l3"><a class="reference internal" href="#more-complex-packages">3.3.8. More complex packages</a></li>-</ul>-</li>-</ul>-</li>-<li class="toctree-l1"><a class="reference internal" href="bugs-and-stability.html">4. Reporting Bugs and Stability of Cabal Interfaces</a></li>-<li class="toctree-l1"><a class="reference internal" href="nix-local-build-overview.html">5. Nix-style Local Builds</a></li>-<li class="toctree-l1"><a class="reference internal" href="nix-integration.html">6. Nix Integration</a></li>-</ul>-- - - <a href="cabal-projectindex.html">Reference</a>- <a href="genindex.html">Index</a>-- </div>- </div>- </nav>-- <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">-- - <nav class="wy-nav-top" role="navigation" aria-label="top navigation">- - <i data-toggle="wy-nav-top" class="fa fa-bars"></i>- <a href="index.html">Cabal</a>- - </nav>--- - <div class="wy-nav-content">- <div class="rst-content">- ----------------<div role="navigation" aria-label="breadcrumbs navigation">-- <ul class="wy-breadcrumbs">- - <li><a href="index.html">Docs</a> »</li>- - <li><a href="concepts-and-development.html">3. Package Concepts and Development</a> »</li>- - <li>3.1. Quickstart</li>- - - <li class="wy-breadcrumbs-aside">- - - <a href="_sources/developing-packages.rst.txt" rel="nofollow"> View page source</a>- - - </li>- - </ul>-- - <hr/>-</div>- <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">- <div itemprop="articleBody">- - <div class="section" id="quickstart">-<h1>3.1. Quickstart<a class="headerlink" href="#quickstart" title="Permalink to this headline">¶</a></h1>-<p>Lets assume we have created a project directory and already have a-Haskell module or two.</p>-<p>Every project needs a name, we’ll call this example “proglet”.</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> <span class="nb">cd</span> proglet/-<span class="gp">$</span> ls-<span class="go">Proglet.hs</span>-</pre></div>-</div>-<p>It is assumed that (apart from external dependencies) all the files that-make up a package live under a common project root directory. This-simple example has all the project files in one directory, but most-packages will use one or more subdirectories.</p>-<p>To turn this into a Cabal package we need two extra files in the-project’s root directory:</p>-<ul class="simple">-<li><code class="docutils literal"><span class="pre">proglet.cabal</span></code>: containing package metadata and build information.</li>-<li><code class="docutils literal"><span class="pre">Setup.hs</span></code>: usually containing a few standardized lines of code,-but can be customized if necessary.</li>-</ul>-<p>We can create both files manually or we can use <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">init</span></code> to create-them for us.</p>-<div class="section" id="using-cabal-init">-<h2>3.1.1. Using “cabal init”<a class="headerlink" href="#using-cabal-init" title="Permalink to this headline">¶</a></h2>-<p>The <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">init</span></code> command is interactive. It asks us a number of-questions starting with the package name and version.</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal init-<span class="go">Package name [default "proglet"]?</span>-<span class="go">Package version [default "0.1"]?</span>-<span class="go">...</span>-</pre></div>-</div>-<p>It also asks questions about various other bits of package metadata. For-a package that you never intend to distribute to others, these fields-can be left blank.</p>-<p>One of the important questions is whether the package contains a library-or an executable. Libraries are collections of Haskell modules that can-be re-used by other Haskell libraries and programs, while executables-are standalone programs.</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="go">What does the package build:</span>-<span class="go"> 1) Library</span>-<span class="go"> 2) Executable</span>-<span class="go">Your choice?</span>-</pre></div>-</div>-<p>For the moment these are the only choices. For more complex packages-(e.g. a library and multiple executables or test suites) the <code class="docutils literal"><span class="pre">.cabal</span></code>-file can be edited afterwards.</p>-<p>Finally, <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">init</span></code> creates the initial <code class="docutils literal"><span class="pre">proglet.cabal</span></code> and-<code class="docutils literal"><span class="pre">Setup.hs</span></code> files, and depending on your choice of license, a-<code class="docutils literal"><span class="pre">LICENSE</span></code> file as well.</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="go">Generating LICENSE...</span>-<span class="go">Generating Setup.hs...</span>-<span class="go">Generating proglet.cabal...</span>--<span class="go">You may want to edit the .cabal file and add a Description field.</span>-</pre></div>-</div>-<p>As this stage the <code class="docutils literal"><span class="pre">proglet.cabal</span></code> is not quite complete and before you-are able to build the package you will need to edit the file and add-some build information about the library or executable.</p>-</div>-<div class="section" id="editing-the-cabal-file">-<h2>3.1.2. Editing the .cabal file<a class="headerlink" href="#editing-the-cabal-file" title="Permalink to this headline">¶</a></h2>-<p>Load up the <code class="docutils literal"><span class="pre">.cabal</span></code> file in a text editor. The first part of the-<code class="docutils literal"><span class="pre">.cabal</span></code> file has the package metadata and towards the end of the file-you will find the <a class="reference internal" href="#pkg-section-executable-executable" title="package.cabal executable section "><code class="xref cabal cabal-pkg-section docutils literal"><span class="pre">executable</span></code></a> or <a class="reference internal" href="#pkg-section-library-library" title="package.cabal library section "><code class="xref cabal cabal-pkg-section docutils literal"><span class="pre">library</span></code></a> section.</p>-<p>You will see that the fields that have yet to be filled in are commented-out. Cabal files use “<code class="docutils literal"><span class="pre">--</span></code>” Haskell-style comment syntax. (Note that-comments are only allowed on lines on their own. Trailing comments on-other lines are not allowed because they could be confused with program-options.)</p>-<p>If you selected earlier to create a library package then your <code class="docutils literal"><span class="pre">.cabal</span></code>-file will have a section that looks like this:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">library</span>-<span class="w"> </span><span class="k">exposed-modules</span><span class="p">:</span> Proglet-<span class="w"> </span><span class="c1">-- other-modules:</span>-<span class="w"> </span><span class="c1">-- build-depends:</span>-</pre></div>-</div>-<p>Alternatively, if you selected an executable then there will be a-section like:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">executable</span> proglet-<span class="w"> </span><span class="c1">-- main-is:</span>-<span class="w"> </span><span class="c1">-- other-modules:</span>-<span class="w"> </span><span class="c1">-- build-depends:</span>-</pre></div>-</div>-<p>The build information fields listed (but commented out) are just the few-most important and common fields. There are many others that are covered-later in this chapter.</p>-<p>Most of the build information fields are the same between libraries and-executables. The difference is that libraries have a number of “exposed”-modules that make up the public interface of the library, while-executables have a file containing a <code class="docutils literal"><span class="pre">Main</span></code> module.</p>-<p>The name of a library always matches the name of the package, so it is-not specified in the library section. Executables often follow the name-of the package too, but this is not required and the name is given-explicitly.</p>-</div>-<div class="section" id="modules-included-in-the-package">-<h2>3.1.3. Modules included in the package<a class="headerlink" href="#modules-included-in-the-package" title="Permalink to this headline">¶</a></h2>-<p>For a library, <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">init</span></code> looks in the project directory for files-that look like Haskell modules and adds all the modules to the-<a class="reference internal" href="#pkg-field-library-exposed-modules" title="package.cabal library section exposed-modules: field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">library:exposed-modules</span></code></a> field. For modules that do not form part-of your package’s public interface, you can move those modules to the-<a class="reference internal" href="#pkg-field-other-modules" title="package.cabal other-modules field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">other-modules</span></code></a> field. Either way, all modules in the library need-to be listed.</p>-<p>For an executable, <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">init</span></code> does not try to guess which file-contains your program’s <code class="docutils literal"><span class="pre">Main</span></code> module. You will need to fill in the-<a class="reference internal" href="#pkg-field-executable-main-is" title="package.cabal executable section main-is: field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">executable:main-is</span></code></a> field with the file name of your program’s-<code class="docutils literal"><span class="pre">Main</span></code> module (including <code class="docutils literal"><span class="pre">.hs</span></code> or <code class="docutils literal"><span class="pre">.lhs</span></code> extension). Other modules-included in the executable should be listed in the <a class="reference internal" href="#pkg-field-other-modules" title="package.cabal other-modules field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">other-modules</span></code></a>-field.</p>-</div>-<div class="section" id="modules-imported-from-other-packages">-<h2>3.1.4. Modules imported from other packages<a class="headerlink" href="#modules-imported-from-other-packages" title="Permalink to this headline">¶</a></h2>-<p>While your library or executable may include a number of modules, it-almost certainly also imports a number of external modules from the-standard libraries or other pre-packaged libraries. (These other-libraries are of course just Cabal packages that contain a library.)</p>-<p>You have to list all of the library packages that your library or-executable imports modules from. Or to put it another way: you have to-list all the other packages that your package depends on.</p>-<p>For example, suppose the example <code class="docutils literal"><span class="pre">Proglet</span></code> module imports the module-<code class="docutils literal"><span class="pre">Data.Map</span></code>. The <code class="docutils literal"><span class="pre">Data.Map</span></code> module comes from the <code class="docutils literal"><span class="pre">containers</span></code>-package, so we must list it:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">library</span>-<span class="w"> </span><span class="k">exposed-modules</span><span class="p">:</span> Proglet-<span class="w"> </span><span class="k">other-modules</span><span class="p">:</span>-<span class="w"> </span><span class="k">build-depends</span><span class="p">:</span> containers<span class="p">,</span> base <span class="o">==</span> 4.*-</pre></div>-</div>-<p>In addition, almost every package also depends on the <code class="docutils literal"><span class="pre">base</span></code> library-package because it exports the standard <code class="docutils literal"><span class="pre">Prelude</span></code> module plus other-basic modules like <code class="docutils literal"><span class="pre">Data.List</span></code>.</p>-<p>You will notice that we have listed <code class="docutils literal"><span class="pre">base</span> <span class="pre">==</span> <span class="pre">4.*</span></code>. This gives a-constraint on the version of the base package that our package will work-with. The most common kinds of constraints are:</p>-<ul class="simple">-<li><code class="docutils literal"><span class="pre">pkgname</span> <span class="pre">>=</span> <span class="pre">n</span></code></li>-<li><code class="docutils literal"><span class="pre">pkgname</span> <span class="pre">>=</span> <span class="pre">n</span> <span class="pre">&&</span> <span class="pre"><</span> <span class="pre">m</span></code></li>-<li><code class="docutils literal"><span class="pre">pkgname</span> <span class="pre">==</span> <span class="pre">n.*</span></code></li>-</ul>-<p>The last is just shorthand, for example <code class="docutils literal"><span class="pre">base</span> <span class="pre">==</span> <span class="pre">4.*</span></code> means exactly-the same thing as <code class="docutils literal"><span class="pre">base</span> <span class="pre">>=</span> <span class="pre">4</span> <span class="pre">&&</span> <span class="pre"><</span> <span class="pre">5</span></code>.</p>-</div>-<div class="section" id="building-the-package">-<h2>3.1.5. Building the package<a class="headerlink" href="#building-the-package" title="Permalink to this headline">¶</a></h2>-<p>For simple packages that’s it! We can now try configuring and building-the package:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal configure-<span class="gp">$</span> cabal build-</pre></div>-</div>-<p>Assuming those two steps worked then you can also install the package:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal install-</pre></div>-</div>-<p>For libraries this makes them available for use in GHCi or to be used by-other packages. For executables it installs the program so that you can-run it (though you may first need to adjust your system’s <code class="docutils literal"><span class="pre">$PATH</span></code>).</p>-</div>-<div class="section" id="next-steps">-<h2>3.1.6. Next steps<a class="headerlink" href="#next-steps" title="Permalink to this headline">¶</a></h2>-<p>What we have covered so far should be enough for very simple packages-that you use on your own system.</p>-<p>The next few sections cover more details needed for more complex-packages and details needed for distributing packages to other people.</p>-<p>The previous chapter covers building and installing packages – your own-packages or ones developed by other people.</p>-</div>-</div>-<div class="section" id="package-concepts">-<h1>3.2. Package concepts<a class="headerlink" href="#package-concepts" title="Permalink to this headline">¶</a></h1>-<p>Before diving into the details of writing packages it helps to-understand a bit about packages in the Haskell world and the particular-approach that Cabal takes.</p>-<div class="section" id="the-point-of-packages">-<h2>3.2.1. The point of packages<a class="headerlink" href="#the-point-of-packages" title="Permalink to this headline">¶</a></h2>-<p>Packages are a mechanism for organising and distributing code. Packages-are particularly suited for “programming in the large”, that is building-big systems by using and re-using code written by different people at-different times.</p>-<p>People organise code into packages based on functionality and-dependencies. Social factors are also important: most packages have a-single author, or a relatively small team of authors.</p>-<p>Packages are also used for distribution: the idea is that a package can-be created in one place and be moved to a different computer and be-usable in that different environment. There are a surprising number of-details that have to be got right for this to work, and a good package-system helps to simply this process and make it reliable.</p>-<p>Packages come in two main flavours: libraries of reusable code, and-complete programs. Libraries present a code interface, an API, while-programs can be run directly. In the Haskell world, library packages-expose a set of Haskell modules as their public interface. Cabal-packages can contain a library or executables or both.</p>-<p>Some programming languages have packages as a builtin language concept.-For example in Java, a package provides a local namespace for types and-other definitions. In the Haskell world, packages are not a part of the-language itself. Haskell programs consist of a number of modules, and-packages just provide a way to partition the modules into sets of-related functionality. Thus the choice of module names in Haskell is-still important, even when using packages.</p>-</div>-<div class="section" id="package-names-and-versions">-<h2>3.2.2. Package names and versions<a class="headerlink" href="#package-names-and-versions" title="Permalink to this headline">¶</a></h2>-<p>All packages have a name, e.g. “HUnit”. Package names are assumed to be-unique. Cabal package names may contain letters, numbers and hyphens,-but not spaces and may also not contain a hyphened section consisting of-only numbers. The namespace for Cabal packages is flat, not-hierarchical.</p>-<p>Packages also have a version, e.g “1.1”. This matches the typical way in-which packages are developed. Strictly speaking, each version of a-package is independent, but usually they are very similar. Cabal package-versions follow the conventional numeric style, consisting of a sequence-of digits such as “1.0.1” or “2.0”. There are a range of common-conventions for “versioning” packages, that is giving some meaning to-the version number in terms of changes in the package. Section [TODO]-has some tips on package versioning.</p>-<p>The combination of package name and version is called the <em>package ID</em>-and is written with a hyphen to separate the name and version, e.g.-“HUnit-1.1”.</p>-<p>For Cabal packages, the combination of the package name and version-<em>uniquely</em> identifies each package. Or to put it another way: two-packages with the same name and version are considered to <em>be</em> the same.</p>-<p>Strictly speaking, the package ID only identifies each Cabal <em>source</em>-package; the same Cabal source package can be configured and built in-different ways. There is a separate installed package ID that uniquely-identifies each installed package instance. Most of the time however,-users need not be aware of this detail.</p>-</div>-<div class="section" id="kinds-of-package-cabal-vs-ghc-vs-system">-<h2>3.2.3. Kinds of package: Cabal vs GHC vs system<a class="headerlink" href="#kinds-of-package-cabal-vs-ghc-vs-system" title="Permalink to this headline">¶</a></h2>-<p>It can be slightly confusing at first because there are various-different notions of package floating around. Fortunately the details-are not very complicated.</p>-<dl class="docutils">-<dt>Cabal packages</dt>-<dd><p class="first">Cabal packages are really source packages. That is they contain-Haskell (and sometimes C) source code.</p>-<p class="last">Cabal packages can be compiled to produce GHC packages. They can-also be translated into operating system packages.</p>-</dd>-<dt>GHC packages</dt>-<dd><p class="first">This is GHC’s view on packages. GHC only cares about library-packages, not executables. Library packages have to be registered-with GHC for them to be available in GHCi or to be used when-compiling other programs or packages.</p>-<p>The low-level tool <code class="docutils literal"><span class="pre">ghc-pkg</span></code> is used to register GHC packages and-to get information on what packages are currently registered.</p>-<p>You never need to make GHC packages manually. When you build and-install a Cabal package containing a library then it gets registered-with GHC automatically.</p>-<p class="last">Haskell implementations other than GHC have essentially the same-concept of registered packages. For the most part, Cabal hides the-slight differences.</p>-</dd>-<dt>Operating system packages</dt>-<dd><p class="first">On operating systems like Linux and Mac OS X, the system has a-specific notion of a package and there are tools for installing and-managing packages.</p>-<p>The Cabal package format is designed to allow Cabal packages to be-translated, mostly-automatically, into operating system packages.-They are usually translated 1:1, that is a single Cabal package-becomes a single system package.</p>-<p class="last">It is also possible to make Windows installers from Cabal packages,-though this is typically done for a program together with all of its-library dependencies, rather than packaging each library separately.</p>-</dd>-</dl>-</div>-<div class="section" id="unit-of-distribution">-<h2>3.2.4. Unit of distribution<a class="headerlink" href="#unit-of-distribution" title="Permalink to this headline">¶</a></h2>-<p>The Cabal package is the unit of distribution. What this means is that-each Cabal package can be distributed on its own in source or binary-form. Of course there may dependencies between packages, but there is-usually a degree of flexibility in which versions of packages can work-together so distributing them independently makes sense.</p>-<p>It is perhaps easiest to see what being “the unit of distribution”-means by contrast to an alternative approach. Many projects are made up-of several interdependent packages and during development these might-all be kept under one common directory tree and be built and tested-together. When it comes to distribution however, rather than-distributing them all together in a single tarball, it is required that-they each be distributed independently in their own tarballs.</p>-<p>Cabal’s approach is to say that if you can specify a dependency on a-package then that package should be able to be distributed-independently. Or to put it the other way round, if you want to-distribute it as a single unit, then it should be a single package.</p>-</div>-<div class="section" id="explicit-dependencies-and-automatic-package-management">-<h2>3.2.5. Explicit dependencies and automatic package management<a class="headerlink" href="#explicit-dependencies-and-automatic-package-management" title="Permalink to this headline">¶</a></h2>-<p>Cabal takes the approach that all packages dependencies are specified-explicitly and specified in a declarative way. The point is to enable-automatic package management. This means tools like <code class="docutils literal"><span class="pre">cabal</span></code> can-resolve dependencies and install a package plus all of its dependencies-automatically. Alternatively, it is possible to mechanically (or mostly-mechanically) translate Cabal packages into system packages and let the-system package manager install dependencies automatically.</p>-<p>It is important to track dependencies accurately so that packages can-reliably be moved from one system to another system and still be able to-build it there. Cabal is therefore relatively strict about specifying-dependencies. For example Cabal’s default build system will not even let-code build if it tries to import a module from a package that isn’t-listed in the <code class="docutils literal"><span class="pre">.cabal</span></code> file, even if that package is actually-installed. This helps to ensure that there are no “untracked-dependencies” that could cause the code to fail to build on some other-system.</p>-<p>The explicit dependency approach is in contrast to the traditional-“./configure” approach where instead of specifying dependencies-declaratively, the <code class="docutils literal"><span class="pre">./configure</span></code> script checks if the dependencies are-present on the system. Some manual work is required to transform a-<code class="docutils literal"><span class="pre">./configure</span></code> based package into a Linux distribution package (or-similar). This conversion work is usually done by people other than the-package author(s). The practical effect of this is that only the most-popular packages will benefit from automatic package management.-Instead, Cabal forces the original author to specify the dependencies-but the advantage is that every package can benefit from automatic-package management.</p>-<p>The “./configure” approach tends to encourage packages that adapt-themselves to the environment in which they are built, for example by-disabling optional features so that they can continue to work when a-particular dependency is not available. This approach makes sense in a-world where installing additional dependencies is a tiresome manual-process and so minimising dependencies is important. The automatic-package management view is that packages should just declare what they-need and the package manager will take responsibility for ensuring that-all the dependencies are installed.</p>-<p>Sometimes of course optional features and optional dependencies do make-sense. Cabal packages can have optional features and varying-dependencies. These conditional dependencies are still specified in a-declarative way however and remain compatible with automatic package-management. The need to remain compatible with automatic package-management means that Cabal’s conditional dependencies system is a bit-less flexible than with the “./configure” approach.</p>-</div>-<div class="section" id="portability">-<h2>3.2.6. Portability<a class="headerlink" href="#portability" title="Permalink to this headline">¶</a></h2>-<p>One of the purposes of Cabal is to make it easier to build packages on-different platforms (operating systems and CPU architectures), with-different compiler versions and indeed even with different Haskell-implementations. (Yes, there are Haskell implementations other than-GHC!)</p>-<p>Cabal provides abstractions of features present in different Haskell-implementations and wherever possible it is best to take advantage of-these to increase portability. Where necessary however it is possible to-use specific features of specific implementations.</p>-<p>For example a package author can list in the package’s <code class="docutils literal"><span class="pre">.cabal</span></code> what-language extensions the code uses. This allows Cabal to figure out if-the language extension is supported by the Haskell implementation that-the user picks. Additionally, certain language extensions such as-Template Haskell require special handling from the build system and by-listing the extension it provides the build system with enough-information to do the right thing.</p>-<p>Another similar example is linking with foreign libraries. Rather than-specifying GHC flags directly, the package author can list the libraries-that are needed and the build system will take care of using the right-flags for the compiler. Additionally this makes it easier for tools to-discover what system C libraries a package needs, which is useful for-tracking dependencies on system libraries (e.g. when translating into-Linux distribution packages).</p>-<p>In fact both of these examples fall into the category of explicitly-specifying dependencies. Not all dependencies are other Cabal packages.-Foreign libraries are clearly another kind of dependency. It’s also-possible to think of language extensions as dependencies: the package-depends on a Haskell implementation that supports all those extensions.</p>-<p>Where compiler-specific options are needed however, there is an “escape-hatch” available. The developer can specify implementation-specific-options and more generally there is a configuration mechanism to-customise many aspects of how a package is built depending on the-Haskell implementation, the operating system, computer architecture and-user-specified configuration flags.</p>-</div>-</div>-<div class="section" id="developing-packages">-<h1>3.3. Developing packages<a class="headerlink" href="#developing-packages" title="Permalink to this headline">¶</a></h1>-<p>The Cabal package is the unit of distribution. When installed, its-purpose is to make available:</p>-<ul class="simple">-<li>One or more Haskell programs.</li>-<li>At most one library, exposing a number of Haskell modules.</li>-</ul>-<p>However having both a library and executables in a package does not work-very well; if the executables depend on the library, they must-explicitly list all the modules they directly or indirectly import from-that library. Fortunately, starting with Cabal 1.8.0.4, executables can-also declare the package that they are in as a dependency, and Cabal-will treat them as if they were in another package that depended on the-library.</p>-<p>Internally, the package may consist of much more than a bunch of Haskell-modules: it may also have C source code and header files, source code-meant for preprocessing, documentation, test cases, auxiliary tools etc.</p>-<p>A package is identified by a globally-unique <em>package name</em>, which-consists of one or more alphanumeric words separated by hyphens. To-avoid ambiguity, each of these words should contain at least one letter.-Chaos will result if two distinct packages with the same name are-installed on the same system. A particular version of the package is-distinguished by a <em>version number</em>, consisting of a sequence of one or-more integers separated by dots. These can be combined to form a single-text string called the <em>package ID</em>, using a hyphen to separate the name-from the version, e.g. “<code class="docutils literal"><span class="pre">HUnit-1.1</span></code>”.</p>-<div class="admonition note">-<p class="first admonition-title">Note</p>-<p class="last">Packages are not part of the Haskell language; they simply-populate the hierarchical space of module names. In GHC 6.6 and later a-program may contain multiple modules with the same name if they come-from separate packages; in all other current Haskell systems packages-may not overlap in the modules they provide, including hidden modules.</p>-</div>-<div class="section" id="creating-a-package">-<h2>3.3.1. Creating a package<a class="headerlink" href="#creating-a-package" title="Permalink to this headline">¶</a></h2>-<p>Suppose you have a directory hierarchy containing the source files that-make up your package. You will need to add two more files to the root-directory of the package:</p>-<dl class="docutils">-<dt><code class="file docutils literal"><em><span class="pre">package</span></em><span class="pre">.cabal</span></code></dt>-<dd>a Unicode UTF-8 text file containing a package description. For-details of the syntax of this file, see the section on-<a class="reference internal" href="#package-descriptions">package descriptions</a>.</dd>-<dt><code class="file docutils literal"><span class="pre">Setup.hs</span></code></dt>-<dd>a single-module Haskell program to perform various setup tasks (with-the interface described in the section on <a class="reference internal" href="installing-packages.html#installing-packages"><span class="std std-ref">Building and installing packages</span></a>).-This module should import only modules that will be present in all Haskell-implementations, including modules of the Cabal library. The content of-this file is determined by the <a class="reference internal" href="#pkg-field-build-type" title="package.cabal build-type field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-type</span></code></a> setting in the-<code class="docutils literal"><span class="pre">.cabal</span></code> file. In most cases it will be trivial, calling on the Cabal-library to do most of the work.</dd>-</dl>-<p>Once you have these, you can create a source bundle of this directory-for distribution. Building of the package is discussed in the section on-<a class="reference internal" href="installing-packages.html#installing-packages"><span class="std std-ref">Building and installing packages</span></a>.</p>-<p>One of the purposes of Cabal is to make it easier to build a package-with different Haskell implementations. So it provides abstractions of-features present in different Haskell implementations and wherever-possible it is best to take advantage of these to increase portability.-Where necessary however it is possible to use specific features of-specific implementations. For example one of the pieces of information a-package author can put in the package’s <code class="docutils literal"><span class="pre">.cabal</span></code> file is what language-extensions the code uses. This is far preferable to specifying flags for-a specific compiler as it allows Cabal to pick the right flags for the-Haskell implementation that the user picks. It also allows Cabal to-figure out if the language extension is even supported by the Haskell-implementation that the user picks. Where compiler-specific options are-needed however, there is an “escape hatch” available. The developer can-specify implementation-specific options and more generally there is a-configuration mechanism to customise many aspects of how a package is-built depending on the Haskell implementation, the Operating system,-computer architecture and user-specified configuration flags.</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">name</span><span class="p">:</span> Foo-<span class="k">version</span><span class="p">:</span> 1.0--<span class="k">library</span>-<span class="w"> </span><span class="k">build-depends</span><span class="p">:</span> base-<span class="w"> </span><span class="k">exposed-modules</span><span class="p">:</span> Foo-<span class="w"> </span><span class="k">extensions</span><span class="p">:</span> ForeignFunctionInterface-<span class="w"> </span><span class="k">ghc-options</span><span class="p">:</span> -Wall- if os(windows)-<span class="w"> </span><span class="k">build-depends</span><span class="p">:</span> Win32-</pre></div>-</div>-<div class="section" id="example-a-package-containing-a-simple-library">-<h3>3.3.1.1. Example: A package containing a simple library<a class="headerlink" href="#example-a-package-containing-a-simple-library" title="Permalink to this headline">¶</a></h3>-<p>The HUnit package contains a file <code class="docutils literal"><span class="pre">HUnit.cabal</span></code> containing:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">name</span><span class="p">:</span> HUnit-<span class="k">version</span><span class="p">:</span> 1.1.1-<span class="k">synopsis</span><span class="p">:</span> A unit testing framework for Haskell-<span class="k">homepage</span><span class="p">:</span> http<span class="p">:</span>//hunit.sourceforge.net/-<span class="k">category</span><span class="p">:</span> Testing-<span class="k">author</span><span class="p">:</span> Dean Herington-<span class="k">license</span><span class="p">:</span> BSD3-<span class="k">license-file</span><span class="p">:</span> LICENSE-<span class="k">cabal-version</span><span class="p">:</span> <span class="o">>=</span> 1.10-<span class="k">build-type</span><span class="p">:</span> Simple--<span class="k">library</span>-<span class="w"> </span><span class="k">build-depends</span><span class="p">:</span> base <span class="o">>=</span> 2 <span class="o">&&</span> <span class="o"><</span> 4-<span class="w"> </span><span class="k">exposed-modules</span><span class="p">:</span> Test.HUnit.Base<span class="p">,</span> Test.HUnit.Lang<span class="p">,</span>- Test.HUnit.Terminal<span class="p">,</span> Test.HUnit.Text<span class="p">,</span> Test.HUnit-<span class="w"> </span><span class="k">default-extensions</span><span class="p">:</span> CPP-</pre></div>-</div>-<p>and the following <code class="docutils literal"><span class="pre">Setup.hs</span></code>:</p>-<div class="highlight-haskell"><div class="highlight"><pre><span></span><span class="kr">import</span> <span class="nn">Distribution.Simple</span>-<span class="nf">main</span> <span class="ow">=</span> <span class="n">defaultMain</span>-</pre></div>-</div>-</div>-<div class="section" id="example-a-package-containing-executable-programs">-<h3>3.3.1.2. Example: A package containing executable programs<a class="headerlink" href="#example-a-package-containing-executable-programs" title="Permalink to this headline">¶</a></h3>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">name</span><span class="p">:</span> TestPackage-<span class="k">version</span><span class="p">:</span> 0.0-<span class="k">synopsis</span><span class="p">:</span> Small package with two programs-<span class="k">author</span><span class="p">:</span> Angela Author-<span class="k">license</span><span class="p">:</span> BSD3-<span class="k">build-type</span><span class="p">:</span> Simple-<span class="k">cabal-version</span><span class="p">:</span> <span class="o">>=</span> 1.2--<span class="k">executable</span> program1-<span class="w"> </span><span class="k">build-depends</span><span class="p">:</span> HUnit-<span class="w"> </span><span class="k">main-is</span><span class="p">:</span> Main.hs-<span class="w"> </span><span class="k">hs-source-dirs</span><span class="p">:</span> prog1--<span class="k">executable</span> program2-<span class="w"> </span><span class="k">main-is</span><span class="p">:</span> Main.hs-<span class="w"> </span><span class="k">build-depends</span><span class="p">:</span> HUnit-<span class="w"> </span><span class="k">hs-source-dirs</span><span class="p">:</span> prog2-<span class="w"> </span><span class="k">other-modules</span><span class="p">:</span> Utils-</pre></div>-</div>-<p>with <code class="docutils literal"><span class="pre">Setup.hs</span></code> the same as above.</p>-</div>-<div class="section" id="example-a-package-containing-a-library-and-executable-programs">-<h3>3.3.1.3. Example: A package containing a library and executable programs<a class="headerlink" href="#example-a-package-containing-a-library-and-executable-programs" title="Permalink to this headline">¶</a></h3>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">name</span><span class="p">:</span> TestPackage-<span class="k">version</span><span class="p">:</span> 0.0-<span class="k">synopsis</span><span class="p">:</span> Package with library and two programs-<span class="k">license</span><span class="p">:</span> BSD3-<span class="k">author</span><span class="p">:</span> Angela Author-<span class="k">build-type</span><span class="p">:</span> Simple-<span class="k">cabal-version</span><span class="p">:</span> <span class="o">>=</span> 1.2--<span class="k">library</span>-<span class="w"> </span><span class="k">build-depends</span><span class="p">:</span> HUnit-<span class="w"> </span><span class="k">exposed-modules</span><span class="p">:</span> A<span class="p">,</span> B<span class="p">,</span> C--<span class="k">executable</span> program1-<span class="w"> </span><span class="k">main-is</span><span class="p">:</span> Main.hs-<span class="w"> </span><span class="k">hs-source-dirs</span><span class="p">:</span> prog1-<span class="w"> </span><span class="k">other-modules</span><span class="p">:</span> A<span class="p">,</span> B--<span class="k">executable</span> program2-<span class="w"> </span><span class="k">main-is</span><span class="p">:</span> Main.hs-<span class="w"> </span><span class="k">hs-source-dirs</span><span class="p">:</span> prog2-<span class="w"> </span><span class="k">other-modules</span><span class="p">:</span> A<span class="p">,</span> C<span class="p">,</span> Utils-</pre></div>-</div>-<p>with <code class="docutils literal"><span class="pre">Setup.hs</span></code> the same as above. Note that any library modules-required (directly or indirectly) by an executable must be listed again.</p>-<p>The trivial setup script used in these examples uses the <em>simple build-infrastructure</em> provided by the Cabal library (see-<a class="reference external" href="../release/cabal-latest/doc/API/Cabal/Distribution-Simple.html">Distribution.Simple</a>).-The simplicity lies in its interface rather that its implementation. It-automatically handles preprocessing with standard preprocessors, and-builds packages for all the Haskell implementations.</p>-<p>The simple build infrastructure can also handle packages where building-is governed by system-dependent parameters, if you specify a little more-(see the section on <a class="reference internal" href="#system-dependent-parameters">system-dependent parameters</a>).-A few packages require <a class="reference external" href="morecomplexpackages">more elaborate solutions</a>.</p>-</div>-</div>-<div class="section" id="package-descriptions">-<h2>3.3.2. Package descriptions<a class="headerlink" href="#package-descriptions" title="Permalink to this headline">¶</a></h2>-<p>The package description file must have a name ending in “<code class="docutils literal"><span class="pre">.cabal</span></code>”. It-must be a Unicode text file encoded using valid UTF-8. There must be-exactly one such file in the directory. The first part of the name is-usually the package name, and some of the tools that operate on Cabal-packages require this.</p>-<p>In the package description file, lines whose first non-whitespace-characters are “<code class="docutils literal"><span class="pre">--</span></code>” are treated as comments and ignored.</p>-<p>This file should contain of a number global property descriptions and-several sections.</p>-<ul class="simple">-<li>The <a class="reference internal" href="#package-properties">package properties</a> describe the package-as a whole, such as name, license, author, etc.</li>-<li>Optionally, a number of <em>configuration flags</em> can be declared. These-can be used to enable or disable certain features of a package. (see-the section on <a class="reference internal" href="#configurations">configurations</a>).</li>-<li>The (optional) library section specifies the <a class="reference internal" href="#library">library</a> properties and-relevant <a class="reference internal" href="#build-information">build information</a>.</li>-<li>Following is an arbitrary number of executable sections which describe-an executable program and relevant <a class="reference internal" href="#build-information">build information</a>.</li>-</ul>-<p>Each section consists of a number of property descriptions in the form-of field/value pairs, with a syntax roughly like mail message headers.</p>-<ul class="simple">-<li>Case is not significant in field names, but is significant in field-values.</li>-<li>To continue a field value, indent the next line relative to the field-name.</li>-<li>Field names may be indented, but all field values in the same section-must use the same indentation.</li>-<li>Tabs are <em>not</em> allowed as indentation characters due to a missing-standard interpretation of tab width.</li>-<li>To get a blank line in a field value, use an indented “<code class="docutils literal"><span class="pre">.</span></code>”</li>-</ul>-<p>The syntax of the value depends on the field. Field types include:</p>-<dl class="docutils">-<dt><em>token</em>, <em>filename</em>, <em>directory</em></dt>-<dd>Either a sequence of one or more non-space non-comma characters, or-a quoted string in Haskell 98 lexical syntax. The latter can be used-for escaping whitespace, for example:-<code class="docutils literal"><span class="pre">ghc-options:</span> <span class="pre">-Wall</span> <span class="pre">"-with-rtsopts=-T</span> <span class="pre">-I1"</span></code>. Unless otherwise-stated, relative filenames and directories are interpreted from the-package root directory.</dd>-<dt><em>freeform</em>, <em>URL</em>, <em>address</em></dt>-<dd>An arbitrary, uninterpreted string.</dd>-<dt><em>identifier</em></dt>-<dd>A letter followed by zero or more alphanumerics or underscores.</dd>-<dt><em>compiler</em></dt>-<dd>A compiler flavor (one of: <code class="docutils literal"><span class="pre">GHC</span></code>, <code class="docutils literal"><span class="pre">JHC</span></code>, <code class="docutils literal"><span class="pre">UHC</span></code> or <code class="docutils literal"><span class="pre">LHC</span></code>)-followed by a version range. For example, <code class="docutils literal"><span class="pre">GHC</span> <span class="pre">==6.10.3</span></code>, or-<code class="docutils literal"><span class="pre">LHC</span> <span class="pre">>=0.6</span> <span class="pre">&&</span> <span class="pre"><0.8</span></code>.</dd>-</dl>-<div class="section" id="modules-and-preprocessors">-<h3>3.3.2.1. Modules and preprocessors<a class="headerlink" href="#modules-and-preprocessors" title="Permalink to this headline">¶</a></h3>-<p>Haskell module names listed in the <a class="reference internal" href="#pkg-field-library-exposed-modules" title="package.cabal library section exposed-modules: field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">library:exposed-modules</span></code></a> and-<a class="reference internal" href="#pkg-field-other-modules" title="package.cabal other-modules field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">library:other-modules</span></code></a> fields may correspond to Haskell source-files, i.e. with names ending in “<code class="docutils literal"><span class="pre">.hs</span></code>” or “<code class="docutils literal"><span class="pre">.lhs</span></code>”, or to inputs for-various Haskell preprocessors. The simple build infrastructure understands the-extensions:</p>-<ul class="simple">-<li><code class="docutils literal"><span class="pre">.gc</span></code> (<a class="reference external" href="http://hackage.haskell.org/package/greencard">greencard</a>)</li>-<li><code class="docutils literal"><span class="pre">.chs</span></code> (<a class="reference external" href="http://hackage.haskell.org/package/c2hs">c2hs</a>)</li>-<li><code class="docutils literal"><span class="pre">.hsc</span></code> (<a class="reference external" href="http://hackage.haskell.org/package/hsc2hs">hsc2hs</a>)</li>-<li><code class="docutils literal"><span class="pre">.y</span></code> and <code class="docutils literal"><span class="pre">.ly</span></code> (<a class="reference external" href="http://www.haskell.org/happy/">happy</a>)</li>-<li><code class="docutils literal"><span class="pre">.x</span></code> (<a class="reference external" href="http://www.haskell.org/alex/">alex</a>)</li>-<li><code class="docutils literal"><span class="pre">.cpphs</span></code> (<a class="reference external" href="http://projects.haskell.org/cpphs/">cpphs</a>)</li>-</ul>-<p>When building, Cabal will automatically run the appropriate preprocessor-and compile the Haskell module it produces. For the <code class="docutils literal"><span class="pre">c2hs</span></code> and-<code class="docutils literal"><span class="pre">hsc2hs</span></code> preprocessors, Cabal will also automatically add, compile and-link any C sources generated by the preprocessor (produced by-<code class="docutils literal"><span class="pre">hsc2hs</span></code>’s <code class="docutils literal"><span class="pre">#def</span></code> feature or <code class="docutils literal"><span class="pre">c2hs</span></code>’s auto-generated wrapper-functions).</p>-<p>Some fields take lists of values, which are optionally separated by-commas, except for the <a class="reference internal" href="#pkg-field-build-depends" title="package.cabal build-depends field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-depends</span></code></a> field, where the commas are-mandatory.</p>-<p>Some fields are marked as required. All others are optional, and unless-otherwise specified have empty default values.</p>-</div>-<div class="section" id="package-properties">-<h3>3.3.2.2. Package properties<a class="headerlink" href="#package-properties" title="Permalink to this headline">¶</a></h3>-<p>These fields may occur in the first top-level properties section and-describe the package as a whole:</p>-<dl class="pkg-field">-<dt id="pkg-field-name">-<code class="descname">name</code><code class="descclassname">: </code><em class="property">package-name (required)</em><a class="headerlink" href="#pkg-field-name" title="Permalink to this definition">¶</a></dt>-<dd><p>The unique name of the package, without the version number.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-version">-<code class="descname">version</code><code class="descclassname">: </code><em class="property">numbers (required)</em><a class="headerlink" href="#pkg-field-version" title="Permalink to this definition">¶</a></dt>-<dd><p>The package version number, usually consisting of a sequence of-natural numbers separated by dots.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-cabal-version">-<code class="descname">cabal-version</code><code class="descclassname">: </code><em class="property">>= x.y</em><a class="headerlink" href="#pkg-field-cabal-version" title="Permalink to this definition">¶</a></dt>-<dd><p>The version of the Cabal specification that this package description-uses. The Cabal specification does slowly evolve, introducing new-features and occasionally changing the meaning of existing features.-By specifying which version of the spec you are using it enables-programs which process the package description to know what syntax-to expect and what each part means.</p>-<p>For historical reasons this is always expressed using <em>>=</em> version-range syntax. No other kinds of version range make sense, in-particular upper bounds do not make sense. In future this field will-specify just a version number, rather than a version range.</p>-<p>The version number you specify will affect both compatibility and-behaviour. Most tools (including the Cabal library and cabal-program) understand a range of versions of the Cabal specification.-Older tools will of course only work with older versions of the-Cabal specification. Most of the time, tools that are too old will-recognise this fact and produce a suitable error message.</p>-<p>As for behaviour, new versions of the Cabal spec can change the-meaning of existing syntax. This means if you want to take advantage-of the new meaning or behaviour then you must specify the newer-Cabal version. Tools are expected to use the meaning and behaviour-appropriate to the version given in the package description.</p>-<p>In particular, the syntax of package descriptions changed-significantly with Cabal version 1.2 and the <a class="reference internal" href="#pkg-field-cabal-version" title="package.cabal cabal-version field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">cabal-version</span></code></a>-field is now required. Files written in the old syntax are still-recognized, so if you require compatibility with very old Cabal-versions then you may write your package description file using the-old syntax. Please consult the user’s guide of an older Cabal-version for a description of that syntax.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-build-type">-<code class="descname">build-type</code><code class="descclassname">: </code><em class="property">identifier</em><a class="headerlink" href="#pkg-field-build-type" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body"><code class="docutils literal"><span class="pre">Custom</span></code></td>-</tr>-</tbody>-</table>-<p>The type of build used by this package. Build types are the-constructors of the-<a class="reference external" href="../release/cabal-latest/doc/API/Cabal/Distribution-PackageDescription.html#t:BuildType">BuildType</a>-type, defaulting to <code class="docutils literal"><span class="pre">Custom</span></code>.</p>-<p>If the build type is anything other than <code class="docutils literal"><span class="pre">Custom</span></code>, then the-<code class="docutils literal"><span class="pre">Setup.hs</span></code> file <em>must</em> be exactly the standardized content-discussed below. This is because in these cases, <code class="docutils literal"><span class="pre">cabal</span></code> will-ignore the <code class="docutils literal"><span class="pre">Setup.hs</span></code> file completely, whereas other methods of-package management, such as <code class="docutils literal"><span class="pre">runhaskell</span> <span class="pre">Setup.hs</span> <span class="pre">[CMD]</span></code>, still-rely on the <code class="docutils literal"><span class="pre">Setup.hs</span></code> file.</p>-<p>For build type <code class="docutils literal"><span class="pre">Simple</span></code>, the contents of <code class="docutils literal"><span class="pre">Setup.hs</span></code> must be:</p>-<div class="highlight-haskell"><div class="highlight"><pre><span></span><span class="kr">import</span> <span class="nn">Distribution.Simple</span>-<span class="nf">main</span> <span class="ow">=</span> <span class="n">defaultMain</span>-</pre></div>-</div>-<p>For build type <code class="docutils literal"><span class="pre">Configure</span></code> (see the section on <a class="reference internal" href="#system-dependent-parameters">system-dependent-parameters</a> below), the contents of-<code class="docutils literal"><span class="pre">Setup.hs</span></code> must be:</p>-<div class="highlight-haskell"><div class="highlight"><pre><span></span><span class="kr">import</span> <span class="nn">Distribution.Simple</span>-<span class="nf">main</span> <span class="ow">=</span> <span class="n">defaultMainWithHooks</span> <span class="n">autoconfUserHooks</span>-</pre></div>-</div>-<p>For build type <code class="docutils literal"><span class="pre">Make</span></code> (see the section on <a class="reference internal" href="#more-complex-packages">more complex packages</a> below),-the contents of <code class="docutils literal"><span class="pre">Setup.hs</span></code> must be:</p>-<div class="highlight-haskell"><div class="highlight"><pre><span></span><span class="kr">import</span> <span class="nn">Distribution.Make</span>-<span class="nf">main</span> <span class="ow">=</span> <span class="n">defaultMain</span>-</pre></div>-</div>-<p>For build type <code class="docutils literal"><span class="pre">Custom</span></code>, the file <code class="docutils literal"><span class="pre">Setup.hs</span></code> can be customized,-and will be used both by <code class="docutils literal"><span class="pre">cabal</span></code> and other tools.</p>-<p>For most packages, the build type <code class="docutils literal"><span class="pre">Simple</span></code> is sufficient.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-license">-<code class="descname">license</code><code class="descclassname">: </code><em class="property">identifier</em><a class="headerlink" href="#pkg-field-license" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body"><code class="docutils literal"><span class="pre">AllRightsReserved</span></code></td>-</tr>-</tbody>-</table>-<p>The type of license under which this package is distributed. License-names are the constants of the-<a class="reference external" href="../release/cabal-latest/doc/API/Cabal/Distribution-License.html#t:License">License</a>-type.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-license-file">-<code class="descname">license-file</code><code class="descclassname">: </code><em class="property">filename</em><a class="headerlink" href="#pkg-field-license-file" title="Permalink to this definition">¶</a></dt>-<dd></dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-license-files">-<code class="descname">license-files</code><code class="descclassname">: </code><em class="property">filename list</em><a class="headerlink" href="#pkg-field-license-files" title="Permalink to this definition">¶</a></dt>-<dd><p>The name of a file(s) containing the precise copyright license for-this package. The license file(s) will be installed with the-package.</p>-<p>If you have multiple license files then use the <a class="reference internal" href="#pkg-field-license-files" title="package.cabal license-files field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">license-files</span></code></a>-field instead of (or in addition to) the <a class="reference internal" href="#pkg-field-license-file" title="package.cabal license-file field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">license-file</span></code></a> field.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-copyright">-<code class="descname">copyright</code><code class="descclassname">: </code><em class="property">freeform</em><a class="headerlink" href="#pkg-field-copyright" title="Permalink to this definition">¶</a></dt>-<dd><p>The content of a copyright notice, typically the name of the holder-of the copyright on the package and the year(s) from which copyright-is claimed. For example:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">copyright</span><span class="p">:</span> (c) 2006-2007 Joe Bloggs-</pre></div>-</div>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-author">-<code class="descname">author</code><code class="descclassname">: </code><em class="property">freeform</em><a class="headerlink" href="#pkg-field-author" title="Permalink to this definition">¶</a></dt>-<dd><p>The original author of the package.</p>-<p>Remember that <code class="docutils literal"><span class="pre">.cabal</span></code> files are Unicode, using the UTF-8-encoding.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-maintainer">-<code class="descname">maintainer</code><code class="descclassname">: </code><em class="property">address</em><a class="headerlink" href="#pkg-field-maintainer" title="Permalink to this definition">¶</a></dt>-<dd><p>The current maintainer or maintainers of the package. This is an-e-mail address to which users should send bug reports, feature-requests and patches.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-stability">-<code class="descname">stability</code><code class="descclassname">: </code><em class="property">freeform</em><a class="headerlink" href="#pkg-field-stability" title="Permalink to this definition">¶</a></dt>-<dd><p>The stability level of the package, e.g. <code class="docutils literal"><span class="pre">alpha</span></code>,-<code class="docutils literal"><span class="pre">experimental</span></code>, <code class="docutils literal"><span class="pre">provisional</span></code>, <code class="docutils literal"><span class="pre">stable</span></code>.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-homepage">-<code class="descname">homepage</code><code class="descclassname">: </code><em class="property">URL</em><a class="headerlink" href="#pkg-field-homepage" title="Permalink to this definition">¶</a></dt>-<dd><p>The package homepage.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-bug-reports">-<code class="descname">bug-reports</code><code class="descclassname">: </code><em class="property">URL</em><a class="headerlink" href="#pkg-field-bug-reports" title="Permalink to this definition">¶</a></dt>-<dd><p>The URL where users should direct bug reports. This would normally-be either:</p>-<ul class="simple">-<li>A <code class="docutils literal"><span class="pre">mailto:</span></code> URL, e.g. for a person or a mailing list.</li>-<li>An <code class="docutils literal"><span class="pre">http:</span></code> (or <code class="docutils literal"><span class="pre">https:</span></code>) URL for an online bug tracking-system.</li>-</ul>-<p>For example Cabal itself uses a web-based bug tracking system</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">bug-reports</span><span class="p">:</span> https<span class="p">:</span>//github.com/haskell/cabal/issues-</pre></div>-</div>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-package-url">-<code class="descname">package-url</code><code class="descclassname">: </code><em class="property">URL</em><a class="headerlink" href="#pkg-field-package-url" title="Permalink to this definition">¶</a></dt>-<dd><p>The location of a source bundle for the package. The distribution-should be a Cabal package.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-synopsis">-<code class="descname">synopsis</code><code class="descclassname">: </code><em class="property">freeform</em><a class="headerlink" href="#pkg-field-synopsis" title="Permalink to this definition">¶</a></dt>-<dd><p>A very short description of the package, for use in a table of-packages. This is your headline, so keep it short (one line) but as-informative as possible. Save space by not including the package-name or saying it’s written in Haskell.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-description">-<code class="descname">description</code><code class="descclassname">: </code><em class="property">freeform</em><a class="headerlink" href="#pkg-field-description" title="Permalink to this definition">¶</a></dt>-<dd><p>Description of the package. This may be several paragraphs, and-should be aimed at a Haskell programmer who has never heard of your-package before.</p>-<p>For library packages, this field is used as prologue text by-<a class="reference internal" href="installing-packages.html#setup-haddock"><span class="std std-ref">setup haddock</span></a> and thus may contain the same markup as <a class="reference external" href="http://www.haskell.org/haddock/">Haddock</a>-documentation comments.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-category">-<code class="descname">category</code><code class="descclassname">: </code><em class="property">freeform</em><a class="headerlink" href="#pkg-field-category" title="Permalink to this definition">¶</a></dt>-<dd><p>A classification category for future use by the package catalogue-<a class="reference external" href="http://hackage.haskell.org/">Hackage</a>. These categories have not-yet been specified, but the upper levels of the module hierarchy-make a good start.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-tested-with">-<code class="descname">tested-with</code><code class="descclassname">: </code><em class="property">compiler list</em><a class="headerlink" href="#pkg-field-tested-with" title="Permalink to this definition">¶</a></dt>-<dd><p>A list of compilers and versions against which the package has been-tested (or at least built).</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-data-files">-<code class="descname">data-files</code><code class="descclassname">: </code><em class="property">filename list</em><a class="headerlink" href="#pkg-field-data-files" title="Permalink to this definition">¶</a></dt>-<dd><p>A list of files to be installed for run-time use by the package.-This is useful for packages that use a large amount of static data,-such as tables of values or code templates. Cabal provides a way to-<a class="reference external" href="accessingdatafilesfrompackagecode">find these files at run-time</a>.</p>-<p>A limited form of <code class="docutils literal"><span class="pre">*</span></code> wildcards in file names, for example-<code class="docutils literal"><span class="pre">data-files:</span> <span class="pre">images/*.png</span></code> matches all the <code class="docutils literal"><span class="pre">.png</span></code> files in the-<code class="docutils literal"><span class="pre">images</span></code> directory.</p>-<p>The limitation is that <code class="docutils literal"><span class="pre">*</span></code> wildcards are only allowed in place of-the file name, not in the directory name or file extension. In-particular, wildcards do not include directories contents-recursively. Furthermore, if a wildcard is used it must be used with-an extension, so <code class="docutils literal"><span class="pre">data-files:</span> <span class="pre">data/*</span></code> is not allowed. When-matching a wildcard plus extension, a file’s full extension must-match exactly, so <code class="docutils literal"><span class="pre">*.gz</span></code> matches <code class="docutils literal"><span class="pre">foo.gz</span></code> but not-<code class="docutils literal"><span class="pre">foo.tar.gz</span></code>. A wildcard that does not match any files is an-error.</p>-<p>The reason for providing only a very limited form of wildcard is to-concisely express the common case of a large number of related files-of the same file type without making it too easy to accidentally-include unwanted files.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-data-dir">-<code class="descname">data-dir</code><code class="descclassname">: </code><em class="property">directory</em><a class="headerlink" href="#pkg-field-data-dir" title="Permalink to this definition">¶</a></dt>-<dd><p>The directory where Cabal looks for data files to install, relative-to the source directory. By default, Cabal will look in the source-directory itself.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-extra-source-files">-<code class="descname">extra-source-files</code><code class="descclassname">: </code><em class="property">filename list</em><a class="headerlink" href="#pkg-field-extra-source-files" title="Permalink to this definition">¶</a></dt>-<dd><p>A list of additional files to be included in source distributions-built with <a class="reference internal" href="installing-packages.html#setup-sdist"><span class="std std-ref">setup sdist</span></a>. As with <a class="reference internal" href="#pkg-field-data-files" title="package.cabal data-files field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">data-files</span></code></a> it can use-a limited form of <code class="docutils literal"><span class="pre">*</span></code> wildcards in file names.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-extra-doc-files">-<code class="descname">extra-doc-files</code><code class="descclassname">: </code><em class="property">filename list</em><a class="headerlink" href="#pkg-field-extra-doc-files" title="Permalink to this definition">¶</a></dt>-<dd><p>A list of additional files to be included in source distributions,-and also copied to the html directory when Haddock documentation is-generated. As with <a class="reference internal" href="#pkg-field-data-files" title="package.cabal data-files field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">data-files</span></code></a> it can use a limited form of-<code class="docutils literal"><span class="pre">*</span></code> wildcards in file names.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-extra-tmp-files">-<code class="descname">extra-tmp-files</code><code class="descclassname">: </code><em class="property">filename list</em><a class="headerlink" href="#pkg-field-extra-tmp-files" title="Permalink to this definition">¶</a></dt>-<dd><p>A list of additional files or directories to be removed by-<a class="reference internal" href="installing-packages.html#setup-clean"><span class="std std-ref">setup clean</span></a>. These would typically be additional files created by-additional hooks, such as the scheme described in the section on-<a class="reference internal" href="#system-dependent-parameters">system-dependent parameters</a></p>-</dd></dl>--</div>-<div class="section" id="library">-<h3>3.3.2.3. Library<a class="headerlink" href="#library" title="Permalink to this headline">¶</a></h3>-<dl class="pkg-section">-<dt id="pkg-section-library-library">-<code class="descname">library</code><code class="descclassname"> </code><a class="headerlink" href="#pkg-section-library-library" title="Permalink to this definition">¶</a></dt>-<dd><p>Build information for libraries. There can be only one library in a-package, and it’s name is the same as package name set by global-<a class="reference internal" href="#pkg-field-name" title="package.cabal name field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">name</span></code></a> field.</p>-</dd></dl>--<p>The library section should contain the following fields:</p>-<dl class="pkg-field">-<dt id="pkg-field-library-exposed-modules">-<code class="descname">exposed-modules</code><code class="descclassname">: </code><em class="property">identifier list</em><a class="headerlink" href="#pkg-field-library-exposed-modules" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Required:</th><td class="field-body">if this package contains a library</td>-</tr>-</tbody>-</table>-<p>A list of modules added by this package.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-library-exposed">-<code class="descname">exposed</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#pkg-field-library-exposed" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body"><code class="docutils literal"><span class="pre">True</span></code></td>-</tr>-</tbody>-</table>-<p>Some Haskell compilers (notably GHC) support the notion of packages-being “exposed” or “hidden” which means the modules they provide can-be easily imported without always having to specify which package-they come from. However this only works effectively if the modules-provided by all exposed packages do not overlap (otherwise a module-import would be ambiguous).</p>-<p>Almost all new libraries use hierarchical module names that do not-clash, so it is very uncommon to have to use this field. However it-may be necessary to set <code class="docutils literal"><span class="pre">exposed:</span> <span class="pre">False</span></code> for some old libraries-that use a flat module namespace or where it is known that the-exposed modules would clash with other common modules.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-library-reexported-modules">-<code class="descname">reexported-modules</code><code class="descclassname">: </code><em class="property">exportlist</em><a class="headerlink" href="#pkg-field-library-reexported-modules" title="Permalink to this definition">¶</a></dt>-<dd><p>Supported only in GHC 7.10 and later. A list of modules to-<em>reexport</em> from this package. The syntax of this field is-<code class="docutils literal"><span class="pre">orig-pkg:Name</span> <span class="pre">as</span> <span class="pre">NewName</span></code> to reexport module <code class="docutils literal"><span class="pre">Name</span></code> from-<code class="docutils literal"><span class="pre">orig-pkg</span></code> with the new name <code class="docutils literal"><span class="pre">NewName</span></code>. We also support-abbreviated versions of the syntax: if you omit <code class="docutils literal"><span class="pre">as</span> <span class="pre">NewName</span></code>,-we’ll reexport without renaming; if you omit <code class="docutils literal"><span class="pre">orig-pkg</span></code>, then we-will automatically figure out which package to reexport from, if-it’s unambiguous.</p>-<p>Reexported modules are useful for compatibility shims when a package-has been split into multiple packages, and they have the useful-property that if a package provides a module, and another package-reexports it under the same name, these are not considered a-conflict (as would be the case with a stub module.) They can also be-used to resolve name conflicts.</p>-</dd></dl>--<p>The library section may also contain build information fields (see the-section on <a class="reference internal" href="#build-information">build information</a>).</p>-<p>Cabal 2.0 and later support “internal libraries”, which are extra named-libraries (as opposed to the usual unnamed library section). For-example, suppose that your test suite needs access to some internal-modules in your library, which you do not otherwise want to export. You-could put these modules in an internal library, which the main library-and the test suite <a class="reference internal" href="#pkg-field-build-depends" title="package.cabal build-depends field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-depends</span></code></a> upon. Then your Cabal file might-look something like this:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">name</span><span class="p">:</span> foo-<span class="k">version</span><span class="p">:</span> 1.0-<span class="k">license</span><span class="p">:</span> BSD3-<span class="k">cabal-version</span><span class="p">:</span> <span class="o">>=</span> 1.23-<span class="k">build-type</span><span class="p">:</span> Simple--<span class="k">library</span> foo-internal-<span class="w"> </span><span class="k">exposed-modules</span><span class="p">:</span> Foo.Internal-<span class="w"> </span><span class="k">build-depends</span><span class="p">:</span> base--<span class="k">library</span>-<span class="w"> </span><span class="k">exposed-modules</span><span class="p">:</span> Foo.Public-<span class="w"> </span><span class="k">build-depends</span><span class="p">:</span> foo-internal<span class="p">,</span> base--<span class="k">test-suite</span> test-foo-<span class="w"> </span><span class="k">type</span><span class="p">:</span> exitcode-stdio-1.0-<span class="w"> </span><span class="k">main-is</span><span class="p">:</span> test-foo.hs-<span class="w"> </span><span class="k">build-depends</span><span class="p">:</span> foo-internal<span class="p">,</span> base-</pre></div>-</div>-<p>Internal libraries are also useful for packages that define multiple-executables, but do not define a publically accessible library. Internal-libraries are only visible internally in the package (so they can only-be added to the <a class="reference internal" href="#pkg-field-build-depends" title="package.cabal build-depends field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-depends</span></code></a> of same-package libraries,-executables, test suites, etc.) Internal libraries locally shadow any-packages which have the same name (so don’t name an internal library-with the same name as an external dependency.)</p>-</div>-<div class="section" id="opening-an-interpreter-session">-<h3>3.3.2.4. Opening an interpreter session<a class="headerlink" href="#opening-an-interpreter-session" title="Permalink to this headline">¶</a></h3>-<p>While developing a package, it is often useful to make its code-available inside an interpreter session. This can be done with the-<code class="docutils literal"><span class="pre">repl</span></code> command:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal repl-</pre></div>-</div>-<p>The name comes from the acronym-<a class="reference external" href="http://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop">REPL</a>,-which stands for “read-eval-print-loop”. By default <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">repl</span></code> loads-the first component in a package. If the package contains several named-components, the name can be given as an argument to <code class="docutils literal"><span class="pre">repl</span></code>. The name-can be also optionally prefixed with the component’s type for-disambiguation purposes. Example:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal repl foo-<span class="gp">$</span> cabal repl exe:foo-<span class="gp">$</span> cabal repl test:bar-<span class="gp">$</span> cabal repl bench:baz-</pre></div>-</div>-<div class="section" id="freezing-dependency-versions">-<h4>3.3.2.4.1. Freezing dependency versions<a class="headerlink" href="#freezing-dependency-versions" title="Permalink to this headline">¶</a></h4>-<p>If a package is built in several different environments, such as a-development environment, a staging environment and a production-environment, it may be necessary or desirable to ensure that the same-dependency versions are selected in each environment. This can be done-with the <code class="docutils literal"><span class="pre">freeze</span></code> command:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal freeze-</pre></div>-</div>-<p>The command writes the selected version for all dependencies to the-<code class="docutils literal"><span class="pre">cabal.config</span></code> file. All environments which share this file will use-the dependency versions specified in it.</p>-</div>-<div class="section" id="generating-dependency-version-bounds">-<h4>3.3.2.4.2. Generating dependency version bounds<a class="headerlink" href="#generating-dependency-version-bounds" title="Permalink to this headline">¶</a></h4>-<p>Cabal also has the ability to suggest dependency version bounds that-conform to <a class="reference external" href="http://pvp.haskell.org/">Package Versioning Policy</a>, which is-a recommended versioning system for publicly released Cabal packages.-This is done by running the <code class="docutils literal"><span class="pre">gen-bounds</span></code> command:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal gen-bounds-</pre></div>-</div>-<p>For example, given the following dependencies specified in-<a class="reference internal" href="#pkg-field-build-depends" title="package.cabal build-depends field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-depends</span></code></a>:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">build-depends</span><span class="p">:</span>- foo <span class="o">==</span> 0.5.2- bar <span class="o">==</span> 1.1-</pre></div>-</div>-<p><code class="docutils literal"><span class="pre">gen-bounds</span></code> will suggest changing them to the following:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">build-depends</span><span class="p">:</span>- foo <span class="o">>=</span> 0.5.2 <span class="o">&&</span> <span class="o"><</span> 0.6- bar <span class="o">>=</span> 1.1 <span class="o">&&</span> <span class="o"><</span> 1.2-</pre></div>-</div>-</div>-<div class="section" id="listing-outdated-dependency-version-bounds">-<h4>3.3.2.4.3. Listing outdated dependency version bounds<a class="headerlink" href="#listing-outdated-dependency-version-bounds" title="Permalink to this headline">¶</a></h4>-<p>Manually updating dependency version bounds in a <code class="docutils literal"><span class="pre">.cabal</span></code> file or a-freeze file can be tedious, especially when there’s a lot of-dependencies. The <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">outdated</span></code> command is designed to help with-that. It will print a list of packages for which there is a new-version on Hackage that is outside the version bound specified in the-<code class="docutils literal"><span class="pre">build-depends</span></code> field. The <code class="docutils literal"><span class="pre">outdated</span></code> command can also be-configured to act on the freeze file (both old- and new-style) and-ignore major (or all) version bumps on Hackage for a subset of-dependencies.</p>-<p>The following flags are supported by the <code class="docutils literal"><span class="pre">outdated</span></code> command:</p>-<dl class="docutils">-<dt><code class="docutils literal"><span class="pre">--freeze-file</span></code></dt>-<dd>Read dependency version bounds from the freeze file (<code class="docutils literal"><span class="pre">cabal.config</span></code>)-instead of the package description file (<code class="docutils literal"><span class="pre">$PACKAGENAME.cabal</span></code>).</dd>-<dt><code class="docutils literal"><span class="pre">--new-freeze-file</span></code></dt>-<dd>Read dependency version bounds from the new-style freeze file-(<code class="docutils literal"><span class="pre">cabal.project.freeze</span></code>) instead of the package description file.</dd>-<dt><code class="docutils literal"><span class="pre">--simple-output</span></code></dt>-<dd>Print only the names of outdated dependencies, one per line.</dd>-<dt><code class="docutils literal"><span class="pre">--exit-code</span></code></dt>-<dd>Exit with a non-zero exit code when there are outdated dependencies.</dd>-<dt><code class="docutils literal"><span class="pre">-q,</span> <span class="pre">--quiet</span></code></dt>-<dd>Don’t print any output. Implies <code class="docutils literal"><span class="pre">-v0</span></code> and <code class="docutils literal"><span class="pre">--exit-code</span></code>.</dd>-<dt><code class="docutils literal"><span class="pre">--ignore</span></code> <em>PACKAGENAMES</em></dt>-<dd>Don’t warn about outdated dependency version bounds for the packages in this-list.</dd>-<dt><code class="docutils literal"><span class="pre">--minor</span></code> <em>[PACKAGENAMES]</em></dt>-<dd>Ignore major version bumps for these packages. E.g. if there’s a version 2.0-of a package <code class="docutils literal"><span class="pre">pkg</span></code> on Hackage and the freeze file specifies the constraint-<code class="docutils literal"><span class="pre">pkg</span> <span class="pre">==</span> <span class="pre">1.9</span></code>, <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">outdated</span> <span class="pre">--freeze</span> <span class="pre">--minor=pkg</span></code> will only consider-the <code class="docutils literal"><span class="pre">pkg</span></code> outdated when there’s a version of <code class="docutils literal"><span class="pre">pkg</span></code> on Hackage satisfying-<code class="docutils literal"><span class="pre">pkg</span> <span class="pre">></span> <span class="pre">1.9</span> <span class="pre">&&</span> <span class="pre"><</span> <span class="pre">2.0</span></code>. <code class="docutils literal"><span class="pre">--minor</span></code> can also be used without arguments, in-that case major version bumps are ignored for all packages.</dd>-</dl>-<p>Examples:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> <span class="nb">cd</span> /some/package-<span class="gp">$</span> cabal outdated-<span class="go">Outdated dependencies:</span>-<span class="go">haskell-src-exts <1.17 (latest: 1.19.1)</span>-<span class="go">language-javascript <0.6 (latest: 0.6.0.9)</span>-<span class="go">unix ==2.7.2.0 (latest: 2.7.2.1)</span>--<span class="gp">$</span> cabal outdated --simple-output-<span class="go">haskell-src-exts</span>-<span class="go">language-javascript</span>-<span class="go">unix</span>--<span class="gp">$</span> cabal outdated --ignore<span class="o">=</span>haskell-src-exts-<span class="go">Outdated dependencies:</span>-<span class="go">language-javascript <0.6 (latest: 0.6.0.9)</span>-<span class="go">unix ==2.7.2.0 (latest: 2.7.2.1)</span>--<span class="gp">$</span> cabal outdated --ignore<span class="o">=</span>haskell-src-exts,language-javascript,unix-<span class="go">All dependencies are up to date.</span>--<span class="gp">$</span> cabal outdated --ignore<span class="o">=</span>haskell-src-exts,language-javascript,unix -q-<span class="gp">$</span> <span class="nb">echo</span> <span class="nv">$?</span>-<span class="go">0</span>--<span class="gp">$</span> <span class="nb">cd</span> /some/other/package-<span class="gp">$</span> cabal outdated --freeze-file-<span class="go">Outdated dependencies:</span>-<span class="go">HTTP ==4000.3.3 (latest: 4000.3.4)</span>-<span class="go">HUnit ==1.3.1.1 (latest: 1.5.0.0)</span>--<span class="gp">$</span> cabal outdated --freeze-file --ignore<span class="o">=</span>HTTP --minor<span class="o">=</span>HUnit-<span class="go">Outdated dependencies:</span>-<span class="go">HUnit ==1.3.1.1 (latest: 1.3.1.2)</span>-</pre></div>-</div>-</div>-</div>-<div class="section" id="executables">-<h3>3.3.2.5. Executables<a class="headerlink" href="#executables" title="Permalink to this headline">¶</a></h3>-<dl class="pkg-section">-<dt id="pkg-section-executable-executable">-<code class="descname">executable</code><code class="descclassname"> </code><em class="property">name</em><a class="headerlink" href="#pkg-section-executable-executable" title="Permalink to this definition">¶</a></dt>-<dd><p>Executable sections (if present) describe executable programs contained-in the package and must have an argument after the section label, which-defines the name of the executable. This is a freeform argument but may-not contain spaces.</p>-</dd></dl>--<p>The executable may be described using the following fields, as well as-build information fields (see the section on <a class="reference internal" href="#build-information">build information</a>).</p>-<dl class="pkg-field">-<dt id="pkg-field-executable-main-is">-<code class="descname">main-is</code><code class="descclassname">: </code><em class="property">filename (required)</em><a class="headerlink" href="#pkg-field-executable-main-is" title="Permalink to this definition">¶</a></dt>-<dd><p>The name of the <code class="docutils literal"><span class="pre">.hs</span></code> or <code class="docutils literal"><span class="pre">.lhs</span></code> file containing the <code class="docutils literal"><span class="pre">Main</span></code>-module. Note that it is the <code class="docutils literal"><span class="pre">.hs</span></code> filename that must be listed,-even if that file is generated using a preprocessor. The source file-must be relative to one of the directories listed in-<a class="reference internal" href="#pkg-field-hs-source-dirs" title="package.cabal hs-source-dirs field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">hs-source-dirs</span></code></a>.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-executable-scope">-<code class="descname">scope</code><code class="descclassname">: </code><em class="property">token</em><a class="headerlink" href="#pkg-field-executable-scope" title="Permalink to this definition">¶</a></dt>-<dd><p>Whether the executable is <code class="docutils literal"><span class="pre">public</span></code> (default) or <code class="docutils literal"><span class="pre">private</span></code>, i.e. meant to-be run by other programs rather than the user. Private executables are-installed into <cite>$libexecdir/$libexecsubdir</cite>.</p>-</dd></dl>--<div class="section" id="running-executables">-<h4>3.3.2.5.1. Running executables<a class="headerlink" href="#running-executables" title="Permalink to this headline">¶</a></h4>-<p>You can have Cabal build and run your executables by using the <code class="docutils literal"><span class="pre">run</span></code>-command:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal run EXECUTABLE <span class="o">[</span>-- EXECUTABLE_FLAGS<span class="o">]</span>-</pre></div>-</div>-<p>This command will configure, build and run the executable-<code class="docutils literal"><span class="pre">EXECUTABLE</span></code>. The double dash separator is required to distinguish-executable flags from <code class="docutils literal"><span class="pre">run</span></code>’s own flags. If there is only one-executable defined in the whole package, the executable’s name can be-omitted. See the output of <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">help</span> <span class="pre">run</span></code> for a list of options you-can pass to <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">run</span></code>.</p>-</div>-</div>-<div class="section" id="test-suites">-<h3>3.3.2.6. Test suites<a class="headerlink" href="#test-suites" title="Permalink to this headline">¶</a></h3>-<dl class="pkg-section">-<dt id="pkg-section-test-test">-<code class="descname">test</code><code class="descclassname"> </code><em class="property">name</em><a class="headerlink" href="#pkg-section-test-test" title="Permalink to this definition">¶</a></dt>-<dd><p>Test suite sections (if present) describe package test suites and must-have an argument after the section label, which defines the name of the-test suite. This is a freeform argument, but may not contain spaces. It-should be unique among the names of the package’s other test suites, the-package’s executables, and the package itself. Using test suite sections-requires at least Cabal version 1.9.2.</p>-</dd></dl>--<p>The test suite may be described using the following fields, as well as-build information fields (see the section on <a class="reference internal" href="#build-information">build information</a>).</p>-<dl class="pkg-field">-<dt id="pkg-field-test-type">-<code class="descname">type</code><code class="descclassname">: </code><em class="property">interface (required)</em><a class="headerlink" href="#pkg-field-test-type" title="Permalink to this definition">¶</a></dt>-<dd><p>The interface type and version of the test suite. Cabal supports two-test suite interfaces, called <code class="docutils literal"><span class="pre">exitcode-stdio-1.0</span></code> and-<code class="docutils literal"><span class="pre">detailed-0.9</span></code>. Each of these types may require or disallow other-fields as described below.</p>-</dd></dl>--<p>Test suites using the <code class="docutils literal"><span class="pre">exitcode-stdio-1.0</span></code> interface are executables-that indicate test failure with a non-zero exit code when run; they may-provide human-readable log information through the standard output and-error channels. The <code class="docutils literal"><span class="pre">exitcode-stdio-1.0</span></code> type requires the <code class="docutils literal"><span class="pre">main-is</span></code>-field.</p>-<dl class="pkg-field">-<dt id="pkg-field-test-main-is">-<code class="descname">main-is</code><code class="descclassname">: </code><em class="property">filename</em><a class="headerlink" href="#pkg-field-test-main-is" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Required:</th><td class="field-body"><code class="docutils literal"><span class="pre">exitcode-stdio-1.0</span></code></td>-</tr>-<tr class="field-even field"><th class="field-name">Disallowed:</th><td class="field-body"><code class="docutils literal"><span class="pre">detailed-0.9</span></code></td>-</tr>-</tbody>-</table>-<p>The name of the <code class="docutils literal"><span class="pre">.hs</span></code> or <code class="docutils literal"><span class="pre">.lhs</span></code> file containing the <code class="docutils literal"><span class="pre">Main</span></code>-module. Note that it is the <code class="docutils literal"><span class="pre">.hs</span></code> filename that must be listed,-even if that file is generated using a preprocessor. The source file-must be relative to one of the directories listed in-<a class="reference internal" href="#pkg-field-hs-source-dirs" title="package.cabal hs-source-dirs field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">hs-source-dirs</span></code></a>. This field is analogous to the <code class="docutils literal"><span class="pre">main-is</span></code> field-of an executable section.</p>-</dd></dl>--<p>Test suites using the <code class="docutils literal"><span class="pre">detailed-0.9</span></code> interface are modules exporting-the symbol <code class="docutils literal"><span class="pre">tests</span> <span class="pre">::</span> <span class="pre">IO</span> <span class="pre">[Test]</span></code>. The <code class="docutils literal"><span class="pre">Test</span></code> type is exported by the-module <code class="docutils literal"><span class="pre">Distribution.TestSuite</span></code> provided by Cabal. For more details,-see the example below.</p>-<p>The <code class="docutils literal"><span class="pre">detailed-0.9</span></code> interface allows Cabal and other test agents to-inspect a test suite’s results case by case, producing detailed human--and machine-readable log files. The <code class="docutils literal"><span class="pre">detailed-0.9</span></code> interface requires-the <a class="reference internal" href="#pkg-field-test-test-module" title="package.cabal test section test-module: field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">test-module</span></code></a> field.</p>-<dl class="pkg-field">-<dt id="pkg-field-test-test-module">-<code class="descname">test-module</code><code class="descclassname">: </code><em class="property">identifier</em><a class="headerlink" href="#pkg-field-test-test-module" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Required:</th><td class="field-body"><code class="docutils literal"><span class="pre">detailed-0.9</span></code></td>-</tr>-<tr class="field-even field"><th class="field-name">Disallowed:</th><td class="field-body"><code class="docutils literal"><span class="pre">exitcode-stdio-1.0</span></code></td>-</tr>-</tbody>-</table>-<p>The module exporting the <code class="docutils literal"><span class="pre">tests</span></code> symbol.</p>-</dd></dl>--<div class="section" id="example-package-using-exitcode-stdio-1-0-interface">-<h4>3.3.2.6.1. Example: Package using <code class="docutils literal"><span class="pre">exitcode-stdio-1.0</span></code> interface<a class="headerlink" href="#example-package-using-exitcode-stdio-1-0-interface" title="Permalink to this headline">¶</a></h4>-<p>The example package description and executable source file below-demonstrate the use of the <code class="docutils literal"><span class="pre">exitcode-stdio-1.0</span></code> interface.</p>-<div class="literal-block-wrapper docutils container" id="id3">-<div class="code-block-caption"><span class="caption-text">foo.cabal</span><a class="headerlink" href="#id3" title="Permalink to this code">¶</a></div>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">Name</span><span class="p">:</span> foo-<span class="k">Version</span><span class="p">:</span> 1.0-<span class="k">License</span><span class="p">:</span> BSD3-<span class="k">Cabal-Version</span><span class="p">:</span> <span class="o">>=</span> 1.9.2-<span class="k">Build-Type</span><span class="p">:</span> Simple--<span class="k">Test-Suite</span> test-foo-<span class="w"> </span><span class="k">type</span><span class="p">:</span> exitcode-stdio-1.0-<span class="w"> </span><span class="k">main-is</span><span class="p">:</span> test-foo.hs-<span class="w"> </span><span class="k">build-depends</span><span class="p">:</span> base-</pre></div>-</div>-</div>-<div class="literal-block-wrapper docutils container" id="id4">-<div class="code-block-caption"><span class="caption-text">test-foo.hs</span><a class="headerlink" href="#id4" title="Permalink to this code">¶</a></div>-<div class="highlight-haskell"><div class="highlight"><pre><span></span><span class="kr">module</span> <span class="nn">Main</span> <span class="kr">where</span>--<span class="kr">import</span> <span class="nn">System.Exit</span> <span class="p">(</span><span class="nf">exitFailure</span><span class="p">)</span>--<span class="nf">main</span> <span class="ow">=</span> <span class="kr">do</span>- <span class="n">putStrLn</span> <span class="s">"This test always fails!"</span>- <span class="n">exitFailure</span>-</pre></div>-</div>-</div>-</div>-<div class="section" id="example-package-using-detailed-0-9-interface">-<h4>3.3.2.6.2. Example: Package using <code class="docutils literal"><span class="pre">detailed-0.9</span></code> interface<a class="headerlink" href="#example-package-using-detailed-0-9-interface" title="Permalink to this headline">¶</a></h4>-<p>The example package description and test module source file below-demonstrate the use of the <code class="docutils literal"><span class="pre">detailed-0.9</span></code> interface. The test module-also develops a simple implementation of the interface set by-<code class="docutils literal"><span class="pre">Distribution.TestSuite</span></code>, but in actual usage the implementation would-be provided by the library that provides the testing facility.</p>-<div class="literal-block-wrapper docutils container" id="id5">-<div class="code-block-caption"><span class="caption-text">bar.cabal</span><a class="headerlink" href="#id5" title="Permalink to this code">¶</a></div>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">Name</span><span class="p">:</span> bar-<span class="k">Version</span><span class="p">:</span> 1.0-<span class="k">License</span><span class="p">:</span> BSD3-<span class="k">Cabal-Version</span><span class="p">:</span> <span class="o">>=</span> 1.9.2-<span class="k">Build-Type</span><span class="p">:</span> Simple--<span class="k">Test-Suite</span> test-bar-<span class="w"> </span><span class="k">type</span><span class="p">:</span> detailed-0.9-<span class="w"> </span><span class="k">test-module</span><span class="p">:</span> Bar-<span class="w"> </span><span class="k">build-depends</span><span class="p">:</span> base<span class="p">,</span> Cabal <span class="o">>=</span> 1.9.2-</pre></div>-</div>-</div>-<div class="literal-block-wrapper docutils container" id="id6">-<div class="code-block-caption"><span class="caption-text">Bar.hs</span><a class="headerlink" href="#id6" title="Permalink to this code">¶</a></div>-<div class="highlight-haskell"><div class="highlight"><pre><span></span><span class="kr">module</span> <span class="nn">Bar</span> <span class="p">(</span> <span class="nf">tests</span> <span class="p">)</span> <span class="kr">where</span>--<span class="kr">import</span> <span class="nn">Distribution.TestSuite</span>--<span class="nf">tests</span> <span class="ow">::</span> <span class="kt">IO</span> <span class="p">[</span><span class="kt">Test</span><span class="p">]</span>-<span class="nf">tests</span> <span class="ow">=</span> <span class="n">return</span> <span class="p">[</span> <span class="kt">Test</span> <span class="n">succeeds</span><span class="p">,</span> <span class="kt">Test</span> <span class="n">fails</span> <span class="p">]</span>- <span class="kr">where</span>- <span class="n">succeeds</span> <span class="ow">=</span> <span class="kt">TestInstance</span>- <span class="p">{</span> <span class="n">run</span> <span class="ow">=</span> <span class="n">return</span> <span class="o">$</span> <span class="kt">Finished</span> <span class="kt">Pass</span>- <span class="p">,</span> <span class="n">name</span> <span class="ow">=</span> <span class="s">"succeeds"</span>- <span class="p">,</span> <span class="n">tags</span> <span class="ow">=</span> <span class="kt">[]</span>- <span class="p">,</span> <span class="n">options</span> <span class="ow">=</span> <span class="kt">[]</span>- <span class="p">,</span> <span class="n">setOption</span> <span class="ow">=</span> <span class="nf">\</span><span class="kr">_</span> <span class="kr">_</span> <span class="ow">-></span> <span class="kt">Right</span> <span class="n">succeeds</span>- <span class="p">}</span>- <span class="n">fails</span> <span class="ow">=</span> <span class="kt">TestInstance</span>- <span class="p">{</span> <span class="n">run</span> <span class="ow">=</span> <span class="n">return</span> <span class="o">$</span> <span class="kt">Finished</span> <span class="o">$</span> <span class="kt">Fail</span> <span class="s">"Always fails!"</span>- <span class="p">,</span> <span class="n">name</span> <span class="ow">=</span> <span class="s">"fails"</span>- <span class="p">,</span> <span class="n">tags</span> <span class="ow">=</span> <span class="kt">[]</span>- <span class="p">,</span> <span class="n">options</span> <span class="ow">=</span> <span class="kt">[]</span>- <span class="p">,</span> <span class="n">setOption</span> <span class="ow">=</span> <span class="nf">\</span><span class="kr">_</span> <span class="kr">_</span> <span class="ow">-></span> <span class="kt">Right</span> <span class="n">fails</span>- <span class="p">}</span>-</pre></div>-</div>-</div>-</div>-<div class="section" id="running-test-suites">-<h4>3.3.2.6.3. Running test suites<a class="headerlink" href="#running-test-suites" title="Permalink to this headline">¶</a></h4>-<p>You can have Cabal run your test suites using its built-in test runner:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span>$ cabal configure --enable-tests-$ cabal build-$ cabal test-</pre></div>-</div>-<p>See the output of <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">help</span> <span class="pre">test</span></code> for a list of options you can pass-to <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">test</span></code>.</p>-</div>-</div>-<div class="section" id="benchmarks">-<h3>3.3.2.7. Benchmarks<a class="headerlink" href="#benchmarks" title="Permalink to this headline">¶</a></h3>-<dl class="pkg-section">-<dt id="pkg-section-benchmark-benchmark">-<code class="descname">benchmark</code><code class="descclassname"> </code><em class="property">name</em><a class="headerlink" href="#pkg-section-benchmark-benchmark" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Since:</th><td class="field-body">Cabal 1.9.2</td>-</tr>-</tbody>-</table>-<p>Benchmark sections (if present) describe benchmarks contained in the-package and must have an argument after the section label, which defines-the name of the benchmark. This is a freeform argument, but may not-contain spaces. It should be unique among the names of the package’s-other benchmarks, the package’s test suites, the package’s executables,-and the package itself. Using benchmark sections requires at least Cabal-version 1.9.2.</p>-</dd></dl>--<p>The benchmark may be described using the following fields, as well as-build information fields (see the section on <a class="reference internal" href="#build-information">build information</a>).</p>-<dl class="pkg-field">-<dt id="pkg-field-benchmark-type">-<code class="descname">type</code><code class="descclassname">: </code><em class="property">interface (required)</em><a class="headerlink" href="#pkg-field-benchmark-type" title="Permalink to this definition">¶</a></dt>-<dd><p>The interface type and version of the benchmark. At the moment Cabal-only support one benchmark interface, called <code class="docutils literal"><span class="pre">exitcode-stdio-1.0</span></code>.</p>-</dd></dl>--<p>Benchmarks using the <code class="docutils literal"><span class="pre">exitcode-stdio-1.0</span></code> interface are executables-that indicate failure to run the benchmark with a non-zero exit code-when run; they may provide human-readable information through the-standard output and error channels.</p>-<dl class="pkg-field">-<dt id="pkg-field-benchmark-main-is">-<code class="descname">main-is</code><code class="descclassname">: </code><em class="property">filename</em><a class="headerlink" href="#pkg-field-benchmark-main-is" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Required:</th><td class="field-body"><code class="docutils literal"><span class="pre">exitcode-stdio-1.0</span></code></td>-</tr>-</tbody>-</table>-<p>The name of the <code class="docutils literal"><span class="pre">.hs</span></code> or <code class="docutils literal"><span class="pre">.lhs</span></code> file containing the <code class="docutils literal"><span class="pre">Main</span></code>-module. Note that it is the <code class="docutils literal"><span class="pre">.hs</span></code> filename that must be listed,-even if that file is generated using a preprocessor. The source file-must be relative to one of the directories listed in-<a class="reference internal" href="#pkg-field-hs-source-dirs" title="package.cabal hs-source-dirs field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">hs-source-dirs</span></code></a>. This field is analogous to the <code class="docutils literal"><span class="pre">main-is</span></code>-field of an executable section.</p>-</dd></dl>--<div class="section" id="id1">-<h4>3.3.2.7.1. Example: Package using <code class="docutils literal"><span class="pre">exitcode-stdio-1.0</span></code> interface<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h4>-<p>The example package description and executable source file below-demonstrate the use of the <code class="docutils literal"><span class="pre">exitcode-stdio-1.0</span></code> interface.</p>-<div class="literal-block-wrapper docutils container" id="foo-bench-cabal">-<div class="code-block-caption"><span class="caption-text">foo.cabal</span><a class="headerlink" href="#foo-bench-cabal" title="Permalink to this code">¶</a></div>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">Name</span><span class="p">:</span> foo-<span class="k">Version</span><span class="p">:</span> 1.0-<span class="k">License</span><span class="p">:</span> BSD3-<span class="k">Cabal-Version</span><span class="p">:</span> <span class="o">>=</span> 1.9.2-<span class="k">Build-Type</span><span class="p">:</span> Simple--<span class="k">Benchmark</span> bench-foo-<span class="w"> </span><span class="k">type</span><span class="p">:</span> exitcode-stdio-1.0-<span class="w"> </span><span class="k">main-is</span><span class="p">:</span> bench-foo.hs-<span class="w"> </span><span class="k">build-depends</span><span class="p">:</span> base<span class="p">,</span> time-</pre></div>-</div>-</div>-<div class="literal-block-wrapper docutils container" id="id7">-<div class="code-block-caption"><span class="caption-text">bench-foo.hs</span><a class="headerlink" href="#id7" title="Permalink to this code">¶</a></div>-<div class="highlight-haskell"><div class="highlight"><pre><span></span><span class="cm">{-# LANGUAGE BangPatterns #-}</span>-<span class="kr">module</span> <span class="nn">Main</span> <span class="kr">where</span>--<span class="kr">import</span> <span class="nn">Data.Time.Clock</span>--<span class="nf">fib</span> <span class="mi">0</span> <span class="ow">=</span> <span class="mi">1</span>-<span class="nf">fib</span> <span class="mi">1</span> <span class="ow">=</span> <span class="mi">1</span>-<span class="nf">fib</span> <span class="n">n</span> <span class="ow">=</span> <span class="n">fib</span> <span class="p">(</span><span class="n">n</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">+</span> <span class="n">fib</span> <span class="p">(</span><span class="n">n</span><span class="o">-</span><span class="mi">2</span><span class="p">)</span>--<span class="nf">main</span> <span class="ow">=</span> <span class="kr">do</span>- <span class="n">start</span> <span class="ow"><-</span> <span class="n">getCurrentTime</span>- <span class="kr">let</span> <span class="o">!</span><span class="n">r</span> <span class="ow">=</span> <span class="n">fib</span> <span class="mi">20</span>- <span class="n">end</span> <span class="ow"><-</span> <span class="n">getCurrentTime</span>- <span class="n">putStrLn</span> <span class="o">$</span> <span class="s">"fib 20 took "</span> <span class="o">++</span> <span class="n">show</span> <span class="p">(</span><span class="n">diffUTCTime</span> <span class="n">end</span> <span class="n">start</span><span class="p">)</span>-</pre></div>-</div>-</div>-</div>-<div class="section" id="running-benchmarks">-<h4>3.3.2.7.2. Running benchmarks<a class="headerlink" href="#running-benchmarks" title="Permalink to this headline">¶</a></h4>-<p>You can have Cabal run your benchmark using its built-in benchmark-runner:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span>$ cabal configure --enable-benchmarks-$ cabal build-$ cabal bench-</pre></div>-</div>-<p>See the output of <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">help</span> <span class="pre">bench</span></code> for a list of options you can-pass to <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">bench</span></code>.</p>-</div>-</div>-<div class="section" id="foreign-libraries">-<h3>3.3.2.8. Foreign libraries<a class="headerlink" href="#foreign-libraries" title="Permalink to this headline">¶</a></h3>-<p>Foreign libraries are system libraries intended to be linked against-programs written in C or other “foreign” languages. They-come in two primary flavours: dynamic libraries (<code class="docutils literal"><span class="pre">.so</span></code> files on Linux,-<code class="docutils literal"><span class="pre">.dylib</span></code> files on OSX, <code class="docutils literal"><span class="pre">.dll</span></code> files on Windows, etc.) are linked against-executables when the executable is run (or even lazily during-execution), while static libraries (<code class="docutils literal"><span class="pre">.a</span></code> files on Linux/OSX, <code class="docutils literal"><span class="pre">.lib</span></code>-files on Windows) get linked against the executable at compile time.</p>-<p>Foreign libraries only work with GHC 7.8 and later.</p>-<p>A typical stanza for a foreign library looks like</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">foreign-library</span> myforeignlib-<span class="w"> </span><span class="k">type</span><span class="p">:</span> native-shared-<span class="w"> </span><span class="k">lib-version-info</span><span class="p">:</span> 6<span class="p">:</span>3<span class="p">:</span>2-- if os(Windows)-<span class="w"> </span><span class="k">options</span><span class="p">:</span> standalone-<span class="w"> </span><span class="k">mod-def-file</span><span class="p">:</span> MyForeignLib.def--<span class="w"> </span><span class="k">other-modules</span><span class="p">:</span> MyForeignLib.SomeModule- MyForeignLib.SomeOtherModule-<span class="w"> </span><span class="k">build-depends</span><span class="p">:</span> base <span class="o">>=</span>4.7 <span class="o">&&</span> <span class="o"><</span>4.9-<span class="w"> </span><span class="k">hs-source-dirs</span><span class="p">:</span> src-<span class="w"> </span><span class="k">c-sources</span><span class="p">:</span> csrc/MyForeignLibWrapper.c-<span class="w"> </span><span class="k">default-language</span><span class="p">:</span> Haskell2010-</pre></div>-</div>-<dl class="pkg-field">-<dt id="pkg-field-benchmark-type">-<code class="descname">type</code><code class="descclassname">: </code><em class="property">foreign library type</em><a class="headerlink" href="#pkg-field-benchmark-type" title="Permalink to this definition">¶</a></dt>-<dd><p>Cabal recognizes <code class="docutils literal"><span class="pre">native-static</span></code> and <code class="docutils literal"><span class="pre">native-shared</span></code> here, although-we currently only support building <cite>native-shared</cite> libraries.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-benchmark-options">-<code class="descname">options</code><code class="descclassname">: </code><em class="property">foreign library option list</em><a class="headerlink" href="#pkg-field-benchmark-options" title="Permalink to this definition">¶</a></dt>-<dd><p>Options for building the foreign library, typically specific to the-specified type of foreign library. Currently we only support-<code class="docutils literal"><span class="pre">standalone</span></code> here. A standalone dynamic library is one that does not-have any dependencies on other (Haskell) shared libraries; without-the <code class="docutils literal"><span class="pre">standalone</span></code> option the generated library would have dependencies-on the Haskell runtime library (<code class="docutils literal"><span class="pre">libHSrts</span></code>), the base library-(<code class="docutils literal"><span class="pre">libHSbase</span></code>), etc. Currently, <code class="docutils literal"><span class="pre">standalone</span></code> <em>must</em> be used on Windows-and <em>must not</em> be used on any other platform.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-benchmark-mod-def-file">-<code class="descname">mod-def-file</code><code class="descclassname">: </code><em class="property">filename</em><a class="headerlink" href="#pkg-field-benchmark-mod-def-file" title="Permalink to this definition">¶</a></dt>-<dd><p>This option can only be used when creating dynamic Windows libraries-(that is, when using <code class="docutils literal"><span class="pre">native-shared</span></code> and the <code class="docutils literal"><span class="pre">os</span></code> is <code class="docutils literal"><span class="pre">Windows</span></code>). If-used, it must be a path to a _module definition <a href="#id8"><span class="problematic" id="id9">file_</span></a>. The details of-module definition files are beyond the scope of this document; see the-<a class="reference external" href="https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/win32-dlls.html">GHC</a>-manual for some details and some further pointers.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-benchmark-lib-version-info">-<code class="descname">lib-version-info</code><code class="descclassname">: </code><em class="property">current:revision:age</em><a class="headerlink" href="#pkg-field-benchmark-lib-version-info" title="Permalink to this definition">¶</a></dt>-<dd><p>This field is currently only used on Linux.</p>-<p>This field specifies a Libtool-style version-info field that sets-an appropriate ABI version for the foreign library. Note that the-three numbers specified in this field do not directly specify the-actual ABI version: <code class="docutils literal"><span class="pre">6:3:2</span></code> results in library version <code class="docutils literal"><span class="pre">4.2.3</span></code>.</p>-<p>With this field set, the SONAME of the library is set, and symlinks-are installed.</p>-<p>How you should bump this field on an ABI change depends on the-breakage you introduce:</p>-<ul class="simple">-<li>Programs using the previous version may use the new version as-drop-in replacement, and programs using the new version can also-work with the previous one. In other words, no recompiling nor-relinking is needed. In this case, bump <code class="docutils literal"><span class="pre">revision</span></code> only, don’t-touch current nor age.</li>-<li>Programs using the previous version may use the new version as-drop-in replacement, but programs using the new version may use-APIs not present in the previous one. In other words, a program-linking against the new version may fail with “unresolved-symbols” if linking against the old version at runtime: set-revision to 0, bump current and age.</li>-<li>Programs may need to be changed, recompiled, and relinked in-order to use the new version. Bump current, set revision and age-to 0.</li>-</ul>-<p>Also refer to the Libtool documentation on the version-info field.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-benchmark-lib-version-linux">-<code class="descname">lib-version-linux</code><code class="descclassname">: </code><em class="property">version</em><a class="headerlink" href="#pkg-field-benchmark-lib-version-linux" title="Permalink to this definition">¶</a></dt>-<dd><p>This field is only used on Linux.</p>-<p>Specifies the library ABI version directly for foreign libraries-built on Linux: so specifying <code class="docutils literal"><span class="pre">4.2.3</span></code> causes a library-<code class="docutils literal"><span class="pre">libfoo.so.4.2.3</span></code> to be built with SONAME <code class="docutils literal"><span class="pre">libfoo.so.4</span></code>, and-appropriate symlinks <code class="docutils literal"><span class="pre">libfoo.so.4</span></code> and <code class="docutils literal"><span class="pre">libfoo.so</span></code> to be-installed.</p>-</dd></dl>--<p>Note that typically foreign libraries should export a way to initialize-and shutdown the Haskell runtime. In the example above, this is done by-the <code class="docutils literal"><span class="pre">csrc/MyForeignLibWrapper.c</span></code> file, which might look something like</p>-<div class="highlight-c"><div class="highlight"><pre><span></span><span class="cp">#include</span> <span class="cpf"><stdlib.h></span><span class="cp"></span>-<span class="cp">#include</span> <span class="cpf">"HsFFI.h"</span><span class="cp"></span>--<span class="n">HsBool</span> <span class="nf">myForeignLibInit</span><span class="p">(</span><span class="kt">void</span><span class="p">){</span>- <span class="kt">int</span> <span class="n">argc</span> <span class="o">=</span> <span class="mi">2</span><span class="p">;</span>- <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span> <span class="s">"+RTS"</span><span class="p">,</span> <span class="s">"-A32m"</span><span class="p">,</span> <span class="nb">NULL</span> <span class="p">};</span>- <span class="kt">char</span> <span class="o">**</span><span class="n">pargv</span> <span class="o">=</span> <span class="n">argv</span><span class="p">;</span>-- <span class="c1">// Initialize Haskell runtime</span>- <span class="n">hs_init</span><span class="p">(</span><span class="o">&</span><span class="n">argc</span><span class="p">,</span> <span class="o">&</span><span class="n">pargv</span><span class="p">);</span>-- <span class="c1">// do any other initialization here and</span>- <span class="c1">// return false if there was a problem</span>- <span class="k">return</span> <span class="n">HS_BOOL_TRUE</span><span class="p">;</span>-<span class="p">}</span>--<span class="kt">void</span> <span class="nf">myForeignLibExit</span><span class="p">(</span><span class="kt">void</span><span class="p">){</span>- <span class="n">hs_exit</span><span class="p">();</span>-<span class="p">}</span>-</pre></div>-</div>-<p>With modern ghc regular libraries are installed in directories that contain-package keys. This isn’t usually a problem because the package gets registered-in ghc’s package DB and so we can figure out what the location of the library-is. Foreign libraries however don’t get registered, which means that we’d have-to have a way of finding out where a platform library got installed (other than by-searching the <code class="docutils literal"><span class="pre">lib/</span></code> directory). Instead, we install foreign libraries in-<code class="docutils literal"><span class="pre">~/.cabal/lib</span></code>, much like we install executables in <code class="docutils literal"><span class="pre">~/.cabal/bin</span></code>.</p>-</div>-<div class="section" id="build-information">-<h3>3.3.2.9. Build information<a class="headerlink" href="#build-information" title="Permalink to this headline">¶</a></h3>-<p>The following fields may be optionally present in a library, executable,-test suite or benchmark section, and give information for the building-of the corresponding library or executable. See also the sections on-<a class="reference internal" href="#system-dependent-parameters">system-dependent parameters</a> and <a class="reference internal" href="#configurations">configurations</a> for a way to supply-system-dependent values for these fields.</p>-<dl class="pkg-field">-<dt id="pkg-field-build-depends">-<code class="descname">build-depends</code><code class="descclassname">: </code><em class="property">package list</em><a class="headerlink" href="#pkg-field-build-depends" title="Permalink to this definition">¶</a></dt>-<dd><p>A list of packages needed to build this one. Each package can be-annotated with a version constraint.</p>-<p>Version constraints use the operators <code class="docutils literal"><span class="pre">==,</span> <span class="pre">>=,</span> <span class="pre">>,</span> <span class="pre"><,</span> <span class="pre"><=</span></code> and a-version number. Multiple constraints can be combined using <code class="docutils literal"><span class="pre">&&</span></code> or-<code class="docutils literal"><span class="pre">||</span></code>. If no version constraint is specified, any version is-assumed to be acceptable. For example:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">library</span>-<span class="w"> </span><span class="k">build-depends</span><span class="p">:</span>- base <span class="o">>=</span> 2<span class="p">,</span>- foo <span class="o">>=</span> 1.2.3 <span class="o">&&</span> <span class="o"><</span> 1.3<span class="p">,</span>- bar-</pre></div>-</div>-<p>Dependencies like <code class="docutils literal"><span class="pre">foo</span> <span class="pre">>=</span> <span class="pre">1.2.3</span> <span class="pre">&&</span> <span class="pre"><</span> <span class="pre">1.3</span></code> turn out to be very-common because it is recommended practise for package versions to-correspond to API versions (see <a class="reference external" href="http://pvp.haskell.org/">PVP</a>).</p>-<p>Since Cabal 1.6, there is a special wildcard syntax to help with-such ranges</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">build-depends</span><span class="p">:</span> foo <span class="o">==</span>1.2.*-</pre></div>-</div>-<p>It is only syntactic sugar. It is exactly equivalent to-<code class="docutils literal"><span class="pre">foo</span> <span class="pre">>=</span> <span class="pre">1.2</span> <span class="pre">&&</span> <span class="pre"><</span> <span class="pre">1.3</span></code>.</p>-<p>Starting with Cabal 2.0, there’s a new syntactic sugar to support-<a class="reference external" href="http://pvp.haskell.org/">PVP</a>-style-major upper bounds conveniently, and is inspired by similiar-syntactic sugar found in other language ecosystems where it’s often-called the “Caret” operator:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">build-depends</span><span class="p">:</span> foo <span class="o">^>=</span> 1.2.3.4<span class="p">,</span>- bar <span class="o">^>=</span> 1-</pre></div>-</div>-<p>The declaration above is exactly equivalent to</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">build-depends</span><span class="p">:</span> foo <span class="o">>=</span> 1.2.3.4 <span class="o">&&</span> <span class="o"><</span> 1.3<span class="p">,</span>- bar <span class="o">>=</span> 1 <span class="o">&&</span> <span class="o"><</span> 1.1-</pre></div>-</div>-<div class="admonition note">-<p class="first admonition-title">Note</p>-<p class="last">Prior to Cabal 1.8, <code class="docutils literal"><span class="pre">build-depends</span></code> specified in each-section were global to all sections. This was unintentional, but-some packages were written to depend on it, so if you need your-<a class="reference internal" href="#pkg-field-build-depends" title="package.cabal build-depends field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-depends</span></code></a> to be local to each section, you must specify-at least <code class="docutils literal"><span class="pre">Cabal-Version:</span> <span class="pre">>=</span> <span class="pre">1.8</span></code> in your <code class="docutils literal"><span class="pre">.cabal</span></code> file.</p>-</div>-<div class="admonition note">-<p class="first admonition-title">Note</p>-<p class="last">Cabal 1.20 experimentally supported module thinning and-renaming in <code class="docutils literal"><span class="pre">build-depends</span></code>; however, this support has since been-removed and should not be used.</p>-</div>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-other-modules">-<code class="descname">other-modules</code><code class="descclassname">: </code><em class="property">identifier list</em><a class="headerlink" href="#pkg-field-other-modules" title="Permalink to this definition">¶</a></dt>-<dd><p>A list of modules used by the component but not exposed to users.-For a library component, these would be hidden modules of the-library. For an executable, these would be auxiliary modules to be-linked with the file named in the <code class="docutils literal"><span class="pre">main-is</span></code> field.</p>-<div class="admonition note">-<p class="first admonition-title">Note</p>-<p class="last">Every module in the package <em>must</em> be listed in one of-<a class="reference internal" href="#pkg-field-other-modules" title="package.cabal other-modules field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">other-modules</span></code></a>, <a class="reference internal" href="#pkg-field-library-exposed-modules" title="package.cabal library section exposed-modules: field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">library:exposed-modules</span></code></a> or-<a class="reference internal" href="#pkg-field-executable-main-is" title="package.cabal executable section main-is: field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">executable:main-is</span></code></a> fields.</p>-</div>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-hs-source-dirs">-<code class="descname">hs-source-dirs</code><code class="descclassname">: </code><em class="property">directory list</em><a class="headerlink" href="#pkg-field-hs-source-dirs" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body"><code class="docutils literal"><span class="pre">.</span></code></td>-</tr>-</tbody>-</table>-<p>Root directories for the module hierarchy.</p>-<p>For backwards compatibility, the old variant <code class="docutils literal"><span class="pre">hs-source-dir</span></code> is-also recognized.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-default-extensions">-<code class="descname">default-extensions</code><code class="descclassname">: </code><em class="property">identifier list</em><a class="headerlink" href="#pkg-field-default-extensions" title="Permalink to this definition">¶</a></dt>-<dd><p>A list of Haskell extensions used by every module. These determine-corresponding compiler options enabled for all files. Extension-names are the constructors of the-<a class="reference external" href="../release/cabal-latest/doc/API/Cabal/Language-Haskell-Extension.html#t:Extension">Extension</a>-type. For example, <code class="docutils literal"><span class="pre">CPP</span></code> specifies that Haskell source files are-to be preprocessed with a C preprocessor.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-other-extensions">-<code class="descname">other-extensions</code><code class="descclassname">: </code><em class="property">identifier list</em><a class="headerlink" href="#pkg-field-other-extensions" title="Permalink to this definition">¶</a></dt>-<dd><p>A list of Haskell extensions used by some (but not necessarily all)-modules. From GHC version 6.6 onward, these may be specified by-placing a <code class="docutils literal"><span class="pre">LANGUAGE</span></code> pragma in the source files affected e.g.</p>-<div class="highlight-haskell"><div class="highlight"><pre><span></span><span class="cm">{-# LANGUAGE CPP, MultiParamTypeClasses #-}</span>-</pre></div>-</div>-<p>In Cabal-1.24 the dependency solver will use this and-<a class="reference internal" href="#pkg-field-default-extensions" title="package.cabal default-extensions field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">default-extensions</span></code></a> information. Cabal prior to 1.24 will abort-compilation if the current compiler doesn’t provide the extensions.</p>-<p>If you use some extensions conditionally, using CPP or conditional-module lists, it is good to replicate the condition in-<a class="reference internal" href="#pkg-field-other-extensions" title="package.cabal other-extensions field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">other-extensions</span></code></a> declarations:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">other-extensions</span><span class="p">:</span> CPP-<span class="k">if</span> impl(ghc <span class="o">>=</span> 7.5)-<span class="w"> </span><span class="k">other-extensions</span><span class="p">:</span> PolyKinds-</pre></div>-</div>-<p>You could also omit the conditionally used extensions, as they are-for information only, but it is recommended to replicate them in-<a class="reference internal" href="#pkg-field-other-extensions" title="package.cabal other-extensions field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">other-extensions</span></code></a> declarations.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-extensions">-<code class="descname">extensions</code><code class="descclassname">: </code><em class="property">identifier list</em><a class="headerlink" href="#pkg-field-extensions" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Deprecated:</th><td class="field-body"></td>-</tr>-</tbody>-</table>-<p>Deprecated in favor of <a class="reference internal" href="#pkg-field-default-extensions" title="package.cabal default-extensions field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">default-extensions</span></code></a>.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-build-tool-depends">-<code class="descname">build-tool-depends</code><code class="descclassname">: </code><em class="property">package:executable list</em><a class="headerlink" href="#pkg-field-build-tool-depends" title="Permalink to this definition">¶</a></dt>-<dd><p>A list of Haskell programs needed to build this component.-Each is specified by the package containing the executable and the name of the executable itself, separated by a colon, and optionally followed by a version bound.-It is fine for the package to be the current one, in which case this is termed an <em>internal</em>, rather than <em>external</em> executable dependency.</p>-<p>External dependencies can (and should) contain a version bound like conventional <a class="reference internal" href="#pkg-field-build-depends" title="package.cabal build-depends field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-depends</span></code></a> dependencies.-Internal deps should not contain a version bound, as they will be always resolved within the same configuration of the package in the build plan.-Specifically, version bounds that include the package’s version will be warned for being extraneous, and version bounds that exclude the package’s version will raise and error for being impossible to follow.</p>-<p>Cabal can make sure that specified programs are built and on the <code class="docutils literal"><span class="pre">PATH</span></code> before building the component in question.-It will always do so for internal dependencies, and also do so for external dependencies when using Nix-style local builds.</p>-<p><a class="reference internal" href="#pkg-field-build-tool-depends" title="package.cabal build-tool-depends field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-tool-depends</span></code></a> was added in Cabal 2.0, and it will-be ignored (with a warning) with old versions of Cabal. See-<a class="reference internal" href="#pkg-field-build-tools" title="package.cabal build-tools field(deprecated)"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-tools</span></code></a> for more information about backwards-compatibility.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-build-tools">-<code class="descname">build-tools</code><code class="descclassname">: </code><em class="property">program list</em><a class="headerlink" href="#pkg-field-build-tools" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Deprecated:</th><td class="field-body"></td>-</tr>-</tbody>-</table>-<blockquote>-<div><p>Deprecated in favor of <a class="reference internal" href="#pkg-field-build-tool-depends" title="package.cabal build-tool-depends field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-tool-depends</span></code></a>, but <a class="reference external" href="buildtoolsbc">see below for backwards compatibility information.</a></p>-<p>A list of Haskell programs needed to build this component.-Each may be followed by an optional version bound.-Confusingly, each program in the list either refer to one of three things:</p>-<blockquote>-<div><ol class="arabic simple">-<li>Another executables in the same package</li>-<li>One of a hard-coded set of packages containing common build tools-(possibly extended by a <code class="docutils literal"><span class="pre">Custom</span></code> setup script)</li>-<li>A pre-built executable that should already be on the <code class="docutils literal"><span class="pre">PATH</span></code>-(Supported only by Cabal 2.0 and later.)</li>-</ol>-</div></blockquote>-<p>These cases are listed in order of priority:-an executable in the package will override any of the hard-coded packages with the same name,-and a hard-coded package will override any executable on the <code class="docutils literal"><span class="pre">PATH</span></code>.</p>-<p>In the first two cases, the list entry is desugared into a <a class="reference internal" href="#pkg-field-build-tool-depends" title="package.cabal build-tool-depends field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-tool-depends</span></code></a> entry.-In the first case, the entry is desugared into a <a class="reference internal" href="#pkg-field-build-tool-depends" title="package.cabal build-tool-depends field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-tool-depends</span></code></a> entry by prefixing with <code class="docutils literal"><span class="pre">$pkg:</span></code>.-In the second case, it is desugared by looking up the package and executable name in a hard-coded table.-In either case, the optional version bound is passed through unchanged.-Refer to the documentation for <a class="reference internal" href="#pkg-field-build-tool-depends" title="package.cabal build-tool-depends field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-tool-depends</span></code></a> to understand the desugared field’s meaning, along with restrictions on version bounds.</p>-<p id="buildtoolsbc">Although this field is deprecated in favor of <a class="reference internal" href="#pkg-field-build-tool-depends" title="package.cabal build-tool-depends field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-tool-depends</span></code></a>, there are some situations where you may prefer to use <code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-tool</span></code> in cases (1) and (2), as it is supported by more versions of Cabal.-In case (3), <a class="reference internal" href="#pkg-field-build-tool-depends" title="package.cabal build-tool-depends field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-tool-depends</span></code></a> is better for backwards-compatibility, as it will be ignored by old versions of Cabal; if you add the executable to <a class="reference internal" href="#pkg-field-build-tools" title="package.cabal build-tools field(deprecated)"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-tools</span></code></a>, a setup script built against old Cabal will choke.-If an old version of Cabal is used, an end-user will have to manually arrange for the requested executable to be in your <code class="docutils literal"><span class="pre">PATH</span></code>.</p>-</div></blockquote>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-buildable">-<code class="descname">buildable</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#pkg-field-buildable" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body"><code class="docutils literal"><span class="pre">True</span></code></td>-</tr>-</tbody>-</table>-<p>Is the component buildable? Like some of the other fields below,-this field is more useful with the slightly more elaborate form of-the simple build infrastructure described in the section on-<a class="reference internal" href="#system-dependent-parameters">system-dependent parameters</a>.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-ghc-options">-<code class="descname">ghc-options</code><code class="descclassname">: </code><em class="property">token list</em><a class="headerlink" href="#pkg-field-ghc-options" title="Permalink to this definition">¶</a></dt>-<dd><p>Additional options for GHC. You can often achieve the same effect-using the <a class="reference internal" href="#pkg-field-extensions" title="package.cabal extensions field(deprecated)"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">extensions</span></code></a> field, which is preferred.</p>-<p>Options required only by one module may be specified by placing an-<code class="docutils literal"><span class="pre">OPTIONS_GHC</span></code> pragma in the source file affected.</p>-<p>As with many other fields, whitespace can be escaped by using-Haskell string syntax. Example:-<code class="docutils literal"><span class="pre">ghc-options:</span> <span class="pre">-Wcompat</span> <span class="pre">"-with-rtsopts=-T</span> <span class="pre">-I1"</span> <span class="pre">-Wall</span></code>.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-ghc-prof-options">-<code class="descname">ghc-prof-options</code><code class="descclassname">: </code><em class="property">token list</em><a class="headerlink" href="#pkg-field-ghc-prof-options" title="Permalink to this definition">¶</a></dt>-<dd><p>Additional options for GHC when the package is built with profiling-enabled.</p>-<p>Note that as of Cabal-1.24, the default profiling detail level-defaults to <code class="docutils literal"><span class="pre">exported-functions</span></code> for libraries and-<code class="docutils literal"><span class="pre">toplevel-functions</span></code> for executables. For GHC these correspond to-the flags <code class="docutils literal"><span class="pre">-fprof-auto-exported</span></code> and <code class="docutils literal"><span class="pre">-fprof-auto-top</span></code>. Prior to-Cabal-1.24 the level defaulted to <code class="docutils literal"><span class="pre">none</span></code>. These levels can be-adjusted by the person building the package with the-<code class="docutils literal"><span class="pre">--profiling-detail</span></code> and <code class="docutils literal"><span class="pre">--library-profiling-detail</span></code> flags.</p>-<p>It is typically better for the person building the package to pick-the profiling detail level rather than for the package author. So-unless you have special needs it is probably better not to specify-any of the GHC <code class="docutils literal"><span class="pre">-fprof-auto*</span></code> flags here. However if you wish to-override the profiling detail level, you can do so using the-<a class="reference internal" href="#pkg-field-ghc-prof-options" title="package.cabal ghc-prof-options field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">ghc-prof-options</span></code></a> field: use <code class="docutils literal"><span class="pre">-fno-prof-auto</span></code> or one of the-other <code class="docutils literal"><span class="pre">-fprof-auto*</span></code> flags.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-ghc-shared-options">-<code class="descname">ghc-shared-options</code><code class="descclassname">: </code><em class="property">token list</em><a class="headerlink" href="#pkg-field-ghc-shared-options" title="Permalink to this definition">¶</a></dt>-<dd><p>Additional options for GHC when the package is built as shared-library. The options specified via this field are combined with the-ones specified via <a class="reference internal" href="#pkg-field-ghc-options" title="package.cabal ghc-options field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">ghc-options</span></code></a>, and are passed to GHC during-both the compile and link phases.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-includes">-<code class="descname">includes</code><code class="descclassname">: </code><em class="property">filename list</em><a class="headerlink" href="#pkg-field-includes" title="Permalink to this definition">¶</a></dt>-<dd><p>A list of header files to be included in any compilations via C.-This field applies to both header files that are already installed-on the system and to those coming with the package to be installed.-The former files should be found in absolute paths, while the latter-files should be found in paths relative to the top of the source-tree or relative to one of the directories listed in-<a class="reference internal" href="#pkg-field-include-dirs" title="package.cabal include-dirs field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">include-dirs</span></code></a>.</p>-<p>These files typically contain function prototypes for foreign-imports used by the package. This is in contrast to-<a class="reference internal" href="#pkg-field-install-includes" title="package.cabal install-includes field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">install-includes</span></code></a>, which lists header files that are intended-to be exposed to other packages that transitively depend on this-library.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-install-includes">-<code class="descname">install-includes</code><code class="descclassname">: </code><em class="property">filename list</em><a class="headerlink" href="#pkg-field-install-includes" title="Permalink to this definition">¶</a></dt>-<dd><p>A list of header files from this package to be installed into-<code class="docutils literal"><span class="pre">$libdir/includes</span></code> when the package is installed. Files listed in-<a class="reference internal" href="#pkg-field-install-includes" title="package.cabal install-includes field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">install-includes</span></code></a> should be found in relative to the top of the-source tree or relative to one of the directories listed in-<a class="reference internal" href="#pkg-field-include-dirs" title="package.cabal include-dirs field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">include-dirs</span></code></a>.</p>-<p><a class="reference internal" href="#pkg-field-install-includes" title="package.cabal install-includes field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">install-includes</span></code></a> is typically used to name header files that-contain prototypes for foreign imports used in Haskell code in this-package, for which the C implementations are also provided with the-package. For example, here is a <code class="docutils literal"><span class="pre">.cabal</span></code> file for a hypothetical-<code class="docutils literal"><span class="pre">bindings-clib</span></code> package that bundles the C source code for <code class="docutils literal"><span class="pre">clib</span></code>:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">include-dirs</span><span class="p">:</span> cbits-<span class="k">c-sources</span><span class="p">:</span> clib.c-<span class="k">install-includes</span><span class="p">:</span> clib.h-</pre></div>-</div>-<p>Now any package that depends (directly or transitively) on the-<code class="docutils literal"><span class="pre">bindings-clib</span></code> library can use <code class="docutils literal"><span class="pre">clib.h</span></code>.</p>-<p>Note that in order for files listed in <a class="reference internal" href="#pkg-field-install-includes" title="package.cabal install-includes field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">install-includes</span></code></a> to be-usable when compiling the package itself, they need to be listed in-the <a class="reference internal" href="#pkg-field-includes" title="package.cabal includes field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">includes</span></code></a> field as well.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-include-dirs">-<code class="descname">include-dirs</code><code class="descclassname">: </code><em class="property">directory list</em><a class="headerlink" href="#pkg-field-include-dirs" title="Permalink to this definition">¶</a></dt>-<dd><p>A list of directories to search for header files, when preprocessing-with <code class="docutils literal"><span class="pre">c2hs</span></code>, <code class="docutils literal"><span class="pre">hsc2hs</span></code>, <code class="docutils literal"><span class="pre">cpphs</span></code> or the C preprocessor, and also-when compiling via C. Directories can be absolute paths (e.g., for-system directories) or paths that are relative to the top of the-source tree. Cabal looks in these directories when attempting to-locate files listed in <a class="reference internal" href="#pkg-field-includes" title="package.cabal includes field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">includes</span></code></a> and-<a class="reference internal" href="#pkg-field-install-includes" title="package.cabal install-includes field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">install-includes</span></code></a>.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-c-sources">-<code class="descname">c-sources</code><code class="descclassname">: </code><em class="property">filename list</em><a class="headerlink" href="#pkg-field-c-sources" title="Permalink to this definition">¶</a></dt>-<dd><p>A list of C source files to be compiled and linked with the Haskell-files.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-js-sources">-<code class="descname">js-sources</code><code class="descclassname">: </code><em class="property">filename list</em><a class="headerlink" href="#pkg-field-js-sources" title="Permalink to this definition">¶</a></dt>-<dd><p>A list of JavaScript source files to be linked with the Haskell-files (only for JavaScript targets).</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-extra-libraries">-<code class="descname">extra-libraries</code><code class="descclassname">: </code><em class="property">token list</em><a class="headerlink" href="#pkg-field-extra-libraries" title="Permalink to this definition">¶</a></dt>-<dd><p>A list of extra libraries to link with.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-extra-ghci-libraries">-<code class="descname">extra-ghci-libraries</code><code class="descclassname">: </code><em class="property">token list</em><a class="headerlink" href="#pkg-field-extra-ghci-libraries" title="Permalink to this definition">¶</a></dt>-<dd><p>A list of extra libraries to be used instead of ‘extra-libraries’-when the package is loaded with GHCi.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-extra-lib-dirs">-<code class="descname">extra-lib-dirs</code><code class="descclassname">: </code><em class="property">directory list</em><a class="headerlink" href="#pkg-field-extra-lib-dirs" title="Permalink to this definition">¶</a></dt>-<dd><p>A list of directories to search for libraries.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-cc-options">-<code class="descname">cc-options</code><code class="descclassname">: </code><em class="property">token list</em><a class="headerlink" href="#pkg-field-cc-options" title="Permalink to this definition">¶</a></dt>-<dd><p>Command-line arguments to be passed to the C compiler. Since the-arguments are compiler-dependent, this field is more useful with the-setup described in the section on <a class="reference internal" href="#system-dependent-parameters">system-dependent parameters</a>.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-cpp-options">-<code class="descname">cpp-options</code><code class="descclassname">: </code><em class="property">token list</em><a class="headerlink" href="#pkg-field-cpp-options" title="Permalink to this definition">¶</a></dt>-<dd><p>Command-line arguments for pre-processing Haskell code. Applies to-haskell source and other pre-processed Haskell source like .hsc-.chs. Does not apply to C code, that’s what cc-options is for.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-ld-options">-<code class="descname">ld-options</code><code class="descclassname">: </code><em class="property">token list</em><a class="headerlink" href="#pkg-field-ld-options" title="Permalink to this definition">¶</a></dt>-<dd><p>Command-line arguments to be passed to the linker. Since the-arguments are compiler-dependent, this field is more useful with the-setup described in the section on <a class="reference internal" href="#system-dependent-parameters">system-dependent parameters</a>.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-pkgconfig-depends">-<code class="descname">pkgconfig-depends</code><code class="descclassname">: </code><em class="property">package list</em><a class="headerlink" href="#pkg-field-pkgconfig-depends" title="Permalink to this definition">¶</a></dt>-<dd><p>A list of-<a class="reference external" href="http://www.freedesktop.org/wiki/Software/pkg-config/">pkg-config</a>-packages, needed to build this package. They can be annotated with-versions, e.g. <code class="docutils literal"><span class="pre">gtk+-2.0</span> <span class="pre">>=</span> <span class="pre">2.10,</span> <span class="pre">cairo</span> <span class="pre">>=</span> <span class="pre">1.0</span></code>. If no version-constraint is specified, any version is assumed to be acceptable.-Cabal uses <code class="docutils literal"><span class="pre">pkg-config</span></code> to find if the packages are available on-the system and to find the extra compilation and linker options-needed to use the packages.</p>-<p>If you need to bind to a C library that supports <code class="docutils literal"><span class="pre">pkg-config</span></code> (use-<code class="docutils literal"><span class="pre">pkg-config</span> <span class="pre">--list-all</span></code> to find out if it is supported) then it is-much preferable to use this field rather than hard code options into-the other fields.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-frameworks">-<code class="descname">frameworks</code><code class="descclassname">: </code><em class="property">token list</em><a class="headerlink" href="#pkg-field-frameworks" title="Permalink to this definition">¶</a></dt>-<dd><p>On Darwin/MacOS X, a list of frameworks to link to. See Apple’s-developer documentation for more details on frameworks. This entry-is ignored on all other platforms.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-extra-frameworks-dirs">-<code class="descname">extra-frameworks-dirs</code><code class="descclassname">: </code><em class="property">directory list</em><a class="headerlink" href="#pkg-field-extra-frameworks-dirs" title="Permalink to this definition">¶</a></dt>-<dd><p>On Darwin/MacOS X, a list of directories to search for frameworks.-This entry is ignored on all other platforms.</p>-</dd></dl>--</div>-<div class="section" id="configurations">-<h3>3.3.2.10. Configurations<a class="headerlink" href="#configurations" title="Permalink to this headline">¶</a></h3>-<p>Library and executable sections may include conditional blocks, which-test for various system parameters and configuration flags. The flags-mechanism is rather generic, but most of the time a flag represents-certain feature, that can be switched on or off by the package user.-Here is an example package description file using configurations:</p>-<div class="section" id="id2">-<h4>3.3.2.10.1. Example: A package containing a library and executable programs<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h4>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">Name</span><span class="p">:</span> Test1-<span class="k">Version</span><span class="p">:</span> 0.0.1-<span class="k">Cabal-Version</span><span class="p">:</span> <span class="o">>=</span> 1.2-<span class="k">License</span><span class="p">:</span> BSD3-<span class="k">Author</span><span class="p">:</span> Jane Doe-<span class="k">Synopsis</span><span class="p">:</span> Test package to test configurations-<span class="k">Category</span><span class="p">:</span> Example--<span class="k">Flag</span> Debug-<span class="w"> </span><span class="k">Description</span><span class="p">:</span> Enable debug support-<span class="w"> </span><span class="k">Default</span><span class="p">:</span> False--<span class="k">Flag</span> WebFrontend-<span class="w"> </span><span class="k">Description</span><span class="p">:</span> Include API for web frontend.-<span class="w"> </span><span class="c1">-- Cabal checks if the configuration is possible, first</span>-<span class="w"> </span><span class="c1">-- with this flag set to True and if not it tries with False</span>--<span class="k">Library</span>-<span class="w"> </span><span class="k">Build-Depends</span><span class="p">:</span> base-<span class="w"> </span><span class="k">Exposed-Modules</span><span class="p">:</span> Testing.Test1-<span class="w"> </span><span class="k">Extensions</span><span class="p">:</span> CPP-- if flag(debug)-<span class="w"> </span><span class="k">GHC-Options</span><span class="p">:</span> -DDEBUG- if !os(windows)-<span class="w"> </span><span class="k">CC-Options</span><span class="p">:</span> "-DDEBUG"- else-<span class="w"> </span><span class="k">CC-Options</span><span class="p">:</span> "-DNDEBUG"-- if flag(webfrontend)-<span class="w"> </span><span class="k">Build-Depends</span><span class="p">:</span> cgi <span class="o">></span> 0.42-<span class="w"> </span><span class="k">Other-Modules</span><span class="p">:</span> Testing.WebStuff--<span class="k">Executable</span> test1-<span class="w"> </span><span class="k">Main-is</span><span class="p">:</span> T1.hs-<span class="w"> </span><span class="k">Other-Modules</span><span class="p">:</span> Testing.Test1-<span class="w"> </span><span class="k">Build-Depends</span><span class="p">:</span> base-- if flag(debug)-<span class="w"> </span><span class="k">CC-Options</span><span class="p">:</span> "-DDEBUG"-<span class="w"> </span><span class="k">GHC-Options</span><span class="p">:</span> -DDEBUG-</pre></div>-</div>-</div>-<div class="section" id="layout">-<h4>3.3.2.10.2. Layout<a class="headerlink" href="#layout" title="Permalink to this headline">¶</a></h4>-<p>Flags, conditionals, library and executable sections use layout to-indicate structure. This is very similar to the Haskell layout rule.-Entries in a section have to all be indented to the same level which-must be more than the section header. Tabs are not allowed to be used-for indentation.</p>-<p>As an alternative to using layout you can also use explicit braces-<code class="docutils literal"><span class="pre">{}</span></code>. In this case the indentation of entries in a section does not-matter, though different fields within a block must be on different-lines. Here is a bit of the above example again, using braces:</p>-</div>-<div class="section" id="example-using-explicit-braces-rather-than-indentation-for-layout">-<h4>3.3.2.10.3. Example: Using explicit braces rather than indentation for layout<a class="headerlink" href="#example-using-explicit-braces-rather-than-indentation-for-layout" title="Permalink to this headline">¶</a></h4>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">Name</span><span class="p">:</span> Test1-<span class="k">Version</span><span class="p">:</span> 0.0.1-<span class="k">Cabal-Version</span><span class="p">:</span> <span class="o">>=</span> 1.2-<span class="k">License</span><span class="p">:</span> BSD3-<span class="k">Author</span><span class="p">:</span> Jane Doe-<span class="k">Synopsis</span><span class="p">:</span> Test package to test configurations-<span class="k">Category</span><span class="p">:</span> Example--<span class="k">Flag</span> Debug <span class="p">{</span>-<span class="w"> </span><span class="k">Description</span><span class="p">:</span> Enable debug support-<span class="w"> </span><span class="k">Default</span><span class="p">:</span> False-<span class="p">}</span>--<span class="k">Library</span> <span class="p">{</span>-<span class="w"> </span><span class="k">Build-Depends</span><span class="p">:</span> base-<span class="w"> </span><span class="k">Exposed-Modules</span><span class="p">:</span> Testing.Test1-<span class="w"> </span><span class="k">Extensions</span><span class="p">:</span> CPP- if flag(debug) <span class="p">{</span>-<span class="w"> </span><span class="k">GHC-Options</span><span class="p">:</span> -DDEBUG- if !os(windows) <span class="p">{</span>-<span class="w"> </span><span class="k">CC-Options</span><span class="p">:</span> "-DDEBUG"- <span class="p">}</span> else <span class="p">{</span>-<span class="w"> </span><span class="k">CC-Options</span><span class="p">:</span> "-DNDEBUG"- <span class="p">}</span>- <span class="p">}</span>-<span class="p">}</span>-</pre></div>-</div>-</div>-<div class="section" id="configuration-flags">-<h4>3.3.2.10.4. Configuration Flags<a class="headerlink" href="#configuration-flags" title="Permalink to this headline">¶</a></h4>-<dl class="pkg-section">-<dt id="pkg-section-flag-flag">-<code class="descname">flag</code><code class="descclassname"> </code><em class="property">name</em><a class="headerlink" href="#pkg-section-flag-flag" title="Permalink to this definition">¶</a></dt>-<dd><p>Flag section declares a flag which can be used in <a class="reference internal" href="#conditional-blocks">conditional blocks</a>.</p>-</dd></dl>--<p>Flag names are case-insensitive and must match <code class="docutils literal"><span class="pre">[[:alnum:]_][[:alnum:]_-]*</span></code>-regular expression.</p>-<div class="admonition note">-<p class="first admonition-title">Note</p>-<p class="last">Hackage accepts ASCII-only flags, <code class="docutils literal"><span class="pre">[a-zA-Z0-9_][a-zA-Z0-9_-]*</span></code> regexp.</p>-</div>-<dl class="pkg-field">-<dt id="pkg-field-flag-description">-<code class="descname">description</code><code class="descclassname">: </code><em class="property">freeform</em><a class="headerlink" href="#pkg-field-flag-description" title="Permalink to this definition">¶</a></dt>-<dd><p>The description of this flag.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-flag-default">-<code class="descname">default</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#pkg-field-flag-default" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body"><code class="docutils literal"><span class="pre">True</span></code></td>-</tr>-</tbody>-</table>-<p>The default value of this flag.</p>-<div class="admonition note">-<p class="first admonition-title">Note</p>-<p class="last">This value may be <a class="reference external" href="installing-packages.html#controlling-flag-assignments">overridden in several-ways</a>. The-rationale for having flags default to True is that users usually-want new features as soon as they are available. Flags representing-features that are not (yet) recommended for most users (such as-experimental features or debugging support) should therefore-explicitly override the default to False.</p>-</div>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-flag-manual">-<code class="descname">manual</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#pkg-field-flag-manual" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body"><code class="docutils literal"><span class="pre">False</span></code></td>-</tr>-</tbody>-</table>-<p>By default, Cabal will first try to satisfy dependencies with the-default flag value and then, if that is not possible, with the-negated value. However, if the flag is manual, then the default-value (which can be overridden by commandline flags) will be used.</p>-</dd></dl>--</div>-</div>-<div class="section" id="conditional-blocks">-<h3>3.3.2.11. Conditional Blocks<a class="headerlink" href="#conditional-blocks" title="Permalink to this headline">¶</a></h3>-<p>Conditional blocks may appear anywhere inside a library or executable-section. They have to follow rather strict formatting rules. Conditional-blocks must always be of the shape</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">if</span> condition- property-descriptions-or-conditionals-</pre></div>-</div>-<p>or</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">if</span> condition- property-descriptions-or-conditionals-<span class="k">else</span>- property-descriptions-or-conditionals-</pre></div>-</div>-<p>Note that the <code class="docutils literal"><span class="pre">if</span></code> and the condition have to be all on the same line.</p>-<div class="section" id="conditions">-<h4>3.3.2.11.1. Conditions<a class="headerlink" href="#conditions" title="Permalink to this headline">¶</a></h4>-<p>Conditions can be formed using boolean tests and the boolean operators-<code class="docutils literal"><span class="pre">||</span></code> (disjunction / logical “or”), <code class="docutils literal"><span class="pre">&&</span></code> (conjunction / logical-“and”), or <code class="docutils literal"><span class="pre">!</span></code> (negation / logical “not”). The unary <code class="docutils literal"><span class="pre">!</span></code> takes-highest precedence, <code class="docutils literal"><span class="pre">||</span></code> takes lowest. Precedence levels may be-overridden through the use of parentheses. For example,-<code class="docutils literal"><span class="pre">os(darwin)</span> <span class="pre">&&</span> <span class="pre">!arch(i386)</span> <span class="pre">||</span> <span class="pre">os(freebsd)</span></code> is equivalent to-<code class="docutils literal"><span class="pre">(os(darwin)</span> <span class="pre">&&</span> <span class="pre">!(arch(i386)))</span> <span class="pre">||</span> <span class="pre">os(freebsd)</span></code>.</p>-<p>The following tests are currently supported.</p>-<dl class="docutils">-<dt><code class="samp docutils literal"><span class="pre">os(</span><em><span class="pre">name</span></em><span class="pre">)</span></code></dt>-<dd>Tests if the current operating system is <em>name</em>. The argument is-tested against <code class="docutils literal"><span class="pre">System.Info.os</span></code> on the target system. There is-unfortunately some disagreement between Haskell implementations-about the standard values of <code class="docutils literal"><span class="pre">System.Info.os</span></code>. Cabal canonicalises-it so that in particular <code class="docutils literal"><span class="pre">os(windows)</span></code> works on all-implementations. If the canonicalised os names match, this test-evaluates to true, otherwise false. The match is case-insensitive.</dd>-<dt><code class="samp docutils literal"><span class="pre">arch(</span><em><span class="pre">name</span></em><span class="pre">)</span></code></dt>-<dd>Tests if the current architecture is <em>name</em>. The argument is matched-against <code class="docutils literal"><span class="pre">System.Info.arch</span></code> on the target system. If the arch names-match, this test evaluates to true, otherwise false. The match is-case-insensitive.</dd>-<dt><code class="samp docutils literal"><span class="pre">impl(</span><em><span class="pre">compiler</span></em><span class="pre">)</span></code></dt>-<dd><p class="first">Tests for the configured Haskell implementation. An optional version-constraint may be specified (for example <code class="docutils literal"><span class="pre">impl(ghc</span> <span class="pre">>=</span> <span class="pre">6.6.1)</span></code>). If-the configured implementation is of the right type and matches the-version constraint, then this evaluates to true, otherwise false.-The match is case-insensitive.</p>-<p>Note that including a version constraint in an <code class="docutils literal"><span class="pre">impl</span></code> test causes-it to check for two properties:</p>-<ul class="simple">-<li>The current compiler has the specified name, and</li>-<li>The compiler’s version satisfied the specified version constraint</li>-</ul>-<p>As a result, <code class="docutils literal"><span class="pre">!impl(ghc</span> <span class="pre">>=</span> <span class="pre">x.y.z)</span></code> is not entirely equivalent to-<code class="docutils literal"><span class="pre">impl(ghc</span> <span class="pre"><</span> <span class="pre">x.y.z)</span></code>. The test <code class="docutils literal"><span class="pre">!impl(ghc</span> <span class="pre">>=</span> <span class="pre">x.y.z)</span></code> checks that:</p>-<ul class="last simple">-<li>The current compiler is not GHC, or</li>-<li>The version of GHC is earlier than version x.y.z.</li>-</ul>-</dd>-<dt><code class="samp docutils literal"><span class="pre">flag(</span><em><span class="pre">name</span></em><span class="pre">)</span></code></dt>-<dd>Evaluates to the current assignment of the flag of the given name.-Flag names are case insensitive. Testing for flags that have not-been introduced with a flag section is an error.</dd>-<dt><code class="docutils literal"><span class="pre">true</span></code></dt>-<dd>Constant value true.</dd>-<dt><code class="docutils literal"><span class="pre">false</span></code></dt>-<dd>Constant value false.</dd>-</dl>-</div>-<div class="section" id="resolution-of-conditions-and-flags">-<h4>3.3.2.11.2. Resolution of Conditions and Flags<a class="headerlink" href="#resolution-of-conditions-and-flags" title="Permalink to this headline">¶</a></h4>-<p>If a package descriptions specifies configuration flags the package user-can <a class="reference external" href="installing-packages.html#controlling-flag-assignments">control these in several-ways</a>. If the-user does not fix the value of a flag, Cabal will try to find a flag-assignment in the following way.</p>-<ul class="simple">-<li>For each flag specified, it will assign its default value, evaluate-all conditions with this flag assignment, and check if all-dependencies can be satisfied. If this check succeeded, the package-will be configured with those flag assignments.</li>-<li>If dependencies were missing, the last flag (as by the order in which-the flags were introduced in the package description) is tried with-its alternative value and so on. This continues until either an-assignment is found where all dependencies can be satisfied, or all-possible flag assignments have been tried.</li>-</ul>-<p>To put it another way, Cabal does a complete backtracking search to find-a satisfiable package configuration. It is only the dependencies-specified in the <a class="reference internal" href="#pkg-field-build-depends" title="package.cabal build-depends field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-depends</span></code></a> field in conditional blocks that-determine if a particular flag assignment is satisfiable-(<a class="reference internal" href="#pkg-field-build-tools" title="package.cabal build-tools field(deprecated)"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-tools</span></code></a> are not considered). The order of the declaration and-the default value of the flags determines the search order. Flags-overridden on the command line fix the assignment of that flag, so no-backtracking will be tried for that flag.</p>-<p>If no suitable flag assignment could be found, the configuration phase-will fail and a list of missing dependencies will be printed. Note that-this resolution process is exponential in the worst case (i.e., in the-case where dependencies cannot be satisfied). There are some-optimizations applied internally, but the overall complexity remains-unchanged.</p>-</div>-</div>-<div class="section" id="meaning-of-field-values-when-using-conditionals">-<h3>3.3.2.12. Meaning of field values when using conditionals<a class="headerlink" href="#meaning-of-field-values-when-using-conditionals" title="Permalink to this headline">¶</a></h3>-<p>During the configuration phase, a flag assignment is chosen, all-conditionals are evaluated, and the package description is combined into-a flat package descriptions. If the same field both inside a conditional-and outside then they are combined using the following rules.</p>-<ul>-<li><p class="first">Boolean fields are combined using conjunction (logical “and”).</p>-</li>-<li><p class="first">List fields are combined by appending the inner items to the outer-items, for example</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">other-extensions</span><span class="p">:</span> CPP-<span class="k">if</span> impl(ghc)-<span class="w"> </span><span class="k">other-extensions</span><span class="p">:</span> MultiParamTypeClasses-</pre></div>-</div>-<p>when compiled using GHC will be combined to</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">other-extensions</span><span class="p">:</span> CPP<span class="p">,</span> MultiParamTypeClasses-</pre></div>-</div>-<p>Similarly, if two conditional sections appear at the same nesting-level, properties specified in the latter will come after properties-specified in the former.</p>-</li>-<li><p class="first">All other fields must not be specified in ambiguous ways. For example</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">Main-is</span><span class="p">:</span> Main.hs-<span class="k">if</span> flag(useothermain)-<span class="w"> </span><span class="k">Main-is</span><span class="p">:</span> OtherMain.hs-</pre></div>-</div>-<p>will lead to an error. Instead use</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">if</span> flag(useothermain)-<span class="w"> </span><span class="k">Main-is</span><span class="p">:</span> OtherMain.hs-<span class="k">else</span>-<span class="w"> </span><span class="k">Main-is</span><span class="p">:</span> Main.hs-</pre></div>-</div>-</li>-</ul>-</div>-<div class="section" id="source-repositories">-<h3>3.3.2.13. Source Repositories<a class="headerlink" href="#source-repositories" title="Permalink to this headline">¶</a></h3>-<dl class="pkg-section">-<dt id="pkg-section-source-repository-source-repository">-<code class="descname">source-repository</code><code class="descclassname"> </code><a class="headerlink" href="#pkg-section-source-repository-source-repository" title="Permalink to this definition">¶</a></dt>-<dd></dd></dl>--<p>It is often useful to be able to specify a source revision control-repository for a package. Cabal lets you specifying this information in-a relatively structured form which enables other tools to interpret and-make effective use of the information. For example the information-should be sufficient for an automatic tool to checkout the sources.</p>-<p>Cabal supports specifying different information for various common-source control systems. Obviously not all automated tools will support-all source control systems.</p>-<p>Cabal supports specifying repositories for different use cases. By-declaring which case we mean automated tools can be more useful. There-are currently two kinds defined:</p>-<ul class="simple">-<li>The <code class="docutils literal"><span class="pre">head</span></code> kind refers to the latest development branch of the-package. This may be used for example to track activity of a project-or as an indication to outside developers what sources to get for-making new contributions.</li>-<li>The <code class="docutils literal"><span class="pre">this</span></code> kind refers to the branch and tag of a repository that-contains the sources for this version or release of a package. For-most source control systems this involves specifying a tag, id or-hash of some form and perhaps a branch. The purpose is to be able to-reconstruct the sources corresponding to a particular package-version. This might be used to indicate what sources to get if-someone needs to fix a bug in an older branch that is no longer an-active head branch.</li>-</ul>-<p>You can specify one kind or the other or both. As an example here are-the repositories for the Cabal library. Note that the <code class="docutils literal"><span class="pre">this</span></code> kind of-repository specifies a tag.</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">source-repository</span> head-<span class="w"> </span><span class="k">type</span><span class="p">:</span> darcs-<span class="w"> </span><span class="k">location</span><span class="p">:</span> http<span class="p">:</span>//darcs.haskell.org/cabal/--<span class="k">source-repository</span> this-<span class="w"> </span><span class="k">type</span><span class="p">:</span> darcs-<span class="w"> </span><span class="k">location</span><span class="p">:</span> http<span class="p">:</span>//darcs.haskell.org/cabal-branches/cabal-1.6/-<span class="w"> </span><span class="k">tag</span><span class="p">:</span> 1.6.1-</pre></div>-</div>-<p>The exact fields are as follows:</p>-<dl class="pkg-field">-<dt id="pkg-field-source-repository-type">-<code class="descname">type</code><code class="descclassname">: </code><em class="property">token</em><a class="headerlink" href="#pkg-field-source-repository-type" title="Permalink to this definition">¶</a></dt>-<dd><p>The name of the source control system used for this repository. The-currently recognised types are:</p>-<ul class="simple">-<li><code class="docutils literal"><span class="pre">darcs</span></code></li>-<li><code class="docutils literal"><span class="pre">git</span></code></li>-<li><code class="docutils literal"><span class="pre">svn</span></code></li>-<li><code class="docutils literal"><span class="pre">cvs</span></code></li>-<li><code class="docutils literal"><span class="pre">mercurial</span></code> (or alias <code class="docutils literal"><span class="pre">hg</span></code>)</li>-<li><code class="docutils literal"><span class="pre">bazaar</span></code> (or alias <code class="docutils literal"><span class="pre">bzr</span></code>)</li>-<li><code class="docutils literal"><span class="pre">arch</span></code></li>-<li><code class="docutils literal"><span class="pre">monotone</span></code></li>-</ul>-<p>This field is required.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-source-repository-location">-<code class="descname">location</code><code class="descclassname">: </code><em class="property">URL</em><a class="headerlink" href="#pkg-field-source-repository-location" title="Permalink to this definition">¶</a></dt>-<dd><p>The location of the repository. The exact form of this field depends-on the repository type. For example:</p>-<ul class="simple">-<li>for darcs: <code class="docutils literal"><span class="pre">http://code.haskell.org/foo/</span></code></li>-<li>for git: <code class="docutils literal"><span class="pre">git://github.com/foo/bar.git</span></code></li>-<li>for CVS: <code class="docutils literal"><span class="pre">anoncvs@cvs.foo.org:/cvs</span></code></li>-</ul>-<p>This field is required.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-source-repository-module">-<code class="descname">module</code><code class="descclassname">: </code><em class="property">token</em><a class="headerlink" href="#pkg-field-source-repository-module" title="Permalink to this definition">¶</a></dt>-<dd><p>CVS requires a named module, as each CVS server can host multiple-named repositories.</p>-<p>This field is required for the CVS repository type and should not be-used otherwise.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-source-repository-branch">-<code class="descname">branch</code><code class="descclassname">: </code><em class="property">token</em><a class="headerlink" href="#pkg-field-source-repository-branch" title="Permalink to this definition">¶</a></dt>-<dd><p>Many source control systems support the notion of a branch, as a-distinct concept from having repositories in separate locations. For-example CVS, SVN and git use branches while for darcs uses different-locations for different branches. If you need to specify a branch to-identify a your repository then specify it in this field.</p>-<p>This field is optional.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-source-repository-tag">-<code class="descname">tag</code><code class="descclassname">: </code><em class="property">token</em><a class="headerlink" href="#pkg-field-source-repository-tag" title="Permalink to this definition">¶</a></dt>-<dd><p>A tag identifies a particular state of a source repository. The tag-can be used with a <code class="docutils literal"><span class="pre">this</span></code> repository kind to identify the state of-a repository corresponding to a particular package version or-release. The exact form of the tag depends on the repository type.</p>-<p>This field is required for the <code class="docutils literal"><span class="pre">this</span></code> repository kind.</p>-</dd></dl>--<dl class="pkg-field">-<dt id="pkg-field-source-repository-subdir">-<code class="descname">subdir</code><code class="descclassname">: </code><em class="property">directory</em><a class="headerlink" href="#pkg-field-source-repository-subdir" title="Permalink to this definition">¶</a></dt>-<dd><p>Some projects put the sources for multiple packages under a single-source repository. This field lets you specify the relative path-from the root of the repository to the top directory for the-package, i.e. the directory containing the package’s <code class="docutils literal"><span class="pre">.cabal</span></code>-file.</p>-<p>This field is optional. It default to empty which corresponds to the-root directory of the repository.</p>-</dd></dl>--</div>-<div class="section" id="downloading-a-package-s-source">-<h3>3.3.2.14. Downloading a package’s source<a class="headerlink" href="#downloading-a-package-s-source" title="Permalink to this headline">¶</a></h3>-<p>The <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">get</span></code> command allows to access a package’s source code --either by unpacking a tarball downloaded from Hackage (the default) or-by checking out a working copy from the package’s source repository.</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span>$ cabal get [FLAGS] PACKAGES-</pre></div>-</div>-<p>The <code class="docutils literal"><span class="pre">get</span></code> command supports the following options:</p>-<dl class="docutils">-<dt><code class="docutils literal"><span class="pre">-d</span> <span class="pre">--destdir</span></code> <em>PATH</em></dt>-<dd>Where to place the package source, defaults to (a subdirectory of)-the current directory.</dd>-<dt><code class="docutils literal"><span class="pre">-s</span> <span class="pre">--source-repository</span></code> <em>[head|this|…]</em></dt>-<dd>Fork the package’s source repository using the appropriate version-control system. The optional argument allows to choose a specific-repository kind.</dd>-<dt><code class="docutils literal"><span class="pre">--index-state</span></code> <em>[HEAD|@<unix-timestamp>|<iso8601-utc-timestamp>]</em></dt>-<dd>Use source package index state as it existed at a previous time. Accepts-unix-timestamps (e.g. <code class="docutils literal"><span class="pre">@1474732068</span></code>), ISO8601 UTC timestamps (e.g.-<code class="docutils literal"><span class="pre">2016-09-24T17:47:48Z</span></code>), or <code class="docutils literal"><span class="pre">HEAD</span></code> (default).-This determines which package versions are available as well as which-<code class="docutils literal"><span class="pre">.cabal</span></code> file revision is selected (unless <code class="docutils literal"><span class="pre">--pristine</span></code> is used).</dd>-<dt><code class="docutils literal"><span class="pre">--pristine</span></code></dt>-<dd>Unpack the original pristine tarball, rather than updating the-<code class="docutils literal"><span class="pre">.cabal</span></code> file with the latest revision from the package archive.</dd>-</dl>-</div>-</div>-<div class="section" id="custom-setup-scripts">-<h2>3.3.3. Custom setup scripts<a class="headerlink" href="#custom-setup-scripts" title="Permalink to this headline">¶</a></h2>-<dl class="pkg-section">-<dt id="pkg-section-custom-setup-custom-setup">-<code class="descname">custom-setup</code><code class="descclassname"> </code><a class="headerlink" href="#pkg-section-custom-setup-custom-setup" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Since:</th><td class="field-body">Cabal 1.24</td>-</tr>-</tbody>-</table>-<p>The optional <a class="reference internal" href="#pkg-section-custom-setup-custom-setup" title="package.cabal custom-setup section (since version: 1.24)"><code class="xref cabal cabal-pkg-section docutils literal"><span class="pre">custom-setup</span></code></a> stanza contains information needed-for the compilation of custom <code class="docutils literal"><span class="pre">Setup.hs</span></code> scripts,</p>-</dd></dl>--<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">custom-setup</span>-<span class="w"> </span><span class="k">setup-depends</span><span class="p">:</span>- base <span class="o">>=</span> 4.5 <span class="o">&&</span> <span class="o"><</span> 4.11<span class="p">,</span>- Cabal <span class="o"><</span> 1.25-</pre></div>-</div>-<dl class="pkg-field">-<dt id="pkg-field-custom-setup-setup-depends">-<code class="descname">setup-depends</code><code class="descclassname">: </code><em class="property">package list</em><a class="headerlink" href="#pkg-field-custom-setup-setup-depends" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Since:</th><td class="field-body">Cabal 1.24</td>-</tr>-</tbody>-</table>-<p>The dependencies needed to compile <code class="docutils literal"><span class="pre">Setup.hs</span></code>. See the-<a class="reference internal" href="#pkg-field-build-depends" title="package.cabal build-depends field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-depends</span></code></a> field for a description of the syntax expected by-this field.</p>-</dd></dl>--</div>-<div class="section" id="autogenerated-modules">-<h2>3.3.4. Autogenerated modules<a class="headerlink" href="#autogenerated-modules" title="Permalink to this headline">¶</a></h2>-<p>Modules that are built automatically at setup, created with a custom-setup script, must appear on <a class="reference internal" href="#pkg-field-other-modules" title="package.cabal other-modules field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">other-modules</span></code></a> for the library,-executable, test-suite or benchmark stanzas or also on-<a class="reference internal" href="#pkg-field-library-exposed-modules" title="package.cabal library section exposed-modules: field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">library:exposed-modules</span></code></a> for libraries to be used, but are not-really on the package when distributed. This makes commands like sdist fail-because the file is not found.</p>-<p>These special modules must appear again on the <a class="reference internal" href="#pkg-field-custom-setup-autogen-modules" title="package.cabal custom-setup section autogen-modules: field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">autogen-modules</span></code></a>-field of the stanza that is using it, besides <a class="reference internal" href="#pkg-field-other-modules" title="package.cabal other-modules field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">other-modules</span></code></a> or-<a class="reference internal" href="#pkg-field-library-exposed-modules" title="package.cabal library section exposed-modules: field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">library:exposed-modules</span></code></a>. With this there is no need to create-complex build hooks for this poweruser case.</p>-<dl class="pkg-field">-<dt id="pkg-field-custom-setup-autogen-modules">-<code class="descname">autogen-modules</code><code class="descclassname">: </code><em class="property">module list</em><a class="headerlink" href="#pkg-field-custom-setup-autogen-modules" title="Permalink to this definition">¶</a></dt>-<dd></dd></dl>--<p>Right now <a class="reference internal" href="#pkg-field-executable-main-is" title="package.cabal executable section main-is: field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">executable:main-is</span></code></a> modules are not supported on-<a class="reference internal" href="#pkg-field-custom-setup-autogen-modules" title="package.cabal custom-setup section autogen-modules: field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">autogen-modules</span></code></a>.</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">Library</span>-<span class="w"> </span><span class="k">default-language</span><span class="p">:</span> Haskell2010-<span class="w"> </span><span class="k">build-depends</span><span class="p">:</span> base-<span class="w"> </span><span class="k">exposed-modules</span><span class="p">:</span>- MyLibrary- MyLibHelperModule-<span class="w"> </span><span class="k">other-modules</span><span class="p">:</span>- MyLibModule-<span class="w"> </span><span class="k">autogen-modules</span><span class="p">:</span>- MyLibHelperModule--<span class="k">Executable</span> Exe-<span class="w"> </span><span class="k">default-language</span><span class="p">:</span> Haskell2010-<span class="w"> </span><span class="k">main-is</span><span class="p">:</span> Dummy.hs-<span class="w"> </span><span class="k">build-depends</span><span class="p">:</span> base-<span class="w"> </span><span class="k">other-modules</span><span class="p">:</span>- MyExeModule- MyExeHelperModule-<span class="w"> </span><span class="k">autogen-modules</span><span class="p">:</span>- MyExeHelperModule-</pre></div>-</div>-</div>-<div class="section" id="accessing-data-files-from-package-code">-<h2>3.3.5. Accessing data files from package code<a class="headerlink" href="#accessing-data-files-from-package-code" title="Permalink to this headline">¶</a></h2>-<p>The placement on the target system of files listed in-the <a class="reference internal" href="#pkg-field-data-files" title="package.cabal data-files field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">data-files</span></code></a> field varies between systems, and in some cases-one can even move packages around after installation (see <a class="reference external" href="installing-packages.html#prefix-independence">prefix-independence</a>). To-enable packages to find these files in a portable way, Cabal generates a-module called <code class="file docutils literal"><span class="pre">Paths_</span><em><span class="pre">pkgname</span></em></code> (with any hyphens in <em>pkgname</em>-replaced by underscores) during building, so that it may be imported by-modules of the package. This module defines a function</p>-<div class="highlight-haskell"><div class="highlight"><pre><span></span><span class="nf">getDataFileName</span> <span class="ow">::</span> <span class="kt">FilePath</span> <span class="ow">-></span> <span class="kt">IO</span> <span class="kt">FilePath</span>-</pre></div>-</div>-<p>If the argument is a filename listed in the <a class="reference internal" href="#pkg-field-data-files" title="package.cabal data-files field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">data-files</span></code></a> field, the-result is the name of the corresponding file on the system on which the-program is running.</p>-<div class="admonition note">-<p class="first admonition-title">Note</p>-<p class="last">If you decide to import the <code class="file docutils literal"><span class="pre">Paths_</span><em><span class="pre">pkgname</span></em></code> module then it-<em>must</em> be listed in the <a class="reference internal" href="#pkg-field-other-modules" title="package.cabal other-modules field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">other-modules</span></code></a> field just like any other-module in your package and on <a class="reference internal" href="#pkg-field-custom-setup-autogen-modules" title="package.cabal custom-setup section autogen-modules: field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">autogen-modules</span></code></a> as the file is-autogenerated.</p>-</div>-<p>The <code class="file docutils literal"><span class="pre">Paths_</span><em><span class="pre">pkgname</span></em></code> module is not platform independent, as any-other autogenerated module, so it does not get included in the source-tarballs generated by <code class="docutils literal"><span class="pre">sdist</span></code>.</p>-<p>The <code class="file docutils literal"><span class="pre">Paths_</span><em><span class="pre">pkgname</span></em></code> module also includes some other useful-functions and values, which record the version of the package and some-other directories which the package has been configured to be installed-into (e.g. data files live in <code class="docutils literal"><span class="pre">getDataDir</span></code>):</p>-<div class="highlight-haskell"><div class="highlight"><pre><span></span><span class="nf">version</span> <span class="ow">::</span> <span class="kt">Version</span>--<span class="nf">getBinDir</span> <span class="ow">::</span> <span class="kt">IO</span> <span class="kt">FilePath</span>-<span class="nf">getLibDir</span> <span class="ow">::</span> <span class="kt">IO</span> <span class="kt">FilePath</span>-<span class="nf">getDynLibDir</span> <span class="ow">::</span> <span class="kt">IO</span> <span class="kt">FilePath</span>-<span class="nf">getDataDir</span> <span class="ow">::</span> <span class="kt">IO</span> <span class="kt">FilePath</span>-<span class="nf">getLibexecDir</span> <span class="ow">::</span> <span class="kt">IO</span> <span class="kt">FilePath</span>-<span class="nf">getSysconfDir</span> <span class="ow">::</span> <span class="kt">IO</span> <span class="kt">FilePath</span>-</pre></div>-</div>-<p>The actual location of all these directories can be individually-overridden at runtime using environment variables of the form-<code class="docutils literal"><span class="pre">pkg_name_var</span></code>, where <code class="docutils literal"><span class="pre">pkg_name</span></code> is the name of the package with all-hyphens converted into underscores, and <code class="docutils literal"><span class="pre">var</span></code> is either <code class="docutils literal"><span class="pre">bindir</span></code>,-<code class="docutils literal"><span class="pre">libdir</span></code>, <code class="docutils literal"><span class="pre">dynlibdir</span></code>, <code class="docutils literal"><span class="pre">datadir</span></code>, <code class="docutils literal"><span class="pre">libexedir</span></code> or <code class="docutils literal"><span class="pre">sysconfdir</span></code>. For example,-the configured data directory for <code class="docutils literal"><span class="pre">pretty-show</span></code> is controlled with the-<code class="docutils literal"><span class="pre">pretty_show_datadir</span></code> environment variable.</p>-<div class="section" id="accessing-the-package-version">-<h3>3.3.5.1. Accessing the package version<a class="headerlink" href="#accessing-the-package-version" title="Permalink to this headline">¶</a></h3>-<p>The aforementioned auto generated <code class="file docutils literal"><span class="pre">Paths_</span><em><span class="pre">pkgname</span></em></code> module also-exports the constant <code class="docutils literal"><span class="pre">version</span> <span class="pre">::</span></code>-<a class="reference external" href="http://hackage.haskell.org/package/base/docs/Data-Version.html">Version</a>-which is defined as the version of your package as specified in the-<code class="docutils literal"><span class="pre">version</span></code> field.</p>-</div>-</div>-<div class="section" id="system-dependent-parameters">-<h2>3.3.6. System-dependent parameters<a class="headerlink" href="#system-dependent-parameters" title="Permalink to this headline">¶</a></h2>-<p>For some packages, especially those interfacing with C libraries,-implementation details and the build procedure depend on the build-environment. The <code class="docutils literal"><span class="pre">build-type</span></code> <code class="docutils literal"><span class="pre">Configure</span></code> can be used to handle many-such situations. In this case, <code class="docutils literal"><span class="pre">Setup.hs</span></code> should be:</p>-<div class="highlight-haskell"><div class="highlight"><pre><span></span><span class="kr">import</span> <span class="nn">Distribution.Simple</span>-<span class="nf">main</span> <span class="ow">=</span> <span class="n">defaultMainWithHooks</span> <span class="n">autoconfUserHooks</span>-</pre></div>-</div>-<p>Most packages, however, would probably do better using the <code class="docutils literal"><span class="pre">Simple</span></code>-build type and <a class="reference internal" href="#configurations">configurations</a>.</p>-<p>The <a class="reference internal" href="#pkg-field-build-type" title="package.cabal build-type field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-type</span></code></a> <code class="docutils literal"><span class="pre">Configure</span></code> differs from <code class="docutils literal"><span class="pre">Simple</span></code> in two ways:</p>-<ul class="simple">-<li>The package root directory must contain a shell script called-<code class="docutils literal"><span class="pre">configure</span></code>. The configure step will run the script. This-<code class="docutils literal"><span class="pre">configure</span></code> script may be produced by-<a class="reference external" href="http://www.gnu.org/software/autoconf/">autoconf</a> or may be-hand-written. The <code class="docutils literal"><span class="pre">configure</span></code> script typically discovers-information about the system and records it for later steps, e.g. by-generating system-dependent header files for inclusion in C source-files and preprocessed Haskell source files. (Clearly this won’t work-for Windows without MSYS or Cygwin: other ideas are needed.)</li>-<li>If the package root directory contains a file called-<em>package</em><code class="docutils literal"><span class="pre">.buildinfo</span></code> after the configuration step, subsequent-steps will read it to obtain additional settings for <a class="reference internal" href="#build-information">build-information</a> fields,to be merged with the ones-given in the <code class="docutils literal"><span class="pre">.cabal</span></code> file. In particular, this file may be-generated by the <code class="docutils literal"><span class="pre">configure</span></code> script mentioned above, allowing these-settings to vary depending on the build environment.</li>-</ul>-<p>The build information file should have the following structure:</p>-<blockquote>-<div><p><em>buildinfo</em></p>-<p><code class="docutils literal"><span class="pre">executable:</span></code> <em>name</em> <em>buildinfo</em></p>-<p><code class="docutils literal"><span class="pre">executable:</span></code> <em>name</em> <em>buildinfo</em> …</p>-</div></blockquote>-<p>where each <em>buildinfo</em> consists of settings of fields listed in the-section on <a class="reference internal" href="#build-information">build information</a>. The first one (if-present) relates to the library, while each of the others relate to the-named executable. (The names must match the package description, but you-don’t have to have entries for all of them.)</p>-<p>Neither of these files is required. If they are absent, this setup-script is equivalent to <code class="docutils literal"><span class="pre">defaultMain</span></code>.</p>-<div class="section" id="example-using-autoconf">-<h3>3.3.6.1. Example: Using autoconf<a class="headerlink" href="#example-using-autoconf" title="Permalink to this headline">¶</a></h3>-<p>This example is for people familiar with the-<a class="reference external" href="http://www.gnu.org/software/autoconf/">autoconf</a> tools.</p>-<p>In the X11 package, the file <code class="docutils literal"><span class="pre">configure.ac</span></code> contains:</p>-<div class="highlight-shell"><div class="highlight"><pre><span></span>AC_INIT<span class="o">([</span>Haskell X11 package<span class="o">]</span>, <span class="o">[</span><span class="m">1</span>.1<span class="o">]</span>, <span class="o">[</span>libraries@haskell.org<span class="o">]</span>, <span class="o">[</span>X11<span class="o">])</span>--<span class="c1"># Safety check: Ensure that we are in the correct source directory.</span>-AC_CONFIG_SRCDIR<span class="o">([</span>X11.cabal<span class="o">])</span>--<span class="c1"># Header file to place defines in</span>-AC_CONFIG_HEADERS<span class="o">([</span>include/HsX11Config.h<span class="o">])</span>--<span class="c1"># Check for X11 include paths and libraries</span>-AC_PATH_XTRA-AC_TRY_CPP<span class="o">([</span><span class="c1">#include <X11/Xlib.h>],,[no_x=yes])</span>--<span class="c1"># Build the package if we found X11 stuff</span>-<span class="k">if</span> <span class="nb">test</span> <span class="s2">"</span><span class="nv">$no_x</span><span class="s2">"</span> <span class="o">=</span> yes-<span class="k">then</span> <span class="nv">BUILD_PACKAGE_BOOL</span><span class="o">=</span>False-<span class="k">else</span> <span class="nv">BUILD_PACKAGE_BOOL</span><span class="o">=</span>True-<span class="k">fi</span>-AC_SUBST<span class="o">([</span>BUILD_PACKAGE_BOOL<span class="o">])</span>--AC_CONFIG_FILES<span class="o">([</span>X11.buildinfo<span class="o">])</span>-AC_OUTPUT-</pre></div>-</div>-<p>Then the setup script will run the <code class="docutils literal"><span class="pre">configure</span></code> script, which checks-for the presence of the X11 libraries and substitutes for variables in-the file <code class="docutils literal"><span class="pre">X11.buildinfo.in</span></code>:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">buildable</span><span class="p">:</span> @BUILD_PACKAGE_BOOL@-<span class="k">cc-options</span><span class="p">:</span> @X_CFLAGS@-<span class="k">ld-options</span><span class="p">:</span> @X_LIBS@-</pre></div>-</div>-<p>This generates a file <code class="docutils literal"><span class="pre">X11.buildinfo</span></code> supplying the parameters needed-by later stages:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">buildable</span><span class="p">:</span> True-<span class="k">cc-options</span><span class="p">:</span> -I/usr/X11R6/include-<span class="k">ld-options</span><span class="p">:</span> -L/usr/X11R6/lib-</pre></div>-</div>-<p>The <code class="docutils literal"><span class="pre">configure</span></code> script also generates a header file-<code class="docutils literal"><span class="pre">include/HsX11Config.h</span></code> containing C preprocessor defines recording-the results of various tests. This file may be included by C source-files and preprocessed Haskell source files in the package.</p>-<div class="admonition note">-<p class="first admonition-title">Note</p>-<p class="last">Packages using these features will also need to list additional-files such as <code class="docutils literal"><span class="pre">configure</span></code>, templates for <code class="docutils literal"><span class="pre">.buildinfo</span></code> files, files-named only in <code class="docutils literal"><span class="pre">.buildinfo</span></code> files, header files and so on in the-<a class="reference internal" href="#pkg-field-extra-source-files" title="package.cabal extra-source-files field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">extra-source-files</span></code></a> field to ensure that they are included in-source distributions. They should also list files and directories generated-by <code class="docutils literal"><span class="pre">configure</span></code> in the <a class="reference internal" href="#pkg-field-extra-tmp-files" title="package.cabal extra-tmp-files field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">extra-tmp-files</span></code></a> field to ensure that-they are removed by <code class="docutils literal"><span class="pre">setup</span> <span class="pre">clean</span></code>.</p>-</div>-<p>Quite often the files generated by <code class="docutils literal"><span class="pre">configure</span></code> need to be listed-somewhere in the package description (for example, in the-<a class="reference internal" href="#pkg-field-install-includes" title="package.cabal install-includes field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">install-includes</span></code></a> field). However, we usually don’t want generated-files to be included in the source tarball. The solution is again-provided by the <code class="docutils literal"><span class="pre">.buildinfo</span></code> file. In the above example, the following-line should be added to <code class="docutils literal"><span class="pre">X11.buildinfo</span></code>:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">install-includes</span><span class="p">:</span> HsX11Config.h-</pre></div>-</div>-<p>In this way, the generated <code class="docutils literal"><span class="pre">HsX11Config.h</span></code> file won’t be included in-the source tarball in addition to <code class="docutils literal"><span class="pre">HsX11Config.h.in</span></code>, but it will be-copied to the right location during the install process. Packages that-use custom <code class="docutils literal"><span class="pre">Setup.hs</span></code> scripts can update the necessary fields-programmatically instead of using the <code class="docutils literal"><span class="pre">.buildinfo</span></code> file.</p>-</div>-</div>-<div class="section" id="conditional-compilation">-<h2>3.3.7. Conditional compilation<a class="headerlink" href="#conditional-compilation" title="Permalink to this headline">¶</a></h2>-<p>Sometimes you want to write code that works with more than one version-of a dependency. You can specify a range of versions for the dependency-in the <a class="reference internal" href="#pkg-field-build-depends" title="package.cabal build-depends field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-depends</span></code></a>, but how do you then write the code that can-use different versions of the API?</p>-<p>Haskell lets you preprocess your code using the C preprocessor (either-the real C preprocessor, or <code class="docutils literal"><span class="pre">cpphs</span></code>). To enable this, add-<code class="docutils literal"><span class="pre">extensions:</span> <span class="pre">CPP</span></code> to your package description. When using CPP, Cabal-provides some pre-defined macros to let you test the version of-dependent packages; for example, suppose your package works with either-version 3 or version 4 of the <code class="docutils literal"><span class="pre">base</span></code> package, you could select the-available version in your Haskell modules like this:</p>-<div class="highlight-cpp"><div class="highlight"><pre><span></span><span class="cp">#if MIN_VERSION_base(4,0,0)</span>-<span class="p">...</span> <span class="n">code</span> <span class="n">that</span> <span class="n">works</span> <span class="n">with</span> <span class="n">base</span><span class="o">-</span><span class="mi">4</span> <span class="p">...</span>-<span class="cp">#else</span>-<span class="p">...</span> <span class="n">code</span> <span class="n">that</span> <span class="n">works</span> <span class="n">with</span> <span class="n">base</span><span class="o">-</span><span class="mi">3</span> <span class="p">...</span>-<span class="cp">#endif</span>-</pre></div>-</div>-<p>In general, Cabal supplies a macro-<code class="docutils literal"><span class="pre">MIN_VERSION_</span></code><em>``package``</em><code class="docutils literal"><span class="pre">_(A,B,C)</span></code> for each package depended-on via <a class="reference internal" href="#pkg-field-build-depends" title="package.cabal build-depends field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-depends</span></code></a>. This macro is true if the actual version of-the package in use is greater than or equal to <code class="docutils literal"><span class="pre">A.B.C</span></code> (using the-conventional ordering on version numbers, which is lexicographic on the-sequence, but numeric on each component, so for example 1.2.0 is greater-than 1.0.3).</p>-<p>Since version 1.20, the <code class="docutils literal"><span class="pre">MIN_TOOL_VERSION_</span></code><em>``tool``</em>-family of macros lets you condition on the version of build tools used to-build the program (e.g. <code class="docutils literal"><span class="pre">hsc2hs</span></code>).</p>-<p>Since version 1.24, the macro <code class="docutils literal"><span class="pre">CURRENT_COMPONENT_ID</span></code>, which-expands to the string of the component identifier that uniquely-identifies this component. Furthermore, if the package is a library,-the macro <code class="docutils literal"><span class="pre">CURRENT_PACKAGE_KEY</span></code> records the identifier that was passed-to GHC for use in symbols and for type equality.</p>-<p>Since version 2.0, the macro <code class="docutils literal"><span class="pre">CURRENT_PACKAGE_VERSION</span></code> expands-to the string version number of the current package.</p>-<p>Cabal places the definitions of these macros into an-automatically-generated header file, which is included when-preprocessing Haskell source code by passing options to the C-preprocessor.</p>-<p>Cabal also allows to detect when the source code is being used for-generating documentation. The <code class="docutils literal"><span class="pre">__HADDOCK_VERSION__</span></code> macro is defined-only when compiling via <a class="reference external" href="http://www.haskell.org/haddock/">Haddock</a>-instead of a normal Haskell compiler. The value of the-<code class="docutils literal"><span class="pre">__HADDOCK_VERSION__</span></code> macro is defined as <code class="docutils literal"><span class="pre">A*1000</span> <span class="pre">+</span> <span class="pre">B*10</span> <span class="pre">+</span> <span class="pre">C</span></code>, where-<code class="docutils literal"><span class="pre">A.B.C</span></code> is the Haddock version. This can be useful for working around-bugs in Haddock or generating prettier documentation in some special-cases.</p>-</div>-<div class="section" id="more-complex-packages">-<h2>3.3.8. More complex packages<a class="headerlink" href="#more-complex-packages" title="Permalink to this headline">¶</a></h2>-<p>For packages that don’t fit the simple schemes described above, you have-a few options:</p>-<ul>-<li><p class="first">By using the <a class="reference internal" href="#pkg-field-build-type" title="package.cabal build-type field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-type</span></code></a> <code class="docutils literal"><span class="pre">Custom</span></code>, you can supply your own-<code class="docutils literal"><span class="pre">Setup.hs</span></code> file, and customize the simple build infrastructure-using <em>hooks</em>. These allow you to perform additional actions before-and after each command is run, and also to specify additional-preprocessors. A typical <code class="docutils literal"><span class="pre">Setup.hs</span></code> may look like this:</p>-<div class="highlight-haskell"><div class="highlight"><pre><span></span><span class="kr">import</span> <span class="nn">Distribution.Simple</span>-<span class="nf">main</span> <span class="ow">=</span> <span class="n">defaultMainWithHooks</span> <span class="n">simpleUserHooks</span> <span class="p">{</span> <span class="n">postHaddock</span> <span class="ow">=</span> <span class="n">posthaddock</span> <span class="p">}</span>--<span class="nf">posthaddock</span> <span class="n">args</span> <span class="n">flags</span> <span class="n">desc</span> <span class="n">info</span> <span class="ow">=</span> <span class="o">....</span>-</pre></div>-</div>-<p>See <code class="docutils literal"><span class="pre">UserHooks</span></code> in-<a class="reference external" href="../release/cabal-latest/doc/API/Cabal/Distribution-Simple.html">Distribution.Simple</a>-for the details, but note that this interface is experimental, and-likely to change in future releases.</p>-<p>If you use a custom <code class="docutils literal"><span class="pre">Setup.hs</span></code> file you should strongly consider-adding a <a class="reference internal" href="#pkg-section-custom-setup-custom-setup" title="package.cabal custom-setup section (since version: 1.24)"><code class="xref cabal cabal-pkg-section docutils literal"><span class="pre">custom-setup</span></code></a> stanza with a-<a class="reference internal" href="#pkg-field-custom-setup-setup-depends" title="package.cabal custom-setup section setup-depends: field(since version: 1.24)"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">custom-setup:setup-depends</span></code></a> field to ensure that your setup-script does not break with future dependency versions.</p>-</li>-<li><p class="first">You could delegate all the work to <code class="docutils literal"><span class="pre">make</span></code>, though this is unlikely-to be very portable. Cabal supports this with the <a class="reference internal" href="#pkg-field-build-type" title="package.cabal build-type field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-type</span></code></a>-<code class="docutils literal"><span class="pre">Make</span></code> and a trivial setup library-<a class="reference external" href="../release/cabal-latest/doc/API/Cabal/Distribution-Make.html">Distribution.Make</a>,-which simply parses the command line arguments and invokes <code class="docutils literal"><span class="pre">make</span></code>.-Here <code class="docutils literal"><span class="pre">Setup.hs</span></code> should look like this:</p>-<div class="highlight-haskell"><div class="highlight"><pre><span></span><span class="kr">import</span> <span class="nn">Distribution.Make</span>-<span class="nf">main</span> <span class="ow">=</span> <span class="n">defaultMain</span>-</pre></div>-</div>-<p>The root directory of the package should contain a <code class="docutils literal"><span class="pre">configure</span></code>-script, and, after that has run, a <code class="docutils literal"><span class="pre">Makefile</span></code> with a default target-that builds the package, plus targets <code class="docutils literal"><span class="pre">install</span></code>, <code class="docutils literal"><span class="pre">register</span></code>,-<code class="docutils literal"><span class="pre">unregister</span></code>, <code class="docutils literal"><span class="pre">clean</span></code>, <code class="docutils literal"><span class="pre">dist</span></code> and <code class="docutils literal"><span class="pre">docs</span></code>. Some options to-commands are passed through as follows:</p>-<ul>-<li><p class="first">The <code class="docutils literal"><span class="pre">--with-hc-pkg</span></code>, <code class="docutils literal"><span class="pre">--prefix</span></code>, <code class="docutils literal"><span class="pre">--bindir</span></code>, <code class="docutils literal"><span class="pre">--libdir</span></code>,-<code class="docutils literal"><span class="pre">--dynlibdir</span></code>, <code class="docutils literal"><span class="pre">--datadir</span></code>, <code class="docutils literal"><span class="pre">--libexecdir</span></code> and <code class="docutils literal"><span class="pre">--sysconfdir</span></code> options to-the <code class="docutils literal"><span class="pre">configure</span></code> command are passed on to the <code class="docutils literal"><span class="pre">configure</span></code>-script. In addition the value of the <code class="docutils literal"><span class="pre">--with-compiler</span></code> option is-passed in a <code class="docutils literal"><span class="pre">--with-hc</span></code> option and all options specified with-<code class="docutils literal"><span class="pre">--configure-option=</span></code> are passed on.</p>-</li>-<li><p class="first">The <code class="docutils literal"><span class="pre">--destdir</span></code> option to the <code class="docutils literal"><span class="pre">copy</span></code> command becomes a setting-of a <code class="docutils literal"><span class="pre">destdir</span></code> variable on the invocation of <code class="docutils literal"><span class="pre">make</span> <span class="pre">copy</span></code>. The-supplied <code class="docutils literal"><span class="pre">Makefile</span></code> should provide a <code class="docutils literal"><span class="pre">copy</span></code> target, which will-probably look like this:</p>-<div class="highlight-make"><div class="highlight"><pre><span></span><span class="nf">copy </span><span class="o">:</span>- <span class="k">$(</span>MAKE<span class="k">)</span> install <span class="nv">prefix</span><span class="o">=</span><span class="k">$(</span>destdir<span class="k">)</span>/<span class="k">$(</span>prefix<span class="k">)</span> <span class="se">\</span>- <span class="nv">bindir</span><span class="o">=</span><span class="k">$(</span>destdir<span class="k">)</span>/<span class="k">$(</span>bindir<span class="k">)</span> <span class="se">\</span>- <span class="nv">libdir</span><span class="o">=</span><span class="k">$(</span>destdir<span class="k">)</span>/<span class="k">$(</span>libdir<span class="k">)</span> <span class="se">\</span>- <span class="nv">dynlibdir</span><span class="o">=</span><span class="k">$(</span>destdir<span class="k">)</span>/<span class="k">$(</span>dynlibdir<span class="k">)</span> <span class="se">\</span>- <span class="nv">datadir</span><span class="o">=</span><span class="k">$(</span>destdir<span class="k">)</span>/<span class="k">$(</span>datadir<span class="k">)</span> <span class="se">\</span>- <span class="nv">libexecdir</span><span class="o">=</span><span class="k">$(</span>destdir<span class="k">)</span>/<span class="k">$(</span>libexecdir<span class="k">)</span> <span class="se">\</span>- <span class="nv">sysconfdir</span><span class="o">=</span><span class="k">$(</span>destdir<span class="k">)</span>/<span class="k">$(</span>sysconfdir<span class="k">)</span> <span class="se">\</span>-</pre></div>-</div>-</li>-</ul>-</li>-<li><p class="first">Finally, with the <a class="reference internal" href="#pkg-field-build-type" title="package.cabal build-type field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-type</span></code></a> <code class="docutils literal"><span class="pre">Custom</span></code>, you can also write your-own setup script from scratch. It must conform to the interface-described in the section on <a class="reference external" href="installing-packages.html">building and installing-packages</a>, and you may use the Cabal-library for all or part of the work. One option is to copy the source-of <code class="docutils literal"><span class="pre">Distribution.Simple</span></code>, and alter it for your needs. Good luck.</p>-</li>-</ul>-</div>-</div>--- </div>- <div class="articleComments">- - </div>- </div>- <footer>- - <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">- - <a href="bugs-and-stability.html" class="btn btn-neutral float-right" title="4. Reporting Bugs and Stability of Cabal Interfaces" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>- - - <a href="concepts-and-development.html" class="btn btn-neutral" title="3. Package Concepts and Development" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>- - </div>- -- <hr/>-- <div role="contentinfo">- <p>- © Copyright 2003-2017, Cabal Team.-- </p>- </div>- Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. --</footer>-- </div>- </div>-- </section>-- </div>- --- -- <script type="text/javascript">- var DOCUMENTATION_OPTIONS = {- URL_ROOT:'./',- VERSION:'2.0',- COLLAPSE_INDEX:false,- FILE_SUFFIX:'.html',- HAS_SOURCE: true,- SOURCELINK_SUFFIX: '.txt'- };- </script>- <script type="text/javascript" src="_static/jquery.js"></script>- <script type="text/javascript" src="_static/underscore.js"></script>- <script type="text/javascript" src="_static/doctools.js"></script>-- -- - - <script type="text/javascript" src="_static/js/theme.js"></script>- -- - - <script type="text/javascript">- jQuery(function () {- SphinxRtdTheme.StickyNav.enable();- });- </script>- --</body>-</html>
@@ -1,3277 +0,0 @@----<!DOCTYPE html>-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->-<head>- <meta charset="utf-8">- - <meta name="viewport" content="width=device-width, initial-scale=1.0">- - <title>Index — Cabal <release> User's Guide</title>- -- - - - -- -- - - -- -- - - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />- -- -- - <link rel="index" title="Index"- href="#"/>- <link rel="search" title="Search" href="search.html"/>- <link rel="top" title="Cabal <release> User's Guide" href="index.html"/> -- - <script src="_static/js/modernizr.min.js"></script>--</head>--<body class="wy-body-for-nav" role="document">-- - <div class="wy-grid-for-nav">-- - <nav data-toggle="wy-nav-shift" class="wy-nav-side">- <div class="wy-side-scroll">- <div class="wy-side-nav-search">- -- - <a href="index.html" class="icon icon-home"> Cabal- -- - - <img src="_static/Cabal-dark.png" class="logo" />- - </a>-- - - - <div class="version">- 2.0- </div>- - -- -<div role="search">- <form id="rtd-search-form" class="wy-form" action="search.html" method="get">- <input type="text" name="q" placeholder="Search docs" />- <input type="hidden" name="check_keywords" value="yes" />- <input type="hidden" name="area" value="default" />- </form>-</div>-- - </div>-- <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">- - - - - - - - <ul>-<li class="toctree-l1"><a class="reference internal" href="intro.html">1. Introduction</a></li>-<li class="toctree-l1"><a class="reference internal" href="config-and-install.html">2. Configuration and Installing Packages</a></li>-<li class="toctree-l1"><a class="reference internal" href="concepts-and-development.html">3. Package Concepts and Development</a></li>-<li class="toctree-l1"><a class="reference internal" href="bugs-and-stability.html">4. Reporting Bugs and Stability of Cabal Interfaces</a></li>-<li class="toctree-l1"><a class="reference internal" href="nix-local-build-overview.html">5. Nix-style Local Builds</a></li>-<li class="toctree-l1"><a class="reference internal" href="nix-integration.html">6. Nix Integration</a></li>-</ul>-- - - <a href="cabal-projectindex.html">Reference</a>- <a href="genindex.html">Index</a>-- </div>- </div>- </nav>-- <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">-- - <nav class="wy-nav-top" role="navigation" aria-label="top navigation">- - <i data-toggle="wy-nav-top" class="fa fa-bars"></i>- <a href="index.html">Cabal</a>- - </nav>--- - <div class="wy-nav-content">- <div class="rst-content">- ----------------<div role="navigation" aria-label="breadcrumbs navigation">-- <ul class="wy-breadcrumbs">- - <li><a href="index.html">Docs</a> »</li>- - <li>Index</li>- - - <li class="wy-breadcrumbs-aside">- - - - </li>- - </ul>-- - <hr/>-</div>- <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">- <div itemprop="articleBody">- --<h1 id="index">Index</h1>--<div class="genindex-jumpbox">- <a href="#Symbols"><strong>Symbols</strong></a>- | <a href="#A"><strong>A</strong></a>- | <a href="#B"><strong>B</strong></a>- | <a href="#C"><strong>C</strong></a>- | <a href="#D"><strong>D</strong></a>- | <a href="#E"><strong>E</strong></a>- | <a href="#F"><strong>F</strong></a>- | <a href="#G"><strong>G</strong></a>- | <a href="#H"><strong>H</strong></a>- | <a href="#I"><strong>I</strong></a>- | <a href="#J"><strong>J</strong></a>- | <a href="#K"><strong>K</strong></a>- | <a href="#L"><strong>L</strong></a>- | <a href="#M"><strong>M</strong></a>- | <a href="#N"><strong>N</strong></a>- | <a href="#O"><strong>O</strong></a>- | <a href="#P"><strong>P</strong></a>- | <a href="#R"><strong>R</strong></a>- | <a href="#S"><strong>S</strong></a>- | <a href="#T"><strong>T</strong></a>- | <a href="#V"><strong>V</strong></a>- | <a href="#W"><strong>W</strong></a>- -</div>-<h2 id="Symbols">Symbols</h2>-<table style="width: 100%" class="indextable genindextable"><tr>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- --allow-boot-library-installs-- <ul>- <li><a href="nix-local-build.html#cfg-flag---allow-boot-library-installs">cabal project option</a>-</li>- </ul></li>- <li>- --allow-newer-- <ul>- <li><a href="nix-local-build.html#cfg-flag---allow-newer">cabal project option</a>-</li>- </ul></li>- <li>- --allow-newer[=pkgs], --allow-older[=pkgs]-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-allow-newer">setup-configure command line option</a>-</li>- </ul></li>- <li>- --allow-older-- <ul>- <li><a href="nix-local-build.html#cfg-flag---allow-older">cabal project option</a>-</li>- </ul></li>- <li>- --bindir=dir-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-bindir">setup-configure command line option</a>-</li>- </ul></li>- <li>- --build-summary-- <ul>- <li><a href="nix-local-build.html#cfg-flag---build-summary">cabal project option</a>-</li>- </ul></li>- <li>- --builddir=DIR-- <ul>- <li><a href="nix-local-build.html#cmdoption-builddir">command line option</a>-</li>- </ul></li>- <li>- --builddir=dir-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-test-builddir">setup-test command line option</a>-</li>- </ul></li>- <li>- --cabal-lib-version-- <ul>- <li><a href="nix-local-build.html#cfg-flag---cabal-lib-version">cabal project option</a>-</li>- </ul></li>- <li>- --cid=cid-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-cid">setup-configure command line option</a>-</li>- </ul></li>- <li>- --compiler-- <ul>- <li><a href="nix-local-build.html#cfg-flag---compiler">cabal project option</a>-</li>- </ul></li>- <li>- --configure-option-- <ul>- <li><a href="nix-local-build.html#cfg-flag---configure-option">cabal project option</a>-</li>- </ul></li>- <li>- --configure-option=str-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-configure-option">setup-configure command line option</a>-</li>- </ul></li>- <li>- --constraint-- <ul>- <li><a href="nix-local-build.html#cfg-flag---constraint">cabal project option</a>-</li>- </ul></li>- <li>- --constraint=constraint-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-constraint">setup-configure command line option</a>-</li>- </ul></li>- <li>- --count-conflicts-- <ul>- <li><a href="nix-local-build.html#cfg-flag---count-conflicts">cabal project option</a>-</li>- </ul></li>- <li>- --css=path-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-haddock-css">setup-haddock command line option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-hscolour-css">setup-hscolour command line option</a>-</li>- </ul></li>- <li>- --datadir=dir-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-datadir">setup-configure command line option</a>-</li>- </ul></li>- <li>- --datasubdir=dir-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-datasubdir">setup-configure command line option</a>-</li>- </ul></li>- <li>- --default-user-config=file-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-default-user-config">setup-configure command line option</a>-</li>- </ul></li>- <li>- --dependency[=pkgname=ipid]-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-dependency">setup-configure command line option</a>-</li>- </ul></li>- <li>- --destdir=path-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-copy-destdir">setup-copy command line option</a>-</li>- </ul></li>- <li>- --disable-benchmarks-- <ul>- <li><a href="nix-local-build.html#cfg-flag---disable-benchmarks">cabal project option</a>-</li>- </ul></li>- <li>- --disable-coverage-- <ul>- <li><a href="nix-local-build.html#cfg-flag---disable-coverage">cabal project option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-disable-coverage">setup-configure command line option</a>-</li>- </ul></li>- <li>- --disable-debug-info-- <ul>- <li><a href="nix-local-build.html#cfg-flag---disable-debug-info">cabal project option</a>-</li>- </ul></li>- <li>- --disable-documentation-- <ul>- <li><a href="nix-local-build.html#cfg-flag---disable-documentation">cabal project option</a>-</li>- </ul></li>- <li>- --disable-executable-dynamic-- <ul>- <li><a href="nix-local-build.html#cfg-flag---disable-executable-dynamic">cabal project option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-disable-executable-dynamic">setup-configure command line option</a>-</li>- </ul></li>- <li>- --disable-executable-profiling-- <ul>- <li><a href="nix-local-build.html#cfg-flag---disable-executable-profiling">cabal project option</a>-</li>- </ul></li>- <li>- --disable-executable-stripping-- <ul>- <li><a href="nix-local-build.html#cfg-flag---disable-executable-stripping">cabal project option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-disable-executable-stripping">setup-configure command line option</a>-</li>- </ul></li>- <li>- --disable-library-coverage-- <ul>- <li><a href="nix-local-build.html#cfg-flag---disable-library-coverage">cabal project option</a>-</li>- </ul></li>- <li>- --disable-library-for-ghci-- <ul>- <li><a href="nix-local-build.html#cfg-flag---disable-library-for-ghci">cabal project option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-disable-library-for-ghci">setup-configure command line option</a>-</li>- </ul></li>- <li>- --disable-library-profiling-- <ul>- <li><a href="nix-local-build.html#cfg-flag---disable-library-profiling">cabal project option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-disable-library-profiling">setup-configure command line option</a>-</li>- </ul></li>- <li>- --disable-library-stripping-- <ul>- <li><a href="nix-local-build.html#cfg-flag---disable-library-stripping">cabal project option</a>-</li>- </ul></li>- <li>- --disable-library-vanilla-- <ul>- <li><a href="nix-local-build.html#cfg-flag---disable-library-vanilla">cabal project option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-disable-library-vanilla">setup-configure command line option</a>-</li>- </ul></li>- <li>- --disable-optimization-- <ul>- <li><a href="nix-local-build.html#cfg-flag---disable-optimization">cabal project option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-disable-optimization">setup-configure command line option</a>-</li>- </ul></li>- <li>- --disable-profiling-- <ul>- <li><a href="nix-local-build.html#cfg-flag---disable-profiling">cabal project option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-disable-profiling">setup-configure command line option</a>-</li>- </ul></li>- <li>- --disable-shared-- <ul>- <li><a href="nix-local-build.html#cfg-flag---disable-shared">cabal project option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-disable-shared">setup-configure command line option</a>-</li>- </ul></li>- <li>- --disable-split-objs-- <ul>- <li><a href="nix-local-build.html#cfg-flag---disable-split-objs">cabal project option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-disable-split-objs">setup-configure command line option</a>-</li>- </ul></li>- <li>- --disable-tests-- <ul>- <li><a href="nix-local-build.html#cfg-flag---disable-tests">cabal project option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-disable-tests">setup-configure command line option</a>-</li>- </ul></li>- <li>- --doc-index-file-- <ul>- <li><a href="nix-local-build.html#cfg-flag---doc-index-file">cabal project option</a>-</li>- </ul></li>- <li>- --docdir=dir-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-docdir">setup-configure command line option</a>-</li>- </ul></li>- <li>- --dynlibdir=dir-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-dynlibdir">setup-configure command line option</a>-</li>- </ul></li>- <li>- --enable-benchmarks-- <ul>- <li><a href="nix-local-build.html#cfg-flag---enable-benchmarks">cabal project option</a>-</li>- </ul></li>- <li>- --enable-coverage-- <ul>- <li><a href="nix-local-build.html#cfg-flag---enable-coverage">cabal project option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-enable-coverage">setup-configure command line option</a>-</li>- </ul></li>- <li>- --enable-debug-info-- <ul>- <li><a href="nix-local-build.html#cfg-flag---enable-debug-info">cabal project option</a>-</li>- </ul></li>- <li>- --enable-documentation-- <ul>- <li><a href="nix-local-build.html#cfg-flag---enable-documentation">cabal project option</a>-</li>- </ul></li>- <li>- --enable-executable-dynamic-- <ul>- <li><a href="nix-local-build.html#cfg-flag---enable-executable-dynamic">cabal project option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-enable-executable-dynamic">setup-configure command line option</a>-</li>- </ul></li>- <li>- --enable-executable-profiling-- <ul>- <li><a href="nix-local-build.html#cfg-flag---enable-executable-profiling">cabal project option</a>-</li>- </ul></li>- <li>- --enable-executable-stripping-- <ul>- <li><a href="nix-local-build.html#cfg-flag---enable-executable-stripping">cabal project option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-enable-executable-stripping">setup-configure command line option</a>-</li>- </ul></li>- <li>- --enable-library-coverage-- <ul>- <li><a href="nix-local-build.html#cfg-flag---enable-library-coverage">cabal project option</a>-</li>- </ul></li>- <li>- --enable-library-for-ghci-- <ul>- <li><a href="nix-local-build.html#cfg-flag---enable-library-for-ghci">cabal project option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-enable-library-for-ghci">setup-configure command line option</a>-</li>- </ul></li>- <li>- --enable-library-profiling-- <ul>- <li><a href="nix-local-build.html#cfg-flag---enable-library-profiling">cabal project option</a>-</li>- </ul></li>- <li>- --enable-library-profiling or -p-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-enable-library-profiling">setup-configure command line option</a>-</li>- </ul></li>- <li>- --enable-library-stripping-- <ul>- <li><a href="nix-local-build.html#cfg-flag---enable-library-stripping">cabal project option</a>-</li>- </ul></li>- <li>- --enable-library-vanilla-- <ul>- <li><a href="nix-local-build.html#cfg-flag---enable-library-vanilla">cabal project option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-enable-library-vanilla">setup-configure command line option</a>-</li>- </ul></li>- <li>- --enable-optimization-- <ul>- <li><a href="nix-local-build.html#cfg-flag---enable-optimization">cabal project option</a>-</li>- </ul></li>- <li>- --enable-optimization[=n] or -O [n]-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-enable-optimization">setup-configure command line option</a>-</li>- </ul></li>- <li>- --enable-profiling-- <ul>- <li><a href="nix-local-build.html#cfg-flag---enable-profiling">cabal project option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-enable-profiling">setup-configure command line option</a>-</li>- </ul></li>- <li>- --enable-shared-- <ul>- <li><a href="nix-local-build.html#cfg-flag---enable-shared">cabal project option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-enable-shared">setup-configure command line option</a>-</li>- </ul></li>- <li>- --enable-split-objs-- <ul>- <li><a href="nix-local-build.html#cfg-flag---enable-split-objs">cabal project option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-enable-split-objs">setup-configure command line option</a>-</li>- </ul></li>- <li>- --enable-tests-- <ul>- <li><a href="nix-local-build.html#cfg-flag---enable-tests">cabal project option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-enable-tests">setup-configure command line option</a>-</li>- </ul></li>- <li>- --exact-configuration-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-exact-configuration">setup-configure command line option</a>-</li>- </ul></li>- <li>- --executables-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-haddock-executables">setup-haddock command line option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-hscolour-executables">setup-hscolour command line option</a>-</li>- </ul></li>- <li>- --extra-framework-dirs-- <ul>- <li><a href="nix-local-build.html#cfg-flag---extra-framework-dirs">cabal project option</a>-</li>- </ul></li>- <li>- --extra-framework-dirs[=dir]-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-extra-framework-dirs">setup-configure command line option</a>-</li>- </ul></li>- <li>- --extra-include-dirs-- <ul>- <li><a href="nix-local-build.html#cfg-flag---extra-include-dirs">cabal project option</a>-</li>- </ul></li>- <li>- --extra-include-dirs[=dir]-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-extra-include-dirs">setup-configure command line option</a>-</li>- </ul></li>- </ul></td>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- --extra-lib-dirs-- <ul>- <li><a href="nix-local-build.html#cfg-flag---extra-lib-dirs">cabal project option</a>-</li>- </ul></li>- <li>- --extra-lib-dirs[=dir]-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-extra-lib-dirs">setup-configure command line option</a>-</li>- </ul></li>- <li>- --extra-prog-path-- <ul>- <li><a href="nix-local-build.html#cfg-flag---extra-prog-path">cabal project option</a>-</li>- </ul></li>- <li>- --flags-- <ul>- <li><a href="nix-local-build.html#cfg-flag---flags">cabal project option</a>-</li>- </ul></li>- <li>- --flags=flagspecs-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-flags">setup-configure command line option</a>-</li>- </ul></li>- <li>- --gen-pkg-config[=path]-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-register-gen-pkg-config">setup-register command line option</a>-</li>- </ul></li>- <li>- --gen-script-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-register-gen-script">setup-register command line option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-unregister-gen-script">setup-unregister command line option</a>-</li>- </ul></li>- <li>- --ghc or -g, --jhc, --lhc, --uhc-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-ghc">setup-configure command line option</a>-</li>- </ul></li>- <li>- --global-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-global">setup-configure command line option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-install-global">setup-install command line option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-register-global">setup-register command line option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-unregister-global">setup-unregister command line option</a>-</li>- </ul></li>- <li>- --help, -h or -?-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-help">setup command line option</a>-</li>- </ul></li>- <li>- --hoogle-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-haddock-hoogle">setup-haddock command line option</a>-</li>- </ul></li>- <li>- --hscolour-css=path-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-haddock-hscolour-css">setup-haddock command line option</a>-</li>- </ul></li>- <li>- --html-location=url-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-haddock-html-location">setup-haddock command line option</a>-</li>- </ul></li>- <li>- --htmldir=dir-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-htmldir">setup-configure command line option</a>-</li>- </ul></li>- <li>- --http-transport-- <ul>- <li><a href="nix-local-build.html#cfg-flag---http-transport">cabal project option</a>-</li>- </ul></li>- <li>- --human-log=path-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-test-human-log">setup-test command line option</a>-</li>- </ul></li>- <li>- --hyperlink-source-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-haddock-hyperlink-source">setup-haddock command line option</a>-</li>- </ul></li>- <li>- --ignore-expiry-- <ul>- <li><a href="nix-local-build.html#cfg-flag---ignore-expiry">cabal project option</a>-</li>- </ul></li>- <li>- --inplace-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-register-inplace">setup-register command line option</a>-</li>- </ul></li>- <li>- --internal-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-haddock-internal">setup-haddock command line option</a>-</li>- </ul></li>- <li>- --ipid=ipid-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-ipid">setup-configure command line option</a>-</li>- </ul></li>- <li>- --jobs-- <ul>- <li><a href="nix-local-build.html#cfg-flag---jobs">cabal project option</a>-</li>- </ul></li>- <li>- --keep-going-- <ul>- <li><a href="nix-local-build.html#cfg-flag---keep-going">cabal project option</a>-</li>- </ul></li>- <li>- --libdir=dir-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-libdir">setup-configure command line option</a>-</li>- </ul></li>- <li>- --libexecdir=dir-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-libexecdir">setup-configure command line option</a>-</li>- </ul></li>- <li>- --libexecsubdir=dir-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-libexecsubdir">setup-configure command line option</a>-</li>- </ul></li>- <li>- --library-profiling-detail-- <ul>- <li><a href="nix-local-build.html#cfg-flag---library-profiling-detail">cabal project option</a>-</li>- </ul></li>- <li>- --library-profiling-detail[=level]-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-library-profiling-detail">setup-configure command line option</a>-</li>- </ul></li>- <li>- --libsubdir=dir-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-libsubdir">setup-configure command line option</a>-</li>- </ul></li>- <li>- --local-repo-- <ul>- <li><a href="nix-local-build.html#cfg-flag---local-repo">cabal project option</a>-</li>- </ul></li>- <li>- --logs-dir-- <ul>- <li><a href="nix-local-build.html#cfg-flag---logs-dir">cabal project option</a>-</li>- </ul></li>- <li>- --machine-log=path-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-test-machine-log">setup-test command line option</a>-</li>- </ul></li>- <li>- --max-backjumps-- <ul>- <li><a href="nix-local-build.html#cfg-flag---max-backjumps">cabal project option</a>-</li>- </ul></li>- <li>- --no-allow-boot-library-installs-- <ul>- <li><a href="nix-local-build.html#cfg-flag---no-allow-boot-library-installs">cabal project option</a>-</li>- </ul></li>- <li>- --no-count-conflicts-- <ul>- <li><a href="nix-local-build.html#cfg-flag---no-count-conflicts">cabal project option</a>-</li>- </ul></li>- <li>- --no-reorder-goals-- <ul>- <li><a href="nix-local-build.html#cfg-flag---no-reorder-goals">cabal project option</a>-</li>- </ul></li>- <li>- --no-strong-flags-- <ul>- <li><a href="nix-local-build.html#cfg-flag---no-strong-flags">cabal project option</a>-</li>- </ul></li>- <li>- --package-db=db-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-package-db">setup-configure command line option</a>-</li>- </ul></li>- <li>- --preference-- <ul>- <li><a href="nix-local-build.html#cfg-flag---preference">cabal project option</a>-</li>- </ul></li>- <li>- --preference=preference-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-preference">setup-configure command line option</a>-</li>- </ul></li>- <li>- --prefix=dir-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-prefix">setup-configure command line option</a>-</li>- </ul></li>- <li>- --profiling-detail-- <ul>- <li><a href="nix-local-build.html#cfg-flag---profiling-detail">cabal project option</a>-</li>- </ul></li>- <li>- --profiling-detail[=level]-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-profiling-detail">setup-configure command line option</a>-</li>- </ul></li>- <li>- --prog-option=option-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-prog-option">setup-configure command line option</a>-</li>- </ul></li>- <li>- --prog-options=options-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-prog-options">setup-configure command line option</a>-</li>- </ul></li>- <li>- --prog-options=options, --prog-option=option-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-build-prog-options">setup-build command line option</a>-</li>- </ul></li>- <li>- --program-prefix-- <ul>- <li><a href="nix-local-build.html#cfg-flag---program-prefix">cabal project option</a>-</li>- </ul></li>- <li>- --program-prefix=prefix-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-program-prefix">setup-configure command line option</a>-</li>- </ul></li>- <li>- --program-suffix-- <ul>- <li><a href="nix-local-build.html#cfg-flag---program-suffix">cabal project option</a>-</li>- </ul></li>- <li>- --program-suffix=suffix-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-program-suffix">setup-configure command line option</a>-</li>- </ul></li>- <li>- --project-file=FILE-- <ul>- <li><a href="nix-local-build.html#cmdoption-project-file">command line option</a>-</li>- </ul></li>- <li>- --relocatable-- <ul>- <li><a href="nix-local-build.html#cfg-flag---relocatable">cabal project option</a>-</li>- </ul></li>- <li>- --remote-repo-cache-- <ul>- <li><a href="nix-local-build.html#cfg-flag---remote-repo-cache">cabal project option</a>-</li>- </ul></li>- <li>- --reorder-goals-- <ul>- <li><a href="nix-local-build.html#cfg-flag---reorder-goals">cabal project option</a>-</li>- </ul></li>- <li>- --run-tests-- <ul>- <li><a href="nix-local-build.html#cfg-flag---run-tests">cabal project option</a>-</li>- </ul></li>- <li>- --save-configure, -s-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-clean-save-configure">setup-clean command line option</a>-</li>- </ul></li>- <li>- --show-details=filter-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-test-show-details">setup-test command line option</a>-</li>- </ul></li>- <li>- --snapshot-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-sdist-snapshot">setup-sdist command line option</a>-</li>- </ul></li>- <li>- --solver-- <ul>- <li><a href="nix-local-build.html#cfg-flag---solver">cabal project option</a>-</li>- </ul></li>- <li>- --store-dir=DIR-- <ul>- <li><a href="nix-local-build.html#cmdoption-store-dir">command line option</a>-</li>- </ul></li>- <li>- --strong-flags-- <ul>- <li><a href="nix-local-build.html#cfg-flag---strong-flags">cabal project option</a>-</li>- </ul></li>- <li>- --sysconfdir=dir-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-sysconfdir">setup-configure command line option</a>-</li>- </ul></li>- <li>- --test-option=option-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-test-test-option">setup-test command line option</a>-</li>- </ul></li>- <li>- --test-options=options-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-test-test-options">setup-test command line option</a>-</li>- </ul></li>- <li>- --user-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-user">setup-configure command line option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-install-user">setup-install command line option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-register-user">setup-register command line option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-unregister-user">setup-unregister command line option</a>-</li>- </ul></li>- <li>- --verbose-- <ul>- <li><a href="nix-local-build.html#cfg-flag---verbose">cabal project option</a>-</li>- </ul></li>- <li>- --verbose=n or -v n-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-verbose">setup command line option</a>-</li>- </ul></li>- <li>- --with-compiler-- <ul>- <li><a href="nix-local-build.html#cfg-flag---with-compiler">cabal project option</a>-</li>- </ul></li>- <li>- --with-compiler=path or -w *path*-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-with-compiler">setup-configure command line option</a>-</li>- </ul></li>- <li>- --with-hc-pkg-- <ul>- <li><a href="nix-local-build.html#cfg-flag---with-hc-pkg">cabal project option</a>-</li>- </ul></li>- <li>- --with-hc-pkg=path-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-with-hc-pkg">setup-configure command line option</a>-</li>- </ul></li>- <li>- --with-prog=path-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-with-prog">setup-configure command line option</a>-</li>- </ul></li>- <li>- --world-file-- <ul>- <li><a href="nix-local-build.html#cfg-flag---world-file">cabal project option</a>-</li>- </ul></li>- <li>- -f flagname or -f -flagname-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-f">setup-configure command line option</a>-</li>- </ul></li>- </ul></td>-</tr></table>--<h2 id="A">A</h2>-<table style="width: 100%" class="indextable genindextable"><tr>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- allow-boot-library-installs-- <ul>- <li><a href="nix-local-build.html#cfg-field-allow-boot-library-installs">cabal project option</a>-</li>- </ul></li>- <li>- allow-newer-- <ul>- <li><a href="nix-local-build.html#cfg-field-allow-newer">cabal project option</a>-</li>- </ul></li>- </ul></td>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- allow-older-- <ul>- <li><a href="nix-local-build.html#cfg-field-allow-older">cabal project option</a>-</li>- </ul></li>- <li>- author-- <ul>- <li><a href="developing-packages.html#pkg-field-author">package.cabal field</a>-</li>- </ul></li>- </ul></td>-</tr></table>--<h2 id="B">B</h2>-<table style="width: 100%" class="indextable genindextable"><tr>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- benchmark:benchmark-- <ul>- <li><a href="developing-packages.html#pkg-section-benchmark-benchmark">package.cabal section</a>-</li>- </ul></li>- <li>- benchmark:lib-version-info-- <ul>- <li><a href="developing-packages.html#pkg-field-benchmark-lib-version-info">package.cabal field</a>-</li>- </ul></li>- <li>- benchmark:lib-version-linux-- <ul>- <li><a href="developing-packages.html#pkg-field-benchmark-lib-version-linux">package.cabal field</a>-</li>- </ul></li>- <li>- benchmark:main-is-- <ul>- <li><a href="developing-packages.html#pkg-field-benchmark-main-is">package.cabal field</a>-</li>- </ul></li>- <li>- benchmark:mod-def-file-- <ul>- <li><a href="developing-packages.html#pkg-field-benchmark-mod-def-file">package.cabal field</a>-</li>- </ul></li>- <li>- benchmark:options-- <ul>- <li><a href="developing-packages.html#pkg-field-benchmark-options">package.cabal field</a>-</li>- </ul></li>- <li>- benchmark:type-- <ul>- <li><a href="developing-packages.html#pkg-field-benchmark-type">package.cabal field</a>, <a href="developing-packages.html#pkg-field-benchmark-type">[1]</a>-</li>- </ul></li>- <li>- benchmarks-- <ul>- <li><a href="nix-local-build.html#cfg-field-benchmarks">cabal project option</a>-</li>- </ul></li>- </ul></td>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- bug-reports-- <ul>- <li><a href="developing-packages.html#pkg-field-bug-reports">package.cabal field</a>-</li>- </ul></li>- <li>- build-depends-- <ul>- <li><a href="developing-packages.html#pkg-field-build-depends">package.cabal field</a>-</li>- </ul></li>- <li>- build-summary-- <ul>- <li><a href="nix-local-build.html#cfg-field-build-summary">cabal project option</a>-</li>- </ul></li>- <li>- build-tool-depends-- <ul>- <li><a href="developing-packages.html#pkg-field-build-tool-depends">package.cabal field</a>-</li>- </ul></li>- <li>- build-tools-- <ul>- <li><a href="developing-packages.html#pkg-field-build-tools">package.cabal field</a>-</li>- </ul></li>- <li>- build-type-- <ul>- <li><a href="developing-packages.html#pkg-field-build-type">package.cabal field</a>-</li>- </ul></li>- <li>- buildable-- <ul>- <li><a href="developing-packages.html#pkg-field-buildable">package.cabal field</a>-</li>- </ul></li>- </ul></td>-</tr></table>--<h2 id="C">C</h2>-<table style="width: 100%" class="indextable genindextable"><tr>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- c-sources-- <ul>- <li><a href="developing-packages.html#pkg-field-c-sources">package.cabal field</a>-</li>- </ul></li>- <li>- cabal project option-- <ul>- <li><a href="nix-local-build.html#cfg-flag---allow-boot-library-installs">--allow-boot-library-installs</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---allow-newer">--allow-newer</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---allow-older">--allow-older</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---build-summary">--build-summary</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---cabal-lib-version">--cabal-lib-version</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---compiler">--compiler</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---configure-option">--configure-option</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---constraint">--constraint</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---count-conflicts">--count-conflicts</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---disable-benchmarks">--disable-benchmarks</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---disable-coverage">--disable-coverage</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---disable-debug-info">--disable-debug-info</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---disable-documentation">--disable-documentation</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---disable-executable-dynamic">--disable-executable-dynamic</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---disable-executable-profiling">--disable-executable-profiling</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---disable-executable-stripping">--disable-executable-stripping</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---disable-library-coverage">--disable-library-coverage</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---disable-library-for-ghci">--disable-library-for-ghci</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---disable-library-profiling">--disable-library-profiling</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---disable-library-stripping">--disable-library-stripping</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---disable-library-vanilla">--disable-library-vanilla</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---disable-optimization">--disable-optimization</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---disable-profiling">--disable-profiling</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---disable-shared">--disable-shared</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---disable-split-objs">--disable-split-objs</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---disable-tests">--disable-tests</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---doc-index-file">--doc-index-file</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---enable-benchmarks">--enable-benchmarks</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---enable-coverage">--enable-coverage</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---enable-debug-info">--enable-debug-info</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---enable-documentation">--enable-documentation</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---enable-executable-dynamic">--enable-executable-dynamic</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---enable-executable-profiling">--enable-executable-profiling</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---enable-executable-stripping">--enable-executable-stripping</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---enable-library-coverage">--enable-library-coverage</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---enable-library-for-ghci">--enable-library-for-ghci</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---enable-library-profiling">--enable-library-profiling</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---enable-library-stripping">--enable-library-stripping</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---enable-library-vanilla">--enable-library-vanilla</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---enable-optimization">--enable-optimization</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---enable-profiling">--enable-profiling</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---enable-shared">--enable-shared</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---enable-split-objs">--enable-split-objs</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---enable-tests">--enable-tests</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---extra-framework-dirs">--extra-framework-dirs</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---extra-include-dirs">--extra-include-dirs</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---extra-lib-dirs">--extra-lib-dirs</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---extra-prog-path">--extra-prog-path</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---flags">--flags</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---http-transport">--http-transport</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---ignore-expiry">--ignore-expiry</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---jobs">--jobs</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---keep-going">--keep-going</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---library-profiling-detail">--library-profiling-detail</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---local-repo">--local-repo</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---logs-dir">--logs-dir</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---max-backjumps">--max-backjumps</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---no-allow-boot-library-installs">--no-allow-boot-library-installs</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---no-count-conflicts">--no-count-conflicts</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---no-reorder-goals">--no-reorder-goals</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---no-strong-flags">--no-strong-flags</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---preference">--preference</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---profiling-detail">--profiling-detail</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---program-prefix">--program-prefix</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---program-suffix">--program-suffix</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---relocatable">--relocatable</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---remote-repo-cache">--remote-repo-cache</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---reorder-goals">--reorder-goals</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---run-tests">--run-tests</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---solver">--solver</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---strong-flags">--strong-flags</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---verbose">--verbose</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---with-compiler">--with-compiler</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---with-hc-pkg">--with-hc-pkg</a>-</li>- <li><a href="nix-local-build.html#cfg-flag---world-file">--world-file</a>-</li>- <li><a href="nix-local-build.html#cfg-field-allow-boot-library-installs">allow-boot-library-installs</a>-</li>- <li><a href="nix-local-build.html#cfg-field-allow-newer">allow-newer</a>-</li>- <li><a href="nix-local-build.html#cfg-field-allow-older">allow-older</a>-</li>- <li><a href="nix-local-build.html#cfg-field-benchmarks">benchmarks</a>-</li>- <li><a href="nix-local-build.html#cfg-field-build-summary">build-summary</a>-</li>- <li><a href="nix-local-build.html#cfg-field-cabal-lib-version">cabal-lib-version</a>-</li>- <li><a href="nix-local-build.html#cfg-field-compiler">compiler</a>-</li>- <li><a href="nix-local-build.html#cfg-field-configure-options">configure-options</a>-</li>- <li><a href="nix-local-build.html#cfg-field-constraints">constraints</a>-</li>- <li><a href="nix-local-build.html#cfg-field-count-conflicts">count-conflicts</a>-</li>- <li><a href="nix-local-build.html#cfg-field-coverage">coverage</a>-</li>- <li><a href="nix-local-build.html#cfg-field-debug-info">debug-info</a>-</li>- <li><a href="nix-local-build.html#cfg-field-doc-index-file">doc-index-file</a>-</li>- <li><a href="nix-local-build.html#cfg-field-documentation">documentation</a>-</li>- <li><a href="nix-local-build.html#cfg-field-executable-dynamic">executable-dynamic</a>-</li>- <li><a href="nix-local-build.html#cfg-field-executable-profiling">executable-profiling</a>-</li>- <li><a href="nix-local-build.html#cfg-field-executable-stripping">executable-stripping</a>-</li>- <li><a href="nix-local-build.html#cfg-field-extra-framework-dirs">extra-framework-dirs</a>-</li>- <li><a href="nix-local-build.html#cfg-field-extra-include-dirs">extra-include-dirs</a>-</li>- <li><a href="nix-local-build.html#cfg-field-extra-lib-dirs">extra-lib-dirs</a>-</li>- <li><a href="nix-local-build.html#cfg-field-extra-packages">extra-packages</a>-</li>- <li><a href="nix-local-build.html#cfg-field-extra-prog-path">extra-prog-path</a>-</li>- <li><a href="nix-local-build.html#cfg-field-flags">flags</a>-</li>- <li><a href="nix-local-build.html#cfg-field-haddock-all">haddock-all</a>-</li>- <li><a href="nix-local-build.html#cfg-field-haddock-benchmarks">haddock-benchmarks</a>-</li>- <li><a href="nix-local-build.html#cfg-field-haddock-contents-location">haddock-contents-location</a>-</li>- <li><a href="nix-local-build.html#cfg-field-haddock-css">haddock-css</a>-</li>- <li><a href="nix-local-build.html#cfg-field-haddock-executables">haddock-executables</a>-</li>- <li><a href="nix-local-build.html#cfg-field-haddock-hoogle">haddock-hoogle</a>-</li>- <li><a href="nix-local-build.html#cfg-field-haddock-hscolour-css">haddock-hscolour-css</a>-</li>- <li><a href="nix-local-build.html#cfg-field-haddock-html">haddock-html</a>-</li>- <li><a href="nix-local-build.html#cfg-field-haddock-html-location">haddock-html-location</a>-</li>- <li><a href="nix-local-build.html#cfg-field-haddock-hyperlink-source">haddock-hyperlink-source</a>-</li>- <li><a href="nix-local-build.html#cfg-field-haddock-internal">haddock-internal</a>-</li>- <li><a href="nix-local-build.html#cfg-field-haddock-keep-temp-files">haddock-keep-temp-files</a>-</li>- <li><a href="nix-local-build.html#cfg-field-haddock-tests">haddock-tests</a>-</li>- <li><a href="nix-local-build.html#cfg-field-http-transport">http-transport</a>-</li>- <li><a href="nix-local-build.html#cfg-field-ignore-expiry">ignore-expiry</a>-</li>- <li><a href="nix-local-build.html#cfg-field-index-state">index-state</a>-</li>- <li><a href="nix-local-build.html#cfg-field-jobs">jobs</a>-</li>- <li><a href="nix-local-build.html#cfg-field-keep-going">keep-going</a>-</li>- <li><a href="nix-local-build.html#cfg-field-library-coverage">library-coverage</a>-</li>- <li><a href="nix-local-build.html#cfg-field-library-for-ghci">library-for-ghci</a>-</li>- <li><a href="nix-local-build.html#cfg-field-library-profiling">library-profiling</a>-</li>- <li><a href="nix-local-build.html#cfg-field-library-profiling-detail">library-profiling-detail</a>-</li>- <li><a href="nix-local-build.html#cfg-field-library-stripping">library-stripping</a>-</li>- <li><a href="nix-local-build.html#cfg-field-library-vanilla">library-vanilla</a>-</li>- <li><a href="nix-local-build.html#cfg-field-local-repo">local-repo</a>-</li>- <li><a href="nix-local-build.html#cfg-field-logs-dir">logs-dir</a>-</li>- <li><a href="nix-local-build.html#cfg-field-max-backjumps">max-backjumps</a>-</li>- <li><a href="nix-local-build.html#cfg-field-optimization">optimization</a>-</li>- <li><a href="nix-local-build.html#cfg-field-optional-packages">optional-packages</a>-</li>- <li><a href="nix-local-build.html#cfg-field-packages">packages</a>-</li>- <li><a href="nix-local-build.html#cfg-field-preferences">preferences</a>-</li>- <li><a href="nix-local-build.html#cfg-field-profiling">profiling</a>-</li>- <li><a href="nix-local-build.html#cfg-field-profiling-detail">profiling-detail</a>-</li>- <li><a href="nix-local-build.html#cfg-field-program-prefix">program-prefix</a>-</li>- <li><a href="nix-local-build.html#cfg-field-program-suffix">program-suffix</a>-</li>- <li><a href="nix-local-build.html#cfg-field-relocatable">relocatable</a>-</li>- <li><a href="nix-local-build.html#cfg-field-remote-repo-cache">remote-repo-cache</a>-</li>- <li><a href="nix-local-build.html#cfg-field-reorder-goals">reorder-goals</a>-</li>- <li><a href="nix-local-build.html#cfg-field-run-tests">run-tests</a>-</li>- <li><a href="nix-local-build.html#cfg-field-shared">shared</a>-</li>- <li><a href="nix-local-build.html#cfg-field-solver">solver</a>-</li>- <li><a href="nix-local-build.html#cfg-field-split-objs">split-objs</a>-</li>- <li><a href="nix-local-build.html#cfg-field-strong-flags">strong-flags</a>-</li>- <li><a href="nix-local-build.html#cfg-field-tests">tests</a>-</li>- <li><a href="nix-local-build.html#cfg-field-verbose">verbose</a>-</li>- <li><a href="nix-local-build.html#cfg-field-with-compiler">with-compiler</a>-</li>- <li><a href="nix-local-build.html#cfg-field-with-hc-pkg">with-hc-pkg</a>-</li>- <li><a href="nix-local-build.html#cfg-field-world-file">world-file</a>-</li>- </ul></li>- </ul></td>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- cabal-lib-version-- <ul>- <li><a href="nix-local-build.html#cfg-field-cabal-lib-version">cabal project option</a>-</li>- </ul></li>- <li>- cabal-version-- <ul>- <li><a href="developing-packages.html#pkg-field-cabal-version">package.cabal field</a>-</li>- </ul></li>- <li>- category-- <ul>- <li><a href="developing-packages.html#pkg-field-category">package.cabal field</a>-</li>- </ul></li>- <li>- cc-options-- <ul>- <li><a href="developing-packages.html#pkg-field-cc-options">package.cabal field</a>-</li>- </ul></li>- <li>- command line option-- <ul>- <li><a href="nix-local-build.html#cmdoption-builddir">--builddir=DIR</a>-</li>- <li><a href="nix-local-build.html#cmdoption-project-file">--project-file=FILE</a>-</li>- <li><a href="nix-local-build.html#cmdoption-store-dir">--store-dir=DIR</a>-</li>- </ul></li>- <li>- compiler-- <ul>- <li><a href="nix-local-build.html#cfg-field-compiler">cabal project option</a>-</li>- </ul></li>- <li>- configure-options-- <ul>- <li><a href="nix-local-build.html#cfg-field-configure-options">cabal project option</a>-</li>- </ul></li>- <li>- constraints-- <ul>- <li><a href="nix-local-build.html#cfg-field-constraints">cabal project option</a>-</li>- </ul></li>- <li>- copyright-- <ul>- <li><a href="developing-packages.html#pkg-field-copyright">package.cabal field</a>-</li>- </ul></li>- <li>- count-conflicts-- <ul>- <li><a href="nix-local-build.html#cfg-field-count-conflicts">cabal project option</a>-</li>- </ul></li>- <li>- coverage-- <ul>- <li><a href="nix-local-build.html#cfg-field-coverage">cabal project option</a>-</li>- </ul></li>- <li>- cpp-options-- <ul>- <li><a href="developing-packages.html#pkg-field-cpp-options">package.cabal field</a>-</li>- </ul></li>- <li>- custom-setup:autogen-modules-- <ul>- <li><a href="developing-packages.html#pkg-field-custom-setup-autogen-modules">package.cabal field</a>-</li>- </ul></li>- <li>- custom-setup:custom-setup-- <ul>- <li><a href="developing-packages.html#pkg-section-custom-setup-custom-setup">package.cabal section</a>-</li>- </ul></li>- <li>- custom-setup:setup-depends-- <ul>- <li><a href="developing-packages.html#pkg-field-custom-setup-setup-depends">package.cabal field</a>-</li>- </ul></li>- </ul></td>-</tr></table>--<h2 id="D">D</h2>-<table style="width: 100%" class="indextable genindextable"><tr>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- data-dir-- <ul>- <li><a href="developing-packages.html#pkg-field-data-dir">package.cabal field</a>-</li>- </ul></li>- <li>- data-files-- <ul>- <li><a href="developing-packages.html#pkg-field-data-files">package.cabal field</a>-</li>- </ul></li>- <li>- debug-info-- <ul>- <li><a href="nix-local-build.html#cfg-field-debug-info">cabal project option</a>-</li>- </ul></li>- <li>- default-extensions-- <ul>- <li><a href="developing-packages.html#pkg-field-default-extensions">package.cabal field</a>-</li>- </ul></li>- </ul></td>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- description-- <ul>- <li><a href="developing-packages.html#pkg-field-description">package.cabal field</a>-</li>- </ul></li>- <li>- doc-index-file-- <ul>- <li><a href="nix-local-build.html#cfg-field-doc-index-file">cabal project option</a>-</li>- </ul></li>- <li>- documentation-- <ul>- <li><a href="nix-local-build.html#cfg-field-documentation">cabal project option</a>-</li>- </ul></li>- </ul></td>-</tr></table>--<h2 id="E">E</h2>-<table style="width: 100%" class="indextable genindextable"><tr>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- environment variable-- <ul>- <li><a href="nix-local-build.html#index-0">PATH</a>-</li>- </ul></li>- <li>- executable-dynamic-- <ul>- <li><a href="nix-local-build.html#cfg-field-executable-dynamic">cabal project option</a>-</li>- </ul></li>- <li>- executable-profiling-- <ul>- <li><a href="nix-local-build.html#cfg-field-executable-profiling">cabal project option</a>-</li>- </ul></li>- <li>- executable-stripping-- <ul>- <li><a href="nix-local-build.html#cfg-field-executable-stripping">cabal project option</a>-</li>- </ul></li>- <li>- executable:executable-- <ul>- <li><a href="developing-packages.html#pkg-section-executable-executable">package.cabal section</a>-</li>- </ul></li>- <li>- executable:main-is-- <ul>- <li><a href="developing-packages.html#pkg-field-executable-main-is">package.cabal field</a>-</li>- </ul></li>- <li>- executable:scope-- <ul>- <li><a href="developing-packages.html#pkg-field-executable-scope">package.cabal field</a>-</li>- </ul></li>- <li>- extensions-- <ul>- <li><a href="developing-packages.html#pkg-field-extensions">package.cabal field</a>-</li>- </ul></li>- <li>- extra-doc-files-- <ul>- <li><a href="developing-packages.html#pkg-field-extra-doc-files">package.cabal field</a>-</li>- </ul></li>- <li>- extra-framework-dirs-- <ul>- <li><a href="nix-local-build.html#cfg-field-extra-framework-dirs">cabal project option</a>-</li>- </ul></li>- </ul></td>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- extra-frameworks-dirs-- <ul>- <li><a href="developing-packages.html#pkg-field-extra-frameworks-dirs">package.cabal field</a>-</li>- </ul></li>- <li>- extra-ghci-libraries-- <ul>- <li><a href="developing-packages.html#pkg-field-extra-ghci-libraries">package.cabal field</a>-</li>- </ul></li>- <li>- extra-include-dirs-- <ul>- <li><a href="nix-local-build.html#cfg-field-extra-include-dirs">cabal project option</a>-</li>- </ul></li>- <li>- extra-lib-dirs-- <ul>- <li><a href="nix-local-build.html#cfg-field-extra-lib-dirs">cabal project option</a>-</li>- <li><a href="developing-packages.html#pkg-field-extra-lib-dirs">package.cabal field</a>-</li>- </ul></li>- <li>- extra-libraries-- <ul>- <li><a href="developing-packages.html#pkg-field-extra-libraries">package.cabal field</a>-</li>- </ul></li>- <li>- extra-packages-- <ul>- <li><a href="nix-local-build.html#cfg-field-extra-packages">cabal project option</a>-</li>- </ul></li>- <li>- extra-prog-path-- <ul>- <li><a href="nix-local-build.html#cfg-field-extra-prog-path">cabal project option</a>-</li>- </ul></li>- <li>- extra-source-files-- <ul>- <li><a href="developing-packages.html#pkg-field-extra-source-files">package.cabal field</a>-</li>- </ul></li>- <li>- extra-tmp-files-- <ul>- <li><a href="developing-packages.html#pkg-field-extra-tmp-files">package.cabal field</a>-</li>- </ul></li>- </ul></td>-</tr></table>--<h2 id="F">F</h2>-<table style="width: 100%" class="indextable genindextable"><tr>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- flag:default-- <ul>- <li><a href="developing-packages.html#pkg-field-flag-default">package.cabal field</a>-</li>- </ul></li>- <li>- flag:description-- <ul>- <li><a href="developing-packages.html#pkg-field-flag-description">package.cabal field</a>-</li>- </ul></li>- <li>- flag:flag-- <ul>- <li><a href="developing-packages.html#pkg-section-flag-flag">package.cabal section</a>-</li>- </ul></li>- </ul></td>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- flag:manual-- <ul>- <li><a href="developing-packages.html#pkg-field-flag-manual">package.cabal field</a>-</li>- </ul></li>- <li>- flags-- <ul>- <li><a href="nix-local-build.html#cfg-field-flags">cabal project option</a>-</li>- </ul></li>- <li>- frameworks-- <ul>- <li><a href="developing-packages.html#pkg-field-frameworks">package.cabal field</a>-</li>- </ul></li>- </ul></td>-</tr></table>--<h2 id="G">G</h2>-<table style="width: 100%" class="indextable genindextable"><tr>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- ghc-options-- <ul>- <li><a href="developing-packages.html#pkg-field-ghc-options">package.cabal field</a>-</li>- </ul></li>- <li>- ghc-prof-options-- <ul>- <li><a href="developing-packages.html#pkg-field-ghc-prof-options">package.cabal field</a>-</li>- </ul></li>- </ul></td>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- ghc-shared-options-- <ul>- <li><a href="developing-packages.html#pkg-field-ghc-shared-options">package.cabal field</a>-</li>- </ul></li>- <li>- Give extra options to the test executables.-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-test-arg-give">setup-test command line option</a>-</li>- </ul></li>- </ul></td>-</tr></table>--<h2 id="H">H</h2>-<table style="width: 100%" class="indextable genindextable"><tr>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- haddock-all-- <ul>- <li><a href="nix-local-build.html#cfg-field-haddock-all">cabal project option</a>-</li>- </ul></li>- <li>- haddock-benchmarks-- <ul>- <li><a href="nix-local-build.html#cfg-field-haddock-benchmarks">cabal project option</a>-</li>- </ul></li>- <li>- haddock-contents-location-- <ul>- <li><a href="nix-local-build.html#cfg-field-haddock-contents-location">cabal project option</a>-</li>- </ul></li>- <li>- haddock-css-- <ul>- <li><a href="nix-local-build.html#cfg-field-haddock-css">cabal project option</a>-</li>- </ul></li>- <li>- haddock-executables-- <ul>- <li><a href="nix-local-build.html#cfg-field-haddock-executables">cabal project option</a>-</li>- </ul></li>- <li>- haddock-hoogle-- <ul>- <li><a href="nix-local-build.html#cfg-field-haddock-hoogle">cabal project option</a>-</li>- </ul></li>- <li>- haddock-hscolour-css-- <ul>- <li><a href="nix-local-build.html#cfg-field-haddock-hscolour-css">cabal project option</a>-</li>- </ul></li>- <li>- haddock-html-- <ul>- <li><a href="nix-local-build.html#cfg-field-haddock-html">cabal project option</a>-</li>- </ul></li>- </ul></td>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- haddock-html-location-- <ul>- <li><a href="nix-local-build.html#cfg-field-haddock-html-location">cabal project option</a>-</li>- </ul></li>- <li>- haddock-hyperlink-source-- <ul>- <li><a href="nix-local-build.html#cfg-field-haddock-hyperlink-source">cabal project option</a>-</li>- </ul></li>- <li>- haddock-internal-- <ul>- <li><a href="nix-local-build.html#cfg-field-haddock-internal">cabal project option</a>-</li>- </ul></li>- <li>- haddock-keep-temp-files-- <ul>- <li><a href="nix-local-build.html#cfg-field-haddock-keep-temp-files">cabal project option</a>-</li>- </ul></li>- <li>- haddock-tests-- <ul>- <li><a href="nix-local-build.html#cfg-field-haddock-tests">cabal project option</a>-</li>- </ul></li>- <li>- homepage-- <ul>- <li><a href="developing-packages.html#pkg-field-homepage">package.cabal field</a>-</li>- </ul></li>- <li>- hs-source-dirs-- <ul>- <li><a href="developing-packages.html#pkg-field-hs-source-dirs">package.cabal field</a>-</li>- </ul></li>- <li>- http-transport-- <ul>- <li><a href="nix-local-build.html#cfg-field-http-transport">cabal project option</a>-</li>- </ul></li>- </ul></td>-</tr></table>--<h2 id="I">I</h2>-<table style="width: 100%" class="indextable genindextable"><tr>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- ignore-expiry-- <ul>- <li><a href="nix-local-build.html#cfg-field-ignore-expiry">cabal project option</a>-</li>- </ul></li>- <li>- include-dirs-- <ul>- <li><a href="developing-packages.html#pkg-field-include-dirs">package.cabal field</a>-</li>- </ul></li>- <li>- includes-- <ul>- <li><a href="developing-packages.html#pkg-field-includes">package.cabal field</a>-</li>- </ul></li>- </ul></td>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- index-state-- <ul>- <li><a href="nix-local-build.html#cfg-field-index-state">cabal project option</a>-</li>- </ul></li>- <li>- install-includes-- <ul>- <li><a href="developing-packages.html#pkg-field-install-includes">package.cabal field</a>-</li>- </ul></li>- </ul></td>-</tr></table>--<h2 id="J">J</h2>-<table style="width: 100%" class="indextable genindextable"><tr>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- jobs-- <ul>- <li><a href="nix-local-build.html#cfg-field-jobs">cabal project option</a>-</li>- </ul></li>- </ul></td>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- js-sources-- <ul>- <li><a href="developing-packages.html#pkg-field-js-sources">package.cabal field</a>-</li>- </ul></li>- </ul></td>-</tr></table>--<h2 id="K">K</h2>-<table style="width: 100%" class="indextable genindextable"><tr>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- keep-going-- <ul>- <li><a href="nix-local-build.html#cfg-field-keep-going">cabal project option</a>-</li>- </ul></li>- </ul></td>-</tr></table>--<h2 id="L">L</h2>-<table style="width: 100%" class="indextable genindextable"><tr>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- ld-options-- <ul>- <li><a href="developing-packages.html#pkg-field-ld-options">package.cabal field</a>-</li>- </ul></li>- <li>- library-coverage-- <ul>- <li><a href="nix-local-build.html#cfg-field-library-coverage">cabal project option</a>-</li>- </ul></li>- <li>- library-for-ghci-- <ul>- <li><a href="nix-local-build.html#cfg-field-library-for-ghci">cabal project option</a>-</li>- </ul></li>- <li>- library-profiling-- <ul>- <li><a href="nix-local-build.html#cfg-field-library-profiling">cabal project option</a>-</li>- </ul></li>- <li>- library-profiling-detail-- <ul>- <li><a href="nix-local-build.html#cfg-field-library-profiling-detail">cabal project option</a>-</li>- </ul></li>- <li>- library-stripping-- <ul>- <li><a href="nix-local-build.html#cfg-field-library-stripping">cabal project option</a>-</li>- </ul></li>- <li>- library-vanilla-- <ul>- <li><a href="nix-local-build.html#cfg-field-library-vanilla">cabal project option</a>-</li>- </ul></li>- <li>- library:exposed-- <ul>- <li><a href="developing-packages.html#pkg-field-library-exposed">package.cabal field</a>-</li>- </ul></li>- </ul></td>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- library:exposed-modules-- <ul>- <li><a href="developing-packages.html#pkg-field-library-exposed-modules">package.cabal field</a>-</li>- </ul></li>- <li>- library:library-- <ul>- <li><a href="developing-packages.html#pkg-section-library-library">package.cabal section</a>-</li>- </ul></li>- <li>- library:reexported-modules-- <ul>- <li><a href="developing-packages.html#pkg-field-library-reexported-modules">package.cabal field</a>-</li>- </ul></li>- <li>- license-- <ul>- <li><a href="developing-packages.html#pkg-field-license">package.cabal field</a>-</li>- </ul></li>- <li>- license-file-- <ul>- <li><a href="developing-packages.html#pkg-field-license-file">package.cabal field</a>-</li>- </ul></li>- <li>- license-files-- <ul>- <li><a href="developing-packages.html#pkg-field-license-files">package.cabal field</a>-</li>- </ul></li>- <li>- local-repo-- <ul>- <li><a href="nix-local-build.html#cfg-field-local-repo">cabal project option</a>-</li>- </ul></li>- <li>- logs-dir-- <ul>- <li><a href="nix-local-build.html#cfg-field-logs-dir">cabal project option</a>-</li>- </ul></li>- </ul></td>-</tr></table>--<h2 id="M">M</h2>-<table style="width: 100%" class="indextable genindextable"><tr>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- maintainer-- <ul>- <li><a href="developing-packages.html#pkg-field-maintainer">package.cabal field</a>-</li>- </ul></li>- </ul></td>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- max-backjumps-- <ul>- <li><a href="nix-local-build.html#cfg-field-max-backjumps">cabal project option</a>-</li>- </ul></li>- </ul></td>-</tr></table>--<h2 id="N">N</h2>-<table style="width: 100%" class="indextable genindextable"><tr>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- name-- <ul>- <li><a href="developing-packages.html#pkg-field-name">package.cabal field</a>-</li>- </ul></li>- </ul></td>-</tr></table>--<h2 id="O">O</h2>-<table style="width: 100%" class="indextable genindextable"><tr>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- optimization-- <ul>- <li><a href="nix-local-build.html#cfg-field-optimization">cabal project option</a>-</li>- </ul></li>- <li>- optional-packages-- <ul>- <li><a href="nix-local-build.html#cfg-field-optional-packages">cabal project option</a>-</li>- </ul></li>- </ul></td>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- other-extensions-- <ul>- <li><a href="developing-packages.html#pkg-field-other-extensions">package.cabal field</a>-</li>- </ul></li>- <li>- other-modules-- <ul>- <li><a href="developing-packages.html#pkg-field-other-modules">package.cabal field</a>-</li>- </ul></li>- </ul></td>-</tr></table>--<h2 id="P">P</h2>-<table style="width: 100%" class="indextable genindextable"><tr>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- package-url-- <ul>- <li><a href="developing-packages.html#pkg-field-package-url">package.cabal field</a>-</li>- </ul></li>- <li>- package.cabal field-- <ul>- <li><a href="developing-packages.html#pkg-field-author">author</a>-</li>- <li><a href="developing-packages.html#pkg-field-benchmark-lib-version-info">benchmark:lib-version-info</a>-</li>- <li><a href="developing-packages.html#pkg-field-benchmark-lib-version-linux">benchmark:lib-version-linux</a>-</li>- <li><a href="developing-packages.html#pkg-field-benchmark-main-is">benchmark:main-is</a>-</li>- <li><a href="developing-packages.html#pkg-field-benchmark-mod-def-file">benchmark:mod-def-file</a>-</li>- <li><a href="developing-packages.html#pkg-field-benchmark-options">benchmark:options</a>-</li>- <li><a href="developing-packages.html#pkg-field-benchmark-type">benchmark:type</a>, <a href="developing-packages.html#pkg-field-benchmark-type">[1]</a>-</li>- <li><a href="developing-packages.html#pkg-field-bug-reports">bug-reports</a>-</li>- <li><a href="developing-packages.html#pkg-field-build-depends">build-depends</a>-</li>- <li><a href="developing-packages.html#pkg-field-build-tool-depends">build-tool-depends</a>-</li>- <li><a href="developing-packages.html#pkg-field-build-tools">build-tools</a>-</li>- <li><a href="developing-packages.html#pkg-field-build-type">build-type</a>-</li>- <li><a href="developing-packages.html#pkg-field-buildable">buildable</a>-</li>- <li><a href="developing-packages.html#pkg-field-c-sources">c-sources</a>-</li>- <li><a href="developing-packages.html#pkg-field-cabal-version">cabal-version</a>-</li>- <li><a href="developing-packages.html#pkg-field-category">category</a>-</li>- <li><a href="developing-packages.html#pkg-field-cc-options">cc-options</a>-</li>- <li><a href="developing-packages.html#pkg-field-copyright">copyright</a>-</li>- <li><a href="developing-packages.html#pkg-field-cpp-options">cpp-options</a>-</li>- <li><a href="developing-packages.html#pkg-field-custom-setup-autogen-modules">custom-setup:autogen-modules</a>-</li>- <li><a href="developing-packages.html#pkg-field-custom-setup-setup-depends">custom-setup:setup-depends</a>-</li>- <li><a href="developing-packages.html#pkg-field-data-dir">data-dir</a>-</li>- <li><a href="developing-packages.html#pkg-field-data-files">data-files</a>-</li>- <li><a href="developing-packages.html#pkg-field-default-extensions">default-extensions</a>-</li>- <li><a href="developing-packages.html#pkg-field-description">description</a>-</li>- <li><a href="developing-packages.html#pkg-field-executable-main-is">executable:main-is</a>-</li>- <li><a href="developing-packages.html#pkg-field-executable-scope">executable:scope</a>-</li>- <li><a href="developing-packages.html#pkg-field-extensions">extensions</a>-</li>- <li><a href="developing-packages.html#pkg-field-extra-doc-files">extra-doc-files</a>-</li>- <li><a href="developing-packages.html#pkg-field-extra-frameworks-dirs">extra-frameworks-dirs</a>-</li>- <li><a href="developing-packages.html#pkg-field-extra-ghci-libraries">extra-ghci-libraries</a>-</li>- <li><a href="developing-packages.html#pkg-field-extra-lib-dirs">extra-lib-dirs</a>-</li>- <li><a href="developing-packages.html#pkg-field-extra-libraries">extra-libraries</a>-</li>- <li><a href="developing-packages.html#pkg-field-extra-source-files">extra-source-files</a>-</li>- <li><a href="developing-packages.html#pkg-field-extra-tmp-files">extra-tmp-files</a>-</li>- <li><a href="developing-packages.html#pkg-field-flag-default">flag:default</a>-</li>- <li><a href="developing-packages.html#pkg-field-flag-description">flag:description</a>-</li>- <li><a href="developing-packages.html#pkg-field-flag-manual">flag:manual</a>-</li>- <li><a href="developing-packages.html#pkg-field-frameworks">frameworks</a>-</li>- <li><a href="developing-packages.html#pkg-field-ghc-options">ghc-options</a>-</li>- <li><a href="developing-packages.html#pkg-field-ghc-prof-options">ghc-prof-options</a>-</li>- <li><a href="developing-packages.html#pkg-field-ghc-shared-options">ghc-shared-options</a>-</li>- <li><a href="developing-packages.html#pkg-field-homepage">homepage</a>-</li>- <li><a href="developing-packages.html#pkg-field-hs-source-dirs">hs-source-dirs</a>-</li>- <li><a href="developing-packages.html#pkg-field-include-dirs">include-dirs</a>-</li>- <li><a href="developing-packages.html#pkg-field-includes">includes</a>-</li>- <li><a href="developing-packages.html#pkg-field-install-includes">install-includes</a>-</li>- <li><a href="developing-packages.html#pkg-field-js-sources">js-sources</a>-</li>- <li><a href="developing-packages.html#pkg-field-ld-options">ld-options</a>-</li>- <li><a href="developing-packages.html#pkg-field-library-exposed">library:exposed</a>-</li>- <li><a href="developing-packages.html#pkg-field-library-exposed-modules">library:exposed-modules</a>-</li>- <li><a href="developing-packages.html#pkg-field-library-reexported-modules">library:reexported-modules</a>-</li>- <li><a href="developing-packages.html#pkg-field-license">license</a>-</li>- <li><a href="developing-packages.html#pkg-field-license-file">license-file</a>-</li>- <li><a href="developing-packages.html#pkg-field-license-files">license-files</a>-</li>- <li><a href="developing-packages.html#pkg-field-maintainer">maintainer</a>-</li>- <li><a href="developing-packages.html#pkg-field-name">name</a>-</li>- <li><a href="developing-packages.html#pkg-field-other-extensions">other-extensions</a>-</li>- <li><a href="developing-packages.html#pkg-field-other-modules">other-modules</a>-</li>- <li><a href="developing-packages.html#pkg-field-package-url">package-url</a>-</li>- <li><a href="developing-packages.html#pkg-field-pkgconfig-depends">pkgconfig-depends</a>-</li>- <li><a href="developing-packages.html#pkg-field-source-repository-branch">source-repository:branch</a>-</li>- <li><a href="developing-packages.html#pkg-field-source-repository-location">source-repository:location</a>-</li>- <li><a href="developing-packages.html#pkg-field-source-repository-module">source-repository:module</a>-</li>- <li><a href="developing-packages.html#pkg-field-source-repository-subdir">source-repository:subdir</a>-</li>- <li><a href="developing-packages.html#pkg-field-source-repository-tag">source-repository:tag</a>-</li>- <li><a href="developing-packages.html#pkg-field-source-repository-type">source-repository:type</a>-</li>- <li><a href="developing-packages.html#pkg-field-stability">stability</a>-</li>- <li><a href="developing-packages.html#pkg-field-synopsis">synopsis</a>-</li>- <li><a href="developing-packages.html#pkg-field-test-main-is">test:main-is</a>-</li>- <li><a href="developing-packages.html#pkg-field-test-test-module">test:test-module</a>-</li>- <li><a href="developing-packages.html#pkg-field-test-type">test:type</a>-</li>- <li><a href="developing-packages.html#pkg-field-tested-with">tested-with</a>-</li>- <li><a href="developing-packages.html#pkg-field-version">version</a>-</li>- </ul></li>- </ul></td>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- package.cabal section-- <ul>- <li><a href="developing-packages.html#pkg-section-benchmark-benchmark">benchmark:benchmark</a>-</li>- <li><a href="developing-packages.html#pkg-section-custom-setup-custom-setup">custom-setup:custom-setup</a>-</li>- <li><a href="developing-packages.html#pkg-section-executable-executable">executable:executable</a>-</li>- <li><a href="developing-packages.html#pkg-section-flag-flag">flag:flag</a>-</li>- <li><a href="developing-packages.html#pkg-section-library-library">library:library</a>-</li>- <li><a href="developing-packages.html#pkg-section-source-repository-source-repository">source-repository:source-repository</a>-</li>- <li><a href="developing-packages.html#pkg-section-test-test">test:test</a>-</li>- </ul></li>- <li>- packages-- <ul>- <li><a href="nix-local-build.html#cfg-field-packages">cabal project option</a>-</li>- </ul></li>- <li><a href="nix-local-build.html#index-0">PATH</a>-</li>- <li>- pkgconfig-depends-- <ul>- <li><a href="developing-packages.html#pkg-field-pkgconfig-depends">package.cabal field</a>-</li>- </ul></li>- <li>- preferences-- <ul>- <li><a href="nix-local-build.html#cfg-field-preferences">cabal project option</a>-</li>- </ul></li>- <li>- profiling-- <ul>- <li><a href="nix-local-build.html#cfg-field-profiling">cabal project option</a>-</li>- </ul></li>- <li>- profiling-detail-- <ul>- <li><a href="nix-local-build.html#cfg-field-profiling-detail">cabal project option</a>-</li>- </ul></li>- <li>- program-prefix-- <ul>- <li><a href="nix-local-build.html#cfg-field-program-prefix">cabal project option</a>-</li>- </ul></li>- <li>- program-suffix-- <ul>- <li><a href="nix-local-build.html#cfg-field-program-suffix">cabal project option</a>-</li>- </ul></li>- </ul></td>-</tr></table>--<h2 id="R">R</h2>-<table style="width: 100%" class="indextable genindextable"><tr>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- relocatable-- <ul>- <li><a href="nix-local-build.html#cfg-field-relocatable">cabal project option</a>-</li>- </ul></li>- <li>- remote-repo-cache-- <ul>- <li><a href="nix-local-build.html#cfg-field-remote-repo-cache">cabal project option</a>-</li>- </ul></li>- </ul></td>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- reorder-goals-- <ul>- <li><a href="nix-local-build.html#cfg-field-reorder-goals">cabal project option</a>-</li>- </ul></li>- <li>- run-tests-- <ul>- <li><a href="nix-local-build.html#cfg-field-run-tests">cabal project option</a>-</li>- </ul></li>- </ul></td>-</tr></table>--<h2 id="S">S</h2>-<table style="width: 100%" class="indextable genindextable"><tr>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- setup command line option-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-help">--help, -h or -?</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-verbose">--verbose=n or -v n</a>-</li>- </ul></li>- <li>- setup-build command line option-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-build-prog-options">--prog-options=options, --prog-option=option</a>-</li>- </ul></li>- <li>- setup-clean command line option-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-clean-save-configure">--save-configure, -s</a>-</li>- </ul></li>- <li>- setup-configure command line option-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-configure-allow-newer">--allow-newer[=pkgs], --allow-older[=pkgs]</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-bindir">--bindir=dir</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-cid">--cid=cid</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-configure-option">--configure-option=str</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-constraint">--constraint=constraint</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-datadir">--datadir=dir</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-datasubdir">--datasubdir=dir</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-default-user-config">--default-user-config=file</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-dependency">--dependency[=pkgname=ipid]</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-disable-coverage">--disable-coverage</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-disable-executable-dynamic">--disable-executable-dynamic</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-disable-executable-stripping">--disable-executable-stripping</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-disable-library-for-ghci">--disable-library-for-ghci</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-disable-library-profiling">--disable-library-profiling</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-disable-library-vanilla">--disable-library-vanilla</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-disable-optimization">--disable-optimization</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-disable-profiling">--disable-profiling</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-disable-shared">--disable-shared</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-disable-split-objs">--disable-split-objs</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-disable-tests">--disable-tests</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-docdir">--docdir=dir</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-dynlibdir">--dynlibdir=dir</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-enable-coverage">--enable-coverage</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-enable-executable-dynamic">--enable-executable-dynamic</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-enable-executable-stripping">--enable-executable-stripping</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-enable-library-for-ghci">--enable-library-for-ghci</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-enable-library-profiling">--enable-library-profiling or -p</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-enable-library-vanilla">--enable-library-vanilla</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-enable-optimization">--enable-optimization[=n] or -O [n]</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-enable-profiling">--enable-profiling</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-enable-shared">--enable-shared</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-enable-split-objs">--enable-split-objs</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-enable-tests">--enable-tests</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-exact-configuration">--exact-configuration</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-extra-framework-dirs">--extra-framework-dirs[=dir]</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-extra-include-dirs">--extra-include-dirs[=dir]</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-extra-lib-dirs">--extra-lib-dirs[=dir]</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-flags">--flags=flagspecs</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-ghc">--ghc or -g, --jhc, --lhc, --uhc</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-global">--global</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-htmldir">--htmldir=dir</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-ipid">--ipid=ipid</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-libdir">--libdir=dir</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-libexecdir">--libexecdir=dir</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-libexecsubdir">--libexecsubdir=dir</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-library-profiling-detail">--library-profiling-detail[=level]</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-libsubdir">--libsubdir=dir</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-package-db">--package-db=db</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-preference">--preference=preference</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-prefix">--prefix=dir</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-profiling-detail">--profiling-detail[=level]</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-prog-option">--prog-option=option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-prog-options">--prog-options=options</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-program-prefix">--program-prefix=prefix</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-program-suffix">--program-suffix=suffix</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-sysconfdir">--sysconfdir=dir</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-user">--user</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-with-compiler">--with-compiler=path or -w *path*</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-with-hc-pkg">--with-hc-pkg=path</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-with-prog">--with-prog=path</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-configure-f">-f flagname or -f -flagname</a>-</li>- </ul></li>- </ul></td>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- setup-copy command line option-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-copy-destdir">--destdir=path</a>-</li>- </ul></li>- <li>- setup-haddock command line option-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-haddock-css">--css=path</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-haddock-executables">--executables</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-haddock-hoogle">--hoogle</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-haddock-hscolour-css">--hscolour-css=path</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-haddock-html-location">--html-location=url</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-haddock-hyperlink-source">--hyperlink-source</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-haddock-internal">--internal</a>-</li>- </ul></li>- <li>- setup-hscolour command line option-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-hscolour-css">--css=path</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-hscolour-executables">--executables</a>-</li>- </ul></li>- <li>- setup-install command line option-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-install-global">--global</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-install-user">--user</a>-</li>- </ul></li>- <li>- setup-register command line option-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-register-gen-pkg-config">--gen-pkg-config[=path]</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-register-gen-script">--gen-script</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-register-global">--global</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-register-inplace">--inplace</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-register-user">--user</a>-</li>- </ul></li>- <li>- setup-sdist command line option-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-sdist-snapshot">--snapshot</a>-</li>- </ul></li>- <li>- setup-test command line option-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-test-builddir">--builddir=dir</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-test-human-log">--human-log=path</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-test-machine-log">--machine-log=path</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-test-show-details">--show-details=filter</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-test-test-option">--test-option=option</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-test-test-options">--test-options=options</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-test-arg-give">Give extra options to the test executables.</a>-</li>- </ul></li>- <li>- setup-unregister command line option-- <ul>- <li><a href="installing-packages.html#cmdoption-setup-unregister-gen-script">--gen-script</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-unregister-global">--global</a>-</li>- <li><a href="installing-packages.html#cmdoption-setup-unregister-user">--user</a>-</li>- </ul></li>- <li>- shared-- <ul>- <li><a href="nix-local-build.html#cfg-field-shared">cabal project option</a>-</li>- </ul></li>- <li>- solver-- <ul>- <li><a href="nix-local-build.html#cfg-field-solver">cabal project option</a>-</li>- </ul></li>- <li>- source-repository:branch-- <ul>- <li><a href="developing-packages.html#pkg-field-source-repository-branch">package.cabal field</a>-</li>- </ul></li>- <li>- source-repository:location-- <ul>- <li><a href="developing-packages.html#pkg-field-source-repository-location">package.cabal field</a>-</li>- </ul></li>- <li>- source-repository:module-- <ul>- <li><a href="developing-packages.html#pkg-field-source-repository-module">package.cabal field</a>-</li>- </ul></li>- <li>- source-repository:source-repository-- <ul>- <li><a href="developing-packages.html#pkg-section-source-repository-source-repository">package.cabal section</a>-</li>- </ul></li>- <li>- source-repository:subdir-- <ul>- <li><a href="developing-packages.html#pkg-field-source-repository-subdir">package.cabal field</a>-</li>- </ul></li>- <li>- source-repository:tag-- <ul>- <li><a href="developing-packages.html#pkg-field-source-repository-tag">package.cabal field</a>-</li>- </ul></li>- <li>- source-repository:type-- <ul>- <li><a href="developing-packages.html#pkg-field-source-repository-type">package.cabal field</a>-</li>- </ul></li>- <li>- split-objs-- <ul>- <li><a href="nix-local-build.html#cfg-field-split-objs">cabal project option</a>-</li>- </ul></li>- <li>- stability-- <ul>- <li><a href="developing-packages.html#pkg-field-stability">package.cabal field</a>-</li>- </ul></li>- <li>- strong-flags-- <ul>- <li><a href="nix-local-build.html#cfg-field-strong-flags">cabal project option</a>-</li>- </ul></li>- <li>- synopsis-- <ul>- <li><a href="developing-packages.html#pkg-field-synopsis">package.cabal field</a>-</li>- </ul></li>- </ul></td>-</tr></table>--<h2 id="T">T</h2>-<table style="width: 100%" class="indextable genindextable"><tr>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- test:main-is-- <ul>- <li><a href="developing-packages.html#pkg-field-test-main-is">package.cabal field</a>-</li>- </ul></li>- <li>- test:test-- <ul>- <li><a href="developing-packages.html#pkg-section-test-test">package.cabal section</a>-</li>- </ul></li>- <li>- test:test-module-- <ul>- <li><a href="developing-packages.html#pkg-field-test-test-module">package.cabal field</a>-</li>- </ul></li>- </ul></td>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- test:type-- <ul>- <li><a href="developing-packages.html#pkg-field-test-type">package.cabal field</a>-</li>- </ul></li>- <li>- tested-with-- <ul>- <li><a href="developing-packages.html#pkg-field-tested-with">package.cabal field</a>-</li>- </ul></li>- <li>- tests-- <ul>- <li><a href="nix-local-build.html#cfg-field-tests">cabal project option</a>-</li>- </ul></li>- </ul></td>-</tr></table>--<h2 id="V">V</h2>-<table style="width: 100%" class="indextable genindextable"><tr>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- verbose-- <ul>- <li><a href="nix-local-build.html#cfg-field-verbose">cabal project option</a>-</li>- </ul></li>- </ul></td>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- version-- <ul>- <li><a href="developing-packages.html#pkg-field-version">package.cabal field</a>-</li>- </ul></li>- </ul></td>-</tr></table>--<h2 id="W">W</h2>-<table style="width: 100%" class="indextable genindextable"><tr>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- with-compiler-- <ul>- <li><a href="nix-local-build.html#cfg-field-with-compiler">cabal project option</a>-</li>- </ul></li>- <li>- with-hc-pkg-- <ul>- <li><a href="nix-local-build.html#cfg-field-with-hc-pkg">cabal project option</a>-</li>- </ul></li>- </ul></td>- <td style="width: 33%; vertical-align: top;"><ul>- <li>- world-file-- <ul>- <li><a href="nix-local-build.html#cfg-field-world-file">cabal project option</a>-</li>- </ul></li>- </ul></td>-</tr></table>---- </div>- <div class="articleComments">- - </div>- </div>- <footer>- -- <hr/>-- <div role="contentinfo">- <p>- © Copyright 2003-2017, Cabal Team.-- </p>- </div>- Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. --</footer>-- </div>- </div>-- </section>-- </div>- --- -- <script type="text/javascript">- var DOCUMENTATION_OPTIONS = {- URL_ROOT:'./',- VERSION:'2.0',- COLLAPSE_INDEX:false,- FILE_SUFFIX:'.html',- HAS_SOURCE: true,- SOURCELINK_SUFFIX: '.txt'- };- </script>- <script type="text/javascript" src="_static/jquery.js"></script>- <script type="text/javascript" src="_static/underscore.js"></script>- <script type="text/javascript" src="_static/doctools.js"></script>-- -- - - <script type="text/javascript" src="_static/js/theme.js"></script>- -- - - <script type="text/javascript">- jQuery(function () {- SphinxRtdTheme.StickyNav.enable();- });- </script>- --</body>-</html>
@@ -1,285 +0,0 @@---<!DOCTYPE html>-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->-<head>- <meta charset="utf-8">- - <meta name="viewport" content="width=device-width, initial-scale=1.0">- - <title>Welcome to the Cabal User Guide — Cabal <release> User's Guide</title>- -- - - - -- -- - - -- -- - - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />- -- -- - <link rel="index" title="Index"- href="genindex.html"/>- <link rel="search" title="Search" href="search.html"/>- <link rel="top" title="Cabal <release> User's Guide" href="#"/>- <link rel="next" title="1. Introduction" href="intro.html"/> -- - <script src="_static/js/modernizr.min.js"></script>--</head>--<body class="wy-body-for-nav" role="document">-- - <div class="wy-grid-for-nav">-- - <nav data-toggle="wy-nav-shift" class="wy-nav-side">- <div class="wy-side-scroll">- <div class="wy-side-nav-search">- -- - <a href="#" class="icon icon-home"> Cabal- -- - - <img src="_static/Cabal-dark.png" class="logo" />- - </a>-- - - - <div class="version">- 2.0- </div>- - -- -<div role="search">- <form id="rtd-search-form" class="wy-form" action="search.html" method="get">- <input type="text" name="q" placeholder="Search docs" />- <input type="hidden" name="check_keywords" value="yes" />- <input type="hidden" name="area" value="default" />- </form>-</div>-- - </div>-- <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">- - - - - - - - <ul>-<li class="toctree-l1"><a class="reference internal" href="intro.html">1. Introduction</a></li>-<li class="toctree-l1"><a class="reference internal" href="config-and-install.html">2. Configuration and Installing Packages</a></li>-<li class="toctree-l1"><a class="reference internal" href="concepts-and-development.html">3. Package Concepts and Development</a></li>-<li class="toctree-l1"><a class="reference internal" href="bugs-and-stability.html">4. Reporting Bugs and Stability of Cabal Interfaces</a></li>-<li class="toctree-l1"><a class="reference internal" href="nix-local-build-overview.html">5. Nix-style Local Builds</a></li>-<li class="toctree-l1"><a class="reference internal" href="nix-integration.html">6. Nix Integration</a></li>-</ul>-- - - <a href="cabal-projectindex.html">Reference</a>- <a href="genindex.html">Index</a>-- </div>- </div>- </nav>-- <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">-- - <nav class="wy-nav-top" role="navigation" aria-label="top navigation">- - <i data-toggle="wy-nav-top" class="fa fa-bars"></i>- <a href="#">Cabal</a>- - </nav>--- - <div class="wy-nav-content">- <div class="rst-content">- ----------------<div role="navigation" aria-label="breadcrumbs navigation">-- <ul class="wy-breadcrumbs">- - <li><a href="#">Docs</a> »</li>- - <li>Welcome to the Cabal User Guide</li>- - - <li class="wy-breadcrumbs-aside">- - - <a href="_sources/index.rst.txt" rel="nofollow"> View page source</a>- - - </li>- - </ul>-- - <hr/>-</div>- <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">- <div itemprop="articleBody">- - <div class="section" id="welcome-to-the-cabal-user-guide">-<h1>Welcome to the Cabal User Guide<a class="headerlink" href="#welcome-to-the-cabal-user-guide" title="Permalink to this headline">¶</a></h1>-<div class="toctree-wrapper compound">-<ul>-<li class="toctree-l1"><a class="reference internal" href="intro.html">1. Introduction</a><ul>-<li class="toctree-l2"><a class="reference internal" href="intro.html#a-tool-for-working-with-packages">1.1. A tool for working with packages</a></li>-<li class="toctree-l2"><a class="reference internal" href="intro.html#what-s-in-a-package">1.2. What’s in a package</a></li>-<li class="toctree-l2"><a class="reference internal" href="intro.html#cabal-featureset">1.3. Cabal featureset</a></li>-<li class="toctree-l2"><a class="reference internal" href="intro.html#similar-systems">1.4. Similar systems</a></li>-</ul>-</li>-<li class="toctree-l1"><a class="reference internal" href="config-and-install.html">2. Configuration and Installing Packages</a><ul>-<li class="toctree-l2"><a class="reference internal" href="installing-packages.html">2.1. Configuration</a></li>-<li class="toctree-l2"><a class="reference internal" href="installing-packages.html#building-and-installing-packages">2.2. Building and installing packages</a></li>-</ul>-</li>-<li class="toctree-l1"><a class="reference internal" href="concepts-and-development.html">3. Package Concepts and Development</a><ul>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html">3.1. Quickstart</a></li>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#package-concepts">3.2. Package concepts</a></li>-<li class="toctree-l2"><a class="reference internal" href="developing-packages.html#developing-packages">3.3. Developing packages</a></li>-</ul>-</li>-<li class="toctree-l1"><a class="reference internal" href="bugs-and-stability.html">4. Reporting Bugs and Stability of Cabal Interfaces</a><ul>-<li class="toctree-l2"><a class="reference internal" href="misc.html">4.1. Reporting bugs and deficiencies</a></li>-<li class="toctree-l2"><a class="reference internal" href="misc.html#stability-of-cabal-interfaces">4.2. Stability of Cabal interfaces</a></li>-</ul>-</li>-<li class="toctree-l1"><a class="reference internal" href="nix-local-build-overview.html">5. Nix-style Local Builds</a><ul>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html">5.1. Quickstart</a></li>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#cookbook">5.2. Cookbook</a></li>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#how-it-works">5.3. How it works</a></li>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#commands">5.4. Commands</a></li>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#configuring-builds-with-cabal-project">5.5. Configuring builds with cabal.project</a></li>-</ul>-</li>-<li class="toctree-l1"><a class="reference internal" href="nix-integration.html">6. Nix Integration</a><ul>-<li class="toctree-l2"><a class="reference internal" href="nix-integration.html#enabling-nix-integration">6.1. Enabling Nix Integration</a></li>-<li class="toctree-l2"><a class="reference internal" href="nix-integration.html#creating-nix-expressions">6.2. Creating Nix Expressions</a></li>-<li class="toctree-l2"><a class="reference internal" href="nix-integration.html#nix-expression-evaluation">6.3. Nix Expression Evaluation</a></li>-<li class="toctree-l2"><a class="reference internal" href="nix-integration.html#further-reading">6.4. Further Reading</a></li>-</ul>-</li>-</ul>-</div>-</div>--- </div>- <div class="articleComments">- - </div>- </div>- <footer>- - <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">- - <a href="intro.html" class="btn btn-neutral float-right" title="1. Introduction" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>- - - </div>- -- <hr/>-- <div role="contentinfo">- <p>- © Copyright 2003-2017, Cabal Team.-- </p>- </div>- Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. --</footer>-- </div>- </div>-- </section>-- </div>- --- -- <script type="text/javascript">- var DOCUMENTATION_OPTIONS = {- URL_ROOT:'./',- VERSION:'2.0',- COLLAPSE_INDEX:false,- FILE_SUFFIX:'.html',- HAS_SOURCE: true,- SOURCELINK_SUFFIX: '.txt'- };- </script>- <script type="text/javascript" src="_static/jquery.js"></script>- <script type="text/javascript" src="_static/underscore.js"></script>- <script type="text/javascript" src="_static/doctools.js"></script>-- -- - - <script type="text/javascript" src="_static/js/theme.js"></script>- -- - - <script type="text/javascript">- jQuery(function () {- SphinxRtdTheme.StickyNav.enable();- });- </script>- --</body>-</html>
@@ -1,1973 +0,0 @@---<!DOCTYPE html>-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->-<head>- <meta charset="utf-8">- - <meta name="viewport" content="width=device-width, initial-scale=1.0">- - <title>2.1. Configuration — Cabal <release> User's Guide</title>- -- - - - -- -- - - -- -- - - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />- -- -- - <link rel="index" title="Index"- href="genindex.html"/>- <link rel="search" title="Search" href="search.html"/>- <link rel="top" title="Cabal <release> User's Guide" href="index.html"/>- <link rel="up" title="2. Configuration and Installing Packages" href="config-and-install.html"/>- <link rel="next" title="3. Package Concepts and Development" href="concepts-and-development.html"/>- <link rel="prev" title="2. Configuration and Installing Packages" href="config-and-install.html"/> -- - <script src="_static/js/modernizr.min.js"></script>--</head>--<body class="wy-body-for-nav" role="document">-- - <div class="wy-grid-for-nav">-- - <nav data-toggle="wy-nav-shift" class="wy-nav-side">- <div class="wy-side-scroll">- <div class="wy-side-nav-search">- -- - <a href="index.html" class="icon icon-home"> Cabal- -- - - <img src="_static/Cabal-dark.png" class="logo" />- - </a>-- - - - <div class="version">- 2.0- </div>- - -- -<div role="search">- <form id="rtd-search-form" class="wy-form" action="search.html" method="get">- <input type="text" name="q" placeholder="Search docs" />- <input type="hidden" name="check_keywords" value="yes" />- <input type="hidden" name="area" value="default" />- </form>-</div>-- - </div>-- <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">- - - - - - - - <ul class="current">-<li class="toctree-l1"><a class="reference internal" href="intro.html">1. Introduction</a></li>-<li class="toctree-l1 current"><a class="reference internal" href="config-and-install.html">2. Configuration and Installing Packages</a><ul class="current">-<li class="toctree-l2 current"><a class="current reference internal" href="#">2.1. Configuration</a><ul>-<li class="toctree-l3"><a class="reference internal" href="#overview">2.1.1. Overview</a></li>-<li class="toctree-l3"><a class="reference internal" href="#repository-specification">2.1.2. Repository specification</a><ul>-<li class="toctree-l4"><a class="reference internal" href="#using-secure-repositories">2.1.2.1. Using secure repositories</a></li>-<li class="toctree-l4"><a class="reference internal" href="#legacy-repositories">2.1.2.2. Legacy repositories</a></li>-<li class="toctree-l4"><a class="reference internal" href="#secure-local-repositories">2.1.2.3. Secure local repositories</a></li>-</ul>-</li>-</ul>-</li>-<li class="toctree-l2"><a class="reference internal" href="#building-and-installing-packages">2.2. Building and installing packages</a><ul>-<li class="toctree-l3"><a class="reference internal" href="#building-and-installing-a-system-package">2.2.1. Building and installing a system package</a></li>-<li class="toctree-l3"><a class="reference internal" href="#building-and-installing-a-user-package">2.2.2. Building and installing a user package</a></li>-<li class="toctree-l3"><a class="reference internal" href="#installing-packages-from-hackage">2.2.3. Installing packages from Hackage</a></li>-<li class="toctree-l3"><a class="reference internal" href="#developing-with-sandboxes">2.2.4. Developing with sandboxes</a><ul>-<li class="toctree-l4"><a class="reference internal" href="#sandboxes-basic-usage">2.2.4.1. Sandboxes: basic usage</a></li>-<li class="toctree-l4"><a class="reference internal" href="#sandboxes-advanced-usage">2.2.4.2. Sandboxes: advanced usage</a></li>-</ul>-</li>-<li class="toctree-l3"><a class="reference internal" href="#creating-a-binary-package">2.2.5. Creating a binary package</a></li>-<li class="toctree-l3"><a class="reference internal" href="#setup-configure">2.2.6. setup configure</a><ul>-<li class="toctree-l4"><a class="reference internal" href="#programs-used-for-building">2.2.6.1. Programs used for building</a></li>-<li class="toctree-l4"><a class="reference internal" href="#installation-paths">2.2.6.2. Installation paths</a></li>-<li class="toctree-l4"><a class="reference internal" href="#controlling-flag-assignments">2.2.6.3. Controlling Flag Assignments</a></li>-<li class="toctree-l4"><a class="reference internal" href="#building-test-suites">2.2.6.4. Building Test Suites</a></li>-<li class="toctree-l4"><a class="reference internal" href="#miscellaneous-options">2.2.6.5. Miscellaneous options</a></li>-</ul>-</li>-<li class="toctree-l3"><a class="reference internal" href="#setup-build">2.2.7. setup build</a></li>-<li class="toctree-l3"><a class="reference internal" href="#setup-haddock">2.2.8. setup haddock</a></li>-<li class="toctree-l3"><a class="reference internal" href="#setup-hscolour">2.2.9. setup hscolour</a></li>-<li class="toctree-l3"><a class="reference internal" href="#setup-install">2.2.10. setup install</a></li>-<li class="toctree-l3"><a class="reference internal" href="#setup-copy">2.2.11. setup copy</a></li>-<li class="toctree-l3"><a class="reference internal" href="#setup-register">2.2.12. setup register</a></li>-<li class="toctree-l3"><a class="reference internal" href="#setup-unregister">2.2.13. setup unregister</a></li>-<li class="toctree-l3"><a class="reference internal" href="#setup-clean">2.2.14. setup clean</a></li>-<li class="toctree-l3"><a class="reference internal" href="#setup-test">2.2.15. setup test</a></li>-<li class="toctree-l3"><a class="reference internal" href="#setup-sdist">2.2.16. setup sdist</a></li>-</ul>-</li>-</ul>-</li>-<li class="toctree-l1"><a class="reference internal" href="concepts-and-development.html">3. Package Concepts and Development</a></li>-<li class="toctree-l1"><a class="reference internal" href="bugs-and-stability.html">4. Reporting Bugs and Stability of Cabal Interfaces</a></li>-<li class="toctree-l1"><a class="reference internal" href="nix-local-build-overview.html">5. Nix-style Local Builds</a></li>-<li class="toctree-l1"><a class="reference internal" href="nix-integration.html">6. Nix Integration</a></li>-</ul>-- - - <a href="cabal-projectindex.html">Reference</a>- <a href="genindex.html">Index</a>-- </div>- </div>- </nav>-- <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">-- - <nav class="wy-nav-top" role="navigation" aria-label="top navigation">- - <i data-toggle="wy-nav-top" class="fa fa-bars"></i>- <a href="index.html">Cabal</a>- - </nav>--- - <div class="wy-nav-content">- <div class="rst-content">- ----------------<div role="navigation" aria-label="breadcrumbs navigation">-- <ul class="wy-breadcrumbs">- - <li><a href="index.html">Docs</a> »</li>- - <li><a href="config-and-install.html">2. Configuration and Installing Packages</a> »</li>- - <li>2.1. Configuration</li>- - - <li class="wy-breadcrumbs-aside">- - - <a href="_sources/installing-packages.rst.txt" rel="nofollow"> View page source</a>- - - </li>- - </ul>-- - <hr/>-</div>- <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">- <div itemprop="articleBody">- - <div class="section" id="configuration">-<h1>2.1. Configuration<a class="headerlink" href="#configuration" title="Permalink to this headline">¶</a></h1>-<div class="section" id="overview">-<h2>2.1.1. Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h2>-<p>The global configuration file for <code class="docutils literal"><span class="pre">cabal-install</span></code> is-<code class="docutils literal"><span class="pre">~/.cabal/config</span></code>. If you do not have this file, <code class="docutils literal"><span class="pre">cabal</span></code> will create-it for you on the first call to <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">update</span></code>. Alternatively, you can-explicitly ask <code class="docutils literal"><span class="pre">cabal</span></code> to create it for you using</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal user-config update-</pre></div>-</div>-<p>Most of the options in this configuration file are also available as-command line arguments, and the corresponding documentation can be used-to lookup their meaning. The created configuration file only specifies-values for a handful of options. Most options are left at their default-value, which it documents; for instance,</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="c1">-- executable-stripping: True</span>-</pre></div>-</div>-<p>means that the configuration file currently does not specify a value for-the <code class="docutils literal"><span class="pre">executable-stripping</span></code> option (the line is commented out), and-that the default is <code class="docutils literal"><span class="pre">True</span></code>; if you wanted to disable stripping of-executables by default, you would change this line to</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">executable-stripping</span><span class="p">:</span> False-</pre></div>-</div>-<p>You can also use <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">user-config</span> <span class="pre">update</span></code> to migrate configuration-files created by older versions of <code class="docutils literal"><span class="pre">cabal</span></code>.</p>-</div>-<div class="section" id="repository-specification">-<h2>2.1.2. Repository specification<a class="headerlink" href="#repository-specification" title="Permalink to this headline">¶</a></h2>-<p>An important part of the configuration if the specification of the-repository. When <code class="docutils literal"><span class="pre">cabal</span></code> creates a default config file, it configures-the repository to be the central Hackage server:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">repository</span> hackage.haskell.org-<span class="w"> </span><span class="k">url</span><span class="p">:</span> http<span class="p">:</span>//hackage.haskell.org/-</pre></div>-</div>-<p>The name of the repository is given on the first line, and can be-anything; packages downloaded from this repository will be cached under-<code class="docutils literal"><span class="pre">~/.cabal/packages/hackage.haskell.org</span></code> (or whatever name you specify;-you can change the prefix by changing the value of-<code class="docutils literal"><span class="pre">remote-repo-cache</span></code>). If you want, you can configure multiple-repositories, and <code class="docutils literal"><span class="pre">cabal</span></code> will combine them and be able to download-packages from any of them.</p>-<div class="section" id="using-secure-repositories">-<h3>2.1.2.1. Using secure repositories<a class="headerlink" href="#using-secure-repositories" title="Permalink to this headline">¶</a></h3>-<p>For repositories that support the TUF security infrastructure (this-includes Hackage), you can enable secure access to the repository by-specifying:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">repository</span> hackage.haskell.org-<span class="w"> </span><span class="k">url</span><span class="p">:</span> http<span class="p">:</span>//hackage.haskell.org/-<span class="w"> </span><span class="k">secure</span><span class="p">:</span> True-<span class="w"> </span><span class="k">root-keys</span><span class="p">:</span> <span class="o"><</span>root-key-IDs<span class="o">></span>-<span class="w"> </span><span class="k">key-threshold</span><span class="p">:</span> <span class="o"><</span>key-threshold<span class="o">></span>-</pre></div>-</div>-<p>The <code class="docutils literal"><span class="pre"><root-key-IDs></span></code> and <code class="docutils literal"><span class="pre"><key-threshold></span></code> values are used for-bootstrapping. As part of the TUF infrastructure the repository will-contain a file <code class="docutils literal"><span class="pre">root.json</span></code> (for instance,-<a class="reference external" href="http://hackage.haskell.org/root.json">http://hackage.haskell.org/root.json</a>) which the client needs to do-verification. However, how can <code class="docutils literal"><span class="pre">cabal</span></code> verify the <code class="docutils literal"><span class="pre">root.json</span></code> file-<em>itself</em>? This is known as bootstrapping: if you specify a list of root-key IDs and a corresponding threshold, <code class="docutils literal"><span class="pre">cabal</span></code> will verify that the-downloaded <code class="docutils literal"><span class="pre">root.json</span></code> file has been signed with at least-<code class="docutils literal"><span class="pre"><key-threshold></span></code> keys from your set of <code class="docutils literal"><span class="pre"><root-key-IDs></span></code>.</p>-<p>You can, but are not recommended to, omit these two fields. In that case-<code class="docutils literal"><span class="pre">cabal</span></code> will download the <code class="docutils literal"><span class="pre">root.json</span></code> field and use it without-verification. Although this bootstrapping step is then unsafe, all-subsequent access is secure (provided that the downloaded <code class="docutils literal"><span class="pre">root.json</span></code>-was not tempered with). Of course, adding <code class="docutils literal"><span class="pre">root-keys</span></code> and-<code class="docutils literal"><span class="pre">key-threshold</span></code> to your repository specification only shifts the-problem, because now you somehow need to make sure that the key IDs you-received were the right ones. How that is done is however outside the-scope of <code class="docutils literal"><span class="pre">cabal</span></code> proper.</p>-<p>More information about the security infrastructure can be found at-<a class="reference external" href="https://github.com/well-typed/hackage-security">https://github.com/well-typed/hackage-security</a>.</p>-</div>-<div class="section" id="legacy-repositories">-<h3>2.1.2.2. Legacy repositories<a class="headerlink" href="#legacy-repositories" title="Permalink to this headline">¶</a></h3>-<p>Currently <code class="docutils literal"><span class="pre">cabal</span></code> supports two kinds of “legacy” repositories. The-first is specified using</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">remote-repo</span><span class="p">:</span> hackage.haskell.org<span class="p">:</span>http<span class="p">:</span>//hackage.haskell.org/packages/archive-</pre></div>-</div>-<p>This is just syntactic sugar for</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">repository</span> hackage.haskell.org-<span class="w"> </span><span class="k">url</span><span class="p">:</span> hackage.haskell.org<span class="p">:</span>http<span class="p">:</span>//hackage.haskell.org/packages/archive-</pre></div>-</div>-<p>although, in (and only in) the specific case of Hackage, the URL-<code class="docutils literal"><span class="pre">http://hackage.haskell.org/packages/archive</span></code> will be silently-translated to <code class="docutils literal"><span class="pre">http://hackage.haskell.org/</span></code>.</p>-<p>The second kind of legacy repositories are so-called “local”-repositories:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">local-repo</span><span class="p">:</span> my-local-repo<span class="p">:</span>/path/to/local/repo-</pre></div>-</div>-<p>This can be used to access repositories on the local file system.-However, the layout of these local repositories is different from the-layout of remote repositories, and usage of these local repositories is-deprecated.</p>-</div>-<div class="section" id="secure-local-repositories">-<h3>2.1.2.3. Secure local repositories<a class="headerlink" href="#secure-local-repositories" title="Permalink to this headline">¶</a></h3>-<p>If you want to use repositories on your local file system, it is-recommended instead to use a <em>secure</em> local repository:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">repository</span> my-local-repo-<span class="w"> </span><span class="k">url</span><span class="p">:</span> file<span class="p">:</span>/path/to/local/repo-<span class="w"> </span><span class="k">secure</span><span class="p">:</span> True-<span class="w"> </span><span class="k">root-keys</span><span class="p">:</span> <span class="o"><</span>root-key-IDs<span class="o">></span>-<span class="w"> </span><span class="k">key-threshold</span><span class="p">:</span> <span class="o"><</span>key-threshold<span class="o">></span>-</pre></div>-</div>-<p>The layout of these secure local repos matches the layout of remote-repositories exactly; the <a class="reference external" href="http://hackage.haskell.org/package/hackage-repo-tool">hackage-repo-tool</a>-can be used to create and manage such repositories.</p>-</div>-</div>-</div>-<div class="section" id="building-and-installing-packages">-<span id="installing-packages"></span><h1>2.2. Building and installing packages<a class="headerlink" href="#building-and-installing-packages" title="Permalink to this headline">¶</a></h1>-<p>After you’ve unpacked a Cabal package, you can build it by moving into-the root directory of the package and running the <code class="docutils literal"><span class="pre">cabal</span></code> tool there:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal <span class="o">[</span>command<span class="o">]</span> <span class="o">[</span>option...<span class="o">]</span>-</pre></div>-</div>-<p>The <em>command</em> argument selects a particular step in the build/install-process.</p>-<p>You can also get a summary of the command syntax with</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal <span class="nb">help</span>-</pre></div>-</div>-<p>Alternatively, you can also use the <code class="docutils literal"><span class="pre">Setup.hs</span></code> or <code class="docutils literal"><span class="pre">Setup.lhs</span></code>-script:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> runhaskell Setup.hs <span class="o">[</span>command<span class="o">]</span> <span class="o">[</span>option...<span class="o">]</span>-</pre></div>-</div>-<p>For the summary of the command syntax, run:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal <span class="nb">help</span>-</pre></div>-</div>-<p>or</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> runhaskell Setup.hs --help-</pre></div>-</div>-<div class="section" id="building-and-installing-a-system-package">-<h2>2.2.1. Building and installing a system package<a class="headerlink" href="#building-and-installing-a-system-package" title="Permalink to this headline">¶</a></h2>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> runhaskell Setup.hs configure --ghc-<span class="gp">$</span> runhaskell Setup.hs build-<span class="gp">$</span> runhaskell Setup.hs install-</pre></div>-</div>-<p>The first line readies the system to build the tool using GHC; for-example, it checks that GHC exists on the system. The second line-performs the actual building, while the last both copies the build-results to some permanent place and registers the package with GHC.</p>-</div>-<div class="section" id="building-and-installing-a-user-package">-<h2>2.2.2. Building and installing a user package<a class="headerlink" href="#building-and-installing-a-user-package" title="Permalink to this headline">¶</a></h2>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> runhaskell Setup.hs configure --user-<span class="gp">$</span> runhaskell Setup.hs build-<span class="gp">$</span> runhaskell Setup.hs install-</pre></div>-</div>-<p>The package is installed under the user’s home directory and is-registered in the user’s package database (<a class="reference internal" href="#cmdoption-setup-configure-user"><code class="xref std std-option docutils literal"><span class="pre">setup</span> <span class="pre">configure</span> <span class="pre">--user</span></code></a>).</p>-</div>-<div class="section" id="installing-packages-from-hackage">-<h2>2.2.3. Installing packages from Hackage<a class="headerlink" href="#installing-packages-from-hackage" title="Permalink to this headline">¶</a></h2>-<p>The <code class="docutils literal"><span class="pre">cabal</span></code> tool also can download, configure, build and install a-<a class="reference external" href="http://hackage.haskell.org/">Hackage</a> package and all of its-dependencies in a single step. To do this, run:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal install <span class="o">[</span>PACKAGE...<span class="o">]</span>-</pre></div>-</div>-<p>To browse the list of available packages, visit the-<a class="reference external" href="http://hackage.haskell.org/">Hackage</a> web site.</p>-</div>-<div class="section" id="developing-with-sandboxes">-<h2>2.2.4. Developing with sandboxes<a class="headerlink" href="#developing-with-sandboxes" title="Permalink to this headline">¶</a></h2>-<p>By default, any dependencies of the package are installed into the-global or user package databases (e.g. using-<code class="docutils literal"><span class="pre">cabal</span> <span class="pre">install</span> <span class="pre">--only-dependencies</span></code>). If you’re building several-different packages that have incompatible dependencies, this can cause-the build to fail. One way to avoid this problem is to build each-package in an isolated environment (“sandbox”), with a sandbox-local-package database. Because sandboxes are per-project, inconsistent-dependencies can be simply disallowed.</p>-<p>For more on sandboxes, see also <a class="reference external" href="http://coldwa.st/e/blog/2013-08-20-Cabal-sandbox.html">this-article</a>.</p>-<div class="section" id="sandboxes-basic-usage">-<h3>2.2.4.1. Sandboxes: basic usage<a class="headerlink" href="#sandboxes-basic-usage" title="Permalink to this headline">¶</a></h3>-<p>To initialise a fresh sandbox in the current directory, run-<code class="docutils literal"><span class="pre">cabal</span> <span class="pre">sandbox</span> <span class="pre">init</span></code>. All subsequent commands (such as <code class="docutils literal"><span class="pre">build</span></code> and-<code class="docutils literal"><span class="pre">install</span></code>) from this point will use the sandbox.</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> <span class="nb">cd</span> /path/to/my/haskell/library-<span class="gp">$</span> cabal sandbox init <span class="c1"># Initialise the sandbox</span>-<span class="gp">$</span> cabal install --only-dependencies <span class="c1"># Install dependencies into the sandbox</span>-<span class="gp">$</span> cabal build <span class="c1"># Build your package inside the sandbox</span>-</pre></div>-</div>-<p>It can be useful to make a source package available for installation in-the sandbox - for example, if your package depends on a patched or an-unreleased version of a library. This can be done with the-<code class="docutils literal"><span class="pre">cabal</span> <span class="pre">sandbox</span> <span class="pre">add-source</span></code> command - think of it as “local <a class="reference external" href="http://hackage.haskell.org/">Hackage</a>”.-If an add-source dependency is later modified, it is reinstalled automatically.</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal sandbox add-source /my/patched/library <span class="c1"># Add a new add-source dependency</span>-<span class="gp">$</span> cabal install --dependencies-only <span class="c1"># Install it into the sandbox</span>-<span class="gp">$</span> cabal build <span class="c1"># Build the local package</span>-<span class="gp">$</span> <span class="nv">$EDITOR</span> /my/patched/library/Source.hs <span class="c1"># Modify the add-source dependency</span>-<span class="gp">$</span> cabal build <span class="c1"># Modified dependency is automatically reinstalled</span>-</pre></div>-</div>-<p>Normally, the sandbox settings (such as optimisation level) are-inherited from the main Cabal config file (<code class="docutils literal"><span class="pre">$HOME/cabal/config</span></code>).-Sometimes, though, you need to change some settings specifically for a-single sandbox. You can do this by creating a <code class="docutils literal"><span class="pre">cabal.config</span></code> file in-the same directory with your <code class="docutils literal"><span class="pre">cabal.sandbox.config</span></code> (which was created-by <code class="docutils literal"><span class="pre">sandbox</span> <span class="pre">init</span></code>). This file has the same syntax as the main Cabal-config file.</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cat cabal.config-<span class="go">documentation: True</span>-<span class="go">constraints: foo == 1.0, bar >= 2.0, baz</span>-<span class="gp">$</span> cabal build <span class="c1"># Uses settings from the cabal.config file</span>-</pre></div>-</div>-<p>When you have decided that you no longer want to build your package-inside a sandbox, just delete it:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal sandbox delete <span class="c1"># Built-in command</span>-<span class="gp">$</span> rm -rf .cabal-sandbox cabal.sandbox.config <span class="c1"># Alternative manual method</span>-</pre></div>-</div>-</div>-<div class="section" id="sandboxes-advanced-usage">-<h3>2.2.4.2. Sandboxes: advanced usage<a class="headerlink" href="#sandboxes-advanced-usage" title="Permalink to this headline">¶</a></h3>-<p>The default behaviour of the <code class="docutils literal"><span class="pre">add-source</span></code> command is to track-modifications done to the added dependency and reinstall the sandbox-copy of the package when needed. Sometimes this is not desirable: in-these cases you can use <code class="docutils literal"><span class="pre">add-source</span> <span class="pre">--snapshot</span></code>, which disables the-change tracking. In addition to <code class="docutils literal"><span class="pre">add-source</span></code>, there are also-<code class="docutils literal"><span class="pre">list-sources</span></code> and <code class="docutils literal"><span class="pre">delete-source</span></code> commands.</p>-<p>Sometimes one wants to share a single sandbox between multiple packages.-This can be easily done with the <code class="docutils literal"><span class="pre">--sandbox</span></code> option:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> mkdir -p /path/to/shared-sandbox-<span class="gp">$</span> <span class="nb">cd</span> /path/to/shared-sandbox-<span class="gp">$</span> cabal sandbox init --sandbox .-<span class="gp">$</span> <span class="nb">cd</span> /path/to/package-a-<span class="gp">$</span> cabal sandbox init --sandbox /path/to/shared-sandbox-<span class="gp">$</span> <span class="nb">cd</span> /path/to/package-b-<span class="gp">$</span> cabal sandbox init --sandbox /path/to/shared-sandbox-</pre></div>-</div>-<p>Note that <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">sandbox</span> <span class="pre">init</span> <span class="pre">--sandbox</span> <span class="pre">.</span></code> puts all sandbox files into-the current directory. By default, <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">sandbox</span> <span class="pre">init</span></code> initialises a-new sandbox in a newly-created subdirectory of the current working-directory (<code class="docutils literal"><span class="pre">./.cabal-sandbox</span></code>).</p>-<p>Using multiple different compiler versions simultaneously is also-supported, via the <code class="docutils literal"><span class="pre">-w</span></code> option:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal sandbox init-<span class="gp">$</span> cabal install --only-dependencies -w /path/to/ghc-1 <span class="c1"># Install dependencies for both compilers</span>-<span class="gp">$</span> cabal install --only-dependencies -w /path/to/ghc-2-<span class="gp">$</span> cabal configure -w /path/to/ghc-1 <span class="c1"># Build with the first compiler</span>-<span class="gp">$</span> cabal build-<span class="gp">$</span> cabal configure -w /path/to/ghc-2 <span class="c1"># Build with the second compiler</span>-<span class="gp">$</span> cabal build-</pre></div>-</div>-<p>It can be occasionally useful to run the compiler-specific package-manager tool (e.g. <code class="docutils literal"><span class="pre">ghc-pkg</span></code>) tool on the sandbox package DB directly-(for example, you may need to unregister some packages). The-<code class="docutils literal"><span class="pre">cabal</span> <span class="pre">sandbox</span> <span class="pre">hc-pkg</span></code> command is a convenient wrapper that runs the-compiler-specific package manager tool with the arguments:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal -v sandbox hc-pkg list-<span class="go">Using a sandbox located at /path/to/.cabal-sandbox</span>-<span class="go">'ghc-pkg' '--global' '--no-user-package-conf'</span>-<span class="go"> '--package-conf=/path/to/.cabal-sandbox/i386-linux-ghc-7.4.2-packages.conf.d'</span>-<span class="go"> 'list'</span>-<span class="go">[...]</span>-</pre></div>-</div>-<p>The <code class="docutils literal"><span class="pre">--require-sandbox</span></code> option makes all sandbox-aware commands-(<code class="docutils literal"><span class="pre">install</span></code>/<code class="docutils literal"><span class="pre">build</span></code>/etc.) exit with error if there is no sandbox-present. This makes it harder to accidentally modify the user package-database. The option can be also turned on via the per-user-configuration file (<code class="docutils literal"><span class="pre">~/.cabal/config</span></code>) or the per-project one-(<code class="docutils literal"><span class="pre">$PROJECT_DIR/cabal.config</span></code>). The error can be squelched with-<code class="docutils literal"><span class="pre">--no-require-sandbox</span></code>.</p>-<p>The option <code class="docutils literal"><span class="pre">--sandbox-config-file</span></code> allows to specify the location of-the <code class="docutils literal"><span class="pre">cabal.sandbox.config</span></code> file (by default, <code class="docutils literal"><span class="pre">cabal</span></code> searches for it-in the current directory). This provides the same functionality as-shared sandboxes, but sometimes can be more convenient. Example:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> mkdir my/sandbox-<span class="gp">$</span> <span class="nb">cd</span> my/sandbox-<span class="gp">$</span> cabal sandbox init-<span class="gp">$</span> <span class="nb">cd</span> /path/to/my/project-<span class="gp">$</span> cabal --sandbox-config-file<span class="o">=</span>/path/to/my/sandbox/cabal.sandbox.config install-<span class="gp">#</span> Uses the sandbox located at /path/to/my/sandbox/.cabal-sandbox-<span class="gp">$</span> <span class="nb">cd</span> ~-<span class="gp">$</span> cabal --sandbox-config-file<span class="o">=</span>/path/to/my/sandbox/cabal.sandbox.config install-<span class="gp">#</span> Still uses the same sandbox-</pre></div>-</div>-<p>The sandbox config file can be also specified via the-<code class="docutils literal"><span class="pre">CABAL_SANDBOX_CONFIG</span></code> environment variable.</p>-<p>Finally, the flag <code class="docutils literal"><span class="pre">--ignore-sandbox</span></code> lets you temporarily ignore an-existing sandbox:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> mkdir my/sandbox-<span class="gp">$</span> <span class="nb">cd</span> my/sandbox-<span class="gp">$</span> cabal sandbox init-<span class="gp">$</span> cabal --ignore-sandbox install text-<span class="gp">#</span> Installs <span class="s1">'text'</span> in the user package database <span class="o">(</span><span class="s1">'~/.cabal'</span><span class="o">)</span>.-</pre></div>-</div>-</div>-</div>-<div class="section" id="creating-a-binary-package">-<h2>2.2.5. Creating a binary package<a class="headerlink" href="#creating-a-binary-package" title="Permalink to this headline">¶</a></h2>-<p>When creating binary packages (e.g. for Red Hat or Debian) one needs to-create a tarball that can be sent to another system for unpacking in the-root directory:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> runhaskell Setup.hs configure --prefix<span class="o">=</span>/usr-<span class="gp">$</span> runhaskell Setup.hs build-<span class="gp">$</span> runhaskell Setup.hs copy --destdir<span class="o">=</span>/tmp/mypkg-<span class="gp">$</span> tar -czf mypkg.tar.gz /tmp/mypkg/-</pre></div>-</div>-<p>If the package contains a library, you need two additional steps:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> runhaskell Setup.hs register --gen-script-<span class="gp">$</span> runhaskell Setup.hs unregister --gen-script-</pre></div>-</div>-<p>This creates shell scripts <code class="docutils literal"><span class="pre">register.sh</span></code> and <code class="docutils literal"><span class="pre">unregister.sh</span></code>, which-must also be sent to the target system. After unpacking there, the-package must be registered by running the <code class="docutils literal"><span class="pre">register.sh</span></code> script. The-<code class="docutils literal"><span class="pre">unregister.sh</span></code> script would be used in the uninstall procedure of the-package. Similar steps may be used for creating binary packages for-Windows.</p>-<p>The following options are understood by all commands:</p>-<dl class="option">-<dt id="cmdoption-setup-help">-<code class="descname">--help</code><code class="descclassname"></code><code class="descclassname">, </code><code class="descname">-h</code><code class="descclassname"> or -?</code><a class="headerlink" href="#cmdoption-setup-help" title="Permalink to this definition">¶</a></dt>-<dd><p>List the available options for the command.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-verbose">-<code class="descname">--verbose</code><code class="descclassname">=n or -v n</code><a class="headerlink" href="#cmdoption-setup-verbose" title="Permalink to this definition">¶</a></dt>-<dd><p>Set the verbosity level (0-3). The normal level is 1; a missing <em>n</em>-defaults to 2.</p>-<p>There is also an extended version of this command which can be-used to fine-tune the verbosity of output. It takes the-form <code class="docutils literal"><span class="pre">[silent|normal|verbose|debug]</span></code><em>flags</em>, where <em>flags</em>-is a list of <code class="docutils literal"><span class="pre">+</span></code> flags which toggle various aspects of-output. At the moment, only <code class="docutils literal"><span class="pre">+callsite</span></code> and <code class="docutils literal"><span class="pre">+callstack</span></code>-are supported, which respectively toggle call site and call-stack printing (these are only supported if Cabal-is built with a sufficiently recent GHC.)</p>-</dd></dl>--<p>The various commands and the additional options they support are-described below. In the simple build infrastructure, any other options-will be reported as errors.</p>-</div>-<div class="section" id="setup-configure">-<span id="id1"></span><h2>2.2.6. setup configure<a class="headerlink" href="#setup-configure" title="Permalink to this headline">¶</a></h2>-<p>Prepare to build the package. Typically, this step checks that the-target platform is capable of building the package, and discovers-platform-specific features that are needed during the build.</p>-<p>The user may also adjust the behaviour of later stages using the options-listed in the following subsections. In the simple build infrastructure,-the values supplied via these options are recorded in a private file-read by later stages.</p>-<p>If a user-supplied <code class="docutils literal"><span class="pre">configure</span></code> script is run (see the section on-<a class="reference external" href="developing-packages.html#system-dependent-parameters">system-dependent-parameters</a> or-on <a class="reference external" href="developing-packages.html#more-complex-packages">complex-packages</a>), it is-passed the <a class="reference internal" href="#cmdoption-setup-configure-with-hc-pkg"><code class="xref std std-option docutils literal"><span class="pre">--with-hc-pkg</span></code></a>, <a class="reference internal" href="#cmdoption-setup-configure-prefix"><code class="xref std std-option docutils literal"><span class="pre">--prefix</span></code></a>, <a class="reference internal" href="#cmdoption-setup-configure-bindir"><code class="xref std std-option docutils literal"><span class="pre">--bindir</span></code></a>,-<a class="reference internal" href="#cmdoption-setup-configure-libdir"><code class="xref std std-option docutils literal"><span class="pre">--libdir</span></code></a>, <a class="reference internal" href="#cmdoption-setup-configure-dynlibdir"><code class="xref std std-option docutils literal"><span class="pre">--dynlibdir</span></code></a>, <a class="reference internal" href="#cmdoption-setup-configure-datadir"><code class="xref std std-option docutils literal"><span class="pre">--datadir</span></code></a>, <a class="reference internal" href="#cmdoption-setup-configure-libexecdir"><code class="xref std std-option docutils literal"><span class="pre">--libexecdir</span></code></a> and-<a class="reference internal" href="#cmdoption-setup-configure-sysconfdir"><code class="xref std std-option docutils literal"><span class="pre">--sysconfdir</span></code></a> options. In addition the value of the-<a class="reference internal" href="#cmdoption-setup-configure-with-compiler"><code class="xref std std-option docutils literal"><span class="pre">--with-compiler</span></code></a> option is passed in a <a class="reference internal" href="#cmdoption-setup-configure-with-hc-pkg"><code class="xref std std-option docutils literal"><span class="pre">--with-hc-pkg</span></code></a> option-and all options specified with <a class="reference internal" href="#cmdoption-setup-configure-configure-option"><code class="xref std std-option docutils literal"><span class="pre">--configure-option</span></code></a> are passed on.</p>-<p>In Cabal 2.0, support for a single positional argument was added to-<code class="docutils literal"><span class="pre">setup</span> <span class="pre">configure</span></code> This makes Cabal configure a the specific component-to be configured. Specified names can be qualified with <code class="docutils literal"><span class="pre">lib:</span></code> or-<code class="docutils literal"><span class="pre">exe:</span></code> in case just a name is ambiguous (as would be the case for a-package named <code class="docutils literal"><span class="pre">p</span></code> which has a library and an executable named <code class="docutils literal"><span class="pre">p</span></code>.)-This has the following effects:</p>-<ul class="simple">-<li>Subsequent invocations of <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">build</span></code>, <code class="docutils literal"><span class="pre">register</span></code>, etc. operate only-on the configured component.</li>-<li>Cabal requires all “internal” dependencies (e.g., an executable-depending on a library defined in the same package) must be found in-the set of databases via <a class="reference internal" href="#cmdoption-setup-configure-package-db"><code class="xref std std-option docutils literal"><span class="pre">--package-db</span></code></a> (and related flags): these-dependencies are assumed to be up-to-date. A dependency can be-explicitly specified using <code class="xref std std-option docutils literal"><span class="pre">--dependency</span></code> simply by giving the name-of the internal library; e.g., the dependency for an internal library-named <code class="docutils literal"><span class="pre">foo</span></code> is given as-<code class="docutils literal"><span class="pre">--dependency=pkg-internal=pkg-1.0-internal-abcd</span></code>.</li>-<li>Only the dependencies needed for the requested component are-required. Similarly, when <a class="reference internal" href="#cmdoption-setup-configure-exact-configuration"><code class="xref std std-option docutils literal"><span class="pre">--exact-configuration</span></code></a> is specified,-it’s only necessary to specify <code class="xref std std-option docutils literal"><span class="pre">--dependency</span></code> for the component.-(As mentioned previously, you <em>must</em> specify internal dependencies as-well.)</li>-<li>Internal <code class="docutils literal"><span class="pre">build-tool-depends</span></code> and <code class="docutils literal"><span class="pre">build-tools</span></code> dependencies are expected-to be in the <code class="docutils literal"><span class="pre">PATH</span></code> upon subsequent invocations of <code class="docutils literal"><span class="pre">setup</span></code>.</li>-</ul>-<p>Full details can be found in the <a class="reference external" href="https://github.com/ezyang/ghc-proposals/blob/master/proposals/0000-componentized-cabal.rst">Componentized Cabal-proposal</a>.</p>-<div class="section" id="programs-used-for-building">-<h3>2.2.6.1. Programs used for building<a class="headerlink" href="#programs-used-for-building" title="Permalink to this headline">¶</a></h3>-<p>The following options govern the programs used to process the source-files of a package:</p>-<dl class="option">-<dt id="cmdoption-setup-configure-ghc">-<code class="descname">--ghc</code><code class="descclassname"> or -g</code><code class="descclassname">, </code><code class="descname">--jhc</code><code class="descclassname"></code><code class="descclassname">, </code><code class="descname">--lhc</code><code class="descclassname"></code><code class="descclassname">, </code><code class="descname">--uhc</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-ghc" title="Permalink to this definition">¶</a></dt>-<dd><p>Specify which Haskell implementation to use to build the package. At-most one of these flags may be given. If none is given, the-implementation under which the setup script was compiled or-interpreted is used.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-with-compiler">-<code class="descname">--with-compiler</code><code class="descclassname">=path or -w *path*</code><a class="headerlink" href="#cmdoption-setup-configure-with-compiler" title="Permalink to this definition">¶</a></dt>-<dd><p>Specify the path to a particular compiler. If given, this must match-the implementation selected above. The default is to search for the-usual name of the selected implementation.</p>-<p>This flag also sets the default value of the <a class="reference internal" href="#cmdoption-setup-configure-with-hc-pkg"><code class="xref std std-option docutils literal"><span class="pre">--with-hc-pkg</span></code></a>-option to the package tool for this compiler. Check the output of-<code class="docutils literal"><span class="pre">setup</span> <span class="pre">configure</span> <span class="pre">-v</span></code> to ensure that it finds the right package-tool (or use <a class="reference internal" href="#cmdoption-setup-configure-with-hc-pkg"><code class="xref std std-option docutils literal"><span class="pre">--with-hc-pkg</span></code></a> explicitly).</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-with-hc-pkg">-<code class="descname">--with-hc-pkg</code><code class="descclassname">=path</code><a class="headerlink" href="#cmdoption-setup-configure-with-hc-pkg" title="Permalink to this definition">¶</a></dt>-<dd><p>Specify the path to the package tool, e.g. <code class="docutils literal"><span class="pre">ghc-pkg</span></code>. The package-tool must be compatible with the compiler specified by-<a class="reference internal" href="#cmdoption-setup-configure-with-compiler"><code class="xref std std-option docutils literal"><span class="pre">--with-compiler</span></code></a>. If this option is omitted, the default value is-determined from the compiler selected.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-with-prog">-<code class="descname">--with-prog</code><code class="descclassname">=path</code><a class="headerlink" href="#cmdoption-setup-configure-with-prog" title="Permalink to this definition">¶</a></dt>-<dd><p>Specify the path to the program <em>prog</em>. Any program known to Cabal-can be used in place of <em>prog</em>. It can either be a fully path or the-name of a program that can be found on the program search path. For-example: <code class="docutils literal"><span class="pre">--with-ghc=ghc-6.6.1</span></code> or-<code class="docutils literal"><span class="pre">--with-cpphs=/usr/local/bin/cpphs</span></code>. The full list of accepted-programs is not enumerated in this user guide. Rather, run-<code class="docutils literal"><span class="pre">cabal</span> <span class="pre">install</span> <span class="pre">--help</span></code> to view the list.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-prog-options">-<code class="descname">--prog-options</code><code class="descclassname">=options</code><a class="headerlink" href="#cmdoption-setup-configure-prog-options" title="Permalink to this definition">¶</a></dt>-<dd><p>Specify additional options to the program <em>prog</em>. Any program known-to Cabal can be used in place of <em>prog</em>. For example:-<code class="docutils literal"><span class="pre">--alex-options="--template=mytemplatedir/"</span></code>. The <em>options</em> is-split into program options based on spaces. Any options containing-embedded spaced need to be quoted, for example-<code class="docutils literal"><span class="pre">--foo-options='--bar="C:\Program</span> <span class="pre">File\Bar"'</span></code>. As an alternative-that takes only one option at a time but avoids the need to quote,-use <a class="reference internal" href="#cmdoption-setup-configure-prog-option"><code class="xref std std-option docutils literal"><span class="pre">--prog-option</span></code></a> instead.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-prog-option">-<code class="descname">--prog-option</code><code class="descclassname">=option</code><a class="headerlink" href="#cmdoption-setup-configure-prog-option" title="Permalink to this definition">¶</a></dt>-<dd><p>Specify a single additional option to the program <em>prog</em>. For-passing an option that contain embedded spaces, such as a file name-with embedded spaces, using this rather than <a class="reference internal" href="#cmdoption-setup-configure-prog-options"><code class="xref std std-option docutils literal"><span class="pre">--prog-options</span></code></a>-means you do not need an additional level of quoting. Of course if you-are using a command shell you may still need to quote, for example-<code class="docutils literal"><span class="pre">--foo-options="--bar=C:\Program</span> <span class="pre">File\Bar"</span></code>.</p>-</dd></dl>--<p>All of the options passed with either <a class="reference internal" href="#cmdoption-setup-configure-prog-options"><code class="xref std std-option docutils literal"><span class="pre">--prog-options</span></code></a>-or <a class="reference internal" href="#cmdoption-setup-configure-prog-option"><code class="xref std std-option docutils literal"><span class="pre">--prog-option</span></code></a> are passed in the order they were-specified on the configure command line.</p>-</div>-<div class="section" id="installation-paths">-<h3>2.2.6.2. Installation paths<a class="headerlink" href="#installation-paths" title="Permalink to this headline">¶</a></h3>-<p>The following options govern the location of installed files from a-package:</p>-<dl class="option">-<dt id="cmdoption-setup-configure-prefix">-<code class="descname">--prefix</code><code class="descclassname">=dir</code><a class="headerlink" href="#cmdoption-setup-configure-prefix" title="Permalink to this definition">¶</a></dt>-<dd><p>The root of the installation. For example for a global install you-might use <code class="docutils literal"><span class="pre">/usr/local</span></code> on a Unix system, or <code class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files</span></code>-on a Windows system. The other installation paths are usually-subdirectories of <em>prefix</em>, but they don’t have to be.</p>-<p>In the simple build system, <em>dir</em> may contain the following path-variables: <code class="docutils literal"><span class="pre">$pkgid</span></code>, <code class="docutils literal"><span class="pre">$pkg</span></code>, <code class="docutils literal"><span class="pre">$version</span></code>, <code class="docutils literal"><span class="pre">$compiler</span></code>,-<code class="docutils literal"><span class="pre">$os</span></code>, <code class="docutils literal"><span class="pre">$arch</span></code>, <code class="docutils literal"><span class="pre">$abi</span></code>, <code class="docutils literal"><span class="pre">$abitag</span></code></p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-bindir">-<code class="descname">--bindir</code><code class="descclassname">=dir</code><a class="headerlink" href="#cmdoption-setup-configure-bindir" title="Permalink to this definition">¶</a></dt>-<dd><p>Executables that the user might invoke are installed here.</p>-<p>In the simple build system, <em>dir</em> may contain the following path-variables: <code class="docutils literal"><span class="pre">$prefix</span></code>, <code class="docutils literal"><span class="pre">$pkgid</span></code>, <code class="docutils literal"><span class="pre">$pkg</span></code>, <code class="docutils literal"><span class="pre">$version</span></code>,-<code class="docutils literal"><span class="pre">$compiler</span></code>, <code class="docutils literal"><span class="pre">$os</span></code>, <code class="docutils literal"><span class="pre">$arch</span></code>, <code class="docutils literal"><span class="pre">$abi</span></code>, <code class="docutils literal"><span class="pre">$abitag</span></code></p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-libdir">-<code class="descname">--libdir</code><code class="descclassname">=dir</code><a class="headerlink" href="#cmdoption-setup-configure-libdir" title="Permalink to this definition">¶</a></dt>-<dd><p>Object-code libraries are installed here.</p>-<p>In the simple build system, <em>dir</em> may contain the following path-variables: <code class="docutils literal"><span class="pre">$prefix</span></code>, <code class="docutils literal"><span class="pre">$bindir</span></code>, <code class="docutils literal"><span class="pre">$pkgid</span></code>, <code class="docutils literal"><span class="pre">$pkg</span></code>,-<code class="docutils literal"><span class="pre">$version</span></code>, <code class="docutils literal"><span class="pre">$compiler</span></code>, <code class="docutils literal"><span class="pre">$os</span></code>, <code class="docutils literal"><span class="pre">$arch</span></code>, <code class="docutils literal"><span class="pre">$abi</span></code>,-<code class="docutils literal"><span class="pre">$abitag</span></code></p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-dynlibdir">-<code class="descname">--dynlibdir</code><code class="descclassname">=dir</code><a class="headerlink" href="#cmdoption-setup-configure-dynlibdir" title="Permalink to this definition">¶</a></dt>-<dd><p>Dynamic libraries are installed here.</p>-<p>By default, this is set to <cite>$libdir/$abi</cite>, which is usually not equal to-<cite>$libdir/$libsubdir</cite>.</p>-<p>In the simple build system, <em>dir</em> may contain the following path-variables: <code class="docutils literal"><span class="pre">$prefix</span></code>, <code class="docutils literal"><span class="pre">$bindir</span></code>, <code class="docutils literal"><span class="pre">$libdir</span></code>, <code class="docutils literal"><span class="pre">$pkgid</span></code>, <code class="docutils literal"><span class="pre">$pkg</span></code>,-<code class="docutils literal"><span class="pre">$version</span></code>, <code class="docutils literal"><span class="pre">$compiler</span></code>, <code class="docutils literal"><span class="pre">$os</span></code>, <code class="docutils literal"><span class="pre">$arch</span></code>, <code class="docutils literal"><span class="pre">$abi</span></code>,-<code class="docutils literal"><span class="pre">$abitag</span></code></p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-libexecdir">-<code class="descname">--libexecdir</code><code class="descclassname">=dir</code><a class="headerlink" href="#cmdoption-setup-configure-libexecdir" title="Permalink to this definition">¶</a></dt>-<dd><p>Executables that are not expected to be invoked directly by the user-are installed here.</p>-<p>In the simple build system, <em>dir</em> may contain the following path-variables: <code class="docutils literal"><span class="pre">$prefix</span></code>, <code class="docutils literal"><span class="pre">$bindir</span></code>, <code class="docutils literal"><span class="pre">$libdir</span></code>, <code class="docutils literal"><span class="pre">$libsubdir</span></code>,-<code class="docutils literal"><span class="pre">$pkgid</span></code>, <code class="docutils literal"><span class="pre">$pkg</span></code>, <code class="docutils literal"><span class="pre">$version</span></code>, <code class="docutils literal"><span class="pre">$compiler</span></code>, <code class="docutils literal"><span class="pre">$os</span></code>,-<code class="docutils literal"><span class="pre">$arch</span></code>, <code class="docutils literal"><span class="pre">$abi</span></code>, <code class="docutils literal"><span class="pre">$abitag</span></code></p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-datadir">-<code class="descname">--datadir</code><code class="descclassname">=dir</code><a class="headerlink" href="#cmdoption-setup-configure-datadir" title="Permalink to this definition">¶</a></dt>-<dd><p>Architecture-independent data files are installed here.</p>-<p>In the simple build system, <em>dir</em> may contain the following path-variables: <code class="docutils literal"><span class="pre">$prefix</span></code>, <code class="docutils literal"><span class="pre">$bindir</span></code>, <code class="docutils literal"><span class="pre">$libdir</span></code>, <code class="docutils literal"><span class="pre">$libsubdir</span></code>,-<code class="docutils literal"><span class="pre">$pkgid</span></code>, <code class="docutils literal"><span class="pre">$pkg</span></code>, <code class="docutils literal"><span class="pre">$version</span></code>, <code class="docutils literal"><span class="pre">$compiler</span></code>, <code class="docutils literal"><span class="pre">$os</span></code>,-<code class="docutils literal"><span class="pre">$arch</span></code>, <code class="docutils literal"><span class="pre">$abi</span></code>, <code class="docutils literal"><span class="pre">$abitag</span></code></p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-sysconfdir">-<code class="descname">--sysconfdir</code><code class="descclassname">=dir</code><a class="headerlink" href="#cmdoption-setup-configure-sysconfdir" title="Permalink to this definition">¶</a></dt>-<dd><p>Installation directory for the configuration files.</p>-<p>In the simple build system, <em>dir</em> may contain the following path-variables: <code class="docutils literal"><span class="pre">$prefix</span></code>, <code class="docutils literal"><span class="pre">$bindir</span></code>, <code class="docutils literal"><span class="pre">$libdir</span></code>, <code class="docutils literal"><span class="pre">$libsubdir</span></code>,-<code class="docutils literal"><span class="pre">$pkgid</span></code>, <code class="docutils literal"><span class="pre">$pkg</span></code>, <code class="docutils literal"><span class="pre">$version</span></code>, <code class="docutils literal"><span class="pre">$compiler</span></code>, <code class="docutils literal"><span class="pre">$os</span></code>,-<code class="docutils literal"><span class="pre">$arch</span></code>, <code class="docutils literal"><span class="pre">$abi</span></code>, <code class="docutils literal"><span class="pre">$abitag</span></code></p>-</dd></dl>--<p>In addition the simple build system supports the following installation-path options:</p>-<dl class="option">-<dt id="cmdoption-setup-configure-libsubdir">-<code class="descname">--libsubdir</code><code class="descclassname">=dir</code><a class="headerlink" href="#cmdoption-setup-configure-libsubdir" title="Permalink to this definition">¶</a></dt>-<dd><p>A subdirectory of <em>libdir</em> in which libraries are actually installed. For-example, in the simple build system on Unix, the default <em>libdir</em> is-<code class="docutils literal"><span class="pre">/usr/local/lib</span></code>, and <em>libsubdir</em> contains the compiler ABI and package-identifier,-e.g. <code class="docutils literal"><span class="pre">x86_64-linux-ghc-8.0.2/mypkg-0.1.0-IxQNmCA7qrSEQNkoHSF7A</span></code>, so-libraries would be installed in-<code class="docutils literal"><span class="pre">/usr/local/lib/x86_64-linux-ghc-8.0.2/mypkg-0.1.0-IxQNmCA7qrSEQNkoHSF7A/</span></code>.</p>-<p><em>dir</em> may contain the following path variables: <code class="docutils literal"><span class="pre">$pkgid</span></code>,-<code class="docutils literal"><span class="pre">$pkg</span></code>, <code class="docutils literal"><span class="pre">$version</span></code>, <code class="docutils literal"><span class="pre">$compiler</span></code>, <code class="docutils literal"><span class="pre">$os</span></code>, <code class="docutils literal"><span class="pre">$arch</span></code>, <code class="docutils literal"><span class="pre">$abi</span></code>,-<code class="docutils literal"><span class="pre">$abitag</span></code></p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-libexecsubdir">-<code class="descname">--libexecsubdir</code><code class="descclassname">=dir</code><a class="headerlink" href="#cmdoption-setup-configure-libexecsubdir" title="Permalink to this definition">¶</a></dt>-<dd><p>A subdirectory of <em>libexecdir</em> in which private executables are-installed. For example, in the simple build system on Unix, the default-<em>libexecdir</em> is <code class="docutils literal"><span class="pre">/usr/local/libexec</span></code>, and <em>libsubdir</em> is-<code class="docutils literal"><span class="pre">x86_64-linux-ghc-8.0.2/mypkg-0.1.0</span></code>, so private executables would be-installed in <code class="docutils literal"><span class="pre">/usr/local/libexec/x86_64-linux-ghc-8.0.2/mypkg-0.1.0/</span></code></p>-<p><em>dir</em> may contain the following path variables: <code class="docutils literal"><span class="pre">$pkgid</span></code>,-<code class="docutils literal"><span class="pre">$pkg</span></code>, <code class="docutils literal"><span class="pre">$version</span></code>, <code class="docutils literal"><span class="pre">$compiler</span></code>, <code class="docutils literal"><span class="pre">$os</span></code>, <code class="docutils literal"><span class="pre">$arch</span></code>, <code class="docutils literal"><span class="pre">$abi</span></code>,-<code class="docutils literal"><span class="pre">$abitag</span></code></p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-datasubdir">-<code class="descname">--datasubdir</code><code class="descclassname">=dir</code><a class="headerlink" href="#cmdoption-setup-configure-datasubdir" title="Permalink to this definition">¶</a></dt>-<dd><p>A subdirectory of <em>datadir</em> in which data files are actually-installed.</p>-<p><em>dir</em> may contain the following path variables: <code class="docutils literal"><span class="pre">$pkgid</span></code>,-<code class="docutils literal"><span class="pre">$pkg</span></code>, <code class="docutils literal"><span class="pre">$version</span></code>, <code class="docutils literal"><span class="pre">$compiler</span></code>, <code class="docutils literal"><span class="pre">$os</span></code>, <code class="docutils literal"><span class="pre">$arch</span></code>, <code class="docutils literal"><span class="pre">$abi</span></code>,-<code class="docutils literal"><span class="pre">$abitag</span></code></p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-docdir">-<code class="descname">--docdir</code><code class="descclassname">=dir</code><a class="headerlink" href="#cmdoption-setup-configure-docdir" title="Permalink to this definition">¶</a></dt>-<dd><p>Documentation files are installed relative to this directory.</p>-<p><em>dir</em> may contain the following path variables: <code class="docutils literal"><span class="pre">$prefix</span></code>,-<code class="docutils literal"><span class="pre">$bindir</span></code>, <code class="docutils literal"><span class="pre">$libdir</span></code>, <code class="docutils literal"><span class="pre">$libsubdir</span></code>, <code class="docutils literal"><span class="pre">$datadir</span></code>,-<code class="docutils literal"><span class="pre">$datasubdir</span></code>, <code class="docutils literal"><span class="pre">$pkgid</span></code>, <code class="docutils literal"><span class="pre">$pkg</span></code>, <code class="docutils literal"><span class="pre">$version</span></code>, <code class="docutils literal"><span class="pre">$compiler</span></code>,-<code class="docutils literal"><span class="pre">$os</span></code>, <code class="docutils literal"><span class="pre">$arch</span></code>, <code class="docutils literal"><span class="pre">$abi</span></code>, <code class="docutils literal"><span class="pre">$abitag</span></code></p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-htmldir">-<code class="descname">--htmldir</code><code class="descclassname">=dir</code><a class="headerlink" href="#cmdoption-setup-configure-htmldir" title="Permalink to this definition">¶</a></dt>-<dd><p>HTML documentation files are installed relative to this directory.</p>-<p><em>dir</em> may contain the following path variables: <code class="docutils literal"><span class="pre">$prefix</span></code>,-<code class="docutils literal"><span class="pre">$bindir</span></code>, <code class="docutils literal"><span class="pre">$libdir</span></code>, <code class="docutils literal"><span class="pre">$libsubdir</span></code>, <code class="docutils literal"><span class="pre">$datadir</span></code>,-<code class="docutils literal"><span class="pre">$datasubdir</span></code>, <code class="docutils literal"><span class="pre">$docdir</span></code>, <code class="docutils literal"><span class="pre">$pkgid</span></code>, <code class="docutils literal"><span class="pre">$pkg</span></code>, <code class="docutils literal"><span class="pre">$version</span></code>,-<code class="docutils literal"><span class="pre">$compiler</span></code>, <code class="docutils literal"><span class="pre">$os</span></code>, <code class="docutils literal"><span class="pre">$arch</span></code>, <code class="docutils literal"><span class="pre">$abi</span></code>, <code class="docutils literal"><span class="pre">$abitag</span></code></p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-program-prefix">-<code class="descname">--program-prefix</code><code class="descclassname">=prefix</code><a class="headerlink" href="#cmdoption-setup-configure-program-prefix" title="Permalink to this definition">¶</a></dt>-<dd><p>Prepend <em>prefix</em> to installed program names.</p>-<p><em>prefix</em> may contain the following path variables: <code class="docutils literal"><span class="pre">$pkgid</span></code>,-<code class="docutils literal"><span class="pre">$pkg</span></code>, <code class="docutils literal"><span class="pre">$version</span></code>, <code class="docutils literal"><span class="pre">$compiler</span></code>, <code class="docutils literal"><span class="pre">$os</span></code>, <code class="docutils literal"><span class="pre">$arch</span></code>, <code class="docutils literal"><span class="pre">$abi</span></code>,-<code class="docutils literal"><span class="pre">$abitag</span></code></p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-program-suffix">-<code class="descname">--program-suffix</code><code class="descclassname">=suffix</code><a class="headerlink" href="#cmdoption-setup-configure-program-suffix" title="Permalink to this definition">¶</a></dt>-<dd><p>Append <em>suffix</em> to installed program names. The most obvious use for-this is to append the program’s version number to make it possible-to install several versions of a program at once:-<code class="docutils literal"><span class="pre">--program-suffix='$version'</span></code>.</p>-<p><em>suffix</em> may contain the following path variables: <code class="docutils literal"><span class="pre">$pkgid</span></code>,-<code class="docutils literal"><span class="pre">$pkg</span></code>, <code class="docutils literal"><span class="pre">$version</span></code>, <code class="docutils literal"><span class="pre">$compiler</span></code>, <code class="docutils literal"><span class="pre">$os</span></code>, <code class="docutils literal"><span class="pre">$arch</span></code>, <code class="docutils literal"><span class="pre">$abi</span></code>,-<code class="docutils literal"><span class="pre">$abitag</span></code></p>-</dd></dl>--<div class="section" id="path-variables-in-the-simple-build-system">-<h4>2.2.6.2.1. Path variables in the simple build system<a class="headerlink" href="#path-variables-in-the-simple-build-system" title="Permalink to this headline">¶</a></h4>-<p>For the simple build system, there are a number of variables that can be-used when specifying installation paths. The defaults are also specified-in terms of these variables. A number of the variables are actually for-other paths, like <code class="docutils literal"><span class="pre">$prefix</span></code>. This allows paths to be specified-relative to each other rather than as absolute paths, which is important-for building relocatable packages (see <a class="reference external" href="#prefix-independence">prefix-independence</a>).</p>-<dl class="docutils">-<dt>$prefix</dt>-<dd>The path variable that stands for the root of the installation. For-an installation to be relocatable, all other installation paths must-be relative to the <code class="docutils literal"><span class="pre">$prefix</span></code> variable.</dd>-<dt>$bindir</dt>-<dd>The path variable that expands to the path given by the <a class="reference internal" href="#cmdoption-setup-configure-bindir"><code class="xref std std-option docutils literal"><span class="pre">--bindir</span></code></a>-configure option (or the default).</dd>-<dt>$libdir</dt>-<dd>As above but for <a class="reference internal" href="#cmdoption-setup-configure-libdir"><code class="xref std std-option docutils literal"><span class="pre">--libdir</span></code></a></dd>-<dt>$libsubdir</dt>-<dd>As above but for <a class="reference internal" href="#cmdoption-setup-configure-libsubdir"><code class="xref std std-option docutils literal"><span class="pre">--libsubdir</span></code></a></dd>-<dt>$dynlibdir</dt>-<dd>As above but for <a class="reference internal" href="#cmdoption-setup-configure-dynlibdir"><code class="xref std std-option docutils literal"><span class="pre">--dynlibdir</span></code></a></dd>-<dt>$datadir</dt>-<dd>As above but for <a class="reference internal" href="#cmdoption-setup-configure-datadir"><code class="xref std std-option docutils literal"><span class="pre">--datadir</span></code></a></dd>-<dt>$datasubdir</dt>-<dd>As above but for <a class="reference internal" href="#cmdoption-setup-configure-datasubdir"><code class="xref std std-option docutils literal"><span class="pre">--datasubdir</span></code></a></dd>-<dt>$docdir</dt>-<dd>As above but for <a class="reference internal" href="#cmdoption-setup-configure-docdir"><code class="xref std std-option docutils literal"><span class="pre">--docdir</span></code></a></dd>-<dt>$pkgid</dt>-<dd>The name and version of the package, e.g. <code class="docutils literal"><span class="pre">mypkg-0.2</span></code></dd>-<dt>$pkg</dt>-<dd>The name of the package, e.g. <code class="docutils literal"><span class="pre">mypkg</span></code></dd>-<dt>$version</dt>-<dd>The version of the package, e.g. <code class="docutils literal"><span class="pre">0.2</span></code></dd>-<dt>$compiler</dt>-<dd>The compiler being used to build the package, e.g. <code class="docutils literal"><span class="pre">ghc-6.6.1</span></code></dd>-<dt>$os</dt>-<dd>The operating system of the computer being used to build the-package, e.g. <code class="docutils literal"><span class="pre">linux</span></code>, <code class="docutils literal"><span class="pre">windows</span></code>, <code class="docutils literal"><span class="pre">osx</span></code>, <code class="docutils literal"><span class="pre">freebsd</span></code> or-<code class="docutils literal"><span class="pre">solaris</span></code></dd>-<dt>$arch</dt>-<dd>The architecture of the computer being used to build the package,-e.g. <code class="docutils literal"><span class="pre">i386</span></code>, <code class="docutils literal"><span class="pre">x86_64</span></code>, <code class="docutils literal"><span class="pre">ppc</span></code> or <code class="docutils literal"><span class="pre">sparc</span></code></dd>-<dt>$abitag</dt>-<dd>An optional tag that a compiler can use for telling incompatible-ABI’s on the same architecture apart. GHCJS encodes the underlying-GHC version in the ABI tag.</dd>-<dt>$abi</dt>-<dd>A shortcut for getting a path that completely identifies the-platform in terms of binary compatibility. Expands to the same value-as <code class="docutils literal"><span class="pre">$arch-$os-compiler-$abitag</span></code> if the compiler uses an abi tag,-<code class="docutils literal"><span class="pre">$arch-$os-$compiler</span></code> if it doesn’t.</dd>-</dl>-</div>-<div class="section" id="paths-in-the-simple-build-system">-<h4>2.2.6.2.2. Paths in the simple build system<a class="headerlink" href="#paths-in-the-simple-build-system" title="Permalink to this headline">¶</a></h4>-<p>For the simple build system, the following defaults apply:</p>-<table border="1" class="docutils" id="id11">-<caption><span class="caption-text">Default installation paths</span><a class="headerlink" href="#id11" title="Permalink to this table">¶</a></caption>-<colgroup>-<col width="33%" />-<col width="33%" />-<col width="33%" />-</colgroup>-<tbody valign="top">-<tr class="row-odd"><td>Option</td>-<td>Unix Default</td>-<td>Windows Default</td>-</tr>-<tr class="row-even"><td><a class="reference internal" href="#cmdoption-setup-configure-prefix"><code class="xref std std-option docutils literal"><span class="pre">--prefix</span></code></a> (global)</td>-<td><code class="docutils literal"><span class="pre">/usr/local</span></code></td>-<td><code class="docutils literal"><span class="pre">%PROGRAMFILES%\Haskell</span></code></td>-</tr>-<tr class="row-odd"><td><a class="reference internal" href="#cmdoption-setup-configure-prefix"><code class="xref std std-option docutils literal"><span class="pre">--prefix</span></code></a> (per-user)</td>-<td><code class="docutils literal"><span class="pre">$HOME/.cabal</span></code></td>-<td><code class="docutils literal"><span class="pre">%APPDATA%\cabal</span></code></td>-</tr>-<tr class="row-even"><td><a class="reference internal" href="#cmdoption-setup-configure-bindir"><code class="xref std std-option docutils literal"><span class="pre">--bindir</span></code></a></td>-<td><code class="docutils literal"><span class="pre">$prefix/bin</span></code></td>-<td><code class="docutils literal"><span class="pre">$prefix\bin</span></code></td>-</tr>-<tr class="row-odd"><td><a class="reference internal" href="#cmdoption-setup-configure-libdir"><code class="xref std std-option docutils literal"><span class="pre">--libdir</span></code></a></td>-<td><code class="docutils literal"><span class="pre">$prefix/lib</span></code></td>-<td><code class="docutils literal"><span class="pre">$prefix</span></code></td>-</tr>-<tr class="row-even"><td><a class="reference internal" href="#cmdoption-setup-configure-libsubdir"><code class="xref std std-option docutils literal"><span class="pre">--libsubdir</span></code></a> (others)</td>-<td><code class="docutils literal"><span class="pre">$pkgid/$compiler</span></code></td>-<td><code class="docutils literal"><span class="pre">$pkgid\$compiler</span></code></td>-</tr>-<tr class="row-odd"><td><a class="reference internal" href="#cmdoption-setup-configure-dynlibdir"><code class="xref std std-option docutils literal"><span class="pre">--dynlibdir</span></code></a></td>-<td><code class="docutils literal"><span class="pre">$libdir/$abi</span></code></td>-<td><code class="docutils literal"><span class="pre">$libdir\$abi</span></code></td>-</tr>-<tr class="row-even"><td><a class="reference internal" href="#cmdoption-setup-configure-libexecdir"><code class="xref std std-option docutils literal"><span class="pre">--libexecdir</span></code></a></td>-<td><code class="docutils literal"><span class="pre">$prefix/libexec</span></code></td>-<td><code class="docutils literal"><span class="pre">$prefix\$pkgid</span></code></td>-</tr>-<tr class="row-odd"><td><a class="reference internal" href="#cmdoption-setup-configure-datadir"><code class="xref std std-option docutils literal"><span class="pre">--datadir</span></code></a> (executable)</td>-<td><code class="docutils literal"><span class="pre">$prefix/share</span></code></td>-<td><code class="docutils literal"><span class="pre">$prefix</span></code></td>-</tr>-<tr class="row-even"><td><a class="reference internal" href="#cmdoption-setup-configure-datadir"><code class="xref std std-option docutils literal"><span class="pre">--datadir</span></code></a> (library)</td>-<td><code class="docutils literal"><span class="pre">$prefix/share</span></code></td>-<td><code class="docutils literal"><span class="pre">%PROGRAMFILES%\Haskell</span></code></td>-</tr>-<tr class="row-odd"><td><a class="reference internal" href="#cmdoption-setup-configure-datasubdir"><code class="xref std std-option docutils literal"><span class="pre">--datasubdir</span></code></a></td>-<td><code class="docutils literal"><span class="pre">$pkgid</span></code></td>-<td><code class="docutils literal"><span class="pre">$pkgid</span></code></td>-</tr>-<tr class="row-even"><td><a class="reference internal" href="#cmdoption-setup-configure-docdir"><code class="xref std std-option docutils literal"><span class="pre">--docdir</span></code></a></td>-<td><code class="docutils literal"><span class="pre">$datadir/doc/$pkgid</span></code></td>-<td><code class="docutils literal"><span class="pre">$prefix\doc\$pkgid</span></code></td>-</tr>-<tr class="row-odd"><td><a class="reference internal" href="#cmdoption-setup-configure-sysconfdir"><code class="xref std std-option docutils literal"><span class="pre">--sysconfdir</span></code></a></td>-<td><code class="docutils literal"><span class="pre">$prefix/etc</span></code></td>-<td><code class="docutils literal"><span class="pre">$prefix\etc</span></code></td>-</tr>-<tr class="row-even"><td><a class="reference internal" href="#cmdoption-setup-configure-htmldir"><code class="xref std std-option docutils literal"><span class="pre">--htmldir</span></code></a></td>-<td><code class="docutils literal"><span class="pre">$docdir/html</span></code></td>-<td><code class="docutils literal"><span class="pre">$docdir\html</span></code></td>-</tr>-<tr class="row-odd"><td><a class="reference internal" href="#cmdoption-setup-configure-program-prefix"><code class="xref std std-option docutils literal"><span class="pre">--program-prefix</span></code></a></td>-<td>(empty)</td>-<td>(empty)</td>-</tr>-<tr class="row-even"><td><a class="reference internal" href="#cmdoption-setup-configure-program-suffix"><code class="xref std std-option docutils literal"><span class="pre">--program-suffix</span></code></a></td>-<td>(empty)</td>-<td>(empty)</td>-</tr>-</tbody>-</table>-</div>-<div class="section" id="prefix-independence">-<h4>2.2.6.2.3. Prefix-independence<a class="headerlink" href="#prefix-independence" title="Permalink to this headline">¶</a></h4>-<p>On Windows it is possible to obtain the pathname of the running program.-This means that we can construct an installable executable package that-is independent of its absolute install location. The executable can find-its auxiliary files by finding its own path and knowing the location of-the other files relative to <code class="docutils literal"><span class="pre">$bindir</span></code>. Prefix-independence is-particularly useful: it means the user can choose the install location-(i.e. the value of <code class="docutils literal"><span class="pre">$prefix</span></code>) at install-time, rather than having to-bake the path into the binary when it is built.</p>-<p>In order to achieve this, we require that for an executable on Windows,-all of <code class="docutils literal"><span class="pre">$bindir</span></code>, <code class="docutils literal"><span class="pre">$libdir</span></code>, <code class="docutils literal"><span class="pre">$dynlibdir</span></code>, <code class="docutils literal"><span class="pre">$datadir</span></code> and <code class="docutils literal"><span class="pre">$libexecdir</span></code> begin-with <code class="docutils literal"><span class="pre">$prefix</span></code>. If this is not the case then the compiled executable-will have baked-in all absolute paths.</p>-<p>The application need do nothing special to achieve prefix-independence.-If it finds any files using <code class="docutils literal"><span class="pre">getDataFileName</span></code> and the <a class="reference external" href="developing-packages.html#accessing-data-files-from-package-code">other functions-provided for the-purpose</a>,-the files will be accessed relative to the location of the current-executable.</p>-<p>A library cannot (currently) be prefix-independent, because it will be-linked into an executable whose file system location bears no relation-to the library package.</p>-</div>-</div>-<div class="section" id="controlling-flag-assignments">-<h3>2.2.6.3. Controlling Flag Assignments<a class="headerlink" href="#controlling-flag-assignments" title="Permalink to this headline">¶</a></h3>-<p>Flag assignments (see the <a class="reference external" href="developing-packages.html#resolution-of-conditions-and-flags">resolution of conditions and-flags</a>)-can be controlled with the following command line options.</p>-<dl class="option">-<dt id="cmdoption-setup-configure-f">-<code class="descname">-f</code><code class="descclassname"> flagname or -f -flagname</code><a class="headerlink" href="#cmdoption-setup-configure-f" title="Permalink to this definition">¶</a></dt>-<dd><p>Force the specified flag to <code class="docutils literal"><span class="pre">true</span></code> or <code class="docutils literal"><span class="pre">false</span></code> (if preceded with-a <code class="docutils literal"><span class="pre">-</span></code>). Later specifications for the same flags will override-earlier, i.e., specifying <code class="docutils literal"><span class="pre">-fdebug</span> <span class="pre">-f-debug</span></code> is equivalent to-<code class="docutils literal"><span class="pre">-f-debug</span></code></p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-flags">-<code class="descname">--flags</code><code class="descclassname">=flagspecs</code><a class="headerlink" href="#cmdoption-setup-configure-flags" title="Permalink to this definition">¶</a></dt>-<dd><p>Same as <code class="docutils literal"><span class="pre">-f</span></code>, but allows specifying multiple flag assignments at-once. The parameter is a space-separated list of flag names (to-force a flag to <code class="docutils literal"><span class="pre">true</span></code>), optionally preceded by a <code class="docutils literal"><span class="pre">-</span></code> (to force-a flag to <code class="docutils literal"><span class="pre">false</span></code>). For example,-<code class="docutils literal"><span class="pre">--flags="debug</span> <span class="pre">-feature1</span> <span class="pre">feature2"</span></code> is equivalent to-<code class="docutils literal"><span class="pre">-fdebug</span> <span class="pre">-f-feature1</span> <span class="pre">-ffeature2</span></code>.</p>-</dd></dl>--</div>-<div class="section" id="building-test-suites">-<h3>2.2.6.4. Building Test Suites<a class="headerlink" href="#building-test-suites" title="Permalink to this headline">¶</a></h3>-<dl class="option">-<dt id="cmdoption-setup-configure-enable-tests">-<code class="descname">--enable-tests</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-enable-tests" title="Permalink to this definition">¶</a></dt>-<dd><p>Build the test suites defined in the package description file during-the <code class="docutils literal"><span class="pre">build</span></code> stage. Check for dependencies required by the test-suites. If the package is configured with this option, it will be-possible to run the test suites with the <code class="docutils literal"><span class="pre">test</span></code> command after the-package is built.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-disable-tests">-<code class="descname">--disable-tests</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-disable-tests" title="Permalink to this definition">¶</a></dt>-<dd><p>(default) Do not build any test suites during the <code class="docutils literal"><span class="pre">build</span></code> stage.-Do not check for dependencies required only by the test suites. It-will not be possible to invoke the <code class="docutils literal"><span class="pre">test</span></code> command without-reconfiguring the package.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-enable-coverage">-<code class="descname">--enable-coverage</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-enable-coverage" title="Permalink to this definition">¶</a></dt>-<dd><p>Build libraries and executables (including test suites) with Haskell-Program Coverage enabled. Running the test suites will automatically-generate coverage reports with HPC.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-disable-coverage">-<code class="descname">--disable-coverage</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-disable-coverage" title="Permalink to this definition">¶</a></dt>-<dd><p>(default) Do not enable Haskell Program Coverage.</p>-</dd></dl>--</div>-<div class="section" id="miscellaneous-options">-<h3>2.2.6.5. Miscellaneous options<a class="headerlink" href="#miscellaneous-options" title="Permalink to this headline">¶</a></h3>-<dl class="option">-<dt id="cmdoption-setup-configure-user">-<code class="descname">--user</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-user" title="Permalink to this definition">¶</a></dt>-<dd><p>Does a per-user installation. This changes the <a class="reference external" href="#paths-in-the-simple-build-system">default installation-prefix</a>. It also allow-dependencies to be satisfied by the user’s package database, in-addition to the global database. This also implies a default of-<code class="docutils literal"><span class="pre">--user</span></code> for any subsequent <code class="docutils literal"><span class="pre">install</span></code> command, as packages-registered in the global database should not depend on packages-registered in a user’s database.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-global">-<code class="descname">--global</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-global" title="Permalink to this definition">¶</a></dt>-<dd><p>(default) Does a global installation. In this case package-dependencies must be satisfied by the global package database. All-packages in the user’s package database will be ignored. Typically-the final installation step will require administrative privileges.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-package-db">-<code class="descname">--package-db</code><code class="descclassname">=db</code><a class="headerlink" href="#cmdoption-setup-configure-package-db" title="Permalink to this definition">¶</a></dt>-<dd><p>Allows package dependencies to be satisfied from this additional-package database <em>db</em> in addition to the global package database.-All packages in the user’s package database will be ignored. The-interpretation of <em>db</em> is implementation-specific. Typically it will-be a file or directory. Not all implementations support arbitrary-package databases.</p>-<p>This pushes an extra db onto the db stack. The <a class="reference internal" href="#cmdoption-setup-configure-global"><code class="xref std std-option docutils literal"><span class="pre">--global</span></code></a> and-<a class="reference internal" href="#cmdoption-setup-configure-user"><code class="xref std std-option docutils literal"><span class="pre">--user</span></code></a> mode switches add the respective [Global] and [Global,-User] dbs to the initial stack. There is a compiler-implementation-constraint that the global db must appear first in the stack, and if-the user one appears at all, it must appear immediately after the-global db.</p>-<p>To reset the stack, use <code class="docutils literal"><span class="pre">--package-db=clear</span></code>.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-ipid">-<code class="descname">--ipid</code><code class="descclassname">=ipid</code><a class="headerlink" href="#cmdoption-setup-configure-ipid" title="Permalink to this definition">¶</a></dt>-<dd><p>Specifies the <em>installed package identifier</em> of the package to be-built; this identifier is passed on to GHC and serves as the basis-for linker symbols and the <code class="docutils literal"><span class="pre">id</span></code> field in a <code class="docutils literal"><span class="pre">ghc-pkg</span></code>-registration. When a package has multiple components, the actual-component identifiers are derived off of this identifier (e.g., an-internal library <code class="docutils literal"><span class="pre">foo</span></code> from package <code class="docutils literal"><span class="pre">p-0.1-abcd</span></code> will get the-identifier <code class="docutils literal"><span class="pre">p-0.1-abcd-foo</span></code>.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-cid">-<code class="descname">--cid</code><code class="descclassname">=cid</code><a class="headerlink" href="#cmdoption-setup-configure-cid" title="Permalink to this definition">¶</a></dt>-<dd><p>Specifies the <em>component identifier</em> of the component being built;-this is only valid if you are configuring a single component.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-default-user-config">-<code class="descname">--default-user-config</code><code class="descclassname">=file</code><a class="headerlink" href="#cmdoption-setup-configure-default-user-config" title="Permalink to this definition">¶</a></dt>-<dd><p>Allows a “default” <code class="docutils literal"><span class="pre">cabal.config</span></code> freeze file to be passed in-manually. This file will only be used if one does not exist in the-project directory already. Typically, this can be set from the-global cabal <code class="docutils literal"><span class="pre">config</span></code> file so as to provide a default set of-partial constraints to be used by projects, providing a way for-users to peg themselves to stable package collections.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-enable-optimization">-<code class="descname">--enable-optimization[</code><code class="descclassname">=n] or -O [n]</code><a class="headerlink" href="#cmdoption-setup-configure-enable-optimization" title="Permalink to this definition">¶</a></dt>-<dd><p>(default) Build with optimization flags (if available). This is-appropriate for production use, taking more time to build faster-libraries and programs.</p>-<p>The optional <em>n</em> value is the optimisation level. Some compilers-support multiple optimisation levels. The range is 0 to 2. Level 0-is equivalent to <a class="reference internal" href="#cmdoption-setup-configure-disable-optimization"><code class="xref std std-option docutils literal"><span class="pre">--disable-optimization</span></code></a>, level 1 is the-default if no <em>n</em> parameter is given. Level 2 is higher optimisation-if the compiler supports it. Level 2 is likely to lead to longer-compile times and bigger generated code.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-disable-optimization">-<code class="descname">--disable-optimization</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-disable-optimization" title="Permalink to this definition">¶</a></dt>-<dd><p>Build without optimization. This is suited for development: building-will be quicker, but the resulting library or programs will be-slower.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-enable-profiling">-<code class="descname">--enable-profiling</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-enable-profiling" title="Permalink to this definition">¶</a></dt>-<dd><p>Build libraries and executables with profiling enabled (for-compilers that support profiling as a separate mode). For this to-work, all libraries used by this package must also have been built-with profiling support. For libraries this involves building an-additional instance of the library in addition to the normal-non-profiling instance. For executables it changes the single-executable to be built in profiling mode.</p>-<p>This flag covers both libraries and executables, but can be-overridden by the <a class="reference internal" href="#cmdoption-setup-configure-enable-library-profiling"><code class="xref std std-option docutils literal"><span class="pre">--enable-library-profiling</span></code></a> flag.</p>-<p>See also the <code class="xref std std-option docutils literal"><span class="pre">--profiling-detail</span></code> flag below.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-disable-profiling">-<code class="descname">--disable-profiling</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-disable-profiling" title="Permalink to this definition">¶</a></dt>-<dd><p>(default) Do not enable profiling in generated libraries and-executables.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-enable-library-profiling">-<code class="descname">--enable-library-profiling</code><code class="descclassname"> or -p</code><a class="headerlink" href="#cmdoption-setup-configure-enable-library-profiling" title="Permalink to this definition">¶</a></dt>-<dd><p>As with <a class="reference internal" href="#cmdoption-setup-configure-enable-profiling"><code class="xref std std-option docutils literal"><span class="pre">--enable-profiling</span></code></a> above, but it applies only for-libraries. So this generates an additional profiling instance of the-library in addition to the normal non-profiling instance.</p>-<p>The <a class="reference internal" href="#cmdoption-setup-configure-enable-profiling"><code class="xref std std-option docutils literal"><span class="pre">--enable-profiling</span></code></a> flag controls the profiling mode for both-libraries and executables, but if different modes are desired for-libraries versus executables then use <a class="reference internal" href="#cmdoption-setup-configure-enable-library-profiling"><code class="xref std std-option docutils literal"><span class="pre">--enable-library-profiling</span></code></a>-as well.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-disable-library-profiling">-<code class="descname">--disable-library-profiling</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-disable-library-profiling" title="Permalink to this definition">¶</a></dt>-<dd><p>(default) Do not generate an additional profiling version of the library.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-profiling-detail">-<code class="descname">--profiling-detail[</code><code class="descclassname">=level]</code><a class="headerlink" href="#cmdoption-setup-configure-profiling-detail" title="Permalink to this definition">¶</a></dt>-<dd><p>Some compilers that support profiling, notably GHC, can allocate-costs to different parts of the program and there are different-levels of granularity or detail with which this can be done. In-particular for GHC this concept is called “cost centers”, and GHC-can automatically add cost centers, and can do so in different ways.</p>-<p>This flag covers both libraries and executables, but can be-overridden by the <code class="xref std std-option docutils literal"><span class="pre">--library-profiling-detail</span></code> flag.</p>-<p>Currently this setting is ignored for compilers other than GHC. The-levels that cabal currently supports are:</p>-<dl class="docutils">-<dt>default</dt>-<dd>For GHC this uses <code class="docutils literal"><span class="pre">exported-functions</span></code> for libraries and-<code class="docutils literal"><span class="pre">toplevel-functions</span></code> for executables.</dd>-<dt>none</dt>-<dd>No costs will be assigned to any code within this component.</dd>-<dt>exported-functions</dt>-<dd>Costs will be assigned at the granularity of all top level-functions exported from each module. In GHC specifically, this-is for non-inline functions.</dd>-<dt>toplevel-functions</dt>-<dd>Costs will be assigned at the granularity of all top level-functions in each module, whether they are exported from the-module or not. In GHC specifically, this is for non-inline-functions.</dd>-<dt>all-functions</dt>-<dd>Costs will be assigned at the granularity of all functions in-each module, whether top level or local. In GHC specifically,-this is for non-inline toplevel or where-bound functions or-values.</dd>-</dl>-<p>This flag is new in Cabal-1.24. Prior versions used the equivalent-of <code class="docutils literal"><span class="pre">none</span></code> above.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-library-profiling-detail">-<code class="descname">--library-profiling-detail[</code><code class="descclassname">=level]</code><a class="headerlink" href="#cmdoption-setup-configure-library-profiling-detail" title="Permalink to this definition">¶</a></dt>-<dd><p>As with <code class="xref std std-option docutils literal"><span class="pre">--profiling-detail</span></code> above, but it applies only for-libraries.</p>-<p>The level for both libraries and executables is set by the-<code class="xref std std-option docutils literal"><span class="pre">--profiling-detail</span></code> flag, but if different levels are desired-for libraries versus executables then use-<code class="xref std std-option docutils literal"><span class="pre">--library-profiling-detail</span></code> as well.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-enable-library-vanilla">-<code class="descname">--enable-library-vanilla</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-enable-library-vanilla" title="Permalink to this definition">¶</a></dt>-<dd><p>(default) Build ordinary libraries (as opposed to profiling-libraries). This is independent of the-<a class="reference internal" href="#cmdoption-setup-configure-enable-library-profiling"><code class="xref std std-option docutils literal"><span class="pre">--enable-library-profiling</span></code></a> option. If you enable both, you get-both.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-disable-library-vanilla">-<code class="descname">--disable-library-vanilla</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-disable-library-vanilla" title="Permalink to this definition">¶</a></dt>-<dd><p>Do not build ordinary libraries. This is useful in conjunction with-<a class="reference internal" href="#cmdoption-setup-configure-enable-library-profiling"><code class="xref std std-option docutils literal"><span class="pre">--enable-library-profiling</span></code></a> to build only profiling libraries,-rather than profiling and ordinary libraries.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-enable-library-for-ghci">-<code class="descname">--enable-library-for-ghci</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-enable-library-for-ghci" title="Permalink to this definition">¶</a></dt>-<dd><p>(default) Build libraries suitable for use with GHCi.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-disable-library-for-ghci">-<code class="descname">--disable-library-for-ghci</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-disable-library-for-ghci" title="Permalink to this definition">¶</a></dt>-<dd><p>Not all platforms support GHCi and indeed on some platforms, trying-to build GHCi libs fails. In such cases this flag can be used as a-workaround.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-enable-split-objs">-<code class="descname">--enable-split-objs</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-enable-split-objs" title="Permalink to this definition">¶</a></dt>-<dd><p>Use the GHC <code class="docutils literal"><span class="pre">-split-objs</span></code> feature when building the library. This-reduces the final size of the executables that use the library by-allowing them to link with only the bits that they use rather than-the entire library. The downside is that building the library takes-longer and uses considerably more memory.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-disable-split-objs">-<code class="descname">--disable-split-objs</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-disable-split-objs" title="Permalink to this definition">¶</a></dt>-<dd><p>(default) Do not use the GHC <code class="docutils literal"><span class="pre">-split-objs</span></code> feature. This makes-building the library quicker but the final executables that use the-library will be larger.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-enable-executable-stripping">-<code class="descname">--enable-executable-stripping</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-enable-executable-stripping" title="Permalink to this definition">¶</a></dt>-<dd><p>(default) When installing binary executable programs, run the-<code class="docutils literal"><span class="pre">strip</span></code> program on the binary. This can considerably reduce the-size of the executable binary file. It does this by removing-debugging information and symbols. While such extra information is-useful for debugging C programs with traditional debuggers it is-rarely helpful for debugging binaries produced by Haskell compilers.</p>-<p>Not all Haskell implementations generate native binaries. For such-implementations this option has no effect.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-disable-executable-stripping">-<code class="descname">--disable-executable-stripping</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-disable-executable-stripping" title="Permalink to this definition">¶</a></dt>-<dd><p>Do not strip binary executables during installation. You might want-to use this option if you need to debug a program using gdb, for-example if you want to debug the C parts of a program containing-both Haskell and C code. Another reason is if your are building a-package for a system which has a policy of managing the stripping-itself (such as some Linux distributions).</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-enable-shared">-<code class="descname">--enable-shared</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-enable-shared" title="Permalink to this definition">¶</a></dt>-<dd><p>Build shared library. This implies a separate compiler run to-generate position independent code as required on most platforms.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-disable-shared">-<code class="descname">--disable-shared</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-disable-shared" title="Permalink to this definition">¶</a></dt>-<dd><p>(default) Do not build shared library.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-enable-executable-dynamic">-<code class="descname">--enable-executable-dynamic</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-enable-executable-dynamic" title="Permalink to this definition">¶</a></dt>-<dd><p>Link executables dynamically. The executable’s library dependencies-should be built as shared objects. This implies <a class="reference internal" href="#cmdoption-setup-configure-enable-shared"><code class="xref std std-option docutils literal"><span class="pre">--enable-shared</span></code></a>-unless <a class="reference internal" href="#cmdoption-setup-configure-disable-shared"><code class="xref std std-option docutils literal"><span class="pre">--disable-shared</span></code></a> is explicitly specified.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-disable-executable-dynamic">-<code class="descname">--disable-executable-dynamic</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-disable-executable-dynamic" title="Permalink to this definition">¶</a></dt>-<dd><p>(default) Link executables statically.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-configure-option">-<code class="descname">--configure-option</code><code class="descclassname">=str</code><a class="headerlink" href="#cmdoption-setup-configure-configure-option" title="Permalink to this definition">¶</a></dt>-<dd><p>An extra option to an external <code class="docutils literal"><span class="pre">configure</span></code> script, if one is used-(see the section on <a class="reference external" href="developing-packages.html#system-dependent-parameters">system-dependent-parameters</a>).-There can be several of these options.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-extra-include-dirs">-<code class="descname">--extra-include-dirs[</code><code class="descclassname">=dir]</code><a class="headerlink" href="#cmdoption-setup-configure-extra-include-dirs" title="Permalink to this definition">¶</a></dt>-<dd><p>An extra directory to search for C header files. You can use this-flag multiple times to get a list of directories.</p>-<p>You might need to use this flag if you have standard system header-files in a non-standard location that is not mentioned in the-package’s <code class="docutils literal"><span class="pre">.cabal</span></code> file. Using this option has the same affect as-appending the directory <em>dir</em> to the <code class="docutils literal"><span class="pre">include-dirs</span></code> field in each-library and executable in the package’s <code class="docutils literal"><span class="pre">.cabal</span></code> file. The-advantage of course is that you do not have to modify the package at-all. These extra directories will be used while building the package-and for libraries it is also saved in the package registration-information and used when compiling modules that use the library.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-extra-lib-dirs">-<code class="descname">--extra-lib-dirs[</code><code class="descclassname">=dir]</code><a class="headerlink" href="#cmdoption-setup-configure-extra-lib-dirs" title="Permalink to this definition">¶</a></dt>-<dd><p>An extra directory to search for system libraries files. You can use-this flag multiple times to get a list of directories.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-extra-framework-dirs">-<code class="descname">--extra-framework-dirs[</code><code class="descclassname">=dir]</code><a class="headerlink" href="#cmdoption-setup-configure-extra-framework-dirs" title="Permalink to this definition">¶</a></dt>-<dd><p>An extra directory to search for frameworks (OS X only). You can use-this flag multiple times to get a list of directories.</p>-<p>You might need to use this flag if you have standard system-libraries in a non-standard location that is not mentioned in the-package’s <code class="docutils literal"><span class="pre">.cabal</span></code> file. Using this option has the same affect as-appending the directory <em>dir</em> to the <code class="docutils literal"><span class="pre">extra-lib-dirs</span></code> field in-each library and executable in the package’s <code class="docutils literal"><span class="pre">.cabal</span></code> file. The-advantage of course is that you do not have to modify the package at-all. These extra directories will be used while building the package-and for libraries it is also saved in the package registration-information and used when compiling modules that use the library.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-dependency">-<code class="descname">--dependency[</code><code class="descclassname">=pkgname=ipid]</code><a class="headerlink" href="#cmdoption-setup-configure-dependency" title="Permalink to this definition">¶</a></dt>-<dd><p>Specify that a particular dependency should used for a particular-package name. In particular, it declares that any reference to-<em>pkgname</em> in a <code class="docutils literal"><span class="pre">build-depends</span></code> should be resolved to <em>ipid</em>.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-exact-configuration">-<code class="descname">--exact-configuration</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-configure-exact-configuration" title="Permalink to this definition">¶</a></dt>-<dd><p>This changes Cabal to require every dependency be explicitly-specified using <code class="xref std std-option docutils literal"><span class="pre">--dependency</span></code>, rather than use Cabal’s (very-simple) dependency solver. This is useful for programmatic use of-Cabal’s API, where you want to error if you didn’t specify enough-<code class="xref std std-option docutils literal"><span class="pre">--dependency</span></code> flags.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-allow-newer">-<code class="descname">--allow-newer[</code><code class="descclassname">=pkgs]</code><code class="descclassname">, </code><code class="descname">--allow-older[</code><code class="descclassname">=pkgs]</code><a class="headerlink" href="#cmdoption-setup-configure-allow-newer" title="Permalink to this definition">¶</a></dt>-<dd><p>Selectively relax upper or lower bounds in dependencies without-editing the package description respectively.</p>-<p>The following description focuses on upper bounds and the-<code class="xref std std-option docutils literal"><span class="pre">--allow-newer</span></code> flag, but applies analogously to-<code class="xref std std-option docutils literal"><span class="pre">--allow-older</span></code> and lower bounds. <code class="xref std std-option docutils literal"><span class="pre">--allow-newer</span></code>-and <code class="xref std std-option docutils literal"><span class="pre">--allow-older</span></code> can be used at the same time.</p>-<p>If you want to install a package A that depends on B >= 1.0 && <-2.0, but you have the version 2.0 of B installed, you can compile A-against B 2.0 by using <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">install</span> <span class="pre">--allow-newer=B</span> <span class="pre">A</span></code>. This-works for the whole package index: if A also depends on C that in-turn depends on B < 2.0, C’s dependency on B will be also relaxed.</p>-<p>Example:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> <span class="nb">cd</span> foo-<span class="gp">$</span> cabal configure-<span class="go">Resolving dependencies...</span>-<span class="go">cabal: Could not resolve dependencies:</span>-<span class="go">[...]</span>-<span class="gp">$</span> cabal configure --allow-newer-<span class="go">Resolving dependencies...</span>-<span class="go">Configuring foo...</span>-</pre></div>-</div>-<p>Additional examples:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">#</span> Relax upper bounds in all dependencies.-<span class="gp">$</span> cabal install --allow-newer foo--<span class="gp">#</span> Relax upper bounds only in dependencies on bar, baz and quux.-<span class="gp">$</span> cabal install --allow-newer<span class="o">=</span>bar,baz,quux foo--<span class="gp">#</span> Relax the upper bound on bar and force <span class="nv">bar</span><span class="o">==</span><span class="m">2</span>.1.-<span class="gp">$</span> cabal install --allow-newer<span class="o">=</span>bar --constraint<span class="o">=</span><span class="s2">"bar==2.1"</span> foo-</pre></div>-</div>-<p>It’s also possible to limit the scope of <code class="xref std std-option docutils literal"><span class="pre">--allow-newer</span></code> to single-packages with the <code class="docutils literal"><span class="pre">--allow-newer=scope:dep</span></code> syntax. This means-that the dependency on <code class="docutils literal"><span class="pre">dep</span></code> will be relaxed only for the package-<code class="docutils literal"><span class="pre">scope</span></code>.</p>-<p>Example:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">#</span> Relax upper bound in foo<span class="s1">'s dependency on base; also relax upper bound in</span>-<span class="gp">#</span><span class="s1"> every package'</span>s dependency on lens.-<span class="gp">$</span> cabal install --allow-newer<span class="o">=</span>foo:base,lens--<span class="gp">#</span> Relax upper bounds in foo<span class="s1">'s dependency on base and bar'</span>s dependency-<span class="gp">#</span> on time<span class="p">;</span> also relax the upper bound in the dependency on lens specified by-<span class="gp">#</span> any package.-<span class="gp">$</span> cabal install --allow-newer<span class="o">=</span>foo:base,lens --allow-newer<span class="o">=</span>bar:time-</pre></div>-</div>-<p>Finally, one can enable <code class="xref std std-option docutils literal"><span class="pre">--allow-newer</span></code> permanently by setting-<code class="docutils literal"><span class="pre">allow-newer:</span> <span class="pre">True</span></code> in the <code class="docutils literal"><span class="pre">~/.cabal/config</span></code> file. Enabling-‘allow-newer’ selectively is also supported in the config file-(<code class="docutils literal"><span class="pre">allow-newer:</span> <span class="pre">foo,</span> <span class="pre">bar,</span> <span class="pre">baz:base</span></code>).</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-constraint">-<code class="descname">--constraint</code><code class="descclassname">=constraint</code><a class="headerlink" href="#cmdoption-setup-configure-constraint" title="Permalink to this definition">¶</a></dt>-<dd><p>Restrict solutions involving a package to given version-bounds, flag settings, and other properties. For example, to-consider only install plans that use version 2.1 of <code class="docutils literal"><span class="pre">bar</span></code>-or do not use <code class="docutils literal"><span class="pre">bar</span></code> at all, write:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal install --constraint<span class="o">=</span><span class="s2">"bar == 2.1"</span>-</pre></div>-</div>-<p>Version bounds have the same syntax as <code class="docutils literal"><span class="pre">build-depends</span></code>. As-a special case, the following prevents <code class="docutils literal"><span class="pre">bar</span></code> from being-used at all:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">#</span> Note: this is just syntax sugar <span class="k">for</span> <span class="s1">'> 1 && < 1'</span>, and is-<span class="gp">#</span> supported by build-depends.-<span class="gp">$</span> cabal install --constraint<span class="o">=</span><span class="s2">"bar -none"</span>-</pre></div>-</div>-<p>You can also specify flag assignments:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">#</span> Require bar to be installed with the foo flag turned on and-<span class="gp">#</span> the baz flag turned off.-<span class="gp">$</span> cabal install --constraint<span class="o">=</span><span class="s2">"bar +foo -baz"</span>-</pre></div>-</div>-<p>To specify multiple constraints, you may pass the-<code class="docutils literal"><span class="pre">constraint</span></code> option multiple times.</p>-<p>There are also some more specialized constraints, which most people-don’t generally need:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">#</span> Require that a version of bar be used that is already installed in-<span class="gp">#</span> the global package database.-<span class="gp">$</span> cabal install --constraint<span class="o">=</span><span class="s2">"bar installed"</span>--<span class="gp">#</span> Require the <span class="nb">local</span> <span class="nb">source</span> copy of bar to be used.-<span class="gp">#</span> <span class="o">(</span>Note: By default, <span class="k">if</span> we have a <span class="nb">local</span> package we will-<span class="gp">#</span> automatically use it, so it will generally not be necessary to-<span class="gp">#</span> specify this.<span class="o">)</span>-<span class="gp">$</span> cabal install --constraint<span class="o">=</span><span class="s2">"bar source"</span>--<span class="gp">#</span> Require that bar have <span class="nb">test</span> suites and benchmarks enabled.-<span class="gp">$</span> cabal install --constraint<span class="o">=</span><span class="s2">"bar test"</span> --constraint<span class="o">=</span><span class="s2">"bar bench"</span>-</pre></div>-</div>-<p>By default, constraints only apply to build dependencies-(<code class="docutils literal"><span class="pre">build-depends</span></code>), build dependencies of build-dependencies, and so on. Constraints normally do not apply to-dependencies of the <code class="docutils literal"><span class="pre">Setup.hs</span></code> script of any package-(<code class="docutils literal"><span class="pre">setup-depends</span></code>) nor do they apply to build tools-(<code class="docutils literal"><span class="pre">build-tool-depends</span></code>) or the dependencies of build-tools. To explicitly apply a constraint to a setup or build-tool dependency, you can add a qualifier to the constraint as-follows:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">#</span> Example use of the <span class="s1">'any'</span> qualifier. This constraint-<span class="gp">#</span> applies to package bar anywhere in the dependency graph.-<span class="gp">$</span> cabal install --constraint<span class="o">=</span><span class="s2">"any.bar == 1.0"</span>-</pre></div>-</div>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">#</span> Example uses of <span class="s1">'setup'</span> qualifiers.--<span class="gp">#</span> This constraint applies to package bar when it is a-<span class="gp">#</span> dependency of any Setup.hs script.-<span class="gp">$</span> cabal install --constraint<span class="o">=</span><span class="s2">"setup.bar == 1.0"</span>--<span class="gp">#</span> This constraint applies to package bar when it is a-<span class="gp">#</span> dependency of the Setup.hs script of package foo.-<span class="gp">$</span> cabal install --constraint<span class="o">=</span><span class="s2">"foo:setup.bar == 1.0"</span>-</pre></div>-</div>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-configure-preference">-<code class="descname">--preference</code><code class="descclassname">=preference</code><a class="headerlink" href="#cmdoption-setup-configure-preference" title="Permalink to this definition">¶</a></dt>-<dd><p>Specify a soft constraint on versions of a package. The solver will-attempt to satisfy these preferences on a “best-effort” basis.</p>-</dd></dl>--</div>-</div>-<div class="section" id="setup-build">-<span id="id2"></span><h2>2.2.7. setup build<a class="headerlink" href="#setup-build" title="Permalink to this headline">¶</a></h2>-<p>Perform any preprocessing or compilation needed to make this package-ready for installation.</p>-<p>This command takes the following options:</p>-<dl class="option">-<dt id="cmdoption-setup-build-prog-options">-<code class="descname">--prog-options</code><code class="descclassname">=options</code><code class="descclassname">, </code><code class="descname">--prog-option</code><code class="descclassname">=option</code><a class="headerlink" href="#cmdoption-setup-build-prog-options" title="Permalink to this definition">¶</a></dt>-<dd><p>These are mostly the same as the <a class="reference external" href="#setup-configure">options configure-step</a>. Unlike the options specified at the-configure step, any program options specified at the build step are-not persistent but are used for that invocation only. They options-specified at the build step are in addition not in replacement of-any options specified at the configure step.</p>-</dd></dl>--</div>-<div class="section" id="setup-haddock">-<span id="id3"></span><h2>2.2.8. setup haddock<a class="headerlink" href="#setup-haddock" title="Permalink to this headline">¶</a></h2>-<p>Build the documentation for the package using <a class="reference external" href="http://www.haskell.org/haddock/">Haddock</a>.-By default, only the documentation for the exposed modules is generated-(but see the <a class="reference internal" href="#cmdoption-setup-haddock-executables"><code class="xref std std-option docutils literal"><span class="pre">--executables</span></code></a> and <a class="reference internal" href="#cmdoption-setup-haddock-internal"><code class="xref std std-option docutils literal"><span class="pre">--internal</span></code></a> flags below).</p>-<p>This command takes the following options:</p>-<dl class="option">-<dt id="cmdoption-setup-haddock-hoogle">-<code class="descname">--hoogle</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-haddock-hoogle" title="Permalink to this definition">¶</a></dt>-<dd><p>Generate a file <code class="docutils literal"><span class="pre">dist/doc/html/</span></code><em>pkgid</em><code class="docutils literal"><span class="pre">.txt</span></code>, which can be-converted by <a class="reference external" href="http://www.haskell.org/hoogle/">Hoogle</a> into a-database for searching. This is equivalent to running <a class="reference external" href="http://www.haskell.org/haddock/">Haddock</a>-with the <code class="docutils literal"><span class="pre">--hoogle</span></code> flag.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-haddock-html-location">-<code class="descname">--html-location</code><code class="descclassname">=url</code><a class="headerlink" href="#cmdoption-setup-haddock-html-location" title="Permalink to this definition">¶</a></dt>-<dd><p>Specify a template for the location of HTML documentation for-prerequisite packages. The substitutions (<a class="reference external" href="#paths-in-the-simple-build-system">see-listing</a>) are applied to the-template to obtain a location for each package, which will be used-by hyperlinks in the generated documentation. For example, the-following command generates links pointing at <a class="reference external" href="http://hackage.haskell.org/">Hackage</a> pages:</p>-<blockquote>-<div>setup haddock-–html-location=’<a class="reference external" href="http://hackage.haskell.org/packages/archive/$pkg/latest/doc/html">http://hackage.haskell.org/packages/archive/$pkg/latest/doc/html</a>’</div></blockquote>-<p>Here the argument is quoted to prevent substitution by the shell. If-this option is omitted, the location for each package is obtained-using the package tool (e.g. <code class="docutils literal"><span class="pre">ghc-pkg</span></code>).</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-haddock-executables">-<code class="descname">--executables</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-haddock-executables" title="Permalink to this definition">¶</a></dt>-<dd><p>Also run <a class="reference external" href="http://www.haskell.org/haddock/">Haddock</a> for the modules of all the executable programs. By default-<a class="reference external" href="http://www.haskell.org/haddock/">Haddock</a> is run only on the exported modules.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-haddock-internal">-<code class="descname">--internal</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-haddock-internal" title="Permalink to this definition">¶</a></dt>-<dd><p>Run <a class="reference external" href="http://www.haskell.org/haddock/">Haddock</a> for the all-modules, including unexposed ones, and make-<a class="reference external" href="http://www.haskell.org/haddock/">Haddock</a> generate documentation-for unexported symbols as well.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-haddock-css">-<code class="descname">--css</code><code class="descclassname">=path</code><a class="headerlink" href="#cmdoption-setup-haddock-css" title="Permalink to this definition">¶</a></dt>-<dd><p>The argument <em>path</em> denotes a CSS file, which is passed to-<a class="reference external" href="http://www.haskell.org/haddock/">Haddock</a> and used to set the-style of the generated documentation. This is only needed to-override the default style that-<a class="reference external" href="http://www.haskell.org/haddock/">Haddock</a> uses.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-haddock-hyperlink-source">-<code class="descname">--hyperlink-source</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-haddock-hyperlink-source" title="Permalink to this definition">¶</a></dt>-<dd><p>Generate <a class="reference external" href="http://www.haskell.org/haddock/">Haddock</a> documentation integrated with <a class="reference external" href="http://www.cs.york.ac.uk/fp/darcs/hscolour/">HsColour</a> . First,-<a class="reference external" href="http://www.cs.york.ac.uk/fp/darcs/hscolour/">HsColour</a> is run to generate colourised code. Then <a class="reference external" href="http://www.haskell.org/haddock/">Haddock</a> is run to-generate HTML documentation. Each entity shown in the documentation is-linked to its definition in the colourised code.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-haddock-hscolour-css">-<code class="descname">--hscolour-css</code><code class="descclassname">=path</code><a class="headerlink" href="#cmdoption-setup-haddock-hscolour-css" title="Permalink to this definition">¶</a></dt>-<dd><p>The argument <em>path</em> denotes a CSS file, which is passed to <a class="reference external" href="http://www.cs.york.ac.uk/fp/darcs/hscolour/">HsColour</a> as in</p>-<blockquote>-<div>runhaskell Setup.hs hscolour –css=*path*</div></blockquote>-</dd></dl>--</div>-<div class="section" id="setup-hscolour">-<span id="id4"></span><h2>2.2.9. setup hscolour<a class="headerlink" href="#setup-hscolour" title="Permalink to this headline">¶</a></h2>-<p>Produce colourised code in HTML format using <a class="reference external" href="http://www.cs.york.ac.uk/fp/darcs/hscolour/">HsColour</a>. Colourised code for-exported modules is put in <code class="docutils literal"><span class="pre">dist/doc/html/</span></code><em>pkgid</em><code class="docutils literal"><span class="pre">/src</span></code>.</p>-<p>This command takes the following options:</p>-<dl class="option">-<dt id="cmdoption-setup-hscolour-executables">-<code class="descname">--executables</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-hscolour-executables" title="Permalink to this definition">¶</a></dt>-<dd><p>Also run <a class="reference external" href="http://www.cs.york.ac.uk/fp/darcs/hscolour/">HsColour</a> on the sources of all executable programs. Colourised-code is put in <code class="docutils literal"><span class="pre">dist/doc/html/</span></code><em>pkgid</em>/<em>executable</em><code class="docutils literal"><span class="pre">/src</span></code>.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-hscolour-css">-<code class="descname">--css</code><code class="descclassname">=path</code><a class="headerlink" href="#cmdoption-setup-hscolour-css" title="Permalink to this definition">¶</a></dt>-<dd><p>Use the given CSS file for the generated HTML files. The CSS file-defines the colours used to colourise code. Note that this copies-the given CSS file to the directory with the generated HTML files-(renamed to <code class="docutils literal"><span class="pre">hscolour.css</span></code>) rather than linking to it.</p>-</dd></dl>--</div>-<div class="section" id="setup-install">-<span id="id5"></span><h2>2.2.10. setup install<a class="headerlink" href="#setup-install" title="Permalink to this headline">¶</a></h2>-<p>Copy the files into the install locations and (for library packages)-register the package with the compiler, i.e. make the modules it-contains available to programs.</p>-<p>The <a class="reference external" href="#installation-paths">install locations</a> are determined by-options to <a class="reference internal" href="#id1">setup configure</a>.</p>-<p>This command takes the following options:</p>-<dl class="option">-<dt id="cmdoption-setup-install-global">-<code class="descname">--global</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-install-global" title="Permalink to this definition">¶</a></dt>-<dd><p>Register this package in the system-wide database. (This is the-default, unless the <a class="reference internal" href="#cmdoption-setup-configure-user"><code class="xref std std-option docutils literal"><span class="pre">setup</span> <span class="pre">configure</span> <span class="pre">--user</span></code></a> option was supplied-to the <code class="docutils literal"><span class="pre">configure</span></code> command.)</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-install-user">-<code class="descname">--user</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-install-user" title="Permalink to this definition">¶</a></dt>-<dd><p>Register this package in the user’s local package database. (This is-the default if the <a class="reference internal" href="#cmdoption-setup-configure-user"><code class="xref std std-option docutils literal"><span class="pre">setup</span> <span class="pre">configure</span> <span class="pre">--user</span></code></a> option was supplied-to the <code class="docutils literal"><span class="pre">configure</span></code> command.)</p>-</dd></dl>--</div>-<div class="section" id="setup-copy">-<span id="id6"></span><h2>2.2.11. setup copy<a class="headerlink" href="#setup-copy" title="Permalink to this headline">¶</a></h2>-<p>Copy the files without registering them. This command is mainly of use-to those creating binary packages.</p>-<p>This command takes the following option:</p>-<dl class="option">-<dt id="cmdoption-setup-copy-destdir">-<code class="descname">--destdir</code><code class="descclassname">=path</code><a class="headerlink" href="#cmdoption-setup-copy-destdir" title="Permalink to this definition">¶</a></dt>-<dd><p>Specify the directory under which to place installed files. If this is-not given, then the root directory is assumed.</p>-</dd></dl>--</div>-<div class="section" id="setup-register">-<span id="id7"></span><h2>2.2.12. setup register<a class="headerlink" href="#setup-register" title="Permalink to this headline">¶</a></h2>-<p>Register this package with the compiler, i.e. make the modules it-contains available to programs. This only makes sense for library-packages. Note that the <code class="docutils literal"><span class="pre">install</span></code> command incorporates this action.-The main use of this separate command is in the post-installation step-for a binary package.</p>-<p>This command takes the following options:</p>-<dl class="option">-<dt id="cmdoption-setup-register-global">-<code class="descname">--global</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-register-global" title="Permalink to this definition">¶</a></dt>-<dd><p>Register this package in the system-wide database. (This is the-default.)</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-register-user">-<code class="descname">--user</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-register-user" title="Permalink to this definition">¶</a></dt>-<dd><p>Register this package in the user’s local package database.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-register-gen-script">-<code class="descname">--gen-script</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-register-gen-script" title="Permalink to this definition">¶</a></dt>-<dd><p>Instead of registering the package, generate a script containing-commands to perform the registration. On Unix, this file is called-<code class="docutils literal"><span class="pre">register.sh</span></code>, on Windows, <code class="docutils literal"><span class="pre">register.bat</span></code>. This script might be-included in a binary bundle, to be run after the bundle is unpacked-on the target system.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-register-gen-pkg-config">-<code class="descname">--gen-pkg-config[</code><code class="descclassname">=path]</code><a class="headerlink" href="#cmdoption-setup-register-gen-pkg-config" title="Permalink to this definition">¶</a></dt>-<dd><p>Instead of registering the package, generate a package registration-file (or directory, in some circumstances). This only applies to-compilers that support package registration files which at the-moment is only GHC. The file should be used with the compiler’s-mechanism for registering packages. This option is mainly intended-for packaging systems. If possible use the <a class="reference internal" href="#cmdoption-setup-register-gen-script"><code class="xref std std-option docutils literal"><span class="pre">--gen-script</span></code></a> option-instead since it is more portable across Haskell implementations.-The <em>path</em> is optional and can be used to specify a particular-output file to generate. Otherwise, by default the file is the-package name and version with a <code class="docutils literal"><span class="pre">.conf</span></code> extension.</p>-<p>This option outputs a directory if the package requires multiple-registrations: this can occur if internal/convenience libraries are-used. These configuration file names are sorted so that they can be-registered in order.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-register-inplace">-<code class="descname">--inplace</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-register-inplace" title="Permalink to this definition">¶</a></dt>-<dd><p>Registers the package for use directly from the build tree, without-needing to install it. This can be useful for testing: there’s no-need to install the package after modifying it, just recompile and-test.</p>-<p>This flag does not create a build-tree-local package database. It-still registers the package in one of the user or global databases.</p>-<p>However, there are some caveats. It only works with GHC (currently).-It only works if your package doesn’t depend on having any-supplemental files installed — plain Haskell libraries should be-fine.</p>-</dd></dl>--</div>-<div class="section" id="setup-unregister">-<span id="id8"></span><h2>2.2.13. setup unregister<a class="headerlink" href="#setup-unregister" title="Permalink to this headline">¶</a></h2>-<p>Deregister this package with the compiler.</p>-<p>This command takes the following options:</p>-<dl class="option">-<dt id="cmdoption-setup-unregister-global">-<code class="descname">--global</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-unregister-global" title="Permalink to this definition">¶</a></dt>-<dd><p>Deregister this package in the system-wide database. (This is the-default.)</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-unregister-user">-<code class="descname">--user</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-unregister-user" title="Permalink to this definition">¶</a></dt>-<dd><p>Deregister this package in the user’s local package database.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-unregister-gen-script">-<code class="descname">--gen-script</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-unregister-gen-script" title="Permalink to this definition">¶</a></dt>-<dd><p>Instead of deregistering the package, generate a script containing-commands to perform the deregistration. On Unix, this file is called-<code class="docutils literal"><span class="pre">unregister.sh</span></code>, on Windows, <code class="docutils literal"><span class="pre">unregister.bat</span></code>. This script might-be included in a binary bundle, to be run on the target system.</p>-</dd></dl>--</div>-<div class="section" id="setup-clean">-<span id="id9"></span><h2>2.2.14. setup clean<a class="headerlink" href="#setup-clean" title="Permalink to this headline">¶</a></h2>-<p>Remove any local files created during the <code class="docutils literal"><span class="pre">configure</span></code>, <code class="docutils literal"><span class="pre">build</span></code>,-<code class="docutils literal"><span class="pre">haddock</span></code>, <code class="docutils literal"><span class="pre">register</span></code> or <code class="docutils literal"><span class="pre">unregister</span></code> steps, and also any files-and directories listed in the <a class="reference internal" href="developing-packages.html#pkg-field-extra-tmp-files" title="package.cabal extra-tmp-files field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">extra-tmp-files</span></code></a> field.</p>-<p>This command takes the following options:</p>-<dl class="option">-<dt id="cmdoption-setup-clean-save-configure">-<code class="descname">--save-configure</code><code class="descclassname"></code><code class="descclassname">, </code><code class="descname">-s</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-clean-save-configure" title="Permalink to this definition">¶</a></dt>-<dd><p>Keeps the configuration information so it is not necessary to run-the configure step again before building.</p>-</dd></dl>--</div>-<div class="section" id="setup-test">-<h2>2.2.15. setup test<a class="headerlink" href="#setup-test" title="Permalink to this headline">¶</a></h2>-<p>Run the test suites specified in the package description file. Aside-from the following flags, Cabal accepts the name of one or more test-suites on the command line after <code class="docutils literal"><span class="pre">test</span></code>. When supplied, Cabal will run-only the named test suites, otherwise, Cabal will run all test suites in-the package.</p>-<dl class="option">-<dt id="cmdoption-setup-test-builddir">-<code class="descname">--builddir</code><code class="descclassname">=dir</code><a class="headerlink" href="#cmdoption-setup-test-builddir" title="Permalink to this definition">¶</a></dt>-<dd><p>The directory where Cabal puts generated build files (default:-<code class="docutils literal"><span class="pre">dist</span></code>). Test logs will be located in the <code class="docutils literal"><span class="pre">test</span></code> subdirectory.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-test-human-log">-<code class="descname">--human-log</code><code class="descclassname">=path</code><a class="headerlink" href="#cmdoption-setup-test-human-log" title="Permalink to this definition">¶</a></dt>-<dd><p>The template used to name human-readable test logs; the path is-relative to <code class="docutils literal"><span class="pre">dist/test</span></code>. By default, logs are named according to-the template <code class="docutils literal"><span class="pre">$pkgid-$test-suite.log</span></code>, so that each test suite-will be logged to its own human-readable log file. Template-variables allowed are: <code class="docutils literal"><span class="pre">$pkgid</span></code>, <code class="docutils literal"><span class="pre">$compiler</span></code>, <code class="docutils literal"><span class="pre">$os</span></code>,-<code class="docutils literal"><span class="pre">$arch</span></code>, <code class="docutils literal"><span class="pre">$abi</span></code>, <code class="docutils literal"><span class="pre">$abitag</span></code>, <code class="docutils literal"><span class="pre">$test-suite</span></code>, and <code class="docutils literal"><span class="pre">$result</span></code>.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-test-machine-log">-<code class="descname">--machine-log</code><code class="descclassname">=path</code><a class="headerlink" href="#cmdoption-setup-test-machine-log" title="Permalink to this definition">¶</a></dt>-<dd><p>The path to the machine-readable log, relative to <code class="docutils literal"><span class="pre">dist/test</span></code>. The-default template is <code class="docutils literal"><span class="pre">$pkgid.log</span></code>. Template variables allowed are:-<code class="docutils literal"><span class="pre">$pkgid</span></code>, <code class="docutils literal"><span class="pre">$compiler</span></code>, <code class="docutils literal"><span class="pre">$os</span></code>, <code class="docutils literal"><span class="pre">$arch</span></code>, <code class="docutils literal"><span class="pre">$abi</span></code>, <code class="docutils literal"><span class="pre">$abitag</span></code>-and <code class="docutils literal"><span class="pre">$result</span></code>.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-test-show-details">-<code class="descname">--show-details</code><code class="descclassname">=filter</code><a class="headerlink" href="#cmdoption-setup-test-show-details" title="Permalink to this definition">¶</a></dt>-<dd><p>Determines if the results of individual test cases are shown on the-terminal. May be <code class="docutils literal"><span class="pre">always</span></code> (always show), <code class="docutils literal"><span class="pre">never</span></code> (never show),-<code class="docutils literal"><span class="pre">failures</span></code> (show only failed results), or <code class="docutils literal"><span class="pre">streaming</span></code> (show all-results in real time).</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-setup-test-test-options">-<code class="descname">--test-options</code><code class="descclassname">=options</code><a class="headerlink" href="#cmdoption-setup-test-test-options" title="Permalink to this definition">¶</a></dt>-<dt id="cmdoption-setup-test-arg-give">-<code class="descname">Give</code><code class="descclassname"> extra options to the test executables.</code><a class="headerlink" href="#cmdoption-setup-test-arg-give" title="Permalink to this definition">¶</a></dt>-<dd></dd></dl>--<dl class="option">-<dt id="cmdoption-setup-test-test-option">-<code class="descname">--test-option</code><code class="descclassname">=option</code><a class="headerlink" href="#cmdoption-setup-test-test-option" title="Permalink to this definition">¶</a></dt>-<dd><p>give an extra option to the test executables. There is no need to-quote options containing spaces because a single option is assumed,-so options will not be split on spaces.</p>-</dd></dl>--</div>-<div class="section" id="setup-sdist">-<span id="id10"></span><h2>2.2.16. setup sdist<a class="headerlink" href="#setup-sdist" title="Permalink to this headline">¶</a></h2>-<p>Create a system- and compiler-independent source distribution in a file-<em>package</em>-<em>version</em><code class="docutils literal"><span class="pre">.tar.gz</span></code> in the <code class="docutils literal"><span class="pre">dist</span></code> subdirectory, for-distribution to package builders. When unpacked, the commands listed in-this section will be available.</p>-<p>The files placed in this distribution are the package description file,-the setup script, the sources of the modules named in the package-description file, and files named in the <code class="docutils literal"><span class="pre">license-file</span></code>, <code class="docutils literal"><span class="pre">main-is</span></code>,-<code class="docutils literal"><span class="pre">c-sources</span></code>, <code class="docutils literal"><span class="pre">js-sources</span></code>, <code class="docutils literal"><span class="pre">data-files</span></code>, <code class="docutils literal"><span class="pre">extra-source-files</span></code>-and <code class="docutils literal"><span class="pre">extra-doc-files</span></code> fields.</p>-<p>This command takes the following option:</p>-<dl class="option">-<dt id="cmdoption-setup-sdist-snapshot">-<code class="descname">--snapshot</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-setup-sdist-snapshot" title="Permalink to this definition">¶</a></dt>-<dd><p>Append today’s date (in “YYYYMMDD” format) to the version number for-the generated source package. The original package is unaffected.</p>-</dd></dl>--</div>-</div>--- </div>- <div class="articleComments">- - </div>- </div>- <footer>- - <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">- - <a href="concepts-and-development.html" class="btn btn-neutral float-right" title="3. Package Concepts and Development" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>- - - <a href="config-and-install.html" class="btn btn-neutral" title="2. Configuration and Installing Packages" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>- - </div>- -- <hr/>-- <div role="contentinfo">- <p>- © Copyright 2003-2017, Cabal Team.-- </p>- </div>- Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. --</footer>-- </div>- </div>-- </section>-- </div>- --- -- <script type="text/javascript">- var DOCUMENTATION_OPTIONS = {- URL_ROOT:'./',- VERSION:'2.0',- COLLAPSE_INDEX:false,- FILE_SUFFIX:'.html',- HAS_SOURCE: true,- SOURCELINK_SUFFIX: '.txt'- };- </script>- <script type="text/javascript" src="_static/jquery.js"></script>- <script type="text/javascript" src="_static/underscore.js"></script>- <script type="text/javascript" src="_static/doctools.js"></script>-- -- - - <script type="text/javascript" src="_static/js/theme.js"></script>- -- - - <script type="text/javascript">- jQuery(function () {- SphinxRtdTheme.StickyNav.enable();- });- </script>- --</body>-</html>
@@ -1,413 +0,0 @@---<!DOCTYPE html>-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->-<head>- <meta charset="utf-8">- - <meta name="viewport" content="width=device-width, initial-scale=1.0">- - <title>1. Introduction — Cabal <release> User's Guide</title>- -- - - - -- -- - - -- -- - - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />- -- -- - <link rel="index" title="Index"- href="genindex.html"/>- <link rel="search" title="Search" href="search.html"/>- <link rel="top" title="Cabal <release> User's Guide" href="index.html"/>- <link rel="next" title="2. Configuration and Installing Packages" href="config-and-install.html"/>- <link rel="prev" title="Welcome to the Cabal User Guide" href="index.html"/> -- - <script src="_static/js/modernizr.min.js"></script>--</head>--<body class="wy-body-for-nav" role="document">-- - <div class="wy-grid-for-nav">-- - <nav data-toggle="wy-nav-shift" class="wy-nav-side">- <div class="wy-side-scroll">- <div class="wy-side-nav-search">- -- - <a href="index.html" class="icon icon-home"> Cabal- -- - - <img src="_static/Cabal-dark.png" class="logo" />- - </a>-- - - - <div class="version">- 2.0- </div>- - -- -<div role="search">- <form id="rtd-search-form" class="wy-form" action="search.html" method="get">- <input type="text" name="q" placeholder="Search docs" />- <input type="hidden" name="check_keywords" value="yes" />- <input type="hidden" name="area" value="default" />- </form>-</div>-- - </div>-- <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">- - - - - - - - <ul class="current">-<li class="toctree-l1 current"><a class="current reference internal" href="#">1. Introduction</a><ul>-<li class="toctree-l2"><a class="reference internal" href="#a-tool-for-working-with-packages">1.1. A tool for working with packages</a></li>-<li class="toctree-l2"><a class="reference internal" href="#what-s-in-a-package">1.2. What’s in a package</a></li>-<li class="toctree-l2"><a class="reference internal" href="#cabal-featureset">1.3. Cabal featureset</a></li>-<li class="toctree-l2"><a class="reference internal" href="#similar-systems">1.4. Similar systems</a></li>-</ul>-</li>-<li class="toctree-l1"><a class="reference internal" href="config-and-install.html">2. Configuration and Installing Packages</a></li>-<li class="toctree-l1"><a class="reference internal" href="concepts-and-development.html">3. Package Concepts and Development</a></li>-<li class="toctree-l1"><a class="reference internal" href="bugs-and-stability.html">4. Reporting Bugs and Stability of Cabal Interfaces</a></li>-<li class="toctree-l1"><a class="reference internal" href="nix-local-build-overview.html">5. Nix-style Local Builds</a></li>-<li class="toctree-l1"><a class="reference internal" href="nix-integration.html">6. Nix Integration</a></li>-</ul>-- - - <a href="cabal-projectindex.html">Reference</a>- <a href="genindex.html">Index</a>-- </div>- </div>- </nav>-- <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">-- - <nav class="wy-nav-top" role="navigation" aria-label="top navigation">- - <i data-toggle="wy-nav-top" class="fa fa-bars"></i>- <a href="index.html">Cabal</a>- - </nav>--- - <div class="wy-nav-content">- <div class="rst-content">- ----------------<div role="navigation" aria-label="breadcrumbs navigation">-- <ul class="wy-breadcrumbs">- - <li><a href="index.html">Docs</a> »</li>- - <li>1. Introduction</li>- - - <li class="wy-breadcrumbs-aside">- - - <a href="_sources/intro.rst.txt" rel="nofollow"> View page source</a>- - - </li>- - </ul>-- - <hr/>-</div>- <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">- <div itemprop="articleBody">- - <p>Cabal is the standard package system for-<a class="reference external" href="http://www.haskell.org/">Haskell</a> software. It helps people to-configure, build and install Haskell software and to distribute it-easily to other users and developers.</p>-<p>There is a command line tool called <code class="docutils literal"><span class="pre">cabal</span></code> for working with Cabal-packages. It helps with installing existing packages and also helps-people developing their own packages. It can be used to work with local-packages or to install packages from online package archives, including-automatically installing dependencies. By default it is configured to-use <a class="reference external" href="http://hackage.haskell.org/">Hackage</a> which is Haskell’s central-package archive that contains thousands of libraries and applications in-the Cabal package format.</p>-<div class="section" id="introduction">-<h1>1. Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline">¶</a></h1>-<p>Cabal is a package system for Haskell software. The point of a package-system is to enable software developers and users to easily distribute,-use and reuse software. A package system makes it easier for developers-to get their software into the hands of users. Equally importantly, it-makes it easier for software developers to be able to reuse software-components written by other developers.</p>-<p>Packaging systems deal with packages and with Cabal we call them <em>Cabal-packages</em>. The Cabal package is the unit of distribution. Every Cabal-package has a name and a version number which are used to identify the-package, e.g. <code class="docutils literal"><span class="pre">filepath-1.0</span></code>.</p>-<p>Cabal packages can depend on other Cabal packages. There are tools to-enable automated package management. This means it is possible for-developers and users to install a package plus all of the other Cabal-packages that it depends on. It also means that it is practical to make-very modular systems using lots of packages that reuse code written by-many developers.</p>-<p>Cabal packages are source based and are typically (but not necessarily)-portable to many platforms and Haskell implementations. The Cabal-package format is designed to make it possible to translate into other-formats, including binary packages for various systems.</p>-<p>When distributed, Cabal packages use the standard compressed tarball-format, with the file extension <code class="docutils literal"><span class="pre">.tar.gz</span></code>, e.g.-<code class="docutils literal"><span class="pre">filepath-1.0.tar.gz</span></code>.</p>-<p>Note that packages are not part of the Haskell language, rather they are-a feature provided by the combination of Cabal and GHC (and several-other Haskell implementations).</p>-<div class="section" id="a-tool-for-working-with-packages">-<h2>1.1. A tool for working with packages<a class="headerlink" href="#a-tool-for-working-with-packages" title="Permalink to this headline">¶</a></h2>-<p>There is a command line tool, called “<code class="docutils literal"><span class="pre">cabal</span></code>”, that users and-developers can use to build and install Cabal packages. It can be used-for both local packages and for packages available remotely over the-network. It can automatically install Cabal packages plus any other-Cabal packages they depend on.</p>-<p>Developers can use the tool with packages in local directories, e.g.</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> <span class="nb">cd</span> foo/-<span class="gp">$</span> cabal install-</pre></div>-</div>-<p>While working on a package in a local directory, developers can run the-individual steps to configure and build, and also generate documentation-and run test suites and benchmarks.</p>-<p>It is also possible to install several local packages at once, e.g.</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal install foo/ bar/-</pre></div>-</div>-<p>Developers and users can use the tool to install packages from remote-Cabal package archives. By default, the <code class="docutils literal"><span class="pre">cabal</span></code> tool is configured to-use the central Haskell package archive called-<a class="reference external" href="http://hackage.haskell.org/">Hackage</a> but it is possible to use it-with any other suitable archive.</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal install xmonad-</pre></div>-</div>-<p>This will install the <code class="docutils literal"><span class="pre">xmonad</span></code> package plus all of its dependencies.</p>-<p>In addition to packages that have been published in an archive,-developers can install packages from local or remote tarball files, for-example</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal install foo-1.0.tar.gz-<span class="gp">$</span> cabal install http://example.com/foo-1.0.tar.gz-</pre></div>-</div>-<p>Cabal provides a number of ways for a user to customise how and where a-package is installed. They can decide where a package will be installed,-which Haskell implementation to use and whether to build optimised code-or build with the ability to profile code. It is not expected that users-will have to modify any of the information in the <code class="docutils literal"><span class="pre">.cabal</span></code> file.</p>-<p>For full details, see the section on <a class="reference external" href="installing-packages.html">building and installing-packages</a>.</p>-<p>Note that <code class="docutils literal"><span class="pre">cabal</span></code> is not the only tool for working with Cabal-packages. Due to the standardised format and a library for reading-<code class="docutils literal"><span class="pre">.cabal</span></code> files, there are several other special-purpose tools.</p>-</div>-<div class="section" id="what-s-in-a-package">-<h2>1.2. What’s in a package<a class="headerlink" href="#what-s-in-a-package" title="Permalink to this headline">¶</a></h2>-<p>A Cabal package consists of:</p>-<ul class="simple">-<li>Haskell software, including libraries, executables and tests</li>-<li>metadata about the package in a standard human and machine readable-format (the “<code class="docutils literal"><span class="pre">.cabal</span></code>” file)</li>-<li>a standard interface to build the package (the “<code class="docutils literal"><span class="pre">Setup.hs</span></code>” file)</li>-</ul>-<p>The <code class="docutils literal"><span class="pre">.cabal</span></code> file contains information about the package, supplied by-the package author. In particular it lists the other Cabal packages that-the package depends on.</p>-<p>For full details on what goes in the <code class="docutils literal"><span class="pre">.cabal</span></code> and <code class="docutils literal"><span class="pre">Setup.hs</span></code> files,-and for all the other features provided by the build system, see the-section on <a class="reference external" href="developing-packages.html">developing packages</a>.</p>-</div>-<div class="section" id="cabal-featureset">-<h2>1.3. Cabal featureset<a class="headerlink" href="#cabal-featureset" title="Permalink to this headline">¶</a></h2>-<p>Cabal and its associated tools and websites covers:</p>-<ul class="simple">-<li>a software build system</li>-<li>software configuration</li>-<li>packaging for distribution</li>-<li>automated package management<ul>-<li>natively using the <code class="docutils literal"><span class="pre">cabal</span></code> command line tool; or</li>-<li>by translation into native package formats such as RPM or deb</li>-</ul>-</li>-<li>web and local Cabal package archives<ul>-<li>central Hackage website with 1000’s of Cabal packages</li>-</ul>-</li>-</ul>-<p>Some parts of the system can be used without others. In particular the-built-in build system for simple packages is optional: it is possible to-use custom build systems.</p>-</div>-<div class="section" id="similar-systems">-<h2>1.4. Similar systems<a class="headerlink" href="#similar-systems" title="Permalink to this headline">¶</a></h2>-<p>The Cabal system is roughly comparable with the system of Python Eggs,-Ruby Gems or Perl distributions. Each system has a notion of-distributable packages, and has tools to manage the process of-distributing and installing packages.</p>-<p>Hackage is an online archive of Cabal packages. It is roughly comparable-to CPAN but with rather fewer packages (around 5,000 vs 28,000).</p>-<p>Cabal is often compared with autoconf and automake and there is some-overlap in functionality. The most obvious similarity is that the-command line interface for actually configuring and building packages-follows the same steps and has many of the same configuration-parameters.</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> ./configure --prefix<span class="o">=</span>...-<span class="gp">$</span> make-<span class="gp">$</span> make install-</pre></div>-</div>-<p>compared to</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal configure --prefix<span class="o">=</span>...-<span class="gp">$</span> cabal build-<span class="gp">$</span> cabal install-</pre></div>-</div>-<p>Cabal’s build system for simple packages is considerably less flexible-than make/automake, but has builtin knowledge of how to build Haskell-code and requires very little manual configuration. Cabal’s simple build-system is also portable to Windows, without needing a Unix-like-environment such as cygwin/mingwin.</p>-<p>Compared to autoconf, Cabal takes a somewhat different approach to-package configuration. Cabal’s approach is designed for automated-package management. Instead of having a configure script that tests for-whether dependencies are available, Cabal packages specify their-dependencies. There is some scope for optional and conditional-dependencies. By having package authors specify dependencies it makes it-possible for tools to install a package and all of its dependencies-automatically. It also makes it possible to translate (in a-mostly-automatically way) into another package format like RPM or deb-which also have automatic dependency resolution.</p>-</div>-</div>--- </div>- <div class="articleComments">- - </div>- </div>- <footer>- - <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">- - <a href="config-and-install.html" class="btn btn-neutral float-right" title="2. Configuration and Installing Packages" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>- - - <a href="index.html" class="btn btn-neutral" title="Welcome to the Cabal User Guide" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>- - </div>- -- <hr/>-- <div role="contentinfo">- <p>- © Copyright 2003-2017, Cabal Team.-- </p>- </div>- Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. --</footer>-- </div>- </div>-- </section>-- </div>- --- -- <script type="text/javascript">- var DOCUMENTATION_OPTIONS = {- URL_ROOT:'./',- VERSION:'2.0',- COLLAPSE_INDEX:false,- FILE_SUFFIX:'.html',- HAS_SOURCE: true,- SOURCELINK_SUFFIX: '.txt'- };- </script>- <script type="text/javascript" src="_static/jquery.js"></script>- <script type="text/javascript" src="_static/underscore.js"></script>- <script type="text/javascript" src="_static/doctools.js"></script>-- -- - - <script type="text/javascript" src="_static/js/theme.js"></script>- -- - - <script type="text/javascript">- jQuery(function () {- SphinxRtdTheme.StickyNav.enable();- });- </script>- --</body>-</html>
@@ -1,357 +0,0 @@---<!DOCTYPE html>-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->-<head>- <meta charset="utf-8">- - <meta name="viewport" content="width=device-width, initial-scale=1.0">- - <title>4.1. Reporting bugs and deficiencies — Cabal <release> User's Guide</title>- -- - - - -- -- - - -- -- - - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />- -- -- - <link rel="index" title="Index"- href="genindex.html"/>- <link rel="search" title="Search" href="search.html"/>- <link rel="top" title="Cabal <release> User's Guide" href="index.html"/>- <link rel="up" title="4. Reporting Bugs and Stability of Cabal Interfaces" href="bugs-and-stability.html"/>- <link rel="next" title="5. Nix-style Local Builds" href="nix-local-build-overview.html"/>- <link rel="prev" title="4. Reporting Bugs and Stability of Cabal Interfaces" href="bugs-and-stability.html"/> -- - <script src="_static/js/modernizr.min.js"></script>--</head>--<body class="wy-body-for-nav" role="document">-- - <div class="wy-grid-for-nav">-- - <nav data-toggle="wy-nav-shift" class="wy-nav-side">- <div class="wy-side-scroll">- <div class="wy-side-nav-search">- -- - <a href="index.html" class="icon icon-home"> Cabal- -- - - <img src="_static/Cabal-dark.png" class="logo" />- - </a>-- - - - <div class="version">- 2.0- </div>- - -- -<div role="search">- <form id="rtd-search-form" class="wy-form" action="search.html" method="get">- <input type="text" name="q" placeholder="Search docs" />- <input type="hidden" name="check_keywords" value="yes" />- <input type="hidden" name="area" value="default" />- </form>-</div>-- - </div>-- <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">- - - - - - - - <ul class="current">-<li class="toctree-l1"><a class="reference internal" href="intro.html">1. Introduction</a></li>-<li class="toctree-l1"><a class="reference internal" href="config-and-install.html">2. Configuration and Installing Packages</a></li>-<li class="toctree-l1"><a class="reference internal" href="concepts-and-development.html">3. Package Concepts and Development</a></li>-<li class="toctree-l1 current"><a class="reference internal" href="bugs-and-stability.html">4. Reporting Bugs and Stability of Cabal Interfaces</a><ul class="current">-<li class="toctree-l2 current"><a class="current reference internal" href="#">4.1. Reporting bugs and deficiencies</a></li>-<li class="toctree-l2"><a class="reference internal" href="#stability-of-cabal-interfaces">4.2. Stability of Cabal interfaces</a><ul>-<li class="toctree-l3"><a class="reference internal" href="#cabal-file-format">4.2.1. Cabal file format</a></li>-<li class="toctree-l3"><a class="reference internal" href="#command-line-interface">4.2.2. Command-line interface</a><ul>-<li class="toctree-l4"><a class="reference internal" href="#very-stable-command-line-interfaces">4.2.2.1. Very Stable Command-line interfaces</a></li>-<li class="toctree-l4"><a class="reference internal" href="#stable-command-line-interfaces">4.2.2.2. Stable Command-line interfaces</a></li>-<li class="toctree-l4"><a class="reference internal" href="#unstable-command-line">4.2.2.3. Unstable command-line</a></li>-</ul>-</li>-<li class="toctree-l3"><a class="reference internal" href="#functions-and-types">4.2.3. Functions and Types</a><ul>-<li class="toctree-l4"><a class="reference internal" href="#very-stable-api">4.2.3.1. Very Stable API</a></li>-<li class="toctree-l4"><a class="reference internal" href="#semi-stable-api">4.2.3.2. Semi-stable API</a></li>-<li class="toctree-l4"><a class="reference internal" href="#unstable-api">4.2.3.3. Unstable API</a></li>-</ul>-</li>-<li class="toctree-l3"><a class="reference internal" href="#hackage">4.2.4. Hackage</a></li>-</ul>-</li>-</ul>-</li>-<li class="toctree-l1"><a class="reference internal" href="nix-local-build-overview.html">5. Nix-style Local Builds</a></li>-<li class="toctree-l1"><a class="reference internal" href="nix-integration.html">6. Nix Integration</a></li>-</ul>-- - - <a href="cabal-projectindex.html">Reference</a>- <a href="genindex.html">Index</a>-- </div>- </div>- </nav>-- <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">-- - <nav class="wy-nav-top" role="navigation" aria-label="top navigation">- - <i data-toggle="wy-nav-top" class="fa fa-bars"></i>- <a href="index.html">Cabal</a>- - </nav>--- - <div class="wy-nav-content">- <div class="rst-content">- ----------------<div role="navigation" aria-label="breadcrumbs navigation">-- <ul class="wy-breadcrumbs">- - <li><a href="index.html">Docs</a> »</li>- - <li><a href="bugs-and-stability.html">4. Reporting Bugs and Stability of Cabal Interfaces</a> »</li>- - <li>4.1. Reporting bugs and deficiencies</li>- - - <li class="wy-breadcrumbs-aside">- - - <a href="_sources/misc.rst.txt" rel="nofollow"> View page source</a>- - - </li>- - </ul>-- - <hr/>-</div>- <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">- <div itemprop="articleBody">- - <div class="section" id="reporting-bugs-and-deficiencies">-<h1>4.1. Reporting bugs and deficiencies<a class="headerlink" href="#reporting-bugs-and-deficiencies" title="Permalink to this headline">¶</a></h1>-<p>Please report any flaws or feature requests in the <a class="reference external" href="https://github.com/haskell/cabal/issues">bug-tracker</a>.</p>-<p>For general discussion or queries email the libraries mailing list-<a class="reference external" href="mailto:libraries%40haskell.org">libraries<span>@</span>haskell<span>.</span>org</a>. There is also a development mailing list-<a class="reference external" href="mailto:cabal-devel%40haskell.org">cabal-devel<span>@</span>haskell<span>.</span>org</a>.</p>-</div>-<div class="section" id="stability-of-cabal-interfaces">-<h1>4.2. Stability of Cabal interfaces<a class="headerlink" href="#stability-of-cabal-interfaces" title="Permalink to this headline">¶</a></h1>-<p>The Cabal library and related infrastructure is still under active-development. New features are being added and limitations and bugs are-being fixed. This requires internal changes and often user visible-changes as well. We therefore cannot promise complete future-proof-stability, at least not without halting all development work.</p>-<p>This section documents the aspects of the Cabal interface that we can-promise to keep stable and which bits are subject to change.</p>-<div class="section" id="cabal-file-format">-<h2>4.2.1. Cabal file format<a class="headerlink" href="#cabal-file-format" title="Permalink to this headline">¶</a></h2>-<p>This is backwards compatible and mostly forwards compatible. New fields-can be added without breaking older versions of Cabal. Fields can be-deprecated without breaking older packages.</p>-</div>-<div class="section" id="command-line-interface">-<h2>4.2.2. Command-line interface<a class="headerlink" href="#command-line-interface" title="Permalink to this headline">¶</a></h2>-<div class="section" id="very-stable-command-line-interfaces">-<h3>4.2.2.1. Very Stable Command-line interfaces<a class="headerlink" href="#very-stable-command-line-interfaces" title="Permalink to this headline">¶</a></h3>-<ul class="simple">-<li><code class="docutils literal"><span class="pre">./setup</span> <span class="pre">configure</span></code></li>-<li><code class="docutils literal"><span class="pre">--prefix</span></code></li>-<li><code class="docutils literal"><span class="pre">--user</span></code></li>-<li><code class="docutils literal"><span class="pre">--ghc</span></code>, <code class="docutils literal"><span class="pre">--uhc</span></code></li>-<li><code class="docutils literal"><span class="pre">--verbose</span></code></li>-<li><code class="docutils literal"><span class="pre">--prefix</span></code></li>-<li><code class="docutils literal"><span class="pre">./setup</span> <span class="pre">build</span></code></li>-<li><code class="docutils literal"><span class="pre">./setup</span> <span class="pre">install</span></code></li>-<li><code class="docutils literal"><span class="pre">./setup</span> <span class="pre">register</span></code></li>-<li><code class="docutils literal"><span class="pre">./setup</span> <span class="pre">copy</span></code></li>-</ul>-</div>-<div class="section" id="stable-command-line-interfaces">-<h3>4.2.2.2. Stable Command-line interfaces<a class="headerlink" href="#stable-command-line-interfaces" title="Permalink to this headline">¶</a></h3>-</div>-<div class="section" id="unstable-command-line">-<h3>4.2.2.3. Unstable command-line<a class="headerlink" href="#unstable-command-line" title="Permalink to this headline">¶</a></h3>-</div>-</div>-<div class="section" id="functions-and-types">-<h2>4.2.3. Functions and Types<a class="headerlink" href="#functions-and-types" title="Permalink to this headline">¶</a></h2>-<p>The Cabal library follows the <a class="reference external" href="http://pvp.haskell.org/">Package Versioning Policy</a>.-This means that within a stable major release, for example 1.2.x, there-will be no incompatible API changes. But minor versions increments, for-example 1.2.3, indicate compatible API additions.</p>-<p>The Package Versioning Policy does not require any API guarantees-between major releases, for example between 1.2.x and 1.4.x. In practise-of course not everything changes between major releases. Some parts of-the API are more prone to change than others. The rest of this section-gives some informal advice on what level of API stability you can expect-between major releases.</p>-<div class="section" id="very-stable-api">-<h3>4.2.3.1. Very Stable API<a class="headerlink" href="#very-stable-api" title="Permalink to this headline">¶</a></h3>-<ul class="simple">-<li><code class="docutils literal"><span class="pre">defaultMain</span></code></li>-<li><code class="docutils literal"><span class="pre">defaultMainWithHooks</span> <span class="pre">defaultUserHooks</span></code></li>-</ul>-<p>But regular <code class="docutils literal"><span class="pre">defaultMainWithHooks</span></code> isn’t stable since <code class="docutils literal"><span class="pre">UserHooks</span></code>-changes.</p>-</div>-<div class="section" id="semi-stable-api">-<h3>4.2.3.2. Semi-stable API<a class="headerlink" href="#semi-stable-api" title="Permalink to this headline">¶</a></h3>-<ul class="simple">-<li><code class="docutils literal"><span class="pre">UserHooks</span></code> The hooks API will change in the future</li>-<li><code class="docutils literal"><span class="pre">Distribution.*</span></code> is mostly declarative information about packages-and is somewhat stable.</li>-</ul>-</div>-<div class="section" id="unstable-api">-<h3>4.2.3.3. Unstable API<a class="headerlink" href="#unstable-api" title="Permalink to this headline">¶</a></h3>-<p>Everything under <code class="docutils literal"><span class="pre">Distribution.Simple.*</span></code> has no stability guarantee.</p>-</div>-</div>-<div class="section" id="hackage">-<h2>4.2.4. Hackage<a class="headerlink" href="#hackage" title="Permalink to this headline">¶</a></h2>-<p>The index format is a partly stable interface. It consists of a tar.gz-file that contains directories with <code class="docutils literal"><span class="pre">.cabal</span></code> files in. In future it-may contain more kinds of files so do not assume every file is a-<code class="docutils literal"><span class="pre">.cabal</span></code> file. Incompatible revisions to the format would involve-bumping the name of the index file, i.e., <code class="docutils literal"><span class="pre">00-index.tar.gz</span></code>,-<code class="docutils literal"><span class="pre">01-index.tar.gz</span></code> etc.</p>-</div>-</div>--- </div>- <div class="articleComments">- - </div>- </div>- <footer>- - <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">- - <a href="nix-local-build-overview.html" class="btn btn-neutral float-right" title="5. Nix-style Local Builds" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>- - - <a href="bugs-and-stability.html" class="btn btn-neutral" title="4. Reporting Bugs and Stability of Cabal Interfaces" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>- - </div>- -- <hr/>-- <div role="contentinfo">- <p>- © Copyright 2003-2017, Cabal Team.-- </p>- </div>- Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. --</footer>-- </div>- </div>-- </section>-- </div>- --- -- <script type="text/javascript">- var DOCUMENTATION_OPTIONS = {- URL_ROOT:'./',- VERSION:'2.0',- COLLAPSE_INDEX:false,- FILE_SUFFIX:'.html',- HAS_SOURCE: true,- SOURCELINK_SUFFIX: '.txt'- };- </script>- <script type="text/javascript" src="_static/jquery.js"></script>- <script type="text/javascript" src="_static/underscore.js"></script>- <script type="text/javascript" src="_static/doctools.js"></script>-- -- - - <script type="text/javascript" src="_static/js/theme.js"></script>- -- - - <script type="text/javascript">- jQuery(function () {- SphinxRtdTheme.StickyNav.enable();- });- </script>- --</body>-</html>
@@ -1,286 +0,0 @@---<!DOCTYPE html>-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->-<head>- <meta charset="utf-8">- - <meta name="viewport" content="width=device-width, initial-scale=1.0">- - <title>6. Nix Integration — Cabal <release> User's Guide</title>- -- - - - -- -- - - -- -- - - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />- -- -- - <link rel="index" title="Index"- href="genindex.html"/>- <link rel="search" title="Search" href="search.html"/>- <link rel="top" title="Cabal <release> User's Guide" href="index.html"/>- <link rel="prev" title="5.1. Quickstart" href="nix-local-build.html"/> -- - <script src="_static/js/modernizr.min.js"></script>--</head>--<body class="wy-body-for-nav" role="document">-- - <div class="wy-grid-for-nav">-- - <nav data-toggle="wy-nav-shift" class="wy-nav-side">- <div class="wy-side-scroll">- <div class="wy-side-nav-search">- -- - <a href="index.html" class="icon icon-home"> Cabal- -- - - <img src="_static/Cabal-dark.png" class="logo" />- - </a>-- - - - <div class="version">- 2.0- </div>- - -- -<div role="search">- <form id="rtd-search-form" class="wy-form" action="search.html" method="get">- <input type="text" name="q" placeholder="Search docs" />- <input type="hidden" name="check_keywords" value="yes" />- <input type="hidden" name="area" value="default" />- </form>-</div>-- - </div>-- <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">- - - - - - - - <ul class="current">-<li class="toctree-l1"><a class="reference internal" href="intro.html">1. Introduction</a></li>-<li class="toctree-l1"><a class="reference internal" href="config-and-install.html">2. Configuration and Installing Packages</a></li>-<li class="toctree-l1"><a class="reference internal" href="concepts-and-development.html">3. Package Concepts and Development</a></li>-<li class="toctree-l1"><a class="reference internal" href="bugs-and-stability.html">4. Reporting Bugs and Stability of Cabal Interfaces</a></li>-<li class="toctree-l1"><a class="reference internal" href="nix-local-build-overview.html">5. Nix-style Local Builds</a></li>-<li class="toctree-l1 current"><a class="current reference internal" href="#">6. Nix Integration</a><ul>-<li class="toctree-l2"><a class="reference internal" href="#enabling-nix-integration">6.1. Enabling Nix Integration</a></li>-<li class="toctree-l2"><a class="reference internal" href="#creating-nix-expressions">6.2. Creating Nix Expressions</a></li>-<li class="toctree-l2"><a class="reference internal" href="#nix-expression-evaluation">6.3. Nix Expression Evaluation</a></li>-<li class="toctree-l2"><a class="reference internal" href="#further-reading">6.4. Further Reading</a></li>-</ul>-</li>-</ul>-- - - <a href="cabal-projectindex.html">Reference</a>- <a href="genindex.html">Index</a>-- </div>- </div>- </nav>-- <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">-- - <nav class="wy-nav-top" role="navigation" aria-label="top navigation">- - <i data-toggle="wy-nav-top" class="fa fa-bars"></i>- <a href="index.html">Cabal</a>- - </nav>--- - <div class="wy-nav-content">- <div class="rst-content">- ----------------<div role="navigation" aria-label="breadcrumbs navigation">-- <ul class="wy-breadcrumbs">- - <li><a href="index.html">Docs</a> »</li>- - <li>6. Nix Integration</li>- - - <li class="wy-breadcrumbs-aside">- - - <a href="_sources/nix-integration.rst.txt" rel="nofollow"> View page source</a>- - - </li>- - </ul>-- - <hr/>-</div>- <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">- <div itemprop="articleBody">- - <div class="section" id="nix-integration">-<h1>6. Nix Integration<a class="headerlink" href="#nix-integration" title="Permalink to this headline">¶</a></h1>-<p><a class="reference external" href="http://nixos.org/nix/">Nix</a> is a package manager popular with some Haskell developers due to its focus on reliability and reproducibility. <code class="docutils literal"><span class="pre">cabal</span></code> now has the ability to integrate with Nix for dependency management during local package development.</p>-<div class="section" id="enabling-nix-integration">-<h2>6.1. Enabling Nix Integration<a class="headerlink" href="#enabling-nix-integration" title="Permalink to this headline">¶</a></h2>-<p>To enable Nix integration, simply pass the <code class="docutils literal"><span class="pre">--enable-nix</span></code> global option when you call <code class="docutils literal"><span class="pre">cabal</span></code>. To use this option everywhere, edit your <code class="docutils literal"><span class="pre">$HOME/.cabal/config</span></code> file to include:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">nix</span><span class="p">:</span> True-</pre></div>-</div>-<p>If the package (which must be locally unpacked) provides a <code class="docutils literal"><span class="pre">shell.nix</span></code> or <code class="docutils literal"><span class="pre">default.nix</span></code> file, this flag will cause <code class="docutils literal"><span class="pre">cabal</span></code> to run most commands through <code class="docutils literal"><span class="pre">nix-shell</span></code>. If both expressions are present, <code class="docutils literal"><span class="pre">shell.nix</span></code> is preferred. The following commands are affected:</p>-<ul class="simple">-<li><code class="docutils literal"><span class="pre">cabal</span> <span class="pre">configure</span></code></li>-<li><code class="docutils literal"><span class="pre">cabal</span> <span class="pre">build</span></code></li>-<li><code class="docutils literal"><span class="pre">cabal</span> <span class="pre">repl</span></code></li>-<li><code class="docutils literal"><span class="pre">cabal</span> <span class="pre">install</span></code> (only if installing into a sandbox)</li>-<li><code class="docutils literal"><span class="pre">cabal</span> <span class="pre">haddock</span></code></li>-<li><code class="docutils literal"><span class="pre">cabal</span> <span class="pre">freeze</span></code></li>-<li><code class="docutils literal"><span class="pre">cabal</span> <span class="pre">gen-bounds</span></code></li>-<li><code class="docutils literal"><span class="pre">cabal</span> <span class="pre">run</span></code></li>-</ul>-<p>If the package does not provide an expression, <code class="docutils literal"><span class="pre">cabal</span></code> runs normally.</p>-</div>-<div class="section" id="creating-nix-expressions">-<h2>6.2. Creating Nix Expressions<a class="headerlink" href="#creating-nix-expressions" title="Permalink to this headline">¶</a></h2>-<p>The Nix package manager is based on a lazy, pure, functional programming language; packages are defined by expressions in this language. The fastest way to create a Nix expression for a Cabal package is with the <a class="reference external" href="https://github.com/NixOS/cabal2nix">cabal2nix</a> tool. To create a <code class="docutils literal"><span class="pre">shell.nix</span></code> expression for the package in the current directory, run this command:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal2nix --shell ./. >shell.nix-</pre></div>-</div>-</div>-<div class="section" id="nix-expression-evaluation">-<h2>6.3. Nix Expression Evaluation<a class="headerlink" href="#nix-expression-evaluation" title="Permalink to this headline">¶</a></h2>-<p>(This section describes for advanced users how Nix expressions are evaluated.)</p>-<p>First, the Nix expression (<code class="docutils literal"><span class="pre">shell.nix</span></code> or <code class="docutils literal"><span class="pre">default.nix</span></code>) is instantiated with <code class="docutils literal"><span class="pre">nix-instantiate</span></code>. The <code class="docutils literal"><span class="pre">--add-root</span></code> and <code class="docutils literal"><span class="pre">--indirect</span></code> options are used to create an indirect root in the Cabal build directory, preventing Nix from garbage collecting the derivation while in use. The <code class="docutils literal"><span class="pre">IN_NIX_SHELL</span></code> environment variable is set so that <code class="docutils literal"><span class="pre">builtins.getEnv</span></code> works as it would in <code class="docutils literal"><span class="pre">nix-shell</span></code>.</p>-<p>Next, the commands above are run through <code class="docutils literal"><span class="pre">nix-shell</span></code> using the instantiated derivation. Again, <code class="docutils literal"><span class="pre">--add-root</span></code> and <code class="docutils literal"><span class="pre">--indirect</span></code> are used to prevent Nix from garbage collecting the packages in the environment. The child <code class="docutils literal"><span class="pre">cabal</span></code> process reads the <code class="docutils literal"><span class="pre">CABAL_IN_NIX_SHELL</span></code> environment variable to prevent it from spawning additional child shells.</p>-</div>-<div class="section" id="further-reading">-<h2>6.4. Further Reading<a class="headerlink" href="#further-reading" title="Permalink to this headline">¶</a></h2>-<p>The <a class="reference external" href="http://nixos.org/nix/manual/#chap-writing-nix-expressions">Nix manual</a> provides further instructions for writing Nix expressions. The <a class="reference external" href="http://nixos.org/nixpkgs/manual/#users-guide-to-the-haskell-infrastructure">Nixpkgs manual</a> describes the infrastructure provided for Haskell packages.</p>-</div>-</div>--- </div>- <div class="articleComments">- - </div>- </div>- <footer>- - <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">- - - <a href="nix-local-build.html" class="btn btn-neutral" title="5.1. Quickstart" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>- - </div>- -- <hr/>-- <div role="contentinfo">- <p>- © Copyright 2003-2017, Cabal Team.-- </p>- </div>- Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. --</footer>-- </div>- </div>-- </section>-- </div>- --- -- <script type="text/javascript">- var DOCUMENTATION_OPTIONS = {- URL_ROOT:'./',- VERSION:'2.0',- COLLAPSE_INDEX:false,- FILE_SUFFIX:'.html',- HAS_SOURCE: true,- SOURCELINK_SUFFIX: '.txt'- };- </script>- <script type="text/javascript" src="_static/jquery.js"></script>- <script type="text/javascript" src="_static/underscore.js"></script>- <script type="text/javascript" src="_static/doctools.js"></script>-- -- - - <script type="text/javascript" src="_static/js/theme.js"></script>- -- - - <script type="text/javascript">- jQuery(function () {- SphinxRtdTheme.StickyNav.enable();- });- </script>- --</body>-</html>
@@ -1,322 +0,0 @@---<!DOCTYPE html>-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->-<head>- <meta charset="utf-8">- - <meta name="viewport" content="width=device-width, initial-scale=1.0">- - <title>5. Nix-style Local Builds — Cabal <release> User's Guide</title>- -- - - - -- -- - - -- -- - - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />- -- -- - <link rel="index" title="Index"- href="genindex.html"/>- <link rel="search" title="Search" href="search.html"/>- <link rel="top" title="Cabal <release> User's Guide" href="index.html"/>- <link rel="next" title="5.1. Quickstart" href="nix-local-build.html"/>- <link rel="prev" title="4.1. Reporting bugs and deficiencies" href="misc.html"/> -- - <script src="_static/js/modernizr.min.js"></script>--</head>--<body class="wy-body-for-nav" role="document">-- - <div class="wy-grid-for-nav">-- - <nav data-toggle="wy-nav-shift" class="wy-nav-side">- <div class="wy-side-scroll">- <div class="wy-side-nav-search">- -- - <a href="index.html" class="icon icon-home"> Cabal- -- - - <img src="_static/Cabal-dark.png" class="logo" />- - </a>-- - - - <div class="version">- 2.0- </div>- - -- -<div role="search">- <form id="rtd-search-form" class="wy-form" action="search.html" method="get">- <input type="text" name="q" placeholder="Search docs" />- <input type="hidden" name="check_keywords" value="yes" />- <input type="hidden" name="area" value="default" />- </form>-</div>-- - </div>-- <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">- - - - - - - - <ul class="current">-<li class="toctree-l1"><a class="reference internal" href="intro.html">1. Introduction</a></li>-<li class="toctree-l1"><a class="reference internal" href="config-and-install.html">2. Configuration and Installing Packages</a></li>-<li class="toctree-l1"><a class="reference internal" href="concepts-and-development.html">3. Package Concepts and Development</a></li>-<li class="toctree-l1"><a class="reference internal" href="bugs-and-stability.html">4. Reporting Bugs and Stability of Cabal Interfaces</a></li>-<li class="toctree-l1 current"><a class="current reference internal" href="#">5. Nix-style Local Builds</a><ul>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html">5.1. Quickstart</a></li>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#cookbook">5.2. Cookbook</a></li>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#how-it-works">5.3. How it works</a></li>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#commands">5.4. Commands</a></li>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#configuring-builds-with-cabal-project">5.5. Configuring builds with cabal.project</a></li>-</ul>-</li>-<li class="toctree-l1"><a class="reference internal" href="nix-integration.html">6. Nix Integration</a></li>-</ul>-- - - <a href="cabal-projectindex.html">Reference</a>- <a href="genindex.html">Index</a>-- </div>- </div>- </nav>-- <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">-- - <nav class="wy-nav-top" role="navigation" aria-label="top navigation">- - <i data-toggle="wy-nav-top" class="fa fa-bars"></i>- <a href="index.html">Cabal</a>- - </nav>--- - <div class="wy-nav-content">- <div class="rst-content">- ----------------<div role="navigation" aria-label="breadcrumbs navigation">-- <ul class="wy-breadcrumbs">- - <li><a href="index.html">Docs</a> »</li>- - <li>5. Nix-style Local Builds</li>- - - <li class="wy-breadcrumbs-aside">- - - <a href="_sources/nix-local-build-overview.rst.txt" rel="nofollow"> View page source</a>- - - </li>- - </ul>-- - <hr/>-</div>- <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">- <div itemprop="articleBody">- - <div class="section" id="nix-style-local-builds">-<h1>5. Nix-style Local Builds<a class="headerlink" href="#nix-style-local-builds" title="Permalink to this headline">¶</a></h1>-<p>Nix-style local builds are a new build system implementation inspired by Nix.-The Nix-style local build system is commonly called “new-build” for short after the <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-*</span></code> family of commands that control it.-However those names are only temporary until Nix-style local builds becomes the default.</p>-<p>Nix-style local builds combine the best of non-sandboxed and sandboxed Cabal:</p>-<ol class="arabic simple">-<li>Like sandboxed Cabal today, we build sets of independent local-packages deterministically and independent of any global state.-new-build will never tell you that it can’t build your package-because it would result in a “dangerous reinstall.” Given a-particular state of the Hackage index, your build is completely-reproducible. For example, you no longer need to compile packages-with profiling ahead of time; just request profiling and new-build-will rebuild all its dependencies with profiling automatically.</li>-<li>Like non-sandboxed Cabal today, builds of external packages are-cached in <code class="docutils literal"><span class="pre">~/.cabal/store</span></code>, so that a package can be built once,-and then reused anywhere else it is also used. No need to continually-rebuild dependencies whenever you make a new sandbox: dependencies-which can be shared, are shared.</li>-</ol>-<p>Nix-style local builds were first released as beta in cabal-install 1.24.-They currently work with all versions of GHC supported by that release: GHC 7.0 and later.</p>-<p>Some features described in this manual are not implemented. If you need-them, please give us a shout and we’ll prioritize accordingly.</p>-<div class="toctree-wrapper compound">-<ul>-<li class="toctree-l1"><a class="reference internal" href="nix-local-build.html">5.1. Quickstart</a><ul>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#developing-multiple-packages">5.1.1. Developing multiple packages</a></li>-</ul>-</li>-<li class="toctree-l1"><a class="reference internal" href="nix-local-build.html#cookbook">5.2. Cookbook</a><ul>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#how-can-i-profile-my-library-application">5.2.1. How can I profile my library/application?</a></li>-</ul>-</li>-<li class="toctree-l1"><a class="reference internal" href="nix-local-build.html#how-it-works">5.3. How it works</a><ul>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#local-versus-external-packages">5.3.1. Local versus external packages</a></li>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#where-are-my-build-products">5.3.2. Where are my build products?</a></li>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#caching">5.3.3. Caching</a></li>-</ul>-</li>-<li class="toctree-l1"><a class="reference internal" href="nix-local-build.html#commands">5.4. Commands</a><ul>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#cabal-new-configure">5.4.1. cabal new-configure</a></li>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#cabal-new-build">5.4.2. cabal new-build</a></li>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#cabal-new-repl">5.4.3. cabal new-repl</a></li>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#cabal-new-freeze">5.4.4. cabal new-freeze</a></li>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#unsupported-commands">5.4.5. Unsupported commands</a></li>-</ul>-</li>-<li class="toctree-l1"><a class="reference internal" href="nix-local-build.html#configuring-builds-with-cabal-project">5.5. Configuring builds with cabal.project</a><ul>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#specifying-the-local-packages">5.5.1. Specifying the local packages</a></li>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#global-configuration-options">5.5.2. Global configuration options</a></li>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#solver-configuration-options">5.5.3. Solver configuration options</a></li>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#package-configuration-options">5.5.4. Package configuration options</a><ul>-<li class="toctree-l3"><a class="reference internal" href="nix-local-build.html#object-code-options">5.5.4.1. Object code options</a></li>-<li class="toctree-l3"><a class="reference internal" href="nix-local-build.html#executable-options">5.5.4.2. Executable options</a></li>-<li class="toctree-l3"><a class="reference internal" href="nix-local-build.html#dynamic-linking-options">5.5.4.3. Dynamic linking options</a></li>-<li class="toctree-l3"><a class="reference internal" href="nix-local-build.html#foreign-function-interface-options">5.5.4.4. Foreign function interface options</a></li>-<li class="toctree-l3"><a class="reference internal" href="nix-local-build.html#profiling-options">5.5.4.5. Profiling options</a></li>-<li class="toctree-l3"><a class="reference internal" href="nix-local-build.html#coverage-options">5.5.4.6. Coverage options</a></li>-<li class="toctree-l3"><a class="reference internal" href="nix-local-build.html#haddock-options">5.5.4.7. Haddock options</a></li>-</ul>-</li>-<li class="toctree-l2"><a class="reference internal" href="nix-local-build.html#advanced-global-configuration-options">5.5.5. Advanced global configuration options</a><ul>-<li class="toctree-l3"><a class="reference internal" href="nix-local-build.html#advanced-solver-options">5.5.5.1. Advanced solver options</a></li>-</ul>-</li>-</ul>-</li>-</ul>-</div>-</div>--- </div>- <div class="articleComments">- - </div>- </div>- <footer>- - <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">- - <a href="nix-local-build.html" class="btn btn-neutral float-right" title="5.1. Quickstart" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>- - - <a href="misc.html" class="btn btn-neutral" title="4.1. Reporting bugs and deficiencies" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>- - </div>- -- <hr/>-- <div role="contentinfo">- <p>- © Copyright 2003-2017, Cabal Team.-- </p>- </div>- Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. --</footer>-- </div>- </div>-- </section>-- </div>- --- -- <script type="text/javascript">- var DOCUMENTATION_OPTIONS = {- URL_ROOT:'./',- VERSION:'2.0',- COLLAPSE_INDEX:false,- FILE_SUFFIX:'.html',- HAS_SOURCE: true,- SOURCELINK_SUFFIX: '.txt'- };- </script>- <script type="text/javascript" src="_static/jquery.js"></script>- <script type="text/javascript" src="_static/underscore.js"></script>- <script type="text/javascript" src="_static/doctools.js"></script>-- -- - - <script type="text/javascript" src="_static/js/theme.js"></script>- -- - - <script type="text/javascript">- jQuery(function () {- SphinxRtdTheme.StickyNav.enable();- });- </script>- --</body>-</html>
@@ -1,2293 +0,0 @@---<!DOCTYPE html>-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->-<head>- <meta charset="utf-8">- - <meta name="viewport" content="width=device-width, initial-scale=1.0">- - <title>5.1. Quickstart — Cabal <release> User's Guide</title>- -- - - - -- -- - - -- -- - - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />- -- -- - <link rel="index" title="Index"- href="genindex.html"/>- <link rel="search" title="Search" href="search.html"/>- <link rel="top" title="Cabal <release> User's Guide" href="index.html"/>- <link rel="up" title="5. Nix-style Local Builds" href="nix-local-build-overview.html"/>- <link rel="next" title="6. Nix Integration" href="nix-integration.html"/>- <link rel="prev" title="5. Nix-style Local Builds" href="nix-local-build-overview.html"/> -- - <script src="_static/js/modernizr.min.js"></script>--</head>--<body class="wy-body-for-nav" role="document">-- - <div class="wy-grid-for-nav">-- - <nav data-toggle="wy-nav-shift" class="wy-nav-side">- <div class="wy-side-scroll">- <div class="wy-side-nav-search">- -- - <a href="index.html" class="icon icon-home"> Cabal- -- - - <img src="_static/Cabal-dark.png" class="logo" />- - </a>-- - - - <div class="version">- 2.0- </div>- - -- -<div role="search">- <form id="rtd-search-form" class="wy-form" action="search.html" method="get">- <input type="text" name="q" placeholder="Search docs" />- <input type="hidden" name="check_keywords" value="yes" />- <input type="hidden" name="area" value="default" />- </form>-</div>-- - </div>-- <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">- - - - - - - - <ul class="current">-<li class="toctree-l1"><a class="reference internal" href="intro.html">1. Introduction</a></li>-<li class="toctree-l1"><a class="reference internal" href="config-and-install.html">2. Configuration and Installing Packages</a></li>-<li class="toctree-l1"><a class="reference internal" href="concepts-and-development.html">3. Package Concepts and Development</a></li>-<li class="toctree-l1"><a class="reference internal" href="bugs-and-stability.html">4. Reporting Bugs and Stability of Cabal Interfaces</a></li>-<li class="toctree-l1 current"><a class="reference internal" href="nix-local-build-overview.html">5. Nix-style Local Builds</a><ul class="current">-<li class="toctree-l2 current"><a class="current reference internal" href="#">5.1. Quickstart</a><ul>-<li class="toctree-l3"><a class="reference internal" href="#developing-multiple-packages">5.1.1. Developing multiple packages</a></li>-</ul>-</li>-<li class="toctree-l2"><a class="reference internal" href="#cookbook">5.2. Cookbook</a><ul>-<li class="toctree-l3"><a class="reference internal" href="#how-can-i-profile-my-library-application">5.2.1. How can I profile my library/application?</a></li>-</ul>-</li>-<li class="toctree-l2"><a class="reference internal" href="#how-it-works">5.3. How it works</a><ul>-<li class="toctree-l3"><a class="reference internal" href="#local-versus-external-packages">5.3.1. Local versus external packages</a></li>-<li class="toctree-l3"><a class="reference internal" href="#where-are-my-build-products">5.3.2. Where are my build products?</a></li>-<li class="toctree-l3"><a class="reference internal" href="#caching">5.3.3. Caching</a></li>-</ul>-</li>-<li class="toctree-l2"><a class="reference internal" href="#commands">5.4. Commands</a><ul>-<li class="toctree-l3"><a class="reference internal" href="#cabal-new-configure">5.4.1. cabal new-configure</a></li>-<li class="toctree-l3"><a class="reference internal" href="#cabal-new-build">5.4.2. cabal new-build</a></li>-<li class="toctree-l3"><a class="reference internal" href="#cabal-new-repl">5.4.3. cabal new-repl</a></li>-<li class="toctree-l3"><a class="reference internal" href="#cabal-new-freeze">5.4.4. cabal new-freeze</a></li>-<li class="toctree-l3"><a class="reference internal" href="#unsupported-commands">5.4.5. Unsupported commands</a></li>-</ul>-</li>-<li class="toctree-l2"><a class="reference internal" href="#configuring-builds-with-cabal-project">5.5. Configuring builds with cabal.project</a><ul>-<li class="toctree-l3"><a class="reference internal" href="#specifying-the-local-packages">5.5.1. Specifying the local packages</a></li>-<li class="toctree-l3"><a class="reference internal" href="#global-configuration-options">5.5.2. Global configuration options</a></li>-<li class="toctree-l3"><a class="reference internal" href="#solver-configuration-options">5.5.3. Solver configuration options</a></li>-<li class="toctree-l3"><a class="reference internal" href="#package-configuration-options">5.5.4. Package configuration options</a><ul>-<li class="toctree-l4"><a class="reference internal" href="#object-code-options">5.5.4.1. Object code options</a></li>-<li class="toctree-l4"><a class="reference internal" href="#executable-options">5.5.4.2. Executable options</a></li>-<li class="toctree-l4"><a class="reference internal" href="#dynamic-linking-options">5.5.4.3. Dynamic linking options</a></li>-<li class="toctree-l4"><a class="reference internal" href="#foreign-function-interface-options">5.5.4.4. Foreign function interface options</a></li>-<li class="toctree-l4"><a class="reference internal" href="#profiling-options">5.5.4.5. Profiling options</a></li>-<li class="toctree-l4"><a class="reference internal" href="#coverage-options">5.5.4.6. Coverage options</a></li>-<li class="toctree-l4"><a class="reference internal" href="#haddock-options">5.5.4.7. Haddock options</a></li>-</ul>-</li>-<li class="toctree-l3"><a class="reference internal" href="#advanced-global-configuration-options">5.5.5. Advanced global configuration options</a><ul>-<li class="toctree-l4"><a class="reference internal" href="#advanced-solver-options">5.5.5.1. Advanced solver options</a></li>-</ul>-</li>-</ul>-</li>-</ul>-</li>-<li class="toctree-l1"><a class="reference internal" href="nix-integration.html">6. Nix Integration</a></li>-</ul>-- - - <a href="cabal-projectindex.html">Reference</a>- <a href="genindex.html">Index</a>-- </div>- </div>- </nav>-- <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">-- - <nav class="wy-nav-top" role="navigation" aria-label="top navigation">- - <i data-toggle="wy-nav-top" class="fa fa-bars"></i>- <a href="index.html">Cabal</a>- - </nav>--- - <div class="wy-nav-content">- <div class="rst-content">- ----------------<div role="navigation" aria-label="breadcrumbs navigation">-- <ul class="wy-breadcrumbs">- - <li><a href="index.html">Docs</a> »</li>- - <li><a href="nix-local-build-overview.html">5. Nix-style Local Builds</a> »</li>- - <li>5.1. Quickstart</li>- - - <li class="wy-breadcrumbs-aside">- - - <a href="_sources/nix-local-build.rst.txt" rel="nofollow"> View page source</a>- - - </li>- - </ul>-- - <hr/>-</div>- <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">- <div itemprop="articleBody">- - <div class="section" id="quickstart">-<h1>5.1. Quickstart<a class="headerlink" href="#quickstart" title="Permalink to this headline">¶</a></h1>-<p>Suppose that you are in a directory containing a single Cabal package-which you wish to build. You can configure and build it using Nix-style-local builds with this command (configuring is not necessary):</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal new-build-</pre></div>-</div>-<p>To open a GHCi shell with this package, use this command:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal new-repl-</pre></div>-</div>-<div class="section" id="developing-multiple-packages">-<h2>5.1.1. Developing multiple packages<a class="headerlink" href="#developing-multiple-packages" title="Permalink to this headline">¶</a></h2>-<p>Many Cabal projects involve multiple packages which need to be built-together. To build multiple Cabal packages, you need to first create a-<code class="docutils literal"><span class="pre">cabal.project</span></code> file which declares where all the local package-directories live. For example, in the Cabal repository, there is a root-directory with a folder per package, e.g., the folders <code class="docutils literal"><span class="pre">Cabal</span></code> and-<code class="docutils literal"><span class="pre">cabal-install</span></code>. The <code class="docutils literal"><span class="pre">cabal.project</span></code> file specifies each folder as-part of the project:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">packages</span><span class="p">:</span> Cabal/- cabal-install/-</pre></div>-</div>-<p>The expectation is that a <code class="docutils literal"><span class="pre">cabal.project</span></code> is checked into your source-control, to be used by all developers of a project. If you need to make-local changes, they can be placed in <code class="docutils literal"><span class="pre">cabal.project.local</span></code> (which-should not be checked in.)</p>-<p>Then, to build every component of every package, from the top-level-directory, run the command: (Warning: cabal-install-1.24 does NOT have-this behavior; you will need to upgrade to HEAD.)</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal new-build-</pre></div>-</div>-<p>To build a specific package, you can either run <code class="docutils literal"><span class="pre">new-build</span></code> from the-directory of the package in question:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> <span class="nb">cd</span> cabal-install-<span class="gp">$</span> cabal new-build-</pre></div>-</div>-<p>or you can pass the name of the package as an argument to-<code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-build</span></code> (this works in any subdirectory of the project):</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal new-build cabal-install-</pre></div>-</div>-<p>You can also specify a specific component of the package to build. For-example, to build a test suite named <code class="docutils literal"><span class="pre">package-tests</span></code>, use the command:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal new-build package-tests-</pre></div>-</div>-<p>Targets can be qualified with package names. So to request-<code class="docutils literal"><span class="pre">package-tests</span></code> <em>from</em> the <code class="docutils literal"><span class="pre">Cabal</span></code> package, use-<code class="docutils literal"><span class="pre">Cabal:package-tests</span></code>.</p>-<p>Unlike sandboxes, there is no need to setup a sandbox or <code class="docutils literal"><span class="pre">add-source</span></code>-projects; just check in <code class="docutils literal"><span class="pre">cabal.project</span></code> to your repository and-<code class="docutils literal"><span class="pre">new-build</span></code> will just work.</p>-</div>-</div>-<div class="section" id="cookbook">-<h1>5.2. Cookbook<a class="headerlink" href="#cookbook" title="Permalink to this headline">¶</a></h1>-<div class="section" id="how-can-i-profile-my-library-application">-<h2>5.2.1. How can I profile my library/application?<a class="headerlink" href="#how-can-i-profile-my-library-application" title="Permalink to this headline">¶</a></h2>-<p>First, make sure you have HEAD; 1.24 is affected by <a class="reference external" href="https://github.com/haskell/cabal/issues/3790">#3790</a>,-which means that if any project which transitively depends on a-package which has a Custom setup built against Cabal 1.22 or earlier-will silently not work.</p>-<p>Create or edit your <code class="docutils literal"><span class="pre">cabal.project.local</span></code>, adding the following-line:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="go">profiling: True</span>-</pre></div>-</div>-<p>Now, <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-build</span></code> will automatically build all libraries and-executables with profiling. You can fine-tune the profiling settings-for each package using <a class="reference internal" href="#cfg-field-profiling-detail" title="project.cabal profiling-detail field (since version: 1.23)"><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">profiling-detail</span></code></a>:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="go">package p</span>-<span class="go"> profiling-detail: toplevel-functions</span>-</pre></div>-</div>-<p>Alternately, you can call <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-build</span> <span class="pre">--enable-profiling</span></code> to-temporarily build with profiling.</p>-</div>-</div>-<div class="section" id="how-it-works">-<h1>5.3. How it works<a class="headerlink" href="#how-it-works" title="Permalink to this headline">¶</a></h1>-<div class="section" id="local-versus-external-packages">-<h2>5.3.1. Local versus external packages<a class="headerlink" href="#local-versus-external-packages" title="Permalink to this headline">¶</a></h2>-<p>One of the primary innovations of Nix-style local builds is the-distinction between local packages, which users edit and recompile and-must be built per-project, versus external packages, which can be cached-across projects. To be more precise:</p>-<ol class="arabic simple">-<li>A <strong>local package</strong> is one that is listed explicitly in the-<code class="docutils literal"><span class="pre">packages</span></code>, <code class="docutils literal"><span class="pre">optional-packages</span></code> or <code class="docutils literal"><span class="pre">extra-packages</span></code> field of a-project. Usually, these refer to packages whose source code lives-directly in a folder in your project (although, you can list an-arbitrary Hackage package in <code class="docutils literal"><span class="pre">extra-packages</span></code> to force it to be-treated as local).</li>-</ol>-<p>Local packages, as well as the external packages (below) which depend on-them, are built <strong>inplace</strong>, meaning that they are always built-specifically for the project and are not installed globally. Inplace-packages are not cached and not given unique hashes, which makes them-suitable for packages which you want to edit and recompile.</p>-<ol class="arabic simple" start="2">-<li>An <strong>external package</strong> is any package which is not listed in the-<code class="docutils literal"><span class="pre">packages</span></code> field. The source code for external packages is usually-retrieved from Hackage.</li>-</ol>-<p>When an external package does not depend on an inplace package, it can-be built and installed to a <strong>global</strong> store, which can be shared across-projects. These build products are identified by a hash that over all of-the inputs which would influence the compilation of a package (flags,-dependency selection, etc.). Just as in Nix, these hashes uniquely-identify the result of a build; if we compute this identifier and we-find that we already have this ID built, we can just use the already-built version.</p>-<p>The global package store is <code class="docutils literal"><span class="pre">~/.cabal/store</span></code> (configurable via-global <cite>store-dir</cite> option); if you need to clear your store for-whatever reason (e.g., to reclaim disk space or because the global-store is corrupted), deleting this directory is safe (<code class="docutils literal"><span class="pre">new-build</span></code>-will just rebuild everything it needs on its next invocation).</p>-<p>This split motivates some of the UI choices for Nix-style local build-commands. For example, flags passed to <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-build</span></code> are only-applied to <em>local</em> packages, so that adding a flag to-<code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-build</span></code> doesn’t necessitate a rebuild of <em>every</em> transitive-dependency in the global package store.</p>-<p>In cabal-install HEAD, Nix-style local builds also take advantage of a-new Cabal library feature, <a class="reference external" href="https://github.com/ezyang/ghc-proposals/blob/master/proposals/0000-componentized-cabal.rst">per-component-builds</a>,-where each component of a package is configured and built separately.-This can massively speed up rebuilds of packages with lots of components-(e.g., a package that defines multiple executables), as only one-executable needs to be rebuilt. Packages that use Custom setup scripts-are not currently built on a per-component basis.</p>-</div>-<div class="section" id="where-are-my-build-products">-<h2>5.3.2. Where are my build products?<a class="headerlink" href="#where-are-my-build-products" title="Permalink to this headline">¶</a></h2>-<p>A major deficiency in the current implementation of new-build is that-there is no programmatic way to access the location of build products.-The location of the build products is intended to be an internal-implementation detail of new-build, but we also understand that many-unimplemented features (e.g., <code class="docutils literal"><span class="pre">new-test</span></code>) can only be reasonably-worked around by accessing build products directly.</p>-<p>The location where build products can be found varies depending on the-version of cabal-install:</p>-<ul class="simple">-<li>In cabal-install-1.24, the dist directory for a package <code class="docutils literal"><span class="pre">p-0.1</span></code> is-stored in <code class="docutils literal"><span class="pre">dist-newstyle/build/p-0.1</span></code>. For example, if you built an-executable or test suite named <code class="docutils literal"><span class="pre">pexe</span></code>, it would be located at-<code class="docutils literal"><span class="pre">dist-newstyle/build/p-0.1/build/pexe/pexe</span></code>.</li>-<li>In cabal-install HEAD, the dist directory for a package <code class="docutils literal"><span class="pre">p-0.1</span></code>-defining a library built with GHC 8.0.1 on 64-bit Linux is-<code class="docutils literal"><span class="pre">dist-newstyle/build/x86_64-linux/ghc-8.0.1/p-0.1</span></code>. When-per-component builds are enabled (any non-Custom package), a-subcomponent like an executable or test suite named <code class="docutils literal"><span class="pre">pexe</span></code> will be-stored at-<code class="docutils literal"><span class="pre">dist-newstyle/build/x86_64-linux/ghc-8.0.1/p-0.1/c/pexe</span></code>; thus,-the full path of the executable is-<code class="docutils literal"><span class="pre">dist-newstyle/build/x86_64-linux/ghc-8.0.1/p-0.1/c/pexe/build/pexe/pexe</span></code>-(you can see why we want this to be an implementation detail!)</li>-</ul>-<p>The paths are a bit longer in HEAD but the benefit is that you can-transparently have multiple builds with different versions of GHC. We-plan to add the ability to create aliases for certain build-configurations, and more convenient paths to access particularly useful-build products like executables.</p>-</div>-<div class="section" id="caching">-<h2>5.3.3. Caching<a class="headerlink" href="#caching" title="Permalink to this headline">¶</a></h2>-<p>Nix-style local builds sport a robust caching system which help reduce-the time it takes to execute a rebuild cycle. While the details of how-<code class="docutils literal"><span class="pre">cabal-install</span></code> does caching are an implementation detail and may-change in the future, knowing what gets cached is helpful for-understanding the performance characteristics of invocations to-<code class="docutils literal"><span class="pre">new-build</span></code>. The cached intermediate results are stored in-<code class="docutils literal"><span class="pre">dist-newstyle/cache</span></code>; this folder can be safely deleted to clear the-cache.</p>-<p>The following intermediate results are cached in the following files in-this folder (the most important two are first):</p>-<dl class="docutils">-<dt><code class="docutils literal"><span class="pre">solver-plan</span></code> (binary)</dt>-<dd>The result of calling the dependency solver, assuming that the-Hackage index, local <code class="docutils literal"><span class="pre">cabal.project</span></code> file, and local <code class="docutils literal"><span class="pre">cabal</span></code>-files are unmodified. (Notably, we do NOT have to dependency solve-again if new build products are stored in the global store; the-invocation of the dependency solver is independent of what is-already available in the store.)</dd>-<dt><code class="docutils literal"><span class="pre">source-hashes</span></code> (binary)</dt>-<dd>The hashes of all local source files. When all local source files of-a local package are unchanged, <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-build</span></code> will skip-invoking <code class="docutils literal"><span class="pre">setup</span> <span class="pre">build</span></code> entirely (saving us from a possibly-expensive call to <code class="docutils literal"><span class="pre">ghc</span> <span class="pre">--make</span></code>). The full list of source files-participating in compilation are determined using-<code class="docutils literal"><span class="pre">setup</span> <span class="pre">sdist</span> <span class="pre">--list-sources</span></code> (thus, if you do not list all your-source files in a Cabal file, you may fail to recompile when you-edit them.)</dd>-<dt><code class="docutils literal"><span class="pre">config</span></code> (same format as <code class="docutils literal"><span class="pre">cabal.project</span></code>)</dt>-<dd>The full project configuration, merged from <code class="docutils literal"><span class="pre">cabal.project</span></code> (and-friends) as well as the command line arguments.</dd>-<dt><code class="docutils literal"><span class="pre">compiler</span></code> (binary)</dt>-<dd>The configuration of the compiler being used to build the project.</dd>-<dt><code class="docutils literal"><span class="pre">improved-plan</span></code> (binary)</dt>-<dd>Like <code class="docutils literal"><span class="pre">solver-plan</span></code>, but with all non-inplace packages improved-into pre-existing copies from the store.</dd>-</dl>-<p>Note that every package also has a local cache managed by the Cabal-build system, e.g., in <code class="docutils literal"><span class="pre">$distdir/cache</span></code>.</p>-<p>There is another useful file in <code class="docutils literal"><span class="pre">dist-newstyle/cache</span></code>, <code class="docutils literal"><span class="pre">plan.json</span></code>,-which is a JSON serialization of the computed install plan. (TODO: docs)</p>-</div>-</div>-<div class="section" id="commands">-<h1>5.4. Commands<a class="headerlink" href="#commands" title="Permalink to this headline">¶</a></h1>-<p>We now give an in-depth description of all the commands, describing the-arguments and flags they accept.</p>-<div class="section" id="cabal-new-configure">-<h2>5.4.1. cabal new-configure<a class="headerlink" href="#cabal-new-configure" title="Permalink to this headline">¶</a></h2>-<p><code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-configure</span></code> takes a set of arguments and writes a-<code class="docutils literal"><span class="pre">cabal.project.local</span></code> file based on the flags passed to this command.-<code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-configure</span> <span class="pre">FLAGS;</span> <span class="pre">cabal</span> <span class="pre">new-build</span></code> is roughly equivalent to-<code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-build</span> <span class="pre">FLAGS</span></code>, except that with <code class="docutils literal"><span class="pre">new-configure</span></code> the flags-are persisted to all subsequent calls to <code class="docutils literal"><span class="pre">new-build</span></code>.</p>-<p><code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-configure</span></code> is intended to be a convenient way to write out-a <code class="docutils literal"><span class="pre">cabal.project.local</span></code> for simple configurations; e.g.,-<code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-configure</span> <span class="pre">-w</span> <span class="pre">ghc-7.8</span></code> would ensure that all subsequent-builds with <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-build</span></code> are performed with the compiler-<code class="docutils literal"><span class="pre">ghc-7.8</span></code>. For more complex configuration, we recommend writing the-<code class="docutils literal"><span class="pre">cabal.project.local</span></code> file directly (or placing it in-<code class="docutils literal"><span class="pre">cabal.project</span></code>!)</p>-<p><code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-configure</span></code> inherits options from <code class="docutils literal"><span class="pre">Cabal</span></code>. semantics:</p>-<ul class="simple">-<li>Any flag accepted by <code class="docutils literal"><span class="pre">./Setup</span> <span class="pre">configure</span></code>.</li>-<li>Any flag accepted by <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">configure</span></code> beyond-<code class="docutils literal"><span class="pre">./Setup</span> <span class="pre">configure</span></code>, namely <code class="docutils literal"><span class="pre">--cabal-lib-version</span></code>,-<code class="docutils literal"><span class="pre">--constraint</span></code>, <code class="docutils literal"><span class="pre">--preference</span></code> and <code class="docutils literal"><span class="pre">--solver.</span></code></li>-<li>Any flag accepted by <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">install</span></code> beyond <code class="docutils literal"><span class="pre">./Setup</span> <span class="pre">configure</span></code>.</li>-<li>Any flag accepted by <code class="docutils literal"><span class="pre">./Setup</span> <span class="pre">haddock</span></code>.</li>-</ul>-<p>The options of all of these flags apply only to <em>local</em> packages in a-project; this behavior is different than that of <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">install</span></code>,-which applies flags to every package that would be built. The motivation-for this is to avoid an innocuous addition to the flags of a package-resulting in a rebuild of every package in the store (which might need-to happen if a flag actually applied to every transitive dependency). To-apply options to an external package, use a <code class="docutils literal"><span class="pre">package</span></code> stanza in a-<code class="docutils literal"><span class="pre">cabal.project</span></code> file.</p>-</div>-<div class="section" id="cabal-new-build">-<h2>5.4.2. cabal new-build<a class="headerlink" href="#cabal-new-build" title="Permalink to this headline">¶</a></h2>-<p><code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-build</span></code> takes a set of targets and builds them. It-automatically handles building and installing any dependencies of these-targets.</p>-<p>A target can take any of the following forms:</p>-<ul>-<li><p class="first">A package target: <code class="docutils literal"><span class="pre">package</span></code>, which specifies that all enabled-components of a package to be built. By default, test suites and-benchmarks are <em>not</em> enabled, unless they are explicitly requested-(e.g., via <code class="docutils literal"><span class="pre">--enable-tests</span></code>.)</p>-</li>-<li><p class="first">A component target: <code class="docutils literal"><span class="pre">[package:][ctype:]component</span></code>, which specifies-a specific component (e.g., a library, executable, test suite or-benchmark) to be built.</p>-</li>-<li><p class="first">All packages: <code class="docutils literal"><span class="pre">all</span></code>, which specifies all packages within the project.</p>-</li>-<li><p class="first">Components of a particular type: <code class="docutils literal"><span class="pre">package:ctypes</span></code>, <code class="docutils literal"><span class="pre">all:ctypes</span></code>:-which specifies all components of the given type. Where valid-<code class="docutils literal"><span class="pre">ctypes</span></code> are:</p>-<blockquote>-<div><ul class="simple">-<li><code class="docutils literal"><span class="pre">libs</span></code>, <code class="docutils literal"><span class="pre">libraries</span></code>,</li>-<li><code class="docutils literal"><span class="pre">flibs</span></code>, <code class="docutils literal"><span class="pre">foreign-libraries</span></code>,</li>-<li><code class="docutils literal"><span class="pre">exes</span></code>, <code class="docutils literal"><span class="pre">executables</span></code>,</li>-<li><code class="docutils literal"><span class="pre">tests</span></code>,</li>-<li><code class="docutils literal"><span class="pre">benches</span></code>, <code class="docutils literal"><span class="pre">benchmarks</span></code>.</li>-</ul>-</div></blockquote>-</li>-</ul>-<p>In component targets, <code class="docutils literal"><span class="pre">package:</span></code> and <code class="docutils literal"><span class="pre">ctype:</span></code> (valid component types-are <code class="docutils literal"><span class="pre">lib</span></code>, <code class="docutils literal"><span class="pre">flib</span></code>, <code class="docutils literal"><span class="pre">exe</span></code>, <code class="docutils literal"><span class="pre">test</span></code> and <code class="docutils literal"><span class="pre">bench</span></code>) can be used to-disambiguate when multiple packages define the same component, or the-same component name is used in a package (e.g., a package <code class="docutils literal"><span class="pre">foo</span></code>-defines both an executable and library named <code class="docutils literal"><span class="pre">foo</span></code>). We always prefer-interpreting a target as a package name rather than as a component name.</p>-<p>Some example targets:</p>-<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> cabal new-build lib:foo-pkg <span class="c1"># build the library named foo-pkg</span>-<span class="gp">$</span> cabal new-build foo-pkg:foo-tests <span class="c1"># build foo-tests in foo-pkg</span>-</pre></div>-</div>-<p>(There is also syntax for specifying module and file targets, but it-doesn’t currently do anything.)</p>-<p>Beyond a list of targets, <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-build</span></code> accepts all the flags that-<code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-configure</span></code> takes. Most of these flags are only taken into-consideration when building local packages; however, some flags may-cause extra store packages to be built (for example,-<code class="docutils literal"><span class="pre">--enable-profiling</span></code> will automatically make sure profiling libraries-for all transitive dependencies are built and installed.)</p>-</div>-<div class="section" id="cabal-new-repl">-<h2>5.4.3. cabal new-repl<a class="headerlink" href="#cabal-new-repl" title="Permalink to this headline">¶</a></h2>-<p><code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-repl</span> <span class="pre">TARGET</span></code> loads all of the modules of the target into-GHCi as interpreted bytecode. It takes the same flags as-<code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-build</span></code>.</p>-<p>Currently, it is not supported to pass multiple targets to <code class="docutils literal"><span class="pre">new-repl</span></code>-(<code class="docutils literal"><span class="pre">new-repl</span></code> will just successively open a separate GHCi session for-each target.)</p>-</div>-<div class="section" id="cabal-new-freeze">-<h2>5.4.4. cabal new-freeze<a class="headerlink" href="#cabal-new-freeze" title="Permalink to this headline">¶</a></h2>-<p><code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-freeze</span></code> writes out a <code class="docutils literal"><span class="pre">cabal.project.freeze</span></code> file which-records all of the versions and flags which that are picked by the-solver under the current index and flags. A <code class="docutils literal"><span class="pre">cabal.project.freeze</span></code>-file has the same syntax as <code class="docutils literal"><span class="pre">cabal.project</span></code> and looks something like-this:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">constraints</span><span class="p">:</span> HTTP <span class="o">==</span>4000.3.3<span class="p">,</span>- HTTP +warp-tests -warn-as-error -network23 +network-uri -mtl1 -conduit10<span class="p">,</span>- QuickCheck <span class="o">==</span>2.9.1<span class="p">,</span>- QuickCheck +templatehaskell<span class="p">,</span>-<span class="w"> </span><span class="c1">-- etc...</span>-</pre></div>-</div>-<p>For end-user executables, it is recommended that you distribute the-<code class="docutils literal"><span class="pre">cabal.project.freeze</span></code> file in your source repository so that all-users see a consistent set of dependencies. For libraries, this is not-recommended: users often need to build against different versions of-libraries than what you developed against.</p>-</div>-<div class="section" id="unsupported-commands">-<h2>5.4.5. Unsupported commands<a class="headerlink" href="#unsupported-commands" title="Permalink to this headline">¶</a></h2>-<p>The following commands are not currently supported:</p>-<dl class="docutils">-<dt><code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-test</span></code> (<a class="reference external" href="https://github.com/haskell/cabal/issues/3638">#3638</a>)</dt>-<dd>Workaround: run the test executable directly (see <a class="reference external" href="#where-are-my-build-products">Where are my-build products</a>?)</dd>-<dt><code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-bench</span></code> (<a class="reference external" href="https://github.com/haskell/cabal/issues/3638">#3638</a>)</dt>-<dd>Workaround: run the benchmark executable directly (see <a class="reference external" href="#where-are-my-build-products">Where are my-build products</a>?)</dd>-<dt><code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-run</span></code> (<a class="reference external" href="https://github.com/haskell/cabal/issues/3638">#3638</a>)</dt>-<dd>Workaround: run the executable directly (see <a class="reference external" href="#where-are-my-build-products">Where are my build-products</a>?)</dd>-<dt><code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-exec</span></code></dt>-<dd>Workaround: if you wanted to execute GHCi, consider using-<code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-repl</span></code> instead. Otherwise, use <code class="docutils literal"><span class="pre">-v</span></code> to find the list-of flags GHC is being invoked with and pass it manually.</dd>-<dt><code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-haddock</span></code> (<a class="reference external" href="https://github.com/haskell/cabal/issues/3535">#3535</a>)</dt>-<dd>Workaround: run-<code class="docutils literal"><span class="pre">cabal</span> <span class="pre">act-as-setup</span> <span class="pre">--</span> <span class="pre">haddock</span> <span class="pre">--builddir=dist-newstyle/build/pkg-0.1</span></code>-(or execute the Custom setup script directly).</dd>-<dt><code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-install</span></code> (<a class="reference external" href="https://github.com/haskell/cabal/issues/3737">#3737</a>)</dt>-<dd>Workaround: no good workaround at the moment. (But note that you no-longer need to install libraries before building!)</dd>-</dl>-</div>-</div>-<div class="section" id="configuring-builds-with-cabal-project">-<h1>5.5. Configuring builds with cabal.project<a class="headerlink" href="#configuring-builds-with-cabal-project" title="Permalink to this headline">¶</a></h1>-<p><code class="docutils literal"><span class="pre">cabal.project</span></code> files support a variety of options which configure the-details of your build. The general syntax of a <code class="docutils literal"><span class="pre">cabal.project</span></code> file is-similar to that of a Cabal file: there are a number of fields, some of-which live inside stanzas:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">packages</span><span class="p">:</span> */*.cabal-<span class="k">with-compiler</span><span class="p">:</span> /opt/ghc/8.0.1/bin/ghc--<span class="k">package</span> cryptohash-<span class="w"> </span><span class="k">optimization</span><span class="p">:</span> False-</pre></div>-</div>-<p>In general, the accepted field names coincide with the accepted command-line flags that <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">install</span></code> and other commands take. For example,-<code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-configure</span> <span class="pre">--enable-profiling</span></code> will write out a project-file with <code class="docutils literal"><span class="pre">profiling:</span> <span class="pre">True</span></code>.</p>-<p>The full configuration of a project is determined by combining the-following sources (later entries override earlier ones):</p>-<ol class="arabic simple">-<li><code class="docutils literal"><span class="pre">~/.cabal/config</span></code> (the user-wide global configuration)</li>-<li><code class="docutils literal"><span class="pre">cabal.project</span></code> (the project configuratoin)</li>-<li><code class="docutils literal"><span class="pre">cabal.project.freeze</span></code> (the output of <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-freeze</span></code>)</li>-<li><code class="docutils literal"><span class="pre">cabal.project.local</span></code> (the output of <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-configure</span></code>)</li>-</ol>-<div class="section" id="specifying-the-local-packages">-<h2>5.5.1. Specifying the local packages<a class="headerlink" href="#specifying-the-local-packages" title="Permalink to this headline">¶</a></h2>-<p>The following top-level options specify what the local packages of a-project are:</p>-<dl class="cfg-field">-<dt id="cfg-field-packages">-<code class="descname">packages</code><code class="descclassname">: </code><em class="property">package location list (space or comma separated)</em><a class="headerlink" href="#cfg-field-packages" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body"><code class="docutils literal"><span class="pre">./*.cabal</span></code></td>-</tr>-</tbody>-</table>-<p>Specifies the list of package locations which contain the local-packages to be built by this project. Package locations can take the-following forms:</p>-<ol class="arabic simple">-<li>They can specify a Cabal file, or a directory containing a Cabal-file, e.g., <code class="docutils literal"><span class="pre">packages:</span> <span class="pre">Cabal</span> <span class="pre">cabal-install/cabal-install.cabal</span></code>.</li>-<li>They can specify a glob-style wildcards, which must match one or-more (a) directories containing a (single) Cabal file, (b) Cabal-files (extension <code class="docutils literal"><span class="pre">.cabal</span></code>), or (c) [STRIKEOUT:tarballs which-contain Cabal packages (extension <code class="docutils literal"><span class="pre">.tar.gz</span></code>)] (not implemented-yet). For example, to match all Cabal files in all-subdirectories, as well as the Cabal projects in the parent-directories <code class="docutils literal"><span class="pre">foo</span></code> and <code class="docutils literal"><span class="pre">bar</span></code>, use-<code class="docutils literal"><span class="pre">packages:</span> <span class="pre">*/*.cabal</span> <span class="pre">../{foo,bar}/</span></code></li>-<li>[STRIKEOUT:They can specify an <code class="docutils literal"><span class="pre">http</span></code>, <code class="docutils literal"><span class="pre">https</span></code> or <code class="docutils literal"><span class="pre">file</span></code>-URL, representing the path to a remote tarball to be downloaded-and built.] (not implemented yet)</li>-</ol>-<p>There is no command line variant of this field; see <a class="reference external" href="https://github.com/haskell/cabal/issues/3585">#3585</a>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-optional-packages">-<code class="descname">optional-packages</code><code class="descclassname">: </code><em class="property">package location list (space or comma-separated)</em><a class="headerlink" href="#cfg-field-optional-packages" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body"><code class="docutils literal"><span class="pre">./*/*.cabal</span></code></td>-</tr>-</tbody>-</table>-<p>Like <a class="reference internal" href="#cfg-field-packages" title="project.cabal packages field "><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">packages</span></code></a>, specifies a list of package locations-containing local packages to be built. Unlike <a class="reference internal" href="#cfg-field-packages" title="project.cabal packages field "><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">packages</span></code></a>,-if we glob for a package, it is permissible for the glob to match against-zero packages. The intended use-case for <a class="reference internal" href="#cfg-field-optional-packages" title="project.cabal optional-packages field "><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">optional-packages</span></code></a>-is to make it so that vendored packages can be automatically picked up if-they are placed in a subdirectory, but not error if there aren’t any.</p>-<p>There is no command line variant of this field.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-extra-packages">-<code class="descname">extra-packages</code><code class="descclassname">: </code><em class="property">package list with version bounds (comma separated)</em><a class="headerlink" href="#cfg-field-extra-packages" title="Permalink to this definition">¶</a></dt>-<dd><p>[STRIKEOUT:Specifies a list of external packages from Hackage which-should be considered local packages.] (Not implemented)</p>-<p>There is no command line variant of this field.</p>-</dd></dl>--<p>[STRIKEOUT:There is also a stanza <code class="docutils literal"><span class="pre">source-repository-package</span></code> for-specifying packages from an external version control.] (Not-implemented.)</p>-<p>All local packages are <em>vendored</em>, in the sense that if other packages-(including external ones from Hackage) depend on a package with the name-of a local package, the local package is preferentially used. This-motivates the default settings:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">packages</span><span class="p">:</span> ./*.cabal-<span class="k">optional-packages</span><span class="p">:</span> ./*/*.cabal-</pre></div>-</div>-<p>…any package can be vendored simply by making a checkout in the-top-level project directory, as might be seen in this hypothetical-directory layout:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">foo</span>.cabal-<span class="k">foo-helper</span>/ # local package-<span class="k">unix</span>/ # vendored external package-</pre></div>-</div>-<p>All of these options support globs. <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-build</span></code> has its own glob-format:</p>-<ul class="simple">-<li>Anywhere in a path, as many times as you like, you can specify an-asterisk <code class="docutils literal"><span class="pre">*</span></code> wildcard. E.g., <code class="docutils literal"><span class="pre">*/*.cabal</span></code> matches all <code class="docutils literal"><span class="pre">.cabal</span></code>-files in all immediate subdirectories. Like in glob(7), asterisks do-not match hidden files unless there is an explicit period, e.g.,-<code class="docutils literal"><span class="pre">.*/foo.cabal</span></code> will match <code class="docutils literal"><span class="pre">.private/foo.cabal</span></code> (but-<code class="docutils literal"><span class="pre">*/foo.cabal</span></code> will not).</li>-<li>You can use braces to specify specific directories; e.g.,-<code class="docutils literal"><span class="pre">{vendor,pkgs}/*.cabal</span></code> matches all Cabal files in the <code class="docutils literal"><span class="pre">vendor</span></code>-and <code class="docutils literal"><span class="pre">pkgs</span></code> subdirectories.</li>-</ul>-<p>Formally, the format described by the following BNF:</p>-<div class="highlight-abnf"><div class="highlight"><pre><span></span><span class="nc">FilePathGlob</span> ::<span class="o">=</span> <span class="nc">FilePathRoot</span> <span class="nc">FilePathGlobRel</span>-<span class="nc">FilePathRoot</span> ::<span class="o">=</span> {- <span class="nc">empty</span> -} # <span class="nc">relative</span> <span class="nc">to</span> <span class="nc">cabal</span>.<span class="nc">project</span>- | <span class="l">"/"</span> # <span class="nc">Unix</span> <span class="nc">root</span>- | <span class="p">[</span><span class="nc">a-zA-Z</span><span class="p">]</span> <span class="l">":"</span> <span class="p">[</span><span class="o">/</span>\\<span class="p">]</span> # <span class="nc">Windows</span> <span class="nc">root</span>- | <span class="l">"~"</span> # <span class="nc">home</span> <span class="nc">directory</span>-<span class="nc">FilePathGlobRel</span> ::<span class="o">=</span> <span class="nc">Glob</span> <span class="l">"/"</span> <span class="nc">FilePathGlobRel</span> # <span class="nc">Unix</span> <span class="nc">directory</span>- | <span class="nc">Glob</span> <span class="l">"\\"</span> <span class="nc">FilePathGlobRel</span> # <span class="nc">Windows</span> <span class="nc">directory</span>- | <span class="nc">Glob</span> # <span class="nc">file</span>- | {- <span class="nc">empty</span> -} # <span class="nc">trailing</span> <span class="nc">slash</span>-<span class="nc">Glob</span> ::<span class="o">=</span> <span class="nc">GlobPiece</span> <span class="o">*</span>-<span class="nc">GlobPiece</span> ::<span class="o">=</span> <span class="l">"*"</span> # <span class="nc">wildcard</span>- | <span class="p">[</span>^<span class="o">*</span>{},<span class="o">/</span>\\<span class="p">]</span> <span class="o">*</span> # <span class="nc">literal</span> <span class="nc">string</span>- | <span class="l">"\\"</span> <span class="p">[</span><span class="o">*</span>{},<span class="p">]</span> # <span class="nc">escaped</span> <span class="nc">reserved</span> <span class="nc">character</span>- | <span class="l">"{"</span> <span class="nc">Glob</span> <span class="l">","</span> ... <span class="l">","</span> <span class="nc">Glob</span> <span class="l">"}"</span> # <span class="nc">union</span> <span class="p">(</span><span class="nc">match</span> <span class="nc">any</span> <span class="nc">of</span> <span class="nc">these</span><span class="p">)</span>-</pre></div>-</div>-</div>-<div class="section" id="global-configuration-options">-<h2>5.5.2. Global configuration options<a class="headerlink" href="#global-configuration-options" title="Permalink to this headline">¶</a></h2>-<p>The following top-level configuration options are not specific to any-package, and thus apply globally:</p>-<dl class="cfg-field">-<dt id="cfg-field-verbose">-<code class="descname">verbose</code><code class="descclassname">: </code><em class="property">nat</em><a class="headerlink" href="#cfg-field-verbose" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---verbose">-<code class="descname">--verbose</code><code class="descclassname">=n</code><code class="descname">, </code><code class="descname">-vn</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---verbose" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">1</td>-</tr>-</tbody>-</table>-<p>Control the verbosity of <code class="docutils literal"><span class="pre">cabal</span></code> commands, valid values are from 0-to 3.</p>-<p>The command line variant of this field is <code class="docutils literal"><span class="pre">--verbose=2</span></code>; a short-form <code class="docutils literal"><span class="pre">-v2</span></code> is also supported.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-jobs">-<code class="descname">jobs</code><code class="descclassname">: </code><em class="property">nat or $ncpus</em><a class="headerlink" href="#cfg-field-jobs" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---jobs">-<code class="descname">--jobs</code><code class="descclassname">=n</code><code class="descname">, </code><code class="descname">-jn</code><code class="descclassname"> </code><code class="descname">, </code><code class="descname">--jobs</code><code class="descclassname">=$ncpus</code><a class="headerlink" href="#cfg-flag---jobs" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">1</td>-</tr>-</tbody>-</table>-<p>Run <em>nat</em> jobs simultaneously when building. If <code class="docutils literal"><span class="pre">$ncpus</span></code> is-specified, run the number of jobs equal to the number of CPUs.-Package building is often quite parallel, so turning on parallelism-can speed up build times quite a bit!</p>-<p>The command line variant of this field is <code class="docutils literal"><span class="pre">--jobs=2</span></code>; a short form-<code class="docutils literal"><span class="pre">-j2</span></code> is also supported; a bare <code class="docutils literal"><span class="pre">--jobs</span></code> or <code class="docutils literal"><span class="pre">-j</span></code> is equivalent-to <code class="docutils literal"><span class="pre">--jobs=$ncpus</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-keep-going">-<code class="descname">keep-going</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-keep-going" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---keep-going">-<code class="descname">--keep-going</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---keep-going" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>If true, after a build failure, continue to build other unaffected-packages.</p>-<p>The command line variant of this field is <code class="docutils literal"><span class="pre">--keep-going</span></code>.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-builddir">-<code class="descname">--builddir</code><code class="descclassname">=DIR</code><a class="headerlink" href="#cmdoption-builddir" title="Permalink to this definition">¶</a></dt>-<dd><p>Specifies the name of the directory where build products for-build will be stored; defaults to <code class="docutils literal"><span class="pre">dist-newstyle</span></code>. If a-relative name is specified, this directory is resolved relative-to the root of the project (i.e., where the <code class="docutils literal"><span class="pre">cabal.project</span></code>-file lives.)</p>-<p>This option cannot be specified via a <code class="docutils literal"><span class="pre">cabal.project</span></code> file.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-project-file">-<code class="descname">--project-file</code><code class="descclassname">=FILE</code><a class="headerlink" href="#cmdoption-project-file" title="Permalink to this definition">¶</a></dt>-<dd><p>Specifies the name of the project file used to specify the-rest of the top-level configuration; defaults to <code class="docutils literal"><span class="pre">cabal.project</span></code>.-This name not only specifies the name of the main project file,-but also the auxiliary project files <code class="docutils literal"><span class="pre">cabal.project.freeze</span></code>-and <code class="docutils literal"><span class="pre">cabal.project.local</span></code>; for example, if you specify-<code class="docutils literal"><span class="pre">--project-file=my.project</span></code>, then the other files that will-be probed are <code class="docutils literal"><span class="pre">my.project.freeze</span></code> and <code class="docutils literal"><span class="pre">my.project.local</span></code>.</p>-<p>If the specified project file is a relative path, we will-look for the file relative to the current working directory,-and then for the parent directory, until the project file is-found or we have hit the top of the user’s home directory.</p>-<p>This option cannot be specified via a <code class="docutils literal"><span class="pre">cabal.project</span></code> file.</p>-</dd></dl>--<dl class="option">-<dt id="cmdoption-store-dir">-<code class="descname">--store-dir</code><code class="descclassname">=DIR</code><a class="headerlink" href="#cmdoption-store-dir" title="Permalink to this definition">¶</a></dt>-<dd><p>Specifies the name of the directory of the global package store.</p>-</dd></dl>--</div>-<div class="section" id="solver-configuration-options">-<h2>5.5.3. Solver configuration options<a class="headerlink" href="#solver-configuration-options" title="Permalink to this headline">¶</a></h2>-<p>The following settings control the behavior of the dependency solver:</p>-<dl class="cfg-field">-<dt id="cfg-field-constraints">-<code class="descname">constraints</code><code class="descclassname">: </code><em class="property">constraints list (comma separated)</em><a class="headerlink" href="#cfg-field-constraints" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---constraint">-<code class="descname">--constraint</code><code class="descclassname">="pkg > 2.0"</code><a class="headerlink" href="#cfg-flag---constraint" title="Permalink to this definition">¶</a></dt>-<dd><p>Add extra constraints to the version bounds, flag settings,-and other properties a solver can pick for a-package. For example:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">constraints</span><span class="p">:</span> bar <span class="o">==</span> 2.1-</pre></div>-</div>-<p>A package can be specified multiple times in <code class="docutils literal"><span class="pre">constraints</span></code>, in-which case the specified constraints are intersected. This is-useful, since the syntax does not allow you to specify multiple-constraints at once. For example, to specify both version bounds and-flag assignments, you would write:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">constraints</span><span class="p">:</span> bar <span class="o">==</span> 2.1<span class="p">,</span>- bar +foo -baz-</pre></div>-</div>-<p>Valid constraints take the same form as for the <a class="reference external" href="installing-packages.html#cmdoption-setup-configure--constraint">constraint-command line option</a>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-preferences">-<code class="descname">preferences</code><code class="descclassname">: </code><em class="property">preference (comma separated)</em><a class="headerlink" href="#cfg-field-preferences" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---preference">-<code class="descname">--preference</code><code class="descclassname">="pkg > 2.0"</code><a class="headerlink" href="#cfg-flag---preference" title="Permalink to this definition">¶</a></dt>-<dd><p>Like <a class="reference internal" href="#cfg-field-constraints" title="project.cabal constraints field "><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">constraints</span></code></a>, but the solver will attempt to satisfy-these preferences on a best-effort basis. The resulting install is locally-optimal with respect to preferences; specifically, no single package-could be replaced with a more preferred version that still satisfies-the hard constraints.</p>-<p>Operationally, preferences can cause the solver to attempt certain-version choices of a package before others, which can improve-dependency solver runtime.</p>-<p>One way to use <a class="reference internal" href="#cfg-field-preferences" title="project.cabal preferences field "><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">preferences</span></code></a> is to take a known working set of-constraints (e.g., via <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-freeze</span></code>) and record them as-preferences. In this case, the solver will first attempt to use this-configuration, and if this violates hard constraints, it will try to-find the minimal number of upgrades to satisfy the hard constraints-again.</p>-<p>The command line variant of this field is-<code class="docutils literal"><span class="pre">--preference="pkg</span> <span class="pre">>=</span> <span class="pre">2.0"</span></code>; to specify multiple preferences, pass-the flag multiple times.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-allow-newer">-<code class="descname">allow-newer</code><code class="descclassname">: </code><em class="property">none, all or list of scoped package names (space or comma separated)</em><a class="headerlink" href="#cfg-field-allow-newer" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---allow-newer">-<code class="descname">--allow-newer</code><code class="descclassname"> </code><code class="descname">, </code><code class="descname">--allow-newer</code><code class="descclassname">=[none</code><code class="descname">, </code><code class="descname">all</code><code class="descclassname"> </code><code class="descname">, </code><code class="descname">pkg]</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---allow-newer" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body"><code class="docutils literal"><span class="pre">none</span></code></td>-</tr>-</tbody>-</table>-<p>Allow the solver to pick an newer version of some packages than-would normally be permitted by than the <a class="reference internal" href="developing-packages.html#pkg-field-build-depends" title="package.cabal build-depends field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-depends</span></code></a> bounds-of packages in the install plan. This option may be useful if the-dependency solver cannot otherwise find a valid install plan.</p>-<p>For example, to relax <code class="docutils literal"><span class="pre">pkg</span></code>s <a class="reference internal" href="developing-packages.html#pkg-field-build-depends" title="package.cabal build-depends field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">build-depends</span></code></a> upper bound on-<code class="docutils literal"><span class="pre">dep-pkg</span></code>, write a scoped package name of the form:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">allow-newer</span><span class="p">:</span> pkg<span class="p">:</span>dep-pkg-</pre></div>-</div>-<p>This syntax is recommended, as it is often only a single package-whose upper bound is misbehaving. In this case, the upper bounds of-other packages should still be respected; indeed, relaxing the bound-can break some packages which test the selected version of packages.</p>-<p>However, in some situations (e.g., when attempting to build packages-on a new version of GHC), it is useful to disregard <em>all</em>-upper-bounds, with respect to a package or all packages. This can be-done by specifying just a package name, or using the keyword <code class="docutils literal"><span class="pre">all</span></code>-to specify all packages:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="c1">-- Disregard upper bounds involving the dependencies on</span>-<span class="c1">-- packages bar, baz and quux</span>-<span class="k">allow-newer</span><span class="p">:</span> bar<span class="p">,</span> baz<span class="p">,</span> quux--<span class="c1">-- Disregard all upper bounds when dependency solving</span>-<span class="k">allow-newer</span><span class="p">:</span> all-</pre></div>-</div>-<p><a class="reference internal" href="#cfg-field-allow-newer" title="project.cabal allow-newer field "><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">allow-newer</span></code></a> is often used in conjunction with a constraint-(in the cfg-field:<cite>constraints</cite> field) forcing the usage of a specific,-newer version of a package.</p>-<p>The command line variant of this field is <code class="docutils literal"><span class="pre">--allow-newer=bar</span></code>. A-bare <code class="docutils literal"><span class="pre">--allow-newer</span></code> is equivalent to <code class="docutils literal"><span class="pre">--allow-newer=all</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-allow-older">-<code class="descname">allow-older</code><code class="descclassname">: </code><em class="property">none, all, list of scoped package names (space or comma separated)</em><a class="headerlink" href="#cfg-field-allow-older" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---allow-older">-<code class="descname">--allow-older</code><code class="descclassname"> </code><code class="descname">, </code><code class="descname">--allow-older</code><code class="descclassname">=[none</code><code class="descname">, </code><code class="descname">all</code><code class="descclassname"> </code><code class="descname">, </code><code class="descname">pkg]</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---allow-older" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body"><code class="docutils literal"><span class="pre">none</span></code></td>-</tr>-</tbody>-</table>-<p>Like <a class="reference internal" href="#cfg-field-allow-newer" title="project.cabal allow-newer field "><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">allow-newer</span></code></a>, but applied to lower bounds rather than-upper bounds.</p>-<p>The command line variant of this field is <code class="docutils literal"><span class="pre">--allow-older=all</span></code>. A-bare <code class="docutils literal"><span class="pre">--allow-older</span></code> is equivalent to <code class="docutils literal"><span class="pre">--allow-older=all</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-index-state">-<code class="descname">index-state</code><code class="descclassname">: </code><em class="property">HEAD, unix-timestamp, ISO8601 UTC timestamp.</em><a class="headerlink" href="#cfg-field-index-state" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Since:</th><td class="field-body">Cabal 2.0</td>-</tr>-<tr class="field-even field"><th class="field-name">Default value:</th><td class="field-body"><code class="docutils literal"><span class="pre">HEAD</span></code></td>-</tr>-</tbody>-</table>-<p>This allows to change the source package index state the solver uses-to compute install-plans. This is particularly useful in-combination with freeze-files in order to also freeze the state the-package index was in at the time the install-plan was frozen.</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="c1">-- UNIX timestamp format example</span>-<span class="k">index-state</span><span class="p">:</span> @1474739268--<span class="c1">-- ISO8601 UTC timestamp format example</span>-<span class="c1">-- This format is used by 'cabal new-configure'</span>-<span class="c1">-- for storing `--index-state` values.</span>-<span class="k">index-state</span><span class="p">:</span> 2016-09-24T17<span class="p">:</span>47<span class="p">:</span>48Z-</pre></div>-</div>-</dd></dl>--</div>-<div class="section" id="package-configuration-options">-<h2>5.5.4. Package configuration options<a class="headerlink" href="#package-configuration-options" title="Permalink to this headline">¶</a></h2>-<p>Package options affect the building of specific packages. There are two-ways a package option can be specified:</p>-<ul class="simple">-<li>They can be specified at the top-level, in which case they apply only-to <strong>local package</strong>, or</li>-<li>They can be specified inside a <code class="docutils literal"><span class="pre">package</span></code> stanza, in which case they-apply to the build of the package, whether or not it is local or-external.</li>-</ul>-<p>For example, the following options specify that <a class="reference internal" href="#cfg-field-optimization" title="project.cabal optimization field "><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">optimization</span></code></a>-should be turned off for all local packages, and that <code class="docutils literal"><span class="pre">bytestring</span></code> (possibly-an external dependency) should be built with <code class="docutils literal"><span class="pre">-fno-state-hack</span></code>:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">optimization</span><span class="p">:</span> False--<span class="k">package</span> bytestring-<span class="w"> </span><span class="k">ghc-options</span><span class="p">:</span> -fno-state-hack-</pre></div>-</div>-<p><code class="docutils literal"><span class="pre">ghc-options</span></code> is not specifically described in this documentation,-but is one of many fields for configuring programs. They take the form-<code class="docutils literal"><span class="pre">progname-options</span></code> and <code class="docutils literal"><span class="pre">progname-location</span></code>, and-can only be set inside package stanzas. (TODO: They are not supported-at top-level, see <a class="reference external" href="https://github.com/haskell/cabal/issues/3579">#3579</a>.)</p>-<p>At the moment, there is no way to specify an option to apply to all-external packages or all inplace packages. Additionally, it is only-possible to specify these options on the command line for all local-packages (there is no per-package command line interface.)</p>-<p>Some flags were added by more recent versions of the Cabal library. This-means that they are NOT supported by packages which use Custom setup-scripts that require a version of the Cabal library older than when the-feature was added.</p>-<dl class="cfg-field">-<dt id="cfg-field-flags">-<code class="descname">flags</code><code class="descclassname">: </code><em class="property">list of +flagname or -flagname (space separated)</em><a class="headerlink" href="#cfg-field-flags" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---flags">-<code class="descname">--flags</code><code class="descclassname">="+foo -bar"</code><code class="descname">, </code><code class="descname">-ffoo</code><code class="descclassname"> </code><code class="descname">, </code><code class="descname">-f-bar</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---flags" title="Permalink to this definition">¶</a></dt>-<dd><p>Force all flags specified as <code class="docutils literal"><span class="pre">+flagname</span></code> to be true, and all flags-specified as <code class="docutils literal"><span class="pre">-flagname</span></code> to be false. For example, to enable the-flag <code class="docutils literal"><span class="pre">foo</span></code> and disable <code class="docutils literal"><span class="pre">bar</span></code>, set:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">flags</span><span class="p">:</span> +foo -bar-</pre></div>-</div>-<p>If there is no leading punctuation, it is assumed that the flag-should be enabled; e.g., this is equivalent:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">flags</span><span class="p">:</span> foo -bar-</pre></div>-</div>-<p>Flags are <em>per-package</em>, so it doesn’t make much sense to specify-flags at the top-level, unless you happen to know that <em>all</em> of your-local packages support the same named flags. If a flag is not-supported by a package, it is ignored.</p>-<p>See also the solver configuration field <a class="reference internal" href="#cfg-field-constraints" title="project.cabal constraints field "><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">constraints</span></code></a>.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--flags</span></code>. There is also-a shortened form <code class="docutils literal"><span class="pre">-ffoo</span> <span class="pre">-f-bar</span></code>.</p>-<p>A common mistake is to say <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-build</span> <span class="pre">-fhans</span></code>, where-<code class="docutils literal"><span class="pre">hans</span></code> is a flag for a transitive dependency that is not in the-local package; in this case, the flag will be silently ignored. If-<code class="docutils literal"><span class="pre">haskell-tor</span></code> is the package you want this flag to apply to, try-<code class="docutils literal"><span class="pre">--constraint="haskell-tor</span> <span class="pre">+hans"</span></code> instead.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-with-compiler">-<code class="descname">with-compiler</code><code class="descclassname">: </code><em class="property">executable</em><a class="headerlink" href="#cfg-field-with-compiler" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---with-compiler">-<code class="descname">--with-compiler</code><code class="descclassname">=executable</code><a class="headerlink" href="#cfg-flag---with-compiler" title="Permalink to this definition">¶</a></dt>-<dd><p>Specify the path to a particular compiler to be used. If not an-absolute path, it will be resolved according to the <span class="target" id="index-0"></span><code class="xref std std-envvar docutils literal"><span class="pre">PATH</span></code>-environment. The type of the compiler (GHC, GHCJS, etc) must be-consistent with the setting of the <a class="reference internal" href="#cfg-field-compiler" title="project.cabal compiler field "><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">compiler</span></code></a> field.</p>-<p>The most common use of this option is to specify a different version-of your compiler to be used; e.g., if you have <code class="docutils literal"><span class="pre">ghc-7.8</span></code> in your-path, you can specify <code class="docutils literal"><span class="pre">with-compiler:</span> <span class="pre">ghc-7.8</span></code> to use it.</p>-<p>This flag also sets the default value of <a class="reference internal" href="#cfg-field-with-hc-pkg" title="project.cabal with-hc-pkg field "><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">with-hc-pkg</span></code></a>, using-the heuristic that it is named <code class="docutils literal"><span class="pre">ghc-pkg-7.8</span></code> (if your executable name-is suffixed with a version number), or is the executable named-<code class="docutils literal"><span class="pre">ghc-pkg</span></code> in the same directory as the <code class="docutils literal"><span class="pre">ghc</span></code> directory. If this-heuristic does not work, set <a class="reference internal" href="#cfg-field-with-hc-pkg" title="project.cabal with-hc-pkg field "><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">with-hc-pkg</span></code></a> explicitly.</p>-<p>For inplace packages, <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-build</span></code> maintains a separate build-directory for each version of GHC, so you can maintain multiple-build trees for different versions of GHC without clobbering each-other.</p>-<p>At the moment, it’s not possible to set <a class="reference internal" href="#cfg-field-with-compiler" title="project.cabal with-compiler field "><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">with-compiler</span></code></a> on a-per-package basis, but eventually we plan on relaxing this-restriction. If this is something you need, give us a shout.</p>-<p>The command line variant of this flag is-<code class="docutils literal"><span class="pre">--with-compiler=ghc-7.8</span></code>; there is also a short version-<code class="docutils literal"><span class="pre">-w</span> <span class="pre">ghc-7.8</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-with-hc-pkg">-<code class="descname">with-hc-pkg</code><code class="descclassname">: </code><em class="property">executable</em><a class="headerlink" href="#cfg-field-with-hc-pkg" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---with-hc-pkg">-<code class="descname">--with-hc-pkg</code><code class="descclassname">=executable</code><a class="headerlink" href="#cfg-flag---with-hc-pkg" title="Permalink to this definition">¶</a></dt>-<dd><p>Specify the path to the package tool, e.g., <code class="docutils literal"><span class="pre">ghc-pkg</span></code>. This-package tool must be compatible with the compiler specified by-<a class="reference internal" href="#cfg-field-with-compiler" title="project.cabal with-compiler field "><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">with-compiler</span></code></a> (generally speaking, it should be precisely-the tool that was distributed with the compiler). If this option is-omitted, the default value is determined from <a class="reference internal" href="#cfg-field-with-compiler" title="project.cabal with-compiler field "><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">with-compiler</span></code></a>.</p>-<p>The command line variant of this flag is-<code class="docutils literal"><span class="pre">--with-hc-pkg=ghc-pkg-7.8</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-optimization">-<code class="descname">optimization</code><code class="descclassname">: </code><em class="property">nat</em><a class="headerlink" href="#cfg-field-optimization" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---enable-optimization">-<code class="descname">--enable-optimization</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---enable-optimization" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---disable-optimization">-<code class="descname">--disable-optimization</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---disable-optimization" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body"><code class="docutils literal"><span class="pre">1</span></code></td>-</tr>-</tbody>-</table>-<p>Build with optimization. This is appropriate for production use,-taking more time to build faster libraries and programs.</p>-<p>The optional <em>nat</em> value is the optimisation level. Some compilers-support multiple optimisation levels. The range is 0 to 2. Level 0-disables optimization, level 1 is the default. Level 2 is higher-optimisation if the compiler supports it. Level 2 is likely to lead-to longer compile times and bigger generated code. If you are not-planning to run code, turning off optimization will lead to better-build times and less code to be rebuilt when a module changes.</p>-<p>We also accept <code class="docutils literal"><span class="pre">True</span></code> (equivalent to 1) and <code class="docutils literal"><span class="pre">False</span></code> (equivalent-to 0).</p>-<p>Note that as of GHC 8.0, GHC does not recompile when optimization-levels change (see <a class="reference external" href="http://ghc.haskell.org/trac/ghc/ticket/10923">GHC #10923</a>), so if-you change the optimization level for a local package you may need-to blow away your old build products in order to rebuild with the-new optimization level.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">-O2</span></code> (with <code class="docutils literal"><span class="pre">-O1</span></code>-equivalent to <code class="docutils literal"><span class="pre">-O</span></code>). There are also long-form variants-<code class="docutils literal"><span class="pre">--enable-optimization</span></code> and <code class="docutils literal"><span class="pre">--disable-optimization</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-configure-options">-<code class="descname">configure-options</code><code class="descclassname">: </code><em class="property">args (space separated)</em><a class="headerlink" href="#cfg-field-configure-options" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---configure-option">-<code class="descname">--configure-option</code><code class="descclassname">=arg</code><a class="headerlink" href="#cfg-flag---configure-option" title="Permalink to this definition">¶</a></dt>-<dd><p>A list of extra arguments to pass to the external <code class="docutils literal"><span class="pre">./configure</span></code>-script, if one is used. This is only useful for packages which have-the <code class="docutils literal"><span class="pre">Configure</span></code> build type. See also the section on-<a class="reference external" href="developing-packages.html#system-dependent-parameters">system-dependent-parameters</a>.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--configure-option=arg</span></code>,-which can be specified multiple times to pass multiple options.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-compiler">-<code class="descname">compiler</code><code class="descclassname">: </code><em class="property">ghc, ghcjs, jhc, lhc, uhc or haskell-suite</em><a class="headerlink" href="#cfg-field-compiler" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---compiler">-<code class="descname">--compiler</code><code class="descclassname">=compiler</code><a class="headerlink" href="#cfg-flag---compiler" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body"><code class="docutils literal"><span class="pre">ghc</span></code></td>-</tr>-</tbody>-</table>-<p>Specify which compiler toolchain to be used. This is independent of-<code class="docutils literal"><span class="pre">with-compiler</span></code>, because the choice of toolchain affects Cabal’s-build logic.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--compiler=ghc</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-tests">-<code class="descname">tests</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-tests" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---enable-tests">-<code class="descname">--enable-tests</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---enable-tests" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---disable-tests">-<code class="descname">--disable-tests</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---disable-tests" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body"><code class="docutils literal"><span class="pre">False</span></code></td>-</tr>-</tbody>-</table>-<p>Force test suites to be enabled. For most users this should not be-needed, as we always attempt to solve for test suite dependencies,-even when this value is <code class="docutils literal"><span class="pre">False</span></code>; furthermore, test suites are-automatically enabled if they are requested as a built target.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--enable-tests</span></code> and-<code class="docutils literal"><span class="pre">--disable-tests</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-benchmarks">-<code class="descname">benchmarks</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-benchmarks" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---enable-benchmarks">-<code class="descname">--enable-benchmarks</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---enable-benchmarks" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---disable-benchmarks">-<code class="descname">--disable-benchmarks</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---disable-benchmarks" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body"><code class="docutils literal"><span class="pre">False</span></code></td>-</tr>-</tbody>-</table>-<p>Force benchmarks to be enabled. For most users this should not be-needed, as we always attempt to solve for benchmark dependencies,-even when this value is <code class="docutils literal"><span class="pre">False</span></code>; furthermore, benchmarks are-automatically enabled if they are requested as a built target.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--enable-benchmarks</span></code> and-<code class="docutils literal"><span class="pre">--disable-benchmarks</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-extra-prog-path">-<code class="descname">extra-prog-path</code><code class="descclassname">: </code><em class="property">paths (newline or comma separated)</em><a class="headerlink" href="#cfg-field-extra-prog-path" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---extra-prog-path">-<code class="descname">--extra-prog-path</code><code class="descclassname">=PATH</code><a class="headerlink" href="#cfg-flag---extra-prog-path" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Since:</th><td class="field-body">Cabal 1.18</td>-</tr>-</tbody>-</table>-<p>A list of directories to search for extra required programs. Most-users should not need this, as programs like <code class="docutils literal"><span class="pre">happy</span></code> and <code class="docutils literal"><span class="pre">alex</span></code>-will automatically be installed and added to the path. This can be-useful if a <code class="docutils literal"><span class="pre">Custom</span></code> setup script relies on an exotic extra-program.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--extra-prog-path=PATH</span></code>,-which can be specified multiple times.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-run-tests">-<code class="descname">run-tests</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-run-tests" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---run-tests">-<code class="descname">--run-tests</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---run-tests" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body"><code class="docutils literal"><span class="pre">False</span></code></td>-</tr>-</tbody>-</table>-<p>Run the package test suite upon installation. This is useful for-saying “When this package is installed, check that the test suite-passes, terminating the rest of the build if it is broken.”</p>-<div class="admonition warning">-<p class="first admonition-title">Warning</p>-<p class="last">One deficiency: the <a class="reference internal" href="#cfg-field-run-tests" title="project.cabal run-tests field "><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">run-tests</span></code></a> setting of a package is NOT-recorded as part of the hash, so if you install something without-<a class="reference internal" href="#cfg-field-run-tests" title="project.cabal run-tests field "><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">run-tests</span></code></a> and then turn on <code class="docutils literal"><span class="pre">run-tests</span></code>, we won’t-subsequently test the package. If this is causing you problems, give-us a shout.</p>-</div>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--run-tests</span></code>.</p>-</dd></dl>--<div class="section" id="object-code-options">-<h3>5.5.4.1. Object code options<a class="headerlink" href="#object-code-options" title="Permalink to this headline">¶</a></h3>-<dl class="cfg-field">-<dt id="cfg-field-debug-info">-<code class="descname">debug-info</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-debug-info" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---enable-debug-info">-<code class="descname">--enable-debug-info</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---enable-debug-info" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---disable-debug-info">-<code class="descname">--disable-debug-info</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---disable-debug-info" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Since:</th><td class="field-body">Cabal 1.22</td>-</tr>-<tr class="field-even field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>If the compiler (e.g., GHC 7.10 and later) supports outputing OS-native debug info (e.g., DWARF), setting <code class="docutils literal"><span class="pre">debug-info:</span> <span class="pre">True</span></code> will-instruct it to do so. See the GHC wiki page on <a class="reference external" href="http://ghc.haskell.org/trac/ghc/wiki/DWARF">DWARF</a>-for more information about this feature.</p>-<p>(This field also accepts numeric syntax, but as of GHC 8.0 this-doesn’t do anything.)</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--enable-debug-info</span></code> and-<code class="docutils literal"><span class="pre">--disable-debug-info</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-split-objs">-<code class="descname">split-objs</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-split-objs" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---enable-split-objs">-<code class="descname">--enable-split-objs</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---enable-split-objs" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---disable-split-objs">-<code class="descname">--disable-split-objs</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---disable-split-objs" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>Use the GHC <code class="docutils literal"><span class="pre">-split-objs</span></code> feature when building the library. This-reduces the final size of the executables that use the library by-allowing them to link with only the bits that they use rather than-the entire library. The downside is that building the library takes-longer and uses considerably more memory.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--enable-split-objs</span></code> and-<code class="docutils literal"><span class="pre">--disable-split-objs</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-executable-stripping">-<code class="descname">executable-stripping</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-executable-stripping" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---enable-executable-stripping">-<code class="descname">--enable-executable-stripping</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---enable-executable-stripping" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---disable-executable-stripping">-<code class="descname">--disable-executable-stripping</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---disable-executable-stripping" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">True</td>-</tr>-</tbody>-</table>-<p>When installing binary executable programs, run the <code class="docutils literal"><span class="pre">strip</span></code>-program on the binary. This can considerably reduce the size of the-executable binary file. It does this by removing debugging-information and symbols.</p>-<p>Not all Haskell implementations generate native binaries. For such-implementations this option has no effect.</p>-<p>(TODO: Check what happens if you combine this with <code class="docutils literal"><span class="pre">debug-info</span></code>.)</p>-<p>The command line variant of this flag is-<code class="docutils literal"><span class="pre">--enable-executable-stripping</span></code> and-<code class="docutils literal"><span class="pre">--disable-executable-stripping</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-library-stripping">-<code class="descname">library-stripping</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-library-stripping" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---enable-library-stripping">-<code class="descname">--enable-library-stripping</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---enable-library-stripping" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---disable-library-stripping">-<code class="descname">--disable-library-stripping</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---disable-library-stripping" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Since:</th><td class="field-body">Cabal 1.19</td>-</tr>-</tbody>-</table>-<p>When installing binary libraries, run the <code class="docutils literal"><span class="pre">strip</span></code> program on the-binary, saving space on the file system. See also-<code class="docutils literal"><span class="pre">executable-stripping</span></code>.</p>-<p>The command line variant of this flag is-<code class="docutils literal"><span class="pre">--enable-library-stripping</span></code> and <code class="docutils literal"><span class="pre">--disable-library-stripping</span></code>.</p>-</dd></dl>--</div>-<div class="section" id="executable-options">-<h3>5.5.4.2. Executable options<a class="headerlink" href="#executable-options" title="Permalink to this headline">¶</a></h3>-<dl class="cfg-field">-<dt id="cfg-field-program-prefix">-<code class="descname">program-prefix</code><code class="descclassname">: </code><em class="property">prefix</em><a class="headerlink" href="#cfg-field-program-prefix" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---program-prefix">-<code class="descname">--program-prefix</code><code class="descclassname">=prefix</code><a class="headerlink" href="#cfg-flag---program-prefix" title="Permalink to this definition">¶</a></dt>-<dd><p>[STRIKEOUT:Prepend <em>prefix</em> to installed program names.] (Currently-implemented in a silly and not useful way. If you need this to work-give us a shout.)</p>-<p><em>prefix</em> may contain the following path variables: <code class="docutils literal"><span class="pre">$pkgid</span></code>,-<code class="docutils literal"><span class="pre">$pkg</span></code>, <code class="docutils literal"><span class="pre">$version</span></code>, <code class="docutils literal"><span class="pre">$compiler</span></code>, <code class="docutils literal"><span class="pre">$os</span></code>, <code class="docutils literal"><span class="pre">$arch</span></code>, <code class="docutils literal"><span class="pre">$abi</span></code>,-<code class="docutils literal"><span class="pre">$abitag</span></code></p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--program-prefix=foo-</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-program-suffix">-<code class="descname">program-suffix</code><code class="descclassname">: </code><em class="property">suffix</em><a class="headerlink" href="#cfg-field-program-suffix" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---program-suffix">-<code class="descname">--program-suffix</code><code class="descclassname">=suffix</code><a class="headerlink" href="#cfg-flag---program-suffix" title="Permalink to this definition">¶</a></dt>-<dd><p>[STRIKEOUT:Append <em>suffix</em> to installed program names.] (Currently-implemented in a silly and not useful way. If you need this to work-give us a shout.)</p>-<p>The most obvious use for this is to append the program’s version-number to make it possible to install several versions of a program-at once: <code class="docutils literal"><span class="pre">program-suffix:</span> <span class="pre">$version</span></code>.</p>-<p><em>suffix</em> may contain the following path variables: <code class="docutils literal"><span class="pre">$pkgid</span></code>,-<code class="docutils literal"><span class="pre">$pkg</span></code>, <code class="docutils literal"><span class="pre">$version</span></code>, <code class="docutils literal"><span class="pre">$compiler</span></code>, <code class="docutils literal"><span class="pre">$os</span></code>, <code class="docutils literal"><span class="pre">$arch</span></code>, <code class="docutils literal"><span class="pre">$abi</span></code>,-<code class="docutils literal"><span class="pre">$abitag</span></code></p>-<p>The command line variant of this flag is-<code class="docutils literal"><span class="pre">--program-suffix='$version'</span></code>.</p>-</dd></dl>--</div>-<div class="section" id="dynamic-linking-options">-<h3>5.5.4.3. Dynamic linking options<a class="headerlink" href="#dynamic-linking-options" title="Permalink to this headline">¶</a></h3>-<dl class="cfg-field">-<dt id="cfg-field-shared">-<code class="descname">shared</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-shared" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---enable-shared">-<code class="descname">--enable-shared</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---enable-shared" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---disable-shared">-<code class="descname">--disable-shared</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---disable-shared" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>Build shared library. This implies a separate compiler run to-generate position independent code as required on most platforms.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--enable-shared</span></code> and-<code class="docutils literal"><span class="pre">--disable-shared</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-executable-dynamic">-<code class="descname">executable-dynamic</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-executable-dynamic" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---enable-executable-dynamic">-<code class="descname">--enable-executable-dynamic</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---enable-executable-dynamic" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---disable-executable-dynamic">-<code class="descname">--disable-executable-dynamic</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---disable-executable-dynamic" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>Link executables dynamically. The executable’s library dependencies-should be built as shared objects. This implies <code class="docutils literal"><span class="pre">shared:</span> <span class="pre">True</span></code>-unless <code class="docutils literal"><span class="pre">shared:</span> <span class="pre">False</span></code> is explicitly specified.</p>-<p>The command line variant of this flag is-<code class="docutils literal"><span class="pre">--enable-executable-dynamic</span></code> and-<code class="docutils literal"><span class="pre">--disable-executable-dynamic</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-library-for-ghci">-<code class="descname">library-for-ghci</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-library-for-ghci" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---enable-library-for-ghci">-<code class="descname">--enable-library-for-ghci</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---enable-library-for-ghci" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---disable-library-for-ghci">-<code class="descname">--disable-library-for-ghci</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---disable-library-for-ghci" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">True</td>-</tr>-</tbody>-</table>-<p>Build libraries suitable for use with GHCi. This involves an extra-linking step after the build.</p>-<p>Not all platforms support GHCi and indeed on some platforms, trying-to build GHCi libs fails. In such cases, consider setting-<code class="docutils literal"><span class="pre">library-for-ghci:</span> <span class="pre">False</span></code>.</p>-<p>The command line variant of this flag is-<code class="docutils literal"><span class="pre">--enable-library-for-ghci</span></code> and <code class="docutils literal"><span class="pre">--disable-library-for-ghci</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-relocatable">-<code class="descname">relocatable</code><code class="descclassname">: </code><em class="property"></em><a class="headerlink" href="#cfg-field-relocatable" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---relocatable">-<code class="descname">--relocatable</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---relocatable" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Since:</th><td class="field-body">Cabal 1.21</td>-</tr>-<tr class="field-even field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>[STRIKEOUT:Build a package which is relocatable.] (TODO: It is not-clear what this actually does, or if it works at all.)</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--relocatable</span></code>.</p>-</dd></dl>--</div>-<div class="section" id="foreign-function-interface-options">-<h3>5.5.4.4. Foreign function interface options<a class="headerlink" href="#foreign-function-interface-options" title="Permalink to this headline">¶</a></h3>-<dl class="cfg-field">-<dt id="cfg-field-extra-include-dirs">-<code class="descname">extra-include-dirs</code><code class="descclassname">: </code><em class="property">directories (comma or newline separated list)</em><a class="headerlink" href="#cfg-field-extra-include-dirs" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---extra-include-dirs">-<code class="descname">--extra-include-dirs</code><code class="descclassname">=DIR</code><a class="headerlink" href="#cfg-flag---extra-include-dirs" title="Permalink to this definition">¶</a></dt>-<dd><p>An extra directory to search for C header files. You can use this-flag multiple times to get a list of directories.</p>-<p>You might need to use this flag if you have standard system header-files in a non-standard location that is not mentioned in the-package’s <code class="docutils literal"><span class="pre">.cabal</span></code> file. Using this option has the same affect as-appending the directory <em>dir</em> to the <a class="reference internal" href="developing-packages.html#pkg-field-include-dirs" title="package.cabal include-dirs field"><code class="xref cabal cabal-pkg-field docutils literal"><span class="pre">include-dirs</span></code></a> field in each-library and executable in the package’s <code class="docutils literal"><span class="pre">.cabal</span></code> file. The-advantage of course is that you do not have to modify the package at-all. These extra directories will be used while building the package-and for libraries it is also saved in the package registration-information and used when compiling modules that use the library.</p>-<p>The command line variant of this flag is-<code class="docutils literal"><span class="pre">--extra-include-dirs=DIR</span></code>, which can be specified multiple times.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-extra-lib-dirs">-<code class="descname">extra-lib-dirs</code><code class="descclassname">: </code><em class="property">directories (comma or newline separated list)</em><a class="headerlink" href="#cfg-field-extra-lib-dirs" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---extra-lib-dirs">-<code class="descname">--extra-lib-dirs</code><code class="descclassname">=DIR</code><a class="headerlink" href="#cfg-flag---extra-lib-dirs" title="Permalink to this definition">¶</a></dt>-<dd><p>An extra directory to search for system libraries files.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--extra-lib-dirs=DIR</span></code>,-which can be specified multiple times.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-extra-framework-dirs">-<code class="descname">extra-framework-dirs</code><code class="descclassname">: </code><em class="property">directories (comma or newline separated list)</em><a class="headerlink" href="#cfg-field-extra-framework-dirs" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---extra-framework-dirs">-<code class="descname">--extra-framework-dirs</code><code class="descclassname">=DIR</code><a class="headerlink" href="#cfg-flag---extra-framework-dirs" title="Permalink to this definition">¶</a></dt>-<dd><p>An extra directory to search for frameworks (OS X only).</p>-<p>You might need to use this flag if you have standard system-libraries in a non-standard location that is not mentioned in the-package’s <code class="docutils literal"><span class="pre">.cabal</span></code> file. Using this option has the same affect as-appending the directory <em>dir</em> to the <a class="reference internal" href="#cfg-field-extra-lib-dirs" title="project.cabal extra-lib-dirs field "><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">extra-lib-dirs</span></code></a> field in-each library and executable in the package’s <code class="docutils literal"><span class="pre">.cabal</span></code> file. The-advantage of course is that you do not have to modify the package at-all. These extra directories will be used while building the package-and for libraries it is also saved in the package registration-information and used when compiling modules that use the library.</p>-<p>The command line variant of this flag is-<code class="docutils literal"><span class="pre">--extra-framework-dirs=DIR</span></code>, which can be specified multiple-times.</p>-</dd></dl>--</div>-<div class="section" id="profiling-options">-<h3>5.5.4.5. Profiling options<a class="headerlink" href="#profiling-options" title="Permalink to this headline">¶</a></h3>-<dl class="cfg-field">-<dt id="cfg-field-profiling">-<code class="descname">profiling</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-profiling" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---enable-profiling">-<code class="descname">--enable-profiling</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---enable-profiling" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---disable-profiling">-<code class="descname">--disable-profiling</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---disable-profiling" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Since:</th><td class="field-body">Cabal 1.21</td>-</tr>-<tr class="field-even field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>Build libraries and executables with profiling enabled (for-compilers that support profiling as a separate mode). It is only-necessary to specify <a class="reference internal" href="#cfg-field-profiling" title="project.cabal profiling field (since version: 1.21)"><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">profiling</span></code></a> for the specific package you-want to profile; <code class="docutils literal"><span class="pre">cabal</span> <span class="pre">new-build</span></code> will ensure that all of its-transitive dependencies are built with profiling enabled.</p>-<p>To enable profiling for only libraries or executables, see-<a class="reference internal" href="#cfg-field-library-profiling" title="project.cabal library-profiling field (since version: 1.21)"><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">library-profiling</span></code></a> and <a class="reference internal" href="#cfg-field-executable-profiling" title="project.cabal executable-profiling field (since version: 1.21)"><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">executable-profiling</span></code></a>.</p>-<p>For useful profiling, it can be important to control precisely what-cost centers are allocated; see <a class="reference internal" href="#cfg-field-profiling-detail" title="project.cabal profiling-detail field (since version: 1.23)"><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">profiling-detail</span></code></a>.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--enable-profiling</span></code> and-<code class="docutils literal"><span class="pre">--disable-profiling</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-profiling-detail">-<code class="descname">profiling-detail</code><code class="descclassname">: </code><em class="property">level</em><a class="headerlink" href="#cfg-field-profiling-detail" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---profiling-detail">-<code class="descname">--profiling-detail</code><code class="descclassname">=level</code><a class="headerlink" href="#cfg-flag---profiling-detail" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Since:</th><td class="field-body">Cabal 1.23</td>-</tr>-</tbody>-</table>-<p>Some compilers that support profiling, notably GHC, can allocate-costs to different parts of the program and there are different-levels of granularity or detail with which this can be done. In-particular for GHC this concept is called “cost centers”, and GHC-can automatically add cost centers, and can do so in different ways.</p>-<p>This flag covers both libraries and executables, but can be-overridden by the <code class="docutils literal"><span class="pre">library-profiling-detail</span></code> field.</p>-<p>Currently this setting is ignored for compilers other than GHC. The-levels that cabal currently supports are:</p>-<dl class="docutils">-<dt>default</dt>-<dd>For GHC this uses <code class="docutils literal"><span class="pre">exported-functions</span></code> for libraries and-<code class="docutils literal"><span class="pre">toplevel-functions</span></code> for executables.</dd>-<dt>none</dt>-<dd>No costs will be assigned to any code within this component.</dd>-<dt>exported-functions</dt>-<dd>Costs will be assigned at the granularity of all top level-functions exported from each module. In GHC, this-is for non-inline functions. Corresponds to <code class="docutils literal"><span class="pre">-fprof-auto-exported</span></code>.</dd>-<dt>toplevel-functions</dt>-<dd>Costs will be assigned at the granularity of all top level-functions in each module, whether they are exported from the-module or not. In GHC specifically, this is for non-inline-functions. Corresponds to <code class="docutils literal"><span class="pre">-fprof-auto-top</span></code>.</dd>-<dt>all-functions</dt>-<dd>Costs will be assigned at the granularity of all functions in-each module, whether top level or local. In GHC specifically,-this is for non-inline toplevel or where-bound functions or-values. Corresponds to <code class="docutils literal"><span class="pre">-fprof-auto</span></code>.</dd>-</dl>-<p>The command line variant of this flag is-<code class="docutils literal"><span class="pre">--profiling-detail=none</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-library-profiling-detail">-<code class="descname">library-profiling-detail</code><code class="descclassname">: </code><em class="property">level</em><a class="headerlink" href="#cfg-field-library-profiling-detail" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---library-profiling-detail">-<code class="descname">--library-profiling-detail</code><code class="descclassname">=level</code><a class="headerlink" href="#cfg-flag---library-profiling-detail" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Since:</th><td class="field-body">Cabal 1.23</td>-</tr>-</tbody>-</table>-<p>Like <a class="reference internal" href="#cfg-field-profiling-detail" title="project.cabal profiling-detail field (since version: 1.23)"><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">profiling-detail</span></code></a>, but applied only to libraries</p>-<p>The command line variant of this flag is-<code class="docutils literal"><span class="pre">--library-profiling-detail=none</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-library-vanilla">-<code class="descname">library-vanilla</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-library-vanilla" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---enable-library-vanilla">-<code class="descname">--enable-library-vanilla</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---enable-library-vanilla" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---disable-library-vanilla">-<code class="descname">--disable-library-vanilla</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---disable-library-vanilla" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">True</td>-</tr>-</tbody>-</table>-<p>Build ordinary libraries (as opposed to profiling libraries).-Mostly, you can set this to False to avoid building ordinary-libraries when you are profiling.</p>-<p>The command line variant of this flag is-<code class="docutils literal"><span class="pre">--enable-library-vanilla</span></code> and <code class="docutils literal"><span class="pre">--disable-library-vanilla</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-library-profiling">-<code class="descname">library-profiling</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-library-profiling" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---enable-library-profiling">-<code class="descname">--enable-library-profiling</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---enable-library-profiling" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---disable-library-profiling">-<code class="descname">--disable-library-profiling</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---disable-library-profiling" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Since:</th><td class="field-body">Cabal 1.21</td>-</tr>-<tr class="field-even field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>Build libraries with profiling enabled. You probably want-to use <a class="reference internal" href="#cfg-field-profiling" title="project.cabal profiling field (since version: 1.21)"><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">profiling</span></code></a> instead.</p>-<p>The command line variant of this flag is-<code class="docutils literal"><span class="pre">--enable-library-profiling</span></code> and <code class="docutils literal"><span class="pre">--disable-library-profiling</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-executable-profiling">-<code class="descname">executable-profiling</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-executable-profiling" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---enable-executable-profiling">-<code class="descname">--enable-executable-profiling</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---enable-executable-profiling" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---disable-executable-profiling">-<code class="descname">--disable-executable-profiling</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---disable-executable-profiling" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Since:</th><td class="field-body">Cabal 1.21</td>-</tr>-<tr class="field-even field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>Build executables with profiling enabled. You probably want-to use <a class="reference internal" href="#cfg-field-profiling" title="project.cabal profiling field (since version: 1.21)"><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">profiling</span></code></a> instead.</p>-<p>The command line variant of this flag is-<code class="docutils literal"><span class="pre">--enable-executable-profiling</span></code> and-<code class="docutils literal"><span class="pre">--disable-executable-profiling</span></code>.</p>-</dd></dl>--</div>-<div class="section" id="coverage-options">-<h3>5.5.4.6. Coverage options<a class="headerlink" href="#coverage-options" title="Permalink to this headline">¶</a></h3>-<dl class="cfg-field">-<dt id="cfg-field-coverage">-<code class="descname">coverage</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-coverage" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---enable-coverage">-<code class="descname">--enable-coverage</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---enable-coverage" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---disable-coverage">-<code class="descname">--disable-coverage</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---disable-coverage" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Since:</th><td class="field-body">Cabal 1.21</td>-</tr>-<tr class="field-even field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>Build libraries and executables (including test suites) with Haskell-Program Coverage enabled. Running the test suites will automatically-generate coverage reports with HPC.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--enable-coverage</span></code> and-<code class="docutils literal"><span class="pre">--disable-coverage</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-library-coverage">-<code class="descname">library-coverage</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-library-coverage" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---enable-library-coverage">-<code class="descname">--enable-library-coverage</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---enable-library-coverage" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---disable-library-coverage">-<code class="descname">--disable-library-coverage</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---disable-library-coverage" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Deprecated:</th><td class="field-body"></td>-</tr>-<tr class="field-even field"><th class="field-name">Since:</th><td class="field-body">Cabal 1.21</td>-</tr>-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>Deprecated, use <a class="reference internal" href="#cfg-field-coverage" title="project.cabal coverage field (since version: 1.21)"><code class="xref cabal cabal-cfg-field docutils literal"><span class="pre">coverage</span></code></a>.</p>-<p>The command line variant of this flag is-<code class="docutils literal"><span class="pre">--enable-library-coverage</span></code> and <code class="docutils literal"><span class="pre">--disable-library-coverage</span></code>.</p>-</dd></dl>--</div>-<div class="section" id="haddock-options">-<h3>5.5.4.7. Haddock options<a class="headerlink" href="#haddock-options" title="Permalink to this headline">¶</a></h3>-<p>Documentation building support is fairly sparse at the moment. Let us-know if it’s a priority for you!</p>-<dl class="cfg-field">-<dt id="cfg-field-documentation">-<code class="descname">documentation</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-documentation" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---enable-documentation">-<code class="descname">--enable-documentation</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---enable-documentation" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---disable-documentation">-<code class="descname">--disable-documentation</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---disable-documentation" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>Enables building of Haddock documentation</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--enable-documentation</span></code>-and <code class="docutils literal"><span class="pre">--disable-documentation</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-doc-index-file">-<code class="descname">doc-index-file</code><code class="descclassname">: </code><em class="property">templated path</em><a class="headerlink" href="#cfg-field-doc-index-file" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---doc-index-file">-<code class="descname">--doc-index-file</code><code class="descclassname">=TEMPLATE</code><a class="headerlink" href="#cfg-flag---doc-index-file" title="Permalink to this definition">¶</a></dt>-<dd><p>A central index of Haddock API documentation (template cannot use-<code class="docutils literal"><span class="pre">$pkgid</span></code>), which should be updated as documentation is built.</p>-<p>The command line variant of this flag is-<code class="docutils literal"><span class="pre">--doc-index-file=TEMPLATE</span></code></p>-</dd></dl>--<p>The following commands are equivalent to ones that would be passed when-running <code class="docutils literal"><span class="pre">setup</span> <span class="pre">haddock</span></code>. (TODO: Where does the documentation get put.)</p>-<dl class="cfg-field">-<dt id="cfg-field-haddock-hoogle">-<code class="descname">haddock-hoogle</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-haddock-hoogle" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>Generate a text file which can be converted by <a class="reference external" href="http://www.haskell.org/hoogle/">Hoogle</a>-into a database for searching. This is equivalent to running <code class="docutils literal"><span class="pre">haddock</span></code>-with the <code class="docutils literal"><span class="pre">--hoogle</span></code> flag.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--hoogle</span></code> (for the-<code class="docutils literal"><span class="pre">haddock</span></code> command).</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-haddock-html">-<code class="descname">haddock-html</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-haddock-html" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">True</td>-</tr>-</tbody>-</table>-<p>Build HTML documentation.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--html</span></code> (for the-<code class="docutils literal"><span class="pre">haddock</span></code> command).</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-haddock-html-location">-<code class="descname">haddock-html-location</code><code class="descclassname">: </code><em class="property">templated path</em><a class="headerlink" href="#cfg-field-haddock-html-location" title="Permalink to this definition">¶</a></dt>-<dd><p>Specify a template for the location of HTML documentation for-prerequisite packages. The substitutions are applied to the template-to obtain a location for each package, which will be used by-hyperlinks in the generated documentation. For example, the-following command generates links pointing at [Hackage] pages:</p>-<div class="highlight-cabal"><div class="highlight"><pre><span></span><span class="k">html-location</span><span class="p">:</span> 'http<span class="p">:</span>//hackage.haskell.org/packages/archive/$pkg/latest/doc/html'-</pre></div>-</div>-<p>Here the argument is quoted to prevent substitution by the shell. If-this option is omitted, the location for each package is obtained-using the package tool (e.g. <code class="docutils literal"><span class="pre">ghc-pkg</span></code>).</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--html-location</span></code> (for-the <code class="docutils literal"><span class="pre">haddock</span></code> subcommand).</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-haddock-executables">-<code class="descname">haddock-executables</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-haddock-executables" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>Run haddock on all executable programs.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--executables</span></code> (for the-<code class="docutils literal"><span class="pre">haddock</span></code> subcommand).</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-haddock-tests">-<code class="descname">haddock-tests</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-haddock-tests" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>Run haddock on all test suites.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--tests</span></code> (for the-<code class="docutils literal"><span class="pre">haddock</span></code> subcommand).</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-haddock-benchmarks">-<code class="descname">haddock-benchmarks</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-haddock-benchmarks" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>Run haddock on all benchmarks.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--benchmarks</span></code> (for the-<code class="docutils literal"><span class="pre">haddock</span></code> subcommand).</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-haddock-all">-<code class="descname">haddock-all</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-haddock-all" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>Run haddock on all components.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--all</span></code> (for the-<code class="docutils literal"><span class="pre">haddock</span></code> subcommand).</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-haddock-internal">-<code class="descname">haddock-internal</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-haddock-internal" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>Build haddock documentation which includes unexposed modules and-symbols.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--internal</span></code> (for the-<code class="docutils literal"><span class="pre">haddock</span></code> subcommand).</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-haddock-css">-<code class="descname">haddock-css</code><code class="descclassname">: </code><em class="property">path</em><a class="headerlink" href="#cfg-field-haddock-css" title="Permalink to this definition">¶</a></dt>-<dd><p>The CSS file that should be used to style the generated-documentation (overriding haddock’s default.)</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--css</span></code> (for the-<code class="docutils literal"><span class="pre">haddock</span></code> subcommand).</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-haddock-hyperlink-source">-<code class="descname">haddock-hyperlink-source</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-haddock-hyperlink-source" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>Generated hyperlinked source code using <a class="reference external" href="http://www.cs.york.ac.uk/fp/darcs/hscolour/">HsColour</a>, and have-Haddock documentation link to it.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--hyperlink-source</span></code> (for-the <code class="docutils literal"><span class="pre">haddock</span></code> subcommand).</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-haddock-hscolour-css">-<code class="descname">haddock-hscolour-css</code><code class="descclassname">: </code><em class="property">path</em><a class="headerlink" href="#cfg-field-haddock-hscolour-css" title="Permalink to this definition">¶</a></dt>-<dd><p>The CSS file that should be used to style the generated hyperlinked-source code (from <a class="reference external" href="http://www.cs.york.ac.uk/fp/darcs/hscolour/">HsColour</a>).</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--hscolour-css</span></code> (for the-<code class="docutils literal"><span class="pre">haddock</span></code> subcommand).</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-haddock-contents-location">-<code class="descname">haddock-contents-location</code><code class="descclassname">: </code><em class="property">URL</em><a class="headerlink" href="#cfg-field-haddock-contents-location" title="Permalink to this definition">¶</a></dt>-<dd><p>A baked-in URL to be used as the location for the contents page.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--contents-location</span></code>-(for the <code class="docutils literal"><span class="pre">haddock</span></code> subcommand).</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-haddock-keep-temp-files">-<code class="descname">haddock-keep-temp-files</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-haddock-keep-temp-files" title="Permalink to this definition">¶</a></dt>-<dd><p>Keep temporary files.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--keep-temp-files</span></code> (for-the <code class="docutils literal"><span class="pre">haddock</span></code> subcommand).</p>-</dd></dl>--</div>-</div>-<div class="section" id="advanced-global-configuration-options">-<h2>5.5.5. Advanced global configuration options<a class="headerlink" href="#advanced-global-configuration-options" title="Permalink to this headline">¶</a></h2>-<dl class="cfg-field">-<dt id="cfg-field-http-transport">-<code class="descname">http-transport</code><code class="descclassname">: </code><em class="property">curl, wget, powershell, or plain-http</em><a class="headerlink" href="#cfg-field-http-transport" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---http-transport">-<code class="descname">--http-transport</code><code class="descclassname">=transport</code><a class="headerlink" href="#cfg-flag---http-transport" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body"><code class="docutils literal"><span class="pre">curl</span></code></td>-</tr>-</tbody>-</table>-<p>Set a transport to be used when making http(s) requests.</p>-<p>The command line variant of this field is <code class="docutils literal"><span class="pre">--http-transport=curl</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-ignore-expiry">-<code class="descname">ignore-expiry</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-ignore-expiry" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---ignore-expiry">-<code class="descname">--ignore-expiry</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---ignore-expiry" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>If <code class="docutils literal"><span class="pre">True</span></code>, we will ignore expiry dates on metadata from Hackage.</p>-<p>In general, you should not set this to <code class="docutils literal"><span class="pre">True</span></code> as it will leave you-vulnerable to stale cache attacks. However, it may be temporarily-useful if the main Hackage server is down, and we need to rely on-mirrors which have not been updated for longer than the expiry-period on the timestamp.</p>-<p>The command line variant of this field is <code class="docutils literal"><span class="pre">--ignore-expiry</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-remote-repo-cache">-<code class="descname">remote-repo-cache</code><code class="descclassname">: </code><em class="property">directory</em><a class="headerlink" href="#cfg-field-remote-repo-cache" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---remote-repo-cache">-<code class="descname">--remote-repo-cache</code><code class="descclassname">=DIR</code><a class="headerlink" href="#cfg-flag---remote-repo-cache" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body"><code class="docutils literal"><span class="pre">~/.cabal/packages</span></code></td>-</tr>-</tbody>-</table>-<p>[STRIKEOUT:The location where packages downloaded from remote-repositories will be cached.] Not implemented yet.</p>-<p>The command line variant of this flag is-<code class="docutils literal"><span class="pre">--remote-repo-cache=DIR</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-logs-dir">-<code class="descname">logs-dir</code><code class="descclassname">: </code><em class="property">directory</em><a class="headerlink" href="#cfg-field-logs-dir" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---logs-dir">-<code class="descname">--logs-dir</code><code class="descclassname">=DIR</code><a class="headerlink" href="#cfg-flag---logs-dir" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body"><code class="docutils literal"><span class="pre">~/.cabal/logs</span></code></td>-</tr>-</tbody>-</table>-<p>[STRIKEOUT:The location where build logs for packages are stored.]-Not implemented yet.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--logs-dir=DIR</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-build-summary">-<code class="descname">build-summary</code><code class="descclassname">: </code><em class="property">template filepath</em><a class="headerlink" href="#cfg-field-build-summary" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---build-summary">-<code class="descname">--build-summary</code><code class="descclassname">=TEMPLATE</code><a class="headerlink" href="#cfg-flag---build-summary" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body"><code class="docutils literal"><span class="pre">~/.cabal/logs/build.log</span></code></td>-</tr>-</tbody>-</table>-<p>[STRIKEOUT:The file to save build summaries. Valid variables which-can be used in the path are <code class="docutils literal"><span class="pre">$pkgid</span></code>, <code class="docutils literal"><span class="pre">$compiler</span></code>, <code class="docutils literal"><span class="pre">$os</span></code> and-<code class="docutils literal"><span class="pre">$arch</span></code>.] Not implemented yet.</p>-<p>The command line variant of this flag is-<code class="docutils literal"><span class="pre">--build-summary=TEMPLATE</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-local-repo">-<code class="descname">local-repo</code><code class="descclassname">: </code><em class="property">directory</em><a class="headerlink" href="#cfg-field-local-repo" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---local-repo">-<code class="descname">--local-repo</code><code class="descclassname">=DIR</code><a class="headerlink" href="#cfg-flag---local-repo" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Deprecated:</th><td class="field-body"></td>-</tr>-</tbody>-</table>-<p>[STRIKEOUT:The location of a local repository.] Deprecated. See-“Legacy repositories.”</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--local-repo=DIR</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-world-file">-<code class="descname">world-file</code><code class="descclassname">: </code><em class="property">path</em><a class="headerlink" href="#cfg-field-world-file" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---world-file">-<code class="descname">--world-file</code><code class="descclassname">=FILE</code><a class="headerlink" href="#cfg-flag---world-file" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Deprecated:</th><td class="field-body"></td>-</tr>-</tbody>-</table>-<p>[STRIKEOUT:The location of the world file.] Deprecated.</p>-<p>The command line variant of this flag is <code class="docutils literal"><span class="pre">--world-file=FILE</span></code>.</p>-</dd></dl>--<p>Undocumented fields: <code class="docutils literal"><span class="pre">root-cmd</span></code>, <code class="docutils literal"><span class="pre">symlink-bindir</span></code>, <code class="docutils literal"><span class="pre">build-log</span></code>,-<code class="docutils literal"><span class="pre">remote-build-reporting</span></code>, <code class="docutils literal"><span class="pre">report-planned-failure</span></code>, <code class="docutils literal"><span class="pre">one-shot</span></code>,-<code class="docutils literal"><span class="pre">offline</span></code>.</p>-<div class="section" id="advanced-solver-options">-<h3>5.5.5.1. Advanced solver options<a class="headerlink" href="#advanced-solver-options" title="Permalink to this headline">¶</a></h3>-<p>Most users generally won’t need these.</p>-<dl class="cfg-field">-<dt id="cfg-field-solver">-<code class="descname">solver</code><code class="descclassname">: </code><em class="property">modular</em><a class="headerlink" href="#cfg-field-solver" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---solver">-<code class="descname">--solver</code><code class="descclassname">=modular</code><a class="headerlink" href="#cfg-flag---solver" title="Permalink to this definition">¶</a></dt>-<dd><p>This field is reserved to allow the specification of alternative-dependency solvers. At the moment, the only accepted option is-<code class="docutils literal"><span class="pre">modular</span></code>.</p>-<p>The command line variant of this field is <code class="docutils literal"><span class="pre">--solver=modular</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-max-backjumps">-<code class="descname">max-backjumps</code><code class="descclassname">: </code><em class="property">nat</em><a class="headerlink" href="#cfg-field-max-backjumps" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---max-backjumps">-<code class="descname">--max-backjumps</code><code class="descclassname">=N</code><a class="headerlink" href="#cfg-flag---max-backjumps" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">2000</td>-</tr>-</tbody>-</table>-<p>Maximum number of backjumps (backtracking multiple steps) allowed-while solving. Set -1 to allow unlimited backtracking, and 0 to-disable backtracking completely.</p>-<p>The command line variant of this field is <code class="docutils literal"><span class="pre">--max-backjumps=2000</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-reorder-goals">-<code class="descname">reorder-goals</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-reorder-goals" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---reorder-goals">-<code class="descname">--reorder-goals</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---reorder-goals" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---no-reorder-goals">-<code class="descname">--no-reorder-goals</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---no-reorder-goals" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>When enabled, the solver will reorder goals according to certain-heuristics. Slows things down on average, but may make backtracking-faster for some packages. It’s unlikely to help for small projects,-but for big install plans it may help you find a plan when otherwise-this is not possible. See <a class="reference external" href="https://github.com/haskell/cabal/issues/1780">#1780</a> for more commentary.</p>-<p>The command line variant of this field is <code class="docutils literal"><span class="pre">--(no-)reorder-goals</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-count-conflicts">-<code class="descname">count-conflicts</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-count-conflicts" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---count-conflicts">-<code class="descname">--count-conflicts</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---count-conflicts" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---no-count-conflicts">-<code class="descname">--no-count-conflicts</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---no-count-conflicts" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">True</td>-</tr>-</tbody>-</table>-<p>Try to speed up solving by preferring goals that are involved in a-lot of conflicts.</p>-<p>The command line variant of this field is-<code class="docutils literal"><span class="pre">--(no-)count-conflicts</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-strong-flags">-<code class="descname">strong-flags</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-strong-flags" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---strong-flags">-<code class="descname">--strong-flags</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---strong-flags" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---no-strong-flags">-<code class="descname">--no-strong-flags</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---no-strong-flags" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>Do not defer flag choices. (TODO: Better documentation.)</p>-<p>The command line variant of this field is <code class="docutils literal"><span class="pre">--(no-)strong-flags</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-allow-boot-library-installs">-<code class="descname">allow-boot-library-installs</code><code class="descclassname">: </code><em class="property">boolean</em><a class="headerlink" href="#cfg-field-allow-boot-library-installs" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---allow-boot-library-installs">-<code class="descname">--allow-boot-library-installs</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---allow-boot-library-installs" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---no-allow-boot-library-installs">-<code class="descname">--no-allow-boot-library-installs</code><code class="descclassname"> </code><a class="headerlink" href="#cfg-flag---no-allow-boot-library-installs" title="Permalink to this definition">¶</a></dt>-<dd><table class="docutils field-list" frame="void" rules="none">-<col class="field-name" />-<col class="field-body" />-<tbody valign="top">-<tr class="field-odd field"><th class="field-name">Default value:</th><td class="field-body">False</td>-</tr>-</tbody>-</table>-<p>By default, the dependency solver doesn’t allow <code class="docutils literal"><span class="pre">base</span></code>,-<code class="docutils literal"><span class="pre">ghc-prim</span></code>, <code class="docutils literal"><span class="pre">integer-simple</span></code>, <code class="docutils literal"><span class="pre">integer-gmp</span></code>, and-<code class="docutils literal"><span class="pre">template-haskell</span></code> to be installed or upgraded. This flag-removes the restriction.</p>-<p>The command line variant of this field is-<code class="docutils literal"><span class="pre">--(no-)allow-boot-library-installs</span></code>.</p>-</dd></dl>--<dl class="cfg-field">-<dt id="cfg-field-cabal-lib-version">-<code class="descname">cabal-lib-version</code><code class="descclassname">: </code><em class="property">version</em><a class="headerlink" href="#cfg-field-cabal-lib-version" title="Permalink to this definition">¶</a></dt>-<dt id="cfg-flag---cabal-lib-version">-<code class="descname">--cabal-lib-version</code><code class="descclassname">=version</code><a class="headerlink" href="#cfg-flag---cabal-lib-version" title="Permalink to this definition">¶</a></dt>-<dd><p>This field selects the version of the Cabal library which should be-used to build packages. This option is intended primarily for-internal development use (e.g., forcing a package to build with a-newer version of Cabal, to test a new version of Cabal.) (TODO:-Specify its semantics more clearly.)</p>-<p>The command line variant of this field is-<code class="docutils literal"><span class="pre">--cabal-lib-version=1.24.0.1</span></code>.</p>-</dd></dl>--</div>-</div>-</div>--- </div>- <div class="articleComments">- - </div>- </div>- <footer>- - <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">- - <a href="nix-integration.html" class="btn btn-neutral float-right" title="6. Nix Integration" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>- - - <a href="nix-local-build-overview.html" class="btn btn-neutral" title="5. Nix-style Local Builds" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>- - </div>- -- <hr/>-- <div role="contentinfo">- <p>- © Copyright 2003-2017, Cabal Team.-- </p>- </div>- Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. --</footer>-- </div>- </div>-- </section>-- </div>- --- -- <script type="text/javascript">- var DOCUMENTATION_OPTIONS = {- URL_ROOT:'./',- VERSION:'2.0',- COLLAPSE_INDEX:false,- FILE_SUFFIX:'.html',- HAS_SOURCE: true,- SOURCELINK_SUFFIX: '.txt'- };- </script>- <script type="text/javascript" src="_static/jquery.js"></script>- <script type="text/javascript" src="_static/underscore.js"></script>- <script type="text/javascript" src="_static/doctools.js"></script>-- -- - - <script type="text/javascript" src="_static/js/theme.js"></script>- -- - - <script type="text/javascript">- jQuery(function () {- SphinxRtdTheme.StickyNav.enable();- });- </script>- --</body>-</html>
binary file changed (4023 → absent bytes)
@@ -1,248 +0,0 @@---<!DOCTYPE html>-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->-<head>- <meta charset="utf-8">- - <meta name="viewport" content="width=device-width, initial-scale=1.0">- - <title>Search — Cabal <release> User's Guide</title>- -- - - - -- -- - - -- -- - - <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />- -- -- - <link rel="index" title="Index"- href="genindex.html"/>- <link rel="search" title="Search" href="#"/>- <link rel="top" title="Cabal <release> User's Guide" href="index.html"/> -- - <script src="_static/js/modernizr.min.js"></script>--</head>--<body class="wy-body-for-nav" role="document">-- - <div class="wy-grid-for-nav">-- - <nav data-toggle="wy-nav-shift" class="wy-nav-side">- <div class="wy-side-scroll">- <div class="wy-side-nav-search">- -- - <a href="index.html" class="icon icon-home"> Cabal- -- - - <img src="_static/Cabal-dark.png" class="logo" />- - </a>-- - - - <div class="version">- 2.0- </div>- - -- -<div role="search">- <form id="rtd-search-form" class="wy-form" action="#" method="get">- <input type="text" name="q" placeholder="Search docs" />- <input type="hidden" name="check_keywords" value="yes" />- <input type="hidden" name="area" value="default" />- </form>-</div>-- - </div>-- <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">- - - - - - - - <ul>-<li class="toctree-l1"><a class="reference internal" href="intro.html">1. Introduction</a></li>-<li class="toctree-l1"><a class="reference internal" href="config-and-install.html">2. Configuration and Installing Packages</a></li>-<li class="toctree-l1"><a class="reference internal" href="concepts-and-development.html">3. Package Concepts and Development</a></li>-<li class="toctree-l1"><a class="reference internal" href="bugs-and-stability.html">4. Reporting Bugs and Stability of Cabal Interfaces</a></li>-<li class="toctree-l1"><a class="reference internal" href="nix-local-build-overview.html">5. Nix-style Local Builds</a></li>-<li class="toctree-l1"><a class="reference internal" href="nix-integration.html">6. Nix Integration</a></li>-</ul>-- - - <a href="cabal-projectindex.html">Reference</a>- <a href="genindex.html">Index</a>-- </div>- </div>- </nav>-- <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">-- - <nav class="wy-nav-top" role="navigation" aria-label="top navigation">- - <i data-toggle="wy-nav-top" class="fa fa-bars"></i>- <a href="index.html">Cabal</a>- - </nav>--- - <div class="wy-nav-content">- <div class="rst-content">- ----------------<div role="navigation" aria-label="breadcrumbs navigation">-- <ul class="wy-breadcrumbs">- - <li><a href="index.html">Docs</a> »</li>- - <li>Search</li>- - - <li class="wy-breadcrumbs-aside">- - </li>- - </ul>-- - <hr/>-</div>- <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">- <div itemprop="articleBody">- - <noscript>- <div id="fallback" class="admonition warning">- <p class="last">- Please activate JavaScript to enable the search- functionality.- </p>- </div>- </noscript>-- - <div id="search-results">- - </div>-- </div>- <div class="articleComments">- - </div>- </div>- <footer>- -- <hr/>-- <div role="contentinfo">- <p>- © Copyright 2003-2017, Cabal Team.-- </p>- </div>- Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. --</footer>-- </div>- </div>-- </section>-- </div>- --- -- <script type="text/javascript">- var DOCUMENTATION_OPTIONS = {- URL_ROOT:'./',- VERSION:'2.0',- COLLAPSE_INDEX:false,- FILE_SUFFIX:'.html',- HAS_SOURCE: true,- SOURCELINK_SUFFIX: '.txt'- };- </script>- <script type="text/javascript" src="_static/jquery.js"></script>- <script type="text/javascript" src="_static/underscore.js"></script>- <script type="text/javascript" src="_static/doctools.js"></script>- <script type="text/javascript" src="_static/searchtools.js"></script>-- -- - - <script type="text/javascript" src="_static/js/theme.js"></script>- -- - - <script type="text/javascript">- jQuery(function () {- SphinxRtdTheme.StickyNav.enable();- });- </script>- - <script type="text/javascript">- jQuery(function() { Search.loadIndex("searchindex.js"); });- </script>- - <script type="text/javascript" id="searchindexloader"></script>- ---</body>-</html>
@@ -1,1 +0,0 @@-Search.setIndex({docnames:["bugs-and-stability","concepts-and-development","config-and-install","developing-packages","index","installing-packages","intro","misc","nix-integration","nix-local-build","nix-local-build-overview"],envversion:52,filenames:["bugs-and-stability.rst","concepts-and-development.rst","config-and-install.rst","developing-packages.rst","index.rst","installing-packages.rst","intro.rst","misc.rst","nix-integration.rst","nix-local-build.rst","nix-local-build-overview.rst"],objects:{"":{"--builddir":[9,4,1,"cmdoption-builddir"],"--project-file":[9,4,1,"cmdoption-project-file"],"--store-dir":[9,4,1,"cmdoption-store-dir"],"cabal flag --allow-boot-library-installs ":[9,0,0,"cfg-flag---allow-boot-library-installs"],"cabal flag --allow-newer ":[9,0,0,"cfg-flag---allow-newer"],"cabal flag --allow-older ":[9,0,0,"cfg-flag---allow-older"],"cabal flag --build-summary ":[9,0,0,"cfg-flag---build-summary"],"cabal flag --cabal-lib-version ":[9,0,0,"cfg-flag---cabal-lib-version"],"cabal flag --compiler ":[9,0,0,"cfg-flag---compiler"],"cabal flag --configure-option ":[9,0,0,"cfg-flag---configure-option"],"cabal flag --constraint ":[9,0,0,"cfg-flag---constraint"],"cabal flag --count-conflicts ":[9,0,0,"cfg-flag---count-conflicts"],"cabal flag --disable-benchmarks ":[9,0,0,"cfg-flag---disable-benchmarks"],"cabal flag --disable-documentation ":[9,0,0,"cfg-flag---disable-documentation"],"cabal flag --disable-executable-dynamic ":[9,0,0,"cfg-flag---disable-executable-dynamic"],"cabal flag --disable-executable-stripping ":[9,0,0,"cfg-flag---disable-executable-stripping"],"cabal flag --disable-library-coverage (deprecated)":[9,0,0,"cfg-flag---disable-library-coverage"],"cabal flag --disable-library-for-ghci ":[9,0,0,"cfg-flag---disable-library-for-ghci"],"cabal flag --disable-library-vanilla ":[9,0,0,"cfg-flag---disable-library-vanilla"],"cabal flag --disable-optimization ":[9,0,0,"cfg-flag---disable-optimization"],"cabal flag --disable-shared ":[9,0,0,"cfg-flag---disable-shared"],"cabal flag --disable-split-objs ":[9,0,0,"cfg-flag---disable-split-objs"],"cabal flag --disable-tests ":[9,0,0,"cfg-flag---disable-tests"],"cabal flag --doc-index-file ":[9,0,0,"cfg-flag---doc-index-file"],"cabal flag --enable-benchmarks ":[9,0,0,"cfg-flag---enable-benchmarks"],"cabal flag --enable-documentation ":[9,0,0,"cfg-flag---enable-documentation"],"cabal flag --enable-executable-dynamic ":[9,0,0,"cfg-flag---enable-executable-dynamic"],"cabal flag --enable-executable-stripping ":[9,0,0,"cfg-flag---enable-executable-stripping"],"cabal flag --enable-library-coverage (deprecated)":[9,0,0,"cfg-flag---enable-library-coverage"],"cabal flag --enable-library-for-ghci ":[9,0,0,"cfg-flag---enable-library-for-ghci"],"cabal flag --enable-library-vanilla ":[9,0,0,"cfg-flag---enable-library-vanilla"],"cabal flag --enable-optimization ":[9,0,0,"cfg-flag---enable-optimization"],"cabal flag --enable-shared ":[9,0,0,"cfg-flag---enable-shared"],"cabal flag --enable-split-objs ":[9,0,0,"cfg-flag---enable-split-objs"],"cabal flag --enable-tests ":[9,0,0,"cfg-flag---enable-tests"],"cabal flag --extra-framework-dirs ":[9,0,0,"cfg-flag---extra-framework-dirs"],"cabal flag --extra-include-dirs ":[9,0,0,"cfg-flag---extra-include-dirs"],"cabal flag --extra-lib-dirs ":[9,0,0,"cfg-flag---extra-lib-dirs"],"cabal flag --flags ":[9,0,0,"cfg-flag---flags"],"cabal flag --http-transport ":[9,0,0,"cfg-flag---http-transport"],"cabal flag --ignore-expiry ":[9,0,0,"cfg-flag---ignore-expiry"],"cabal flag --jobs ":[9,0,0,"cfg-flag---jobs"],"cabal flag --keep-going ":[9,0,0,"cfg-flag---keep-going"],"cabal flag --local-repo (deprecated)":[9,0,0,"cfg-flag---local-repo"],"cabal flag --logs-dir ":[9,0,0,"cfg-flag---logs-dir"],"cabal flag --max-backjumps ":[9,0,0,"cfg-flag---max-backjumps"],"cabal flag --no-allow-boot-library-installs ":[9,0,0,"cfg-flag---no-allow-boot-library-installs"],"cabal flag --no-count-conflicts ":[9,0,0,"cfg-flag---no-count-conflicts"],"cabal flag --no-reorder-goals ":[9,0,0,"cfg-flag---no-reorder-goals"],"cabal flag --no-strong-flags ":[9,0,0,"cfg-flag---no-strong-flags"],"cabal flag --preference ":[9,0,0,"cfg-flag---preference"],"cabal flag --program-prefix ":[9,0,0,"cfg-flag---program-prefix"],"cabal flag --program-suffix ":[9,0,0,"cfg-flag---program-suffix"],"cabal flag --remote-repo-cache ":[9,0,0,"cfg-flag---remote-repo-cache"],"cabal flag --reorder-goals ":[9,0,0,"cfg-flag---reorder-goals"],"cabal flag --run-tests ":[9,0,0,"cfg-flag---run-tests"],"cabal flag --solver ":[9,0,0,"cfg-flag---solver"],"cabal flag --strong-flags ":[9,0,0,"cfg-flag---strong-flags"],"cabal flag --verbose ":[9,0,0,"cfg-flag---verbose"],"cabal flag --with-compiler ":[9,0,0,"cfg-flag---with-compiler"],"cabal flag --with-hc-pkg ":[9,0,0,"cfg-flag---with-hc-pkg"],"cabal flag --world-file (deprecated)":[9,0,0,"cfg-flag---world-file"]},"cabal flag --disable-coverage (since version: 1":{"21)":[9,0,0,"cfg-flag---disable-coverage"]},"cabal flag --disable-debug-info (since version: 1":{"22)":[9,0,0,"cfg-flag---disable-debug-info"]},"cabal flag --disable-executable-profiling (since version: 1":{"21)":[9,0,0,"cfg-flag---disable-executable-profiling"]},"cabal flag --disable-library-profiling (since version: 1":{"21)":[9,0,0,"cfg-flag---disable-library-profiling"]},"cabal flag --disable-library-stripping (since version: 1":{"19)":[9,0,0,"cfg-flag---disable-library-stripping"]},"cabal flag --disable-profiling (since version: 1":{"21)":[9,0,0,"cfg-flag---disable-profiling"]},"cabal flag --enable-coverage (since version: 1":{"21)":[9,0,0,"cfg-flag---enable-coverage"]},"cabal flag --enable-debug-info (since version: 1":{"22)":[9,0,0,"cfg-flag---enable-debug-info"]},"cabal flag --enable-executable-profiling (since version: 1":{"21)":[9,0,0,"cfg-flag---enable-executable-profiling"]},"cabal flag --enable-library-profiling (since version: 1":{"21)":[9,0,0,"cfg-flag---enable-library-profiling"]},"cabal flag --enable-library-stripping (since version: 1":{"19)":[9,0,0,"cfg-flag---enable-library-stripping"]},"cabal flag --enable-profiling (since version: 1":{"21)":[9,0,0,"cfg-flag---enable-profiling"]},"cabal flag --extra-prog-path (since version: 1":{"18)":[9,0,0,"cfg-flag---extra-prog-path"]},"cabal flag --library-profiling-detail (since version: 1":{"23)":[9,0,0,"cfg-flag---library-profiling-detail"]},"cabal flag --profiling-detail (since version: 1":{"23)":[9,0,0,"cfg-flag---profiling-detail"]},"cabal flag --relocatable (since version: 1":{"21)":[9,0,0,"cfg-flag---relocatable"]},"package":{"cabal author field":[3,1,0,"pkg-field-author"],"cabal benchmark section lib-version-info: field":[3,1,0,"pkg-field-benchmark-lib-version-info"],"cabal benchmark section lib-version-linux: field":[3,1,0,"pkg-field-benchmark-lib-version-linux"],"cabal benchmark section main-is: field":[3,1,0,"pkg-field-benchmark-main-is"],"cabal benchmark section mod-def-file: field":[3,1,0,"pkg-field-benchmark-mod-def-file"],"cabal benchmark section options: field":[3,1,0,"pkg-field-benchmark-options"],"cabal benchmark section type: field":[3,1,0,"pkg-field-benchmark-type"],"cabal bug-reports field":[3,1,0,"pkg-field-bug-reports"],"cabal build-depends field":[3,1,0,"pkg-field-build-depends"],"cabal build-tool-depends field":[3,1,0,"pkg-field-build-tool-depends"],"cabal build-tools field(deprecated)":[3,1,0,"pkg-field-build-tools"],"cabal build-type field":[3,1,0,"pkg-field-build-type"],"cabal buildable field":[3,1,0,"pkg-field-buildable"],"cabal c-sources field":[3,1,0,"pkg-field-c-sources"],"cabal cabal-version field":[3,1,0,"pkg-field-cabal-version"],"cabal category field":[3,1,0,"pkg-field-category"],"cabal cc-options field":[3,1,0,"pkg-field-cc-options"],"cabal copyright field":[3,1,0,"pkg-field-copyright"],"cabal cpp-options field":[3,1,0,"pkg-field-cpp-options"],"cabal custom-setup section autogen-modules: field":[3,1,0,"pkg-field-custom-setup-autogen-modules"],"cabal data-dir field":[3,1,0,"pkg-field-data-dir"],"cabal data-files field":[3,1,0,"pkg-field-data-files"],"cabal default-extensions field":[3,1,0,"pkg-field-default-extensions"],"cabal description field":[3,1,0,"pkg-field-description"],"cabal executable section ":[3,2,0,"pkg-section-executable-executable"],"cabal executable section main-is: field":[3,1,0,"pkg-field-executable-main-is"],"cabal executable section scope: field":[3,1,0,"pkg-field-executable-scope"],"cabal extensions field(deprecated)":[3,1,0,"pkg-field-extensions"],"cabal extra-doc-files field":[3,1,0,"pkg-field-extra-doc-files"],"cabal extra-frameworks-dirs field":[3,1,0,"pkg-field-extra-frameworks-dirs"],"cabal extra-ghci-libraries field":[3,1,0,"pkg-field-extra-ghci-libraries"],"cabal extra-lib-dirs field":[3,1,0,"pkg-field-extra-lib-dirs"],"cabal extra-libraries field":[3,1,0,"pkg-field-extra-libraries"],"cabal extra-source-files field":[3,1,0,"pkg-field-extra-source-files"],"cabal extra-tmp-files field":[3,1,0,"pkg-field-extra-tmp-files"],"cabal flag section ":[3,2,0,"pkg-section-flag-flag"],"cabal flag section default: field":[3,1,0,"pkg-field-flag-default"],"cabal flag section description: field":[3,1,0,"pkg-field-flag-description"],"cabal flag section manual: field":[3,1,0,"pkg-field-flag-manual"],"cabal frameworks field":[3,1,0,"pkg-field-frameworks"],"cabal ghc-options field":[3,1,0,"pkg-field-ghc-options"],"cabal ghc-prof-options field":[3,1,0,"pkg-field-ghc-prof-options"],"cabal ghc-shared-options field":[3,1,0,"pkg-field-ghc-shared-options"],"cabal homepage field":[3,1,0,"pkg-field-homepage"],"cabal hs-source-dirs field":[3,1,0,"pkg-field-hs-source-dirs"],"cabal include-dirs field":[3,1,0,"pkg-field-include-dirs"],"cabal includes field":[3,1,0,"pkg-field-includes"],"cabal install-includes field":[3,1,0,"pkg-field-install-includes"],"cabal js-sources field":[3,1,0,"pkg-field-js-sources"],"cabal ld-options field":[3,1,0,"pkg-field-ld-options"],"cabal library section ":[3,2,0,"pkg-section-library-library"],"cabal library section exposed-modules: field":[3,1,0,"pkg-field-library-exposed-modules"],"cabal library section exposed: field":[3,1,0,"pkg-field-library-exposed"],"cabal library section reexported-modules: field":[3,1,0,"pkg-field-library-reexported-modules"],"cabal license field":[3,1,0,"pkg-field-license"],"cabal license-file field":[3,1,0,"pkg-field-license-file"],"cabal license-files field":[3,1,0,"pkg-field-license-files"],"cabal maintainer field":[3,1,0,"pkg-field-maintainer"],"cabal name field":[3,1,0,"pkg-field-name"],"cabal other-extensions field":[3,1,0,"pkg-field-other-extensions"],"cabal other-modules field":[3,1,0,"pkg-field-other-modules"],"cabal package-url field":[3,1,0,"pkg-field-package-url"],"cabal pkgconfig-depends field":[3,1,0,"pkg-field-pkgconfig-depends"],"cabal source-repository section ":[3,2,0,"pkg-section-source-repository-source-repository"],"cabal source-repository section branch: field":[3,1,0,"pkg-field-source-repository-branch"],"cabal source-repository section location: field":[3,1,0,"pkg-field-source-repository-location"],"cabal source-repository section module: field":[3,1,0,"pkg-field-source-repository-module"],"cabal source-repository section subdir: field":[3,1,0,"pkg-field-source-repository-subdir"],"cabal source-repository section tag: field":[3,1,0,"pkg-field-source-repository-tag"],"cabal source-repository section type: field":[3,1,0,"pkg-field-source-repository-type"],"cabal stability field":[3,1,0,"pkg-field-stability"],"cabal synopsis field":[3,1,0,"pkg-field-synopsis"],"cabal test section ":[3,2,0,"pkg-section-test-test"],"cabal test section main-is: field":[3,1,0,"pkg-field-test-main-is"],"cabal test section test-module: field":[3,1,0,"pkg-field-test-test-module"],"cabal test section type: field":[3,1,0,"pkg-field-test-type"],"cabal tested-with field":[3,1,0,"pkg-field-tested-with"],"cabal version field":[3,1,0,"pkg-field-version"]},"package.cabal benchmark section (since version: 1.9":{"2)":[3,2,0,"pkg-section-benchmark-benchmark"]},"package.cabal custom-setup section (since version: 1":{"24)":[3,2,0,"pkg-section-custom-setup-custom-setup"]},"package.cabal custom-setup section setup-depends: field(since version: 1":{"24)":[3,1,0,"pkg-field-custom-setup-setup-depends"]},"project.cabal coverage field (since version: 1":{"21)":[9,3,0,"cfg-field-coverage"]},"project.cabal debug-info field (since version: 1":{"22)":[9,3,0,"cfg-field-debug-info"]},"project.cabal executable-profiling field (since version: 1":{"21)":[9,3,0,"cfg-field-executable-profiling"]},"project.cabal extra-prog-path field (since version: 1":{"18)":[9,3,0,"cfg-field-extra-prog-path"]},"project.cabal index-state field (since version: 2":{"0)":[9,3,0,"cfg-field-index-state"]},"project.cabal library-profiling field (since version: 1":{"21)":[9,3,0,"cfg-field-library-profiling"]},"project.cabal library-profiling-detail field (since version: 1":{"23)":[9,3,0,"cfg-field-library-profiling-detail"]},"project.cabal library-stripping field (since version: 1":{"19)":[9,3,0,"cfg-field-library-stripping"]},"project.cabal profiling field (since version: 1":{"21)":[9,3,0,"cfg-field-profiling"]},"project.cabal profiling-detail field (since version: 1":{"23)":[9,3,0,"cfg-field-profiling-detail"]},"project.cabal relocatable field (since version: 1":{"21)":[9,3,0,"cfg-field-relocatable"]},"setup-build":{"--prog-option":[5,4,1,"cmdoption-setup-build-prog-options"],"--prog-options":[5,4,1,"cmdoption-setup-build-prog-options"]},"setup-clean":{"--save-configure":[5,4,1,"cmdoption-setup-clean-save-configure"],"-s":[5,4,1,"cmdoption-setup-clean-save-configure"]},"setup-configure":{"--allow-newer[":[5,4,1,"cmdoption-setup-configure-allow-newer"],"--allow-older[":[5,4,1,"cmdoption-setup-configure-allow-newer"],"--bindir":[5,4,1,"cmdoption-setup-configure-bindir"],"--cid":[5,4,1,"cmdoption-setup-configure-cid"],"--configure-option":[5,4,1,"cmdoption-setup-configure-configure-option"],"--constraint":[5,4,1,"cmdoption-setup-configure-constraint"],"--datadir":[5,4,1,"cmdoption-setup-configure-datadir"],"--datasubdir":[5,4,1,"cmdoption-setup-configure-datasubdir"],"--default-user-config":[5,4,1,"cmdoption-setup-configure-default-user-config"],"--dependency[":[5,4,1,"cmdoption-setup-configure-dependency"],"--disable-coverage":[5,4,1,"cmdoption-setup-configure-disable-coverage"],"--disable-executable-dynamic":[5,4,1,"cmdoption-setup-configure-disable-executable-dynamic"],"--disable-executable-stripping":[5,4,1,"cmdoption-setup-configure-disable-executable-stripping"],"--disable-library-for-ghci":[5,4,1,"cmdoption-setup-configure-disable-library-for-ghci"],"--disable-library-profiling":[5,4,1,"cmdoption-setup-configure-disable-library-profiling"],"--disable-library-vanilla":[5,4,1,"cmdoption-setup-configure-disable-library-vanilla"],"--disable-optimization":[5,4,1,"cmdoption-setup-configure-disable-optimization"],"--disable-profiling":[5,4,1,"cmdoption-setup-configure-disable-profiling"],"--disable-shared":[5,4,1,"cmdoption-setup-configure-disable-shared"],"--disable-split-objs":[5,4,1,"cmdoption-setup-configure-disable-split-objs"],"--disable-tests":[5,4,1,"cmdoption-setup-configure-disable-tests"],"--docdir":[5,4,1,"cmdoption-setup-configure-docdir"],"--dynlibdir":[5,4,1,"cmdoption-setup-configure-dynlibdir"],"--enable-coverage":[5,4,1,"cmdoption-setup-configure-enable-coverage"],"--enable-executable-dynamic":[5,4,1,"cmdoption-setup-configure-enable-executable-dynamic"],"--enable-executable-stripping":[5,4,1,"cmdoption-setup-configure-enable-executable-stripping"],"--enable-library-for-ghci":[5,4,1,"cmdoption-setup-configure-enable-library-for-ghci"],"--enable-library-profiling":[5,4,1,"cmdoption-setup-configure-enable-library-profiling"],"--enable-library-vanilla":[5,4,1,"cmdoption-setup-configure-enable-library-vanilla"],"--enable-optimization[":[5,4,1,"cmdoption-setup-configure-enable-optimization"],"--enable-profiling":[5,4,1,"cmdoption-setup-configure-enable-profiling"],"--enable-shared":[5,4,1,"cmdoption-setup-configure-enable-shared"],"--enable-split-objs":[5,4,1,"cmdoption-setup-configure-enable-split-objs"],"--enable-tests":[5,4,1,"cmdoption-setup-configure-enable-tests"],"--exact-configuration":[5,4,1,"cmdoption-setup-configure-exact-configuration"],"--extra-framework-dirs[":[5,4,1,"cmdoption-setup-configure-extra-framework-dirs"],"--extra-include-dirs[":[5,4,1,"cmdoption-setup-configure-extra-include-dirs"],"--extra-lib-dirs[":[5,4,1,"cmdoption-setup-configure-extra-lib-dirs"],"--flags":[5,4,1,"cmdoption-setup-configure-flags"],"--ghc":[5,4,1,"cmdoption-setup-configure-ghc"],"--global":[5,4,1,"cmdoption-setup-configure-global"],"--htmldir":[5,4,1,"cmdoption-setup-configure-htmldir"],"--ipid":[5,4,1,"cmdoption-setup-configure-ipid"],"--jhc":[5,4,1,"cmdoption-setup-configure-ghc"],"--lhc":[5,4,1,"cmdoption-setup-configure-ghc"],"--libdir":[5,4,1,"cmdoption-setup-configure-libdir"],"--libexecdir":[5,4,1,"cmdoption-setup-configure-libexecdir"],"--libexecsubdir":[5,4,1,"cmdoption-setup-configure-libexecsubdir"],"--library-profiling-detail[":[5,4,1,"cmdoption-setup-configure-library-profiling-detail"],"--libsubdir":[5,4,1,"cmdoption-setup-configure-libsubdir"],"--package-db":[5,4,1,"cmdoption-setup-configure-package-db"],"--preference":[5,4,1,"cmdoption-setup-configure-preference"],"--prefix":[5,4,1,"cmdoption-setup-configure-prefix"],"--profiling-detail[":[5,4,1,"cmdoption-setup-configure-profiling-detail"],"--prog-option":[5,4,1,"cmdoption-setup-configure-prog-option"],"--prog-options":[5,4,1,"cmdoption-setup-configure-prog-options"],"--program-prefix":[5,4,1,"cmdoption-setup-configure-program-prefix"],"--program-suffix":[5,4,1,"cmdoption-setup-configure-program-suffix"],"--sysconfdir":[5,4,1,"cmdoption-setup-configure-sysconfdir"],"--uhc":[5,4,1,"cmdoption-setup-configure-ghc"],"--user":[5,4,1,"cmdoption-setup-configure-user"],"--with-compiler":[5,4,1,"cmdoption-setup-configure-with-compiler"],"--with-hc-pkg":[5,4,1,"cmdoption-setup-configure-with-hc-pkg"],"--with-prog":[5,4,1,"cmdoption-setup-configure-with-prog"],"-f":[5,4,1,"cmdoption-setup-configure-f"]},"setup-copy":{"--destdir":[5,4,1,"cmdoption-setup-copy-destdir"]},"setup-haddock":{"--css":[5,4,1,"cmdoption-setup-haddock-css"],"--executables":[5,4,1,"cmdoption-setup-haddock-executables"],"--hoogle":[5,4,1,"cmdoption-setup-haddock-hoogle"],"--hscolour-css":[5,4,1,"cmdoption-setup-haddock-hscolour-css"],"--html-location":[5,4,1,"cmdoption-setup-haddock-html-location"],"--hyperlink-source":[5,4,1,"cmdoption-setup-haddock-hyperlink-source"],"--internal":[5,4,1,"cmdoption-setup-haddock-internal"]},"setup-hscolour":{"--css":[5,4,1,"cmdoption-setup-hscolour-css"],"--executables":[5,4,1,"cmdoption-setup-hscolour-executables"]},"setup-install":{"--global":[5,4,1,"cmdoption-setup-install-global"],"--user":[5,4,1,"cmdoption-setup-install-user"]},"setup-register":{"--gen-pkg-config[":[5,4,1,"cmdoption-setup-register-gen-pkg-config"],"--gen-script":[5,4,1,"cmdoption-setup-register-gen-script"],"--global":[5,4,1,"cmdoption-setup-register-global"],"--inplace":[5,4,1,"cmdoption-setup-register-inplace"],"--user":[5,4,1,"cmdoption-setup-register-user"]},"setup-sdist":{"--snapshot":[5,4,1,"cmdoption-setup-sdist-snapshot"]},"setup-test":{"--builddir":[5,4,1,"cmdoption-setup-test-builddir"],"--human-log":[5,4,1,"cmdoption-setup-test-human-log"],"--machine-log":[5,4,1,"cmdoption-setup-test-machine-log"],"--show-details":[5,4,1,"cmdoption-setup-test-show-details"],"--test-option":[5,4,1,"cmdoption-setup-test-test-option"],"--test-options":[5,4,1,"cmdoption-setup-test-test-options"],Give:[5,4,1,"cmdoption-setup-test-arg-give"]},"setup-unregister":{"--gen-script":[5,4,1,"cmdoption-setup-unregister-gen-script"],"--global":[5,4,1,"cmdoption-setup-unregister-global"],"--user":[5,4,1,"cmdoption-setup-unregister-user"]},project:{"cabal allow-boot-library-installs field ":[9,3,0,"cfg-field-allow-boot-library-installs"],"cabal allow-newer field ":[9,3,0,"cfg-field-allow-newer"],"cabal allow-older field ":[9,3,0,"cfg-field-allow-older"],"cabal benchmarks field ":[9,3,0,"cfg-field-benchmarks"],"cabal build-summary field ":[9,3,0,"cfg-field-build-summary"],"cabal cabal-lib-version field ":[9,3,0,"cfg-field-cabal-lib-version"],"cabal compiler field ":[9,3,0,"cfg-field-compiler"],"cabal configure-options field ":[9,3,0,"cfg-field-configure-options"],"cabal constraints field ":[9,3,0,"cfg-field-constraints"],"cabal count-conflicts field ":[9,3,0,"cfg-field-count-conflicts"],"cabal doc-index-file field ":[9,3,0,"cfg-field-doc-index-file"],"cabal documentation field ":[9,3,0,"cfg-field-documentation"],"cabal executable-dynamic field ":[9,3,0,"cfg-field-executable-dynamic"],"cabal executable-stripping field ":[9,3,0,"cfg-field-executable-stripping"],"cabal extra-framework-dirs field ":[9,3,0,"cfg-field-extra-framework-dirs"],"cabal extra-include-dirs field ":[9,3,0,"cfg-field-extra-include-dirs"],"cabal extra-lib-dirs field ":[9,3,0,"cfg-field-extra-lib-dirs"],"cabal extra-packages field ":[9,3,0,"cfg-field-extra-packages"],"cabal flags field ":[9,3,0,"cfg-field-flags"],"cabal haddock-all field ":[9,3,0,"cfg-field-haddock-all"],"cabal haddock-benchmarks field ":[9,3,0,"cfg-field-haddock-benchmarks"],"cabal haddock-contents-location field ":[9,3,0,"cfg-field-haddock-contents-location"],"cabal haddock-css field ":[9,3,0,"cfg-field-haddock-css"],"cabal haddock-executables field ":[9,3,0,"cfg-field-haddock-executables"],"cabal haddock-hoogle field ":[9,3,0,"cfg-field-haddock-hoogle"],"cabal haddock-hscolour-css field ":[9,3,0,"cfg-field-haddock-hscolour-css"],"cabal haddock-html field ":[9,3,0,"cfg-field-haddock-html"],"cabal haddock-html-location field ":[9,3,0,"cfg-field-haddock-html-location"],"cabal haddock-hyperlink-source field ":[9,3,0,"cfg-field-haddock-hyperlink-source"],"cabal haddock-internal field ":[9,3,0,"cfg-field-haddock-internal"],"cabal haddock-keep-temp-files field ":[9,3,0,"cfg-field-haddock-keep-temp-files"],"cabal haddock-tests field ":[9,3,0,"cfg-field-haddock-tests"],"cabal http-transport field ":[9,3,0,"cfg-field-http-transport"],"cabal ignore-expiry field ":[9,3,0,"cfg-field-ignore-expiry"],"cabal jobs field ":[9,3,0,"cfg-field-jobs"],"cabal keep-going field ":[9,3,0,"cfg-field-keep-going"],"cabal library-coverage field (deprecated)":[9,3,0,"cfg-field-library-coverage"],"cabal library-for-ghci field ":[9,3,0,"cfg-field-library-for-ghci"],"cabal library-vanilla field ":[9,3,0,"cfg-field-library-vanilla"],"cabal local-repo field (deprecated)":[9,3,0,"cfg-field-local-repo"],"cabal logs-dir field ":[9,3,0,"cfg-field-logs-dir"],"cabal max-backjumps field ":[9,3,0,"cfg-field-max-backjumps"],"cabal optimization field ":[9,3,0,"cfg-field-optimization"],"cabal optional-packages field ":[9,3,0,"cfg-field-optional-packages"],"cabal packages field ":[9,3,0,"cfg-field-packages"],"cabal preferences field ":[9,3,0,"cfg-field-preferences"],"cabal program-prefix field ":[9,3,0,"cfg-field-program-prefix"],"cabal program-suffix field ":[9,3,0,"cfg-field-program-suffix"],"cabal remote-repo-cache field ":[9,3,0,"cfg-field-remote-repo-cache"],"cabal reorder-goals field ":[9,3,0,"cfg-field-reorder-goals"],"cabal run-tests field ":[9,3,0,"cfg-field-run-tests"],"cabal shared field ":[9,3,0,"cfg-field-shared"],"cabal solver field ":[9,3,0,"cfg-field-solver"],"cabal split-objs field ":[9,3,0,"cfg-field-split-objs"],"cabal strong-flags field ":[9,3,0,"cfg-field-strong-flags"],"cabal tests field ":[9,3,0,"cfg-field-tests"],"cabal verbose field ":[9,3,0,"cfg-field-verbose"],"cabal with-compiler field ":[9,3,0,"cfg-field-with-compiler"],"cabal with-hc-pkg field ":[9,3,0,"cfg-field-with-hc-pkg"],"cabal world-file field (deprecated)":[9,3,0,"cfg-field-world-file"]},setup:{"--help":[5,4,1,"cmdoption-setup-help"],"--verbose":[5,4,1,"cmdoption-setup-verbose"],"-h":[5,4,1,"cmdoption-setup-help"]}},objnames:{"0":["cabal","cfg-flag","cfg-flag"],"1":["cabal","pkg-field","Cabal pkg-field"],"2":["cabal","pkg-section","Cabal pkg-section"],"3":["cabal","cfg-field","Cabal cfg-field"],"4":["std","cmdoption","program option"]},objtypes:{"0":"cabal:cfg-flag","1":"cabal:pkg-field","2":"cabal:pkg-section","3":"cabal:cfg-field","4":"std:cmdoption"},terms:{"24t17":[3,9],"48z":[3,9],"abstract":3,"boolean":[3,9],"break":[3,7,9],"case":[3,5,9],"char":3,"default":[3,6,8,9,10],"export":[3,5,9],"final":[3,5,9],"float":3,"function":[0,3,5,6,8,10],"import":[1,5,9],"int":3,"long":9,"new":[3,5,7,10],"null":3,"public":3,"return":3,"short":[3,9,10],"static":[3,5],"switch":[3,5],"true":[3,5,8,9],"try":[3,5,9],"var":3,"void":3,"while":[3,5,6,8,9],But:[7,9],CVS:3,Exe:3,For:[3,5,6,7,9,10],IDs:5,NOT:9,Not:[3,5,9],One:[3,5,9],RTS:3,That:3,The:[1,5,6,7,8,9,10],Then:[3,5,9],There:[3,5,6,7,9],These:[3,5,9],Use:[3,5,9],Uses:5,Using:[1,2,9],With:3,Yes:3,__haddock_version__:3,_modul:3,a32m:3,abbrevi:3,abcd:5,abi:[3,5,9],abil:[3,6,8,9],abitag:[5,9],abl:[3,5,6],abort:3,about:[3,5,6,7,9],abov:[3,5,8],absent:3,absolut:[3,5,9],ac_config_fil:3,ac_config_head:3,ac_config_srcdir:3,ac_init:3,ac_output:3,ac_path_xtra:3,ac_subst:3,ac_try_cpp:3,accept:[3,5,9],access:[1,5,9],accident:[3,5],accord:[5,9],accordingli:10,accur:3,achiev:[3,5],acronym:3,across:[5,9],act:[3,9],action:[3,5],activ:[3,7],actual:[3,5,6,9],adapt:3,add:[3,5,8,9],added:[3,5,7,9],adding:[3,5,9],addit:[3,5,6,7,8,9],addition:[3,9],address:3,adjust:[3,5],administr:5,advanc:[2,8,10],advantag:[3,5,9],advic:7,affect:[3,5,8,9],aforement:3,after:[3,5,9,10],afterward:3,again:[3,5,8,9],against:[3,5,9],age:3,agent:3,ahead:10,aim:3,alex:[3,5,9],alia:3,alias:9,all:[3,5,6,7,9,10],alloc:[5,9],allow:[3,5,9],allrightsreserv:3,almost:3,alnum:3,along:3,alpha:3,alphanumer:3,alreadi:[3,5,9],also:[3,5,6,7,9,10],alter:3,altern:[3,5,9],although:[3,5,9],alwai:[3,5,9],ambigu:[3,5],among:3,amount:3,analog:[3,5],angela:3,ani:[3,5,6,7,9,10],annot:3,anoncv:3,anoth:[3,5,6,9],anyth:[3,5,9],anywher:[3,5,9,10],apart:[3,5],api:[0,3,5,9],appdata:5,appear:[3,5],append:[3,5,9],appl:3,appli:[3,5,9],applic:[5,6,10],approach:[3,6],appropri:[3,5,9],arbitrari:[3,5,9],arch:[3,5,9],architectur:[3,5],archiv:[3,5,6,9],aren:9,arg:[3,9],argc:3,argument:[3,5,9],argv:3,around:[3,6,9],arrang:3,articl:5,ascii:3,asid:5,ask:[3,5],aspect:[3,5,7],assign:[2,3,9],associ:6,assum:[3,5,7,9],asterisk:9,attack:9,attempt:[3,5,9],author:[3,6],auto:[3,9],autoconf:6,autoconfuserhook:3,autogen:3,autogener:1,autom:[3,6],automak:6,automat:[1,5,6,9,10],auxiliari:[3,5,9],avail:[3,5,6,9],averag:9,avoid:[3,5,9],awai:9,awar:[3,5],backjump:9,backtrack:[3,9],backward:[3,7],bake:[5,9],bangpattern:3,bar:[3,5,6,9],bare:9,base:[3,5,6,8,9],basi:[5,9],basic:[2,3],bat:5,baz:[3,5,9],bazaar:3,bear:5,becaus:[3,5,9,10],becom:[3,10],been:[3,5,6,9],befor:[3,5,9],begin:5,behavior:9,behaviour:[3,5],being:[3,5,7,9],below:[3,5,9],bench:[3,5,9],benchmark:[5,6,9],benefit:[3,9],besid:3,best:[3,5,9,10],beta:10,better:[3,9],between:[3,5,7,9],beyond:[3,9],big:[3,9],bigger:[5,9],bin:[3,5,9],binari:[2,3,6,9],bind:3,bindir:[3,5,9],bit:[3,5,7,9],blank:3,blogg:3,blow:9,bnf:9,boot:9,bootstrap:5,both:[3,5,6,8,9],bound:[5,8,9],brace:9,branch:3,breakag:3,broken:9,brows:5,bsd3:3,bug:[3,4],build:[1,2,4,6,7,8],build_package_bool:3,buildabl:3,builddir:[5,9],builder:5,buildinfo:3,buildtyp:3,built:[3,5,6,9,10],builtin:[3,6,8],bump:[3,7],bunch:3,bundl:[3,5],bytecod:9,bytestr:9,bzr:3,c2h:3,cabal2nix:8,cabal:[1,5,8,10],cabal_in_nix_shel:8,cabal_sandbox_config:5,cach:[5,10],cairo:3,call:[3,5,6,8,9,10],callsit:5,callstack:5,can:[3,5,6,7,10],cannot:[3,5,7,9],canonicalis:3,capabl:5,care:3,caret:3,cat:5,catalogu:3,categori:3,caus:[3,5,8,9],caveat:5,cbit:3,center:[5,9],central:[5,6,9],certain:[3,9],certainli:3,cfg:9,cgi:3,chang:[3,5,7,9],channel:3,chao:3,chapter:3,charact:[3,9],characterist:9,check:[3,5,9],checkout:[3,9],child:8,choic:[3,9],choke:3,choos:[3,5],chosen:3,chs:3,cid:5,circumst:5,claim:3,clash:3,classif:3,clean:[2,3],clear:[5,9],clearli:[3,9],clib:3,client:5,clobber:9,clock:3,cmd:[3,9],code:[1,5,6,10],coincid:9,collect:[3,5,8],colon:3,colour:5,colouris:5,com:[3,5,6],combin:[3,5,6,9,10],come:3,comma:[3,9],command:[0,3,4,5,6,8,10],commandlin:3,comment:[3,5],commentari:9,common:[3,9],commonli:10,compar:6,compat:[3,5,7,9],compil:[1,5,9,10],complet:[3,5,7,9,10],complex:[1,5,9],complic:3,compon:[3,5,6,9],component:5,compress:6,comput:[3,5,9],concept:[4,5,9],concis:3,condit:[1,5,6],condition:3,conduit10:9,conf:5,config:[3,5,8,9],configur:[4,6,7,8,10],configuratoin:9,conflict:[3,9],conform:3,confus:3,confusingli:3,conjunct:[3,5,9],consid:[3,5,9],consider:[5,6,9],consist:[3,6,7,9],constant:3,constraint:[3,5,9],construct:5,constructor:3,consult:3,contain:[5,6,7,9],content:[3,9],continu:[3,9,10],contrast:3,contribut:3,control:[2,3,9,10],conveni:[3,5,9],convent:3,convers:3,convert:[3,5,9],cookbook:[4,10],copi:[2,3,7,9],copyright:3,correct:3,correspond:[3,5,9],corrupt:9,cost:[5,9],could:[3,5,9],count:9,cours:[3,5,7,9],cover:[3,5,6,9],coverag:[5,10],cpan:6,cpp:3,cpph:[3,5],cpu:[3,9],creat:[1,2,4,9],cryptohash:9,csrc:3,css:[5,9],ctype:9,curl:9,current:[3,5,8,9,10],current_component_id:3,current_package_kei:3,current_package_vers:3,custom:[1,6,9],customis:[3,6],cvs:3,cycl:9,cygwin:[3,6],czf:5,danger:10,darc:3,darwin:3,dash:3,data:[1,5],databas:[5,9],datadir:[3,5],datasubdir:5,date:[3,5,9],dbs:5,ddebug:3,deal:6,dean:3,deb:6,debian:5,debug:[3,5,9],debugg:5,decid:[3,5,6],declar:[3,5,7,9],def:3,defaultmain:[3,7],defaultmainwithhook:[3,7],defaultuserhook:7,defer:9,defici:[0,4,9],defin:[3,5,8,9],definit:[3,5],degre:3,deleg:3,delet:[5,9],demonstr:3,denot:5,dep:[3,5,9],depend:[1,5,6,8,9,10],deprec:[3,5,7,9],depth:9,deregist:5,deregistr:5,deriv:[5,8],desc:3,describ:[3,5,8,9,10],descript:[1,5,9],design:[3,6],desir:[3,5],destdir:[3,5],desugar:3,detail:[5,6,9],detect:3,determin:[3,5,9],determinist:10,devel:7,develop:[2,4,6,7,8,10],didn:5,differ:[3,5,6,9],diffutctim:3,digit:3,dir:[3,5,9],direct:3,directli:[3,5,9],directori:[3,5,6,7,8,9],disabl:[3,5,9],disagr:3,disallow:[3,5],disambigu:[3,9],discov:[3,5],discuss:[3,7],disjunct:3,disk:9,disregard:9,dist:[3,5,9],distdir:9,distinct:[3,9],distinguish:3,distribut:[1,5,6,7,9],dive:3,dll:3,dndebug:3,doc:[3,5,9],docdir:5,document:[3,5,6,7,9],doe:[3,5,7,8,9],doesn:[3,5,9],don:[3,5],done:[3,5,9],dot:3,doubl:3,down:9,download:[5,9],downsid:[5,9],drop:3,due:[3,6,8],dummi:3,dure:[3,5,8],dwarf:9,dylib:3,dynam:[3,5,10],dynlibdir:[3,5],each:[3,5,6,9],earlier:[3,5,9],easi:3,easier:[3,6],easiest:3,easili:[3,5,6],echo:3,ecosystem:3,edit:[1,5,8,9],editor:[3,5],effect:[3,5,9],effort:[5,9],egg:6,either:[3,5,9],elabor:3,els:[3,10],email:7,embed:5,empti:[3,5,9],enabl:[3,4,5,6,9],encod:[3,5],encourag:3,end:[3,9],endif:3,enough:[3,5],ensur:[3,5,9],entir:[3,5,9],entiti:5,entri:[3,9],enumer:5,environ:[3,5,6,8,9],equal:[3,5,6,9],equival:[3,5,9],error:[3,5,9],escap:[3,9],especi:3,essenti:3,etc:[3,5,7,9],eval:3,evalu:[3,4],even:[3,9],eventu:9,everi:[3,5,6,7,9],everyth:[7,9],everywher:8,evolv:3,exact:[3,5],exactli:[3,5],exampl:[5,6,7,9,10],except:[3,9],exclud:3,exe:[3,5,9],exec:9,execut:[5,6,10],executable_flag:3,exes:9,exist:[3,5,6,9],exit:[3,5],exitfailur:3,exot:9,expand:[3,5],expect:[3,5,6,7,9],expens:9,experiment:3,expiri:9,explicit:[1,9],explicitli:[3,5,9],exponenti:3,exportlist:3,expos:[3,5],express:[3,4],ext:3,extend:[3,5],extens:[3,5,6,9],extern:[3,5,10],extra:[3,5,9],extran:3,facil:3,fact:3,factor:3,fail:[3,5,9],failur:[3,5,9],fairli:9,fall:3,fals:[3,5,9],famili:[3,10],familiar:3,far:3,faster:[5,9],fastest:8,favor:3,fdebug:5,featur:[3,5,6,7,9,10],feature1:5,feature2:5,featureset:4,few:3,fewer:6,ffeature2:5,ffoo:9,fhan:9,fib:3,field:[5,7,9],figur:3,file:[0,1,5,6,8,9],file_:3,filenam:3,filepath:[3,6,9],filepathglob:9,filepathglobrel:9,filepathroot:9,fill:3,filter:5,find:[3,5,9],fine:[3,5,9],finish:3,first:[3,5,8,9,10],fit:3,fix:[3,7],flag:[2,8,9],flagnam:[5,9],flagspec:5,flat:3,flavor:3,flavour:3,flaw:7,flexibl:[3,6],flib:9,fno:[3,9],focu:8,focus:5,folder:9,follow:[3,5,6,7,8,9],foo:[3,5,6,9],forc:[3,5,9],foreign:10,foreignfunctioninterfac:3,fork:3,form:[3,5,9],formal:9,format:[0,3,5,6,9],former:3,fortun:3,forward:7,found:[3,5,9],fprof:[3,9],framework:[3,5,9],freebsd:[3,5],freeform:3,freez:[5,8,10],fresh:5,friend:9,from:[1,2,6,8,9],frontend:3,frozen:9,full:[3,5,6,9],fulli:5,further:[3,4],furthermor:[3,9],futur:[3,7,9],garbag:8,gdb:5,gem:6,gen:[3,5,8],gener:[5,6,7,9],get:[3,5,6,9],getbindir:3,getcurrenttim:3,getdatadir:3,getdatafilenam:[3,5],getdynlibdir:3,getenv:8,getlibdir:3,getlibexecdir:3,getsysconfdir:3,ghc:[1,5,6,7,9,10],ghci:[3,5,9],ghcj:[5,9],git:3,github:[3,5],give:[3,5,7,9,10],given:[3,5,9,10],glob:9,global:[3,5,8,10],globpiec:9,gmp:9,goal:9,goe:6,going:9,good:[3,9],got:3,govern:[3,5],granular:[5,9],graph:5,greater:3,greencard:3,gtk:3,guarante:7,guess:3,guid:[3,5],hack:9,hackag:[0,2,3,6,9,10],haddock:[2,3,8,10],halt:7,han:9,hand:[3,5,6],handl:[3,9],happen:9,happi:[3,9],hard:[3,9],harder:5,has:[3,5,6,7,8,9],hash:[3,9],haskel:[3,5,6,7,8,9],haskell2010:3,hat:5,hatch:3,have:[3,5,6,9],head:[3,9],header:[3,5,9],headlin:3,heard:3,help:[3,5,6,9],helper:9,here:[3,5,9],herington:3,heurist:9,hidden:[3,9],hide:3,hierarch:3,hierarchi:3,higher:[5,9],highest:3,histor:3,hit:9,holder:3,home:[5,8,9],homepag:3,hoogl:[5,9],hook:[3,7],host:3,how:[3,4,5,6,8,10],howev:[3,5,9,10],hpc:[5,9],hs_bool_tru:3,hs_exit:3,hs_init:3,hsbool:3,hsc2h:3,hsc:3,hscolour:[2,9],hsffi:3,hsx11config:3,html:[3,5,9],htmldir:5,http:[3,5,6,9],human:[3,5,6],hunit:3,hyperlink:[5,9],hyphen:3,hypothet:[3,9],i386:[3,5],idea:3,identifi:[3,5,6,9],ignor:[3,5,9],imag:3,immedi:[5,9],impl:3,implement:[3,5,6,9,10],impli:[3,5,9],importantli:6,imposs:3,improv:9,in_nix_shel:8,includ:[1,5,6,8,9],inclus:3,incompat:[5,7],inconsist:5,incorpor:5,increas:3,increment:7,inde:[3,5,9],independ:[2,3,9,10],index:[3,5,7,9,10],indic:[3,7],indirect:8,indirectli:3,individu:[3,5,6],influenc:9,info:[3,9],inform:[5,6,7,9],infrastructur:[3,5,7,8],inherit:[5,9],init:[1,5],initi:[3,5],initialis:5,inlin:[5,9],inner:3,innocu:9,innov:9,inplac:[5,9],input:[3,9],insensit:3,insid:[3,5,9],inspect:3,inspir:[3,10],instal:[3,4,6,7,8,9,10],instanc:[3,5],instanti:8,instead:[3,5,6,9],instruct:[8,9],integ:[3,9],integr:[4,5],intend:[3,5,9],interact:3,interdepend:3,interfac:[4,6,10],intermedi:9,intern:[3,5,7,9],interpret:[5,9],intersect:9,introduc:3,introduct:4,invoc:[3,5,9],invok:[3,5,9],involv:[3,5,7,9],ipid:5,isn:[3,7],iso8601:[3,9],isol:5,issu:3,item:3,its:[3,5,6,8,9,10],itself:[3,5],ixqnmca7qrseqnkohsf7a:5,jane:3,java:3,javascript:3,jhc:[3,5,9],job:9,joe:3,json:[5,9],just:[3,5,9,10],keep:[3,5,7,9],kei:[3,5],kept:3,keyword:9,kind:[1,5,7],know:[3,5,9],knowledg:6,known:[3,5,9],label:3,lang:3,languag:[3,6,8],larg:3,larger:5,last:[3,5],later:[3,5,9,10],latest:[3,5,9],latter:3,layout:[5,9],lazi:8,lazili:3,lead:[3,5,9],least:[3,5,7],leav:9,left:[3,5],legaci:[2,9],len:5,less:[3,6,9],let:[3,5,9],letter:3,level:[3,5,7,9],lexic:3,lexicograph:3,lhc:[3,5,9],lhs:[3,5],lib:[3,5,9],libdir:[3,5],libexec:5,libexecdir:[3,5],libexecsubdir:[3,5],libexedir:3,libfoo:3,libhsbas:3,libhsrt:3,librari:[5,6,7,10],libsubdir:5,libtool:3,licens:[3,5],lies:3,like:[3,5,6,9,10],limit:[3,5,7],line:[0,3,5,6,9],link:[3,5,10],linker:[3,5],linux:[3,5,9],list:[5,6,7,9],liter:9,littl:[3,6],live:[3,9],load:[3,9],local:[2,3,4,6,8],locat:[3,5,9],log:[3,5,9],logic:[3,9],longer:[3,5,9,10],look:[3,9],lookup:5,loop:3,lot:[3,6,9],low:3,lower:[5,9],lowest:3,luck:3,mac:3,machin:[3,5,6],maco:3,macro:3,made:3,mai:[3,5,7,9],mail:[3,7],mailto:3,main:[3,5,9],mainli:5,maintain:[3,9],major:[3,7,9],make:[3,5,6,9,10],makefil:3,manag:[1,5,6,8,9],mandatori:3,mani:[3,6,9],manual:[3,5,6,8,9,10],map:3,mark:3,markup:3,massiv:9,match:[3,5,9],matter:3,max:9,maximum:9,mean:[5,6,7,9],meant:3,mechan:[3,5],memori:[5,9],mention:[3,5,9],mercuri:3,merg:[3,9],messag:3,metadata:[3,6,9],method:[3,5],might:[3,5,9],migrat:5,min_tool_version_:3,min_version_:3,min_version_bas:3,mingwin:6,minim:9,minimis:3,minor:[3,7],mirror:9,misbehav:9,miscellan:2,miss:[3,5],mistak:9,mkdir:5,mod:3,mode:[5,9],modern:3,modif:5,modifi:[5,6,9],modul:[1,5,9],modular:[6,9],moment:[3,5,9],monoton:3,more:[1,5,7,9],most:[3,5,6,8,9],mostli:[3,5,6,7,9],motiv:9,move:[3,5],msy:3,mtl1:9,much:[3,9],multiparamtypeclass:3,multipl:[3,5,10],must:[3,5,8,9],myexehelpermodul:3,myexemodul:3,myforeignlib:3,myforeignlibexit:3,myforeignlibinit:3,myforeignlibwrapp:3,mylibhelpermodul:3,mylibmodul:3,mylibrari:3,mypkg:5,mytemplatedir:5,name:[1,5,6,7,9,10],namespac:3,nat:9,nativ:[3,5,6,9],natur:3,ncpu:9,necessari:[3,5,9],necessarili:[3,6],necessit:9,need:[3,5,6,9,10],negat:3,neither:3,nest:3,net:3,network23:9,network:[6,9],never:[3,5,10],newer:[3,5,9],newli:5,newlin:9,newnam:3,newstyl:9,next:[1,8,9],nix:[3,4,9],nixpkg:8,no_x:3,non:[3,5,9,10],none:[3,5,9],nor:[3,5],normal:[3,5,8,9],notabl:[3,5,9],note:[3,5,6,9],noth:5,notic:3,notion:[3,6],now:[3,5,8,9],number:[3,5,6,9],numer:[3,9],obj:[5,9],object:[5,10],obtain:[3,5,9],obviou:[5,6,9],obvious:3,occasion:[3,5],occur:[3,5],off:[3,5,9],offlin:9,often:[3,6,7,9],old:[3,9],older:[3,5,7,9],omit:[3,5,9],onc:[3,5,6,9,10],one:[3,5,9],ones:[3,5,9],onli:[3,5,6,8,9,10],onlin:[3,6],onto:5,onward:3,open:9,oper:[3,5],operation:9,oppos:[3,5,9],opt:9,optim:[3,5,9],optimis:[5,6,9],option:[2,3,6,8,10],options_ghc:3,order:[3,5,9],ordinari:[5,9],org:[3,5,7,9],organis:3,orig:3,origin:[3,5],osx:[3,5],other:[1,5,6,7,9],othermain:3,otherwis:[3,5,9],our:3,out:[3,5,9],outer:3,output:[3,5,9],outsid:[3,5],over:[6,9],overal:3,overlap:[3,6],overrid:[3,5,9],overridden:[3,5,9],overview:2,own:[3,5,6,9],packag:[4,7,8,10],packagenam:3,page:[5,9],pair:3,paragraph:3,parallel:9,paramet:[1,5,6,9],parent:9,parenthes:3,pargv:3,pars:3,part:[3,5,6,7,9],partial:5,particip:9,particular:[3,5,6,9,10],particularli:[3,5,9],partit:3,partli:7,pass:[3,5,8,9],patch:[3,5],path:[2,3,9],pathnam:5,paths_:3,peg:5,peopl:[3,5,6],per:[3,5,9],perform:[3,5,9],perhap:3,period:9,perl:6,perman:5,permiss:9,permit:9,persist:[5,9],person:3,pex:9,phase:3,pick:[3,9],piec:3,pkg:[3,5,9],pkg_name:3,pkg_name_var:3,pkgconfig:3,pkgid:[5,9],pkgname:[3,5],place:[3,5,9],placement:3,plain:[5,9],plan:[3,5,9],platform:[3,5,6,9],pleas:[3,7,10],plu:[3,6],png:3,point:[1,5,6,9],pointer:3,polici:[3,5,7],polykind:3,popul:3,popular:[3,8],portabl:[1,5,6],posit:[5,9],possibl:[3,5,6,9],post:5,posthaddock:3,powershel:9,powerus:3,ppc:5,practic:[3,6],practis:[3,7],pragma:3,pre:[3,9],preced:[3,5],precis:[3,9],prefer:[3,5,8,9],preferenti:9,prefix:[2,3,6,7,9],prelud:3,prepar:5,prepend:[5,9],preprocess:[3,5],prerequisit:[5,9],presenc:3,present:[3,5,8],pretti:3,prettier:3,pretty_show_datadir:3,prevent:[5,8,9],previou:3,previous:5,prim:9,primari:[3,9],primarili:9,print:[3,5],prior:[3,5],priorit:10,prioriti:[3,9],pristin:3,privat:[3,5,9],privileg:5,probabl:[3,9],probe:9,problem:[3,5,9],procedur:[3,5],process:[3,5,6,8],produc:[3,5],product:[3,5,10],prof:3,profil:[3,5,6,10],prog1:3,prog2:3,prog:[5,9],proglet:3,prognam:9,program1:3,program2:3,program:[2,8,9],programfil:5,programm:3,programmat:[3,5,9],project:[3,4,5,10],project_dir:5,prologu:3,promis:7,prone:7,proof:7,proper:5,properti:[5,9],propos:5,prototyp:3,provid:[3,5,6,8],provision:3,publicli:3,publish:6,punctuat:9,pure:8,purpos:[3,5,6],push:5,put:[3,5,9],putstrln:3,pvp:3,python:6,qualifi:[5,9],queri:7,question:[3,9],quickcheck:9,quicker:5,quickstart:[1,4,10],quiet:3,quit:[3,9],quot:[3,5,9],quux:[5,9],rais:3,rang:[3,5,9],rare:5,rather:[5,6,9],rational:3,read:[3,4,5,6],readabl:[3,5,6],readi:5,real:[3,5],realli:3,reason:[3,5,9],rebuild:[9,10],rebuilt:9,receiv:5,recent:[5,9],reclaim:9,recogn:3,recognis:3,recommend:[3,5,9],recompil:[3,5,9],reconfigur:5,reconstruct:3,record:[3,5,9],recurs:3,red:5,reduc:[5,9],reexport:3,refer:[3,5,9],regexp:3,regist:[2,3,7],registr:[5,9],regular:[3,7],reinstal:[5,10],rel:[3,5,9],relat:[3,5,7],relax:[5,9],releas:[3,7,10],relev:3,reli:[3,9],reliabl:[3,8],relink:3,relocat:[5,9],remain:3,rememb:3,remot:[5,6,9],remov:[3,5,9],renam:[3,5],reorder:9,repl:[3,8,10],replac:[3,5,9],replic:3,repo:[5,9],report:[3,4,5,9],repositori:[2,9],repres:[3,9],reproduc:[8,10],request:[3,5,7,9,10],requir:[3,5,6,7,9],reserv:9,reset:5,resolut:[5,6],resolv:[3,5,9],respect:[5,9],respons:3,rest:[7,9],restrict:[3,5,9],result:[3,5,9,10],retriev:9,reus:[6,10],reusabl:3,revis:[3,7],right:[3,5],robust:9,root:[3,5,8,9],roughli:[3,6,9],round:3,rpm:6,rtsopt:3,rubi:6,rule:3,run:[5,6,8,9],runhaskel:[3,5],runner:3,runtim:[3,9],safe:9,safeti:3,sai:[3,9],same:[3,5,6,9],sandbox:[2,8,9,10],satisfi:[3,5,9],save:[3,5,9],scheme:3,scope:[3,5,6,9],scratch:3,script:[1,5,6,9],sdist:[2,3,9],search:[3,5,9],second:[3,5],section:[3,5,6,7,8,9],secur:2,see:[3,5,6,9],seen:9,select:[3,5,9],semant:9,semi:0,send:3,sens:[3,5,9],sent:5,separ:[3,5,9],sequenc:3,serial:9,serv:5,server:[3,5,9],session:9,set:[3,5,8,9,10],setopt:3,setup:[1,2,6,7,9],sever:[3,5,6,9],shadow:3,shape:3,share:[3,5,9,10],shell:[3,5,8,9],shift:5,shim:3,shortcut:5,shorten:9,shorthand:3,shot:9,should:[3,5,9],shout:[9,10],show:[3,5],shown:5,shutdown:3,sign:5,signific:3,significantli:3,silent:[5,9],silli:9,similar:[3,4,5,9],similarli:[3,5],similiar:3,simpl:[2,6,7,9],simpleuserhook:3,simpli:[3,5,8,9],simplic:3,simultan:[5,9],sinc:[3,5,7,9],singl:[3,5,9],site:5,situat:[3,9],size:[5,9],skip:9,slash:9,slight:3,slightli:3,slow:9,slower:5,slowli:3,small:[3,9],snapshot:5,social:3,soft:5,softwar:6,solari:5,solut:[3,5],solv:9,solver:[3,5,10],some:[3,5,6,7,8,9,10],somehow:5,somemodul:3,someon:3,someothermodul:3,someth:[3,9],sometim:[3,5],somewhat:[6,7],somewher:3,sonam:3,soon:3,sort:5,sourc:[5,6,9],sourceforg:3,space:[3,5,9],sparc:5,spars:9,spawn:8,speak:[3,9],spec:3,special:[3,5,6],specif:[2,3,9],specifi:[3,5,6,10],speed:9,split:[3,5,9],sport:9,squelch:5,src:[3,5],stabil:[3,4],stabl:[0,3,5],stack:5,stage:[3,5],stale:9,stand:[3,5],standalon:3,standard:[3,5,6,9],standardis:6,stanza:[3,9],start:3,state:[3,9,10],stdlib:3,step:[1,5,6,9],still:[3,5,7,9],store:[9,10],str:5,stream:5,strict:3,strictli:3,strikeout:9,string:[3,9],strip:[5,9],strong:9,strongli:3,structur:3,stub:3,stuff:3,style:[3,4,5,9],subcommand:9,subcompon:9,subdir:3,subdirectori:[3,5,9],subject:7,subsect:5,subsequ:[3,5,9],subset:3,substitut:[3,5,9],succe:3,succeed:3,success:9,suffici:[3,5],suffix:[5,9],sugar:[3,5],suggest:3,suit:[2,6,9],suitabl:[3,5,6,9],summari:[5,9],supplement:5,suppli:[3,5,6],support:[3,5,9,10],suppos:[3,9],sure:[3,5,9],surpris:3,svn:3,symbol:[3,5,9],symlink:[3,9],synopsi:3,syntact:[3,5],syntax:[3,5,9],sysconfdir:[3,5],system:[1,2,4,9,10],tab:3,tabl:3,tag:[3,5],take:[3,5,6,9],taken:9,tar:[3,5,6,7,9],tarbal:[3,5,6,9],target:[3,5,9],task:3,team:3,tediou:3,tell:[5,10],temp:9,temper:5,templat:[3,5,9],templatehaskel:9,temporari:[9,10],temporarili:[5,9],tend:3,term:[3,5],termin:[3,5,9],test1:3,test:[2,6,9],testinst:3,testpackag:3,testsuit:3,text:[3,5,9],than:[5,6,7,9],thei:[3,5,6,9,10],them:[3,5,6,9,10],themselv:[3,5],therefor:[3,7],thi:[3,5,6,7,8,9,10],thin:3,thing:[3,9],think:[3,5],those:[3,5,10],though:[3,5],thousand:6,three:3,threshold:5,through:[3,8],thu:[3,9],time:[3,5,9,10],timestamp:[3,9],tip:3,tiresom:3,tmp:[3,5],todai:[5,10],todo:[3,9],togeth:[3,9],toggl:5,token:3,too:3,took:3,tool:[3,4,5,8,9],toolchain:9,top:[3,5,9],toplevel:[3,5,9],tor:9,touch:3,toward:3,track:[3,5],tracker:7,tradit:[3,5],trail:[3,9],transform:3,transit:[3,9],translat:[3,5,6],transpar:9,transport:9,treat:[3,9],tree:[3,5,9],tri:3,trivial:3,tuf:5,tune:[5,9],turn:[3,5,9],two:[3,5,9],txt:5,type:[0,3,5,9],typic:[3,5,6],uhc:[3,5,7,9],unaffect:[5,9],unambigu:3,unari:3,unchang:[3,9],uncommon:3,under:[3,5,7,9],underli:5,underscor:3,understand:[3,9],understood:5,undocu:9,unexport:5,unexpos:[5,9],unfortun:3,unicod:3,unimpl:9,uninstal:5,unintent:3,uninterpret:3,union:9,uniqu:[3,9],unit:[1,6],unix:[3,5,6,9],unless:[3,5,9],unlik:[3,5,9],unlimit:9,unmodifi:9,unnam:3,unpack:[3,5,8],unregist:[2,3],unreleas:5,unresolv:3,unsaf:5,unstabl:0,unsupport:10,until:[3,9,10],untrack:3,unwant:3,updat:[3,5,9],upgrad:9,upon:[3,5,9],upper:[3,5,9],uri:9,url:[3,5,9],usabl:3,usag:[2,3,9],use:[3,5,6,8,9],used:[2,3,6,8,9,10],useful:[3,5,9],useothermain:3,user:[2,3,6,7,8,9],userhook:[3,7],uses:[3,5,9],using:[5,6,8,9],usr:[3,5],usual:[3,5,9],utc:[3,9],utf:3,util:3,valid:[3,5,9],valu:[5,9],vanilla:[5,9],vari:[3,9],variabl:[2,3,8,9],variant:[3,9],varieti:9,variou:[3,5,6],vendor:9,verbos:[5,7,9],veri:[0,3,5,6],verif:5,verifi:5,version:[1,5,6,7,9,10],versu:[5,10],via:[3,5,9],view:[3,5],violat:9,visibl:[3,7],visit:5,vulner:9,wai:[3,5,6,8,9],wall:3,want:[3,5,9],warn:[3,9],warp:9,wcompat:3,web:[3,5,6],webfrontend:3,websit:6,webstuff:3,well:[3,5,7,9],were:[3,5,9,10],wget:9,what:[3,4,7,9],whatev:[5,9],when:[5,6,8,9],whenev:10,where:[3,5,6,10],wherea:3,wherev:3,whether:[3,5,6,9],which:[3,5,6,7,8,9,10],whitespac:3,who:3,whole:[3,5],whose:[3,5,9],why:9,wide:[5,9],width:3,wiki:9,wildcard:[3,9],win32:3,window:[3,5,6,9],wish:[3,9],within:[3,5,7,9],without:[3,5,6,7,9],won:[3,9],word:3,work:[3,4,5,7,8,10],workaround:[5,9],world:[3,9],worst:3,would:[3,5,7,8,9,10],wrapper:[3,5],write:[3,5,8,9],written:[3,6],x11:3,x11r6:3,x86_64:[5,9],x_cflag:3,x_lib:3,xlib:3,xmonad:6,year:3,yes:3,yet:[3,9],you:[3,5,7,8,9,10],your:[3,5,8,9,10],yyyymmdd:5,zero:[3,9]},titles:["4. Reporting Bugs and Stability of Cabal Interfaces","3. Package Concepts and Development","2. Configuration and Installing Packages","3.1. Quickstart","Welcome to the Cabal User Guide","2.1. Configuration","1. Introduction","4.1. Reporting bugs and deficiencies","6. Nix Integration","5.1. Quickstart","5. Nix-style Local Builds"],titleterms:{"default":5,"function":[7,9],"import":3,"new":9,The:3,Using:[3,5],access:3,advanc:[5,9],api:7,applic:9,assign:5,autoconf:3,autogener:3,automat:3,basic:5,benchmark:3,binari:5,block:3,bound:3,brace:3,bug:[0,7],build:[3,5,9,10],cabal:[0,3,4,6,7,9],cach:9,can:9,clean:5,code:[3,9],command:[7,9],compil:3,complex:3,concept:[1,3],condit:3,configur:[2,3,5,9],contain:3,control:5,cookbook:9,copi:5,coverag:9,creat:[3,5,8],custom:3,data:3,defici:7,depend:3,descript:3,detail:3,develop:[1,3,5,9],distribut:3,download:3,dynam:9,edit:3,enabl:8,evalu:8,exampl:3,execut:[3,9],exitcod:3,explicit:3,express:8,extern:9,featureset:6,field:3,file:[3,7],flag:[3,5],foreign:[3,9],format:7,freez:[3,9],from:[3,5],further:8,gener:3,ghc:3,global:9,guid:4,hackag:[5,7],haddock:[5,9],how:9,hscolour:5,includ:3,indent:3,independ:5,inform:3,init:3,instal:[2,5],integr:8,interfac:[0,3,7,9],interpret:3,introduct:6,kind:3,layout:3,legaci:5,librari:[3,9],line:7,link:9,list:3,local:[5,9,10],manag:3,mean:3,miscellan:5,modul:3,more:3,multipl:9,name:3,next:3,nix:[8,10],object:9,open:3,option:[5,9],other:3,outdat:3,overview:5,packag:[1,2,3,5,6,9],paramet:3,path:5,point:3,portabl:3,prefix:5,preprocessor:3,product:9,profil:9,program:[3,5],project:9,properti:3,quickstart:[3,9],rather:3,read:8,regist:5,repl:9,report:[0,7],repositori:[3,5],resolut:3,run:3,sandbox:5,script:3,sdist:5,secur:5,semi:7,session:3,setup:[3,5],similar:6,simpl:[3,5],solver:9,sourc:3,specif:5,specifi:9,stabil:[0,7],stabl:7,stdio:3,step:3,style:10,suit:[3,5],system:[3,5,6],test:[3,5],than:3,tool:6,type:7,unit:3,unregist:5,unstabl:7,unsupport:9,usag:5,used:5,user:[4,5],using:3,valu:3,variabl:5,veri:7,version:3,versu:9,welcom:4,what:6,when:3,where:9,work:[6,9]}})
@@ -0,0 +1,73 @@+module Main+ ( main+ ) where++import Test.Tasty+import Test.Tasty.Golden.Advanced (goldenTest)++import Data.Algorithm.Diff (Diff (..), getGroupedDiff)+import Distribution.PackageDescription.Check (checkPackage)+import Distribution.PackageDescription.Parsec (parseGenericPackageDescription)+import Distribution.Parsec.Common (showPError, showPWarning)+import Distribution.Parsec.ParseResult (runParseResult)+import Distribution.Utils.Generic (fromUTF8BS, toUTF8BS)+import System.FilePath (replaceExtension, (</>))++import qualified Data.ByteString as BS+import qualified Data.ByteString.Char8 as BS8++tests :: TestTree+tests = checkTests++-------------------------------------------------------------------------------+-- Regressions+-------------------------------------------------------------------------------++checkTests :: TestTree+checkTests = testGroup "regressions"+ [ checkTest "nothing-unicode.cabal"+ , checkTest "haddock-api-2.18.1-check.cabal"+ , checkTest "issue-774.cabal"+ , checkTest "MiniAgda.cabal"+ , checkTest "extensions-paths-5054.cabal"+ ]++checkTest :: FilePath -> TestTree+checkTest fp = cabalGoldenTest fp correct $ do+ contents <- BS.readFile input+ let res = parseGenericPackageDescription contents+ let (ws, x) = runParseResult res++ return $ toUTF8BS $ case x of+ Right gpd ->+ -- Note: parser warnings are reported by `cabal check`, but not by+ -- D.PD.Check functionality.+ unlines (map (showPWarning fp) ws) +++ unlines (map show (checkPackage gpd Nothing))+ Left (_, errs) -> unlines $ map (("ERROR: " ++) . showPError fp) errs+ where+ input = "tests" </> "ParserTests" </> "regressions" </> fp+ correct = replaceExtension input "check"++-------------------------------------------------------------------------------+-- Main+-------------------------------------------------------------------------------++main :: IO ()+main = defaultMain tests++cabalGoldenTest :: TestName -> FilePath -> IO BS.ByteString -> TestTree+cabalGoldenTest name ref act = goldenTest name (BS.readFile ref) act cmp upd+ where+ upd = BS.writeFile ref+ cmp x y | x == y = return Nothing+ cmp x y = return $ Just $ unlines $+ concatMap f (getGroupedDiff (BS8.lines x) (BS8.lines y))+ where+ f (First xs) = map (cons3 '-' . fromUTF8BS) xs+ f (Second ys) = map (cons3 '+' . fromUTF8BS) ys+ -- we print unchanged lines too. It shouldn't be a problem while we have+ -- reasonably small examples+ f (Both xs _) = map (cons3 ' ' . fromUTF8BS) xs+ -- we add three characters, so the changed lines are easier to spot+ cons3 c cs = c : c : c : ' ' : cs
@@ -1,107 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE TemplateHaskell #-}-{-# LANGUAGE TypeFamilies #-}-{-# OPTIONS_GHC -freduction-depth=0 -fno-warn-orphans #-}-module DiffInstances where--import Generics.SOP.TH-import StructDiff-----------------------------------------------------------------------------------import Distribution.Compiler (CompilerFlavor)-import Distribution.License (License)-import Distribution.ModuleName (ModuleName)-import Distribution.Package- (Dependency, PackageIdentifier, PackageName)-import Distribution.Types.ForeignLib-import Distribution.Types.ForeignLibOption-import Distribution.Types.ForeignLibType-import Distribution.PackageDescription- (Benchmark, BenchmarkInterface, BenchmarkType, BuildInfo,- BuildType, CondTree, Condition, Executable, Flag, FlagName,- GenericPackageDescription, Library, ModuleReexport,- ModuleRenaming, PackageDescription, RepoKind, RepoType,- SetupBuildInfo, SourceRepo, TestSuite, TestSuiteInterface,- TestType)-import Distribution.Types.IncludeRenaming (IncludeRenaming)-import Distribution.Version (Version, VersionRange)-import Language.Haskell.Extension- (Extension, KnownExtension, Language)------------------------------------------------------------------------------------ instances----------------------------------------------------------------------------------deriveGeneric ''Benchmark-deriveGeneric ''BenchmarkInterface-deriveGeneric ''BenchmarkType-deriveGeneric ''BuildInfo-deriveGeneric ''BuildType-deriveGeneric ''CompilerFlavor-deriveGeneric ''CondTree-deriveGeneric ''Dependency-deriveGeneric ''Executable-deriveGeneric ''Extension-deriveGeneric ''Flag-deriveGeneric ''ForeignLib-deriveGeneric ''ForeignLibOption-deriveGeneric ''ForeignLibType-deriveGeneric ''GenericPackageDescription-deriveGeneric ''KnownExtension-deriveGeneric ''Language-deriveGeneric ''Library-deriveGeneric ''License-deriveGeneric ''ModuleReexport-deriveGeneric ''ModuleRenaming-deriveGeneric ''PackageDescription-deriveGeneric ''PackageIdentifier-deriveGeneric ''PackageName-deriveGeneric ''RepoKind-deriveGeneric ''RepoType-deriveGeneric ''SetupBuildInfo-deriveGeneric ''SourceRepo-deriveGeneric ''TestSuite-deriveGeneric ''TestSuiteInterface-deriveGeneric ''TestType-deriveGeneric ''VersionRange-deriveGeneric ''IncludeRenaming--instance (Eq a, Show a) => Diff (Condition a) where diff = eqDiff-instance (Show a, Diff b, Diff c, Show b, Show c, Eq a, Eq c, Eq b) => Diff (CondTree a b c)--instance Diff Benchmark-instance Diff BenchmarkInterface-instance Diff BenchmarkType-instance Diff BuildInfo-instance Diff BuildType-instance Diff CompilerFlavor-instance Diff Dependency-instance Diff Executable-instance Diff Extension-instance Diff Flag-instance Diff FlagName where diff = eqDiff-instance Diff ForeignLib-instance Diff ForeignLibType-instance Diff ForeignLibOption-instance Diff GenericPackageDescription-instance Diff KnownExtension-instance Diff Language-instance Diff Library-instance Diff License-instance Diff ModuleName where diff = eqDiff-instance Diff ModuleReexport-instance Diff ModuleRenaming-instance Diff PackageDescription-instance Diff PackageIdentifier-instance Diff PackageName where diff = eqDiff-instance Diff RepoKind-instance Diff RepoType-instance Diff SetupBuildInfo-instance Diff SourceRepo-instance Diff TestSuite-instance Diff TestSuiteInterface-instance Diff TestType-instance Diff Version where diff = eqDiff-instance Diff VersionRange-instance Diff IncludeRenaming
@@ -0,0 +1,299 @@+{-# LANGUAGE BangPatterns #-}+{-# LANGUAGE CPP #-}+{-# LANGUAGE Rank2Types #-}+{-# LANGUAGE ScopedTypeVariables #-}+#if !MIN_VERSION_deepseq(1,4,0)+{-# OPTIONS_GHC -fno-warn-orphans #-}+#endif+module Main where++import Distribution.Compat.Semigroup+import Prelude ()+import Prelude.Compat++import Control.Applicative (many, (<**>), (<|>))+import Control.DeepSeq (NFData (..), force)+import Control.Exception (evaluate)+import Control.Monad (join, unless)+import Data.Foldable (traverse_)+import Data.List (isPrefixOf, isSuffixOf)+import Data.Maybe (mapMaybe)+import Data.Monoid (Sum (..))+import Distribution.PackageDescription.Check (PackageCheck (..), checkPackage)+import Distribution.PackageDescription.PrettyPrint (showGenericPackageDescription)+import Distribution.Simple.Utils (toUTF8BS)+import System.Directory (getAppUserDataDirectory)+import System.Exit (exitFailure)+import System.FilePath ((</>))++import Data.Orphans ()++import qualified Codec.Archive.Tar as Tar+import qualified Data.ByteString as B+import qualified Data.ByteString.Char8 as B8+import qualified Data.ByteString.Lazy as BSL+import qualified Data.Map as Map+import qualified Distribution.PackageDescription.Parsec as Parsec+import qualified Distribution.Parsec.Common as Parsec+import qualified Distribution.Parsec.Parser as Parsec++import Distribution.Compat.Lens+import qualified Distribution.Types.GenericPackageDescription.Lens as L+import qualified Distribution.Types.PackageDescription.Lens as L+import qualified Options.Applicative as O++#ifdef MIN_VERSION_tree_diff+import Data.TreeDiff (ansiWlEditExpr, ediff)+import Instances.TreeDiff ()+#endif++parseIndex :: (Monoid a, NFData a) => (FilePath -> Bool) -> (FilePath -> BSL.ByteString -> IO a) -> IO a+parseIndex predicate action = do+ cabalDir <- getAppUserDataDirectory "cabal"+ cfg <- B.readFile (cabalDir </> "config")+ cfgFields <- either (fail . show) pure $ Parsec.readFields cfg+ let repos = reposFromConfig cfgFields+ repoCache = case lookupInConfig "remote-repo-cache" cfgFields of+ [] -> cabalDir </> "packages" -- Default+ (rrc : _) -> rrc -- User-specified+ tarName repo = repoCache </> repo </> "01-index.tar"+ mconcat <$> traverse (parseIndex' predicate action . tarName) repos++parseIndex' :: (Monoid a, NFData a) => (FilePath -> Bool) -> (FilePath -> BSL.ByteString -> IO a) -> FilePath -> IO a+parseIndex' predicate action path = do+ putStrLn $ "Reading index from: " ++ path+ contents <- BSL.readFile path+ let entries = Tar.read contents+ entries' = Tar.foldEntries cons [] (error . show) entries+ foldIO f entries'++ where+ cons entry entries+ | predicate (Tar.entryPath entry) = entry : entries+ | otherwise = entries++ f entry = case Tar.entryContent entry of+ Tar.NormalFile contents _+ | ".cabal" `isSuffixOf` fpath -> action fpath contents >>= evaluate . force+ | otherwise -> return mempty+ Tar.Directory -> return mempty+ _ -> putStrLn ("Unknown content in " ++ fpath) >> return mempty+ where+ fpath = Tar.entryPath entry++readFieldTest :: FilePath -> BSL.ByteString -> IO ()+readFieldTest fpath bsl = case Parsec.readFields $ bslToStrict bsl of+ Right _ -> return ()+ Left err -> putStrLn $ fpath ++ "\n" ++ show err++-- | Map with unionWith monoid+newtype M k v = M (Map.Map k v)+ deriving (Show)+instance (Ord k, Monoid v) => Monoid (M k v) where+ mempty = M Map.empty+ mappend (M a) (M b) = M (Map.unionWith mappend a b)+instance (NFData k, NFData v) => NFData (M k v) where+ rnf (M m) = rnf m++parseParsecTest :: FilePath -> BSL.ByteString -> IO (Sum Int)+parseParsecTest fpath bsl = do+ let bs = bslToStrict bsl+ let (_warnings, parsec) = Parsec.runParseResult $ Parsec.parseGenericPackageDescription bs+ case parsec of+ Right _ -> return (Sum 1)+ Left (_, errors) -> do+ traverse_ (putStrLn . Parsec.showPError fpath) errors+ exitFailure++parseCheckTest :: FilePath -> BSL.ByteString -> IO CheckResult+parseCheckTest fpath bsl = do+ let bs = bslToStrict bsl+ let (_warnings, parsec) = Parsec.runParseResult $ Parsec.parseGenericPackageDescription bs+ case parsec of+ Right gpd -> do+ let checks = checkPackage gpd Nothing+ -- one for file, many checks+ return (CheckResult 1 0 0 0 0 0 <> foldMap toCheckResult checks)+ Left (_, errors) -> do+ traverse_ (putStrLn . Parsec.showPError fpath) errors+ exitFailure++data CheckResult = CheckResult !Int !Int !Int !Int !Int !Int++instance NFData CheckResult where+ rnf !_ = ()++instance Semigroup CheckResult where+ CheckResult n a b c d e <> CheckResult n' a' b' c' d' e' =+ CheckResult (n + n') (a + a') (b + b') (c + c') (d + d') (e + e')++instance Monoid CheckResult where+ mempty = CheckResult 0 0 0 0 0 0+ mappend = (<>)++toCheckResult :: PackageCheck -> CheckResult+toCheckResult PackageBuildImpossible {} = CheckResult 0 1 0 0 0 0+toCheckResult PackageBuildWarning {} = CheckResult 0 0 1 0 0 0+toCheckResult PackageDistSuspicious {} = CheckResult 0 0 0 1 0 0+toCheckResult PackageDistSuspiciousWarn {} = CheckResult 0 0 0 0 1 0+toCheckResult PackageDistInexcusable {} = CheckResult 0 0 0 0 0 1++roundtripTest :: FilePath -> BSL.ByteString -> IO (Sum Int)+roundtripTest fpath bsl = do+ let bs = bslToStrict bsl+ x0 <- parse "1st" bs+ let bs' = showGenericPackageDescription x0+ y0 <- parse "2nd" (toUTF8BS bs')++ -- we mungled license here+ let y1 = y0++ -- license-files: ""+ let stripEmpty = filter (/="")+ let x1 = x0 & L.packageDescription . L.licenseFiles %~ stripEmpty+ let y2 = y1 & L.packageDescription . L.licenseFiles %~ stripEmpty++ let y = y2 & L.packageDescription . L.description .~ ""+ let x = x1 & L.packageDescription . L.description .~ ""++ unless (x == y || fpath == "ixset/1.0.4/ixset.cabal") $ do+ putStrLn fpath+#ifdef MIN_VERSION_tree_diff+ print $ ansiWlEditExpr $ ediff x y+#else+ putStrLn "<<<<<<"+ print x+ putStrLn "======"+ print y+ putStrLn ">>>>>>"+#endif+ putStrLn bs'+ exitFailure++ return (Sum 1)+ where+ parse phase c = do+ let (_, x') = Parsec.runParseResult $ Parsec.parseGenericPackageDescription c+ case x' of+ Right gpd -> pure gpd+ Left (_, errs) -> do+ putStrLn $ fpath ++ " " ++ phase+ traverse_ print errs+ B.putStr c+ fail "parse error"++main :: IO ()+main = join (O.execParser opts)+ where+ opts = O.info (optsP <**> O.helper) $ mconcat+ [ O.fullDesc+ , O.progDesc "tests using Hackage's index"+ ]++ optsP = subparser+ [ command "read-fields" readFieldsP "Parse outer format (to '[Field]', TODO: apply Quirks)"+ , command "parsec" parsecP "Parse GPD with parsec"+ , command "roundtrip" roundtripP "parse . pretty . parse = parse"+ , command "check" checkP "Check GPD"+ ] <|> pure defaultA++ defaultA = do+ putStrLn "Default action: parsec k"+ parsecA (mkPredicate ["k"])++ readFieldsP = readFieldsA <$> prefixP+ readFieldsA pfx = parseIndex pfx readFieldTest++ parsecP = parsecA <$> prefixP+ parsecA pfx = do+ Sum n <- parseIndex pfx parseParsecTest+ putStrLn $ show n ++ " files processed"++ roundtripP = roundtripA <$> prefixP+ roundtripA pfx = do+ Sum n <- parseIndex pfx roundtripTest+ putStrLn $ show n ++ " files processed"++ checkP = checkA <$> prefixP+ checkA pfx = do+ CheckResult n a b c d e <- parseIndex pfx parseCheckTest+ putStrLn $ show n ++ " files processed"+ putStrLn $ show a ++ " build impossible"+ putStrLn $ show b ++ " build warning"+ putStrLn $ show c ++ " build dist suspicious"+ putStrLn $ show d ++ " build dist suspicious warning"+ putStrLn $ show e ++ " build dist inexcusable"++ prefixP = fmap mkPredicate $ many $ O.strArgument $ mconcat+ [ O.metavar "PREFIX"+ , O.help "Check only files starting with a prefix"+ ]++ mkPredicate [] = const True+ mkPredicate pfxs = \n -> any (`isPrefixOf` n) pfxs++ command name p desc = O.command name (O.info (p <**> O.helper) (O.progDesc desc))+ subparser = O.subparser . mconcat++-------------------------------------------------------------------------------+--+-------------------------------------------------------------------------------++bslToStrict :: BSL.ByteString -> B.ByteString+#if MIN_VERSION_bytestring(0,10,0)+bslToStrict = BSL.toStrict+#else+-- Not effective!+bslToStrict = B.concat . BSL.toChunks+#endif++-------------------------------------------------------------------------------+-- Index shuffling+-------------------------------------------------------------------------------++-- TODO: Use 'Cabal' for this?+reposFromConfig :: [Parsec.Field ann] -> [String]+reposFromConfig fields = takeWhile (/= ':') <$> mapMaybe f fields+ where+ f (Parsec.Field (Parsec.Name _ name) fieldLines)+ | B8.unpack name == "remote-repo" =+ Just $ fieldLinesToString fieldLines+ f (Parsec.Section (Parsec.Name _ name) [Parsec.SecArgName _ secName] _fieldLines)+ | B8.unpack name == "repository" =+ Just $ B8.unpack secName+ f _ = Nothing++-- | Looks up the given key in the cabal configuration file+lookupInConfig :: String -> [Parsec.Field ann] -> [String]+lookupInConfig key = mapMaybe f+ where+ f (Parsec.Field (Parsec.Name _ name) fieldLines)+ | B8.unpack name == key =+ Just $ fieldLinesToString fieldLines+ f _ = Nothing++fieldLinesToString :: [Parsec.FieldLine ann] -> String+fieldLinesToString fieldLines =+ B8.unpack $ B.concat $ bsFromFieldLine <$> fieldLines+ where+ bsFromFieldLine (Parsec.FieldLine _ bs) = bs++-------------------------------------------------------------------------------+-- Utilities+-------------------------------------------------------------------------------++foldIO :: (Monoid m, NFData m) => (a -> IO m) -> [a] -> IO m+foldIO f = go mempty where+ go !acc [] = return acc+ go !acc (x : xs) = do+ y <- f x+ go (mappend acc y) xs++-------------------------------------------------------------------------------+-- Orphans+-------------------------------------------------------------------------------++#if !MIN_VERSION_deepseq(1,4,0)+instance NFData a => NFData (Sum a) where+ rnf (Sum a) = rnf a+#endif
@@ -0,0 +1,91 @@+{-# LANGUAGE CPP #-}+#if __GLASGOW_HASKELL__ >= 800+{-# OPTIONS_GHC -freduction-depth=0 #-}+#else+{-# OPTIONS_GHC -fcontext-stack=151 #-}+#endif+{-# OPTIONS_GHC -fno-warn-orphans #-}+module Instances.TreeDiff where++import Data.TreeDiff++import Instances.TreeDiff.Language ()+import Instances.TreeDiff.SPDX ()+import Instances.TreeDiff.Version ()++-------------------------------------------------------------------------------++import Distribution.Backpack (OpenModule, OpenUnitId)+import Distribution.Compiler (CompilerFlavor)+import Distribution.InstalledPackageInfo (AbiDependency, ExposedModule, InstalledPackageInfo)+import Distribution.ModuleName (ModuleName)+import Distribution.Package (Dependency, PackageIdentifier, PackageName)+import Distribution.PackageDescription+import Distribution.Types.AbiHash (AbiHash)+import Distribution.Types.ComponentId (ComponentId)+import Distribution.Types.CondTree+import Distribution.Types.ExecutableScope+import Distribution.Types.ExeDependency+import Distribution.Types.ForeignLib+import Distribution.Types.ForeignLibOption+import Distribution.Types.ForeignLibType+import Distribution.Types.IncludeRenaming (IncludeRenaming)+import Distribution.Types.LegacyExeDependency+import Distribution.Types.Mixin+import Distribution.Types.PkgconfigDependency+import Distribution.Types.UnitId (DefUnitId, UnitId)+import Distribution.Types.UnqualComponentName++-------------------------------------------------------------------------------+-- instances+-------------------------------------------------------------------------------++instance (Eq a, Show a) => ToExpr (Condition a) where toExpr = defaultExprViaShow+instance (Show a, ToExpr b, ToExpr c, Show b, Show c, Eq a, Eq c, Eq b) => ToExpr (CondTree a b c)+instance (Show a, ToExpr b, ToExpr c, Show b, Show c, Eq a, Eq c, Eq b) => ToExpr (CondBranch a b c)++instance ToExpr AbiDependency where toExpr = defaultExprViaShow+instance ToExpr AbiHash where toExpr = defaultExprViaShow+instance ToExpr Benchmark+instance ToExpr BenchmarkInterface+instance ToExpr BenchmarkType+instance ToExpr BuildInfo+instance ToExpr BuildType+instance ToExpr CompilerFlavor+instance ToExpr ComponentId where toExpr = defaultExprViaShow+instance ToExpr DefUnitId+instance ToExpr Dependency+instance ToExpr ExeDependency where toExpr = defaultExprViaShow+instance ToExpr Executable+instance ToExpr ExecutableScope where toExpr = defaultExprViaShow+instance ToExpr ExposedModule where toExpr = defaultExprViaShow+instance ToExpr Flag+instance ToExpr FlagName where toExpr = defaultExprViaShow+instance ToExpr ForeignLib+instance ToExpr ForeignLibOption+instance ToExpr ForeignLibType+instance ToExpr GenericPackageDescription+instance ToExpr IncludeRenaming+instance ToExpr InstalledPackageInfo+instance ToExpr LegacyExeDependency where toExpr = defaultExprViaShow+instance ToExpr LibVersionInfo where toExpr = defaultExprViaShow+instance ToExpr Library+instance ToExpr Mixin where toExpr = defaultExprViaShow+instance ToExpr ModuleName where toExpr = defaultExprViaShow+instance ToExpr ModuleReexport+instance ToExpr ModuleRenaming+instance ToExpr OpenModule+instance ToExpr OpenUnitId+instance ToExpr PackageDescription+instance ToExpr PackageIdentifier+instance ToExpr PackageName where toExpr = defaultExprViaShow+instance ToExpr PkgconfigDependency where toExpr = defaultExprViaShow+instance ToExpr RepoKind+instance ToExpr RepoType+instance ToExpr SetupBuildInfo+instance ToExpr SourceRepo+instance ToExpr TestSuite+instance ToExpr TestSuiteInterface+instance ToExpr TestType+instance ToExpr UnitId where toExpr = defaultExprViaShow+instance ToExpr UnqualComponentName where toExpr = defaultExprViaShow
@@ -0,0 +1,17 @@+{-# LANGUAGE CPP #-}+#if __GLASGOW_HASKELL__ >= 800+{-# OPTIONS_GHC -freduction-depth=0 #-}+#else+{-# OPTIONS_GHC -fcontext-stack=151 #-}+#endif+{-# OPTIONS_GHC -fno-warn-orphans #-}+module Instances.TreeDiff.Language where++import Data.TreeDiff+import Language.Haskell.Extension (Extension, KnownExtension, Language)++-- This are big enums, so they are in separate file.+--+instance ToExpr Extension+instance ToExpr KnownExtension+instance ToExpr Language
@@ -0,0 +1,28 @@+{-# LANGUAGE CPP #-}+#if __GLASGOW_HASKELL__ >= 800+{-# OPTIONS_GHC -freduction-depth=0 #-}+#else+{-# OPTIONS_GHC -fcontext-stack=151 #-}+#endif+{-# OPTIONS_GHC -fno-warn-orphans #-}+module Instances.TreeDiff.SPDX where++import Data.TreeDiff+import Distribution.License (License)++import Instances.TreeDiff.Version ()++import qualified Distribution.SPDX as SPDX++-- 'License' almost belongs here.++instance ToExpr License++-- Generics instance is too heavy+instance ToExpr SPDX.LicenseId where toExpr = defaultExprViaShow+instance ToExpr SPDX.LicenseExceptionId where toExpr = defaultExprViaShow++instance ToExpr SPDX.License+instance ToExpr SPDX.LicenseExpression+instance ToExpr SPDX.LicenseRef+instance ToExpr SPDX.SimpleLicenseExpression
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}+#if __GLASGOW_HASKELL__ >= 800+{-# OPTIONS_GHC -freduction-depth=0 #-}+#else+{-# OPTIONS_GHC -fcontext-stack=151 #-}+#endif+{-# OPTIONS_GHC -fno-warn-orphans #-}+module Instances.TreeDiff.Version where++import Data.TreeDiff+import Distribution.Version (Version, VersionRange)++instance ToExpr Version where toExpr = defaultExprViaShow+instance ToExpr VersionRange
@@ -1,365 +0,0 @@-{-# LANGUAGE Rank2Types #-}-module Main where--import Control.Applicative- (Applicative (..), (<$>), Const (..))-import Control.Monad (when)-import Data.Foldable- (foldMap, for_, traverse_)-import Data.List (isPrefixOf, isSuffixOf)-import Data.Maybe (mapMaybe, listToMaybe)-import Data.Monoid (Monoid (..), Sum (..))-import Data.Traversable (traverse)-import Distribution.Simple.Utils (fromUTF8LBS, ignoreBOM)-import System.Directory- (getAppUserDataDirectory)-import System.Environment (getArgs)-import System.Exit (exitFailure)-import System.FilePath ((</>))--import Distribution.Types.Dependency-import Distribution.Types.UnqualComponentName-import Distribution.PackageDescription--import qualified Codec.Archive.Tar as Tar-import qualified Data.ByteString as B-import qualified Data.ByteString.Char8 as B8-import qualified Data.ByteString.Lazy as BSL-import qualified Data.Map as Map-import qualified Distribution.PackageDescription.Parse as ReadP-import qualified Distribution.PackageDescription.Parsec as Parsec-import qualified Distribution.Parsec.Parser as Parsec-import qualified Distribution.Parsec.Types.Common as Parsec-import qualified Distribution.ParseUtils as ReadP-import qualified Distribution.Compat.DList as DList--#if __GLASGOW_HASKELL__ >= 708-import Data.Coerce-#else-import Unsafe.Coerce-#endif--#ifdef HAS_STRUCT_DIFF-import DiffInstances ()-import StructDiff-#endif--parseIndex :: Monoid a => (FilePath -> BSL.ByteString -> IO a) -> IO a-parseIndex action = do- cabalDir <- getAppUserDataDirectory "cabal"- cfg <- B.readFile (cabalDir </> "config")- cfgFields <- either (fail . show) pure $ Parsec.readFields cfg- let repos = reposFromConfig cfgFields- repoCache = case lookupInConfig "remote-repo-cache" cfgFields of- [] -> cabalDir </> "packages" -- Default- (rrc : _) -> rrc -- User-specified- tarName repo = repoCache </> repo </> "01-index.tar"- mconcat <$> traverse (parseIndex' action . tarName) repos---parseIndex' :: Monoid a => (FilePath -> BSL.ByteString -> IO a) -> FilePath -> IO a-parseIndex' action path = do- putStrLn $ "Reading index from: " ++ path- contents <- BSL.readFile path- let entries = Tar.read contents- Tar.foldEntries (\e m -> mappend <$> f e <*> m) (return mempty) (fail . show) entries-- where- f entry = case Tar.entryContent entry of- Tar.NormalFile contents _- | ".cabal" `isSuffixOf` fpath -> action fpath contents- | otherwise -> return mempty- Tar.Directory -> return mempty- _ -> putStrLn ("Unknown content in " ++ fpath) >> return mempty- where- fpath = Tar.entryPath entry--readFieldTest :: FilePath -> BSL.ByteString -> IO ()-readFieldTest fpath bsl = case Parsec.readFields $ BSL.toStrict bsl of- Right _ -> return ()- Left err -> putStrLn $ fpath ++ "\n" ++ show err---- | Map with unionWith monoid-newtype M k v = M (Map.Map k v)- deriving (Show)-instance (Ord k, Monoid v) => Monoid (M k v) where- mempty = M Map.empty- mappend (M a) (M b) = M (Map.unionWith mappend a b)--compareTest- :: String -- ^ prefix of first packages to start traversal- -> FilePath -> BSL.ByteString -> IO (Sum Int, Sum Int, M Parsec.PWarnType (Sum Int))-compareTest pfx fpath bsl- | any ($ fpath) problematicFiles = mempty- | not $ pfx `isPrefixOf` fpath = mempty- | otherwise = do- let str = ignoreBOM $ fromUTF8LBS bsl-- putStrLn $ "::: " ++ fpath- (readp, readpWarnings) <- case ReadP.parseGenericPackageDescription str of- ReadP.ParseOk ws x -> return (x, ws)- ReadP.ParseFailed err -> print err >> exitFailure- traverse_ (putStrLn . ReadP.showPWarning fpath) readpWarnings-- let (warnings, errors, parsec') = Parsec.runParseResult $ Parsec.parseGenericPackageDescription (BSL.toStrict bsl)- traverse_ (putStrLn . Parsec.showPWarning fpath) warnings- traverse_ (putStrLn . Parsec.showPError fpath) errors- parsec <- maybe (print readp >> exitFailure) return parsec'-- -- Old parser is broken for many descriptions, and other free text fields- let readp0 = readp- & set (packageDescription_ . description_) ""- & set (packageDescription_ . synopsis_) ""- & set (packageDescription_ . maintainer_) ""- let parsec0 = parsec- & set (packageDescription_ . description_) ""- & set (packageDescription_ . synopsis_) ""- & set (packageDescription_ . maintainer_) ""-- -- hs-source-dirs ".", old parser broken- -- See e.g. http://hackage.haskell.org/package/hledger-ui-0.27/hledger-ui.cabal executable- let parsecHsSrcDirs = parsec0 & toListOf (buildInfos_ . hsSourceDirs_)- let readpHsSrcDirs = readp0 & toListOf (buildInfos_ . hsSourceDirs_)- let filterDotDirs = filter (/= ".")-- let parsec1 = if parsecHsSrcDirs /= readpHsSrcDirs && fmap filterDotDirs parsecHsSrcDirs == readpHsSrcDirs- then parsec0 & over (buildInfos_ . hsSourceDirs_) filterDotDirs- else parsec0-- -- Compare two parse results- if readp0 == parsec1- then return ()- else do-#if HAS_STRUCT_DIFF- prettyResultIO $ diff readp parsec-#else- putStrLn "<<<<<<"- print readp- putStrLn "======"- print parsec- putStrLn ">>>>>>"-#endif- exitFailure-- let readpWarnCount = Sum (length readpWarnings)- let parsecWarnCount = Sum (length warnings)-- when (readpWarnCount > parsecWarnCount) $ do- putStrLn "There are more readpWarnings"- exitFailure-- let parsecWarnMap = foldMap (\(Parsec.PWarning t _ _) -> M $ Map.singleton t 1) warnings- return (readpWarnCount, parsecWarnCount, parsecWarnMap)--parseReadpTest :: FilePath -> BSL.ByteString -> IO ()-parseReadpTest fpath bsl = when (not $ any ($ fpath) problematicFiles) $ do- let str = fromUTF8LBS bsl- case ReadP.parseGenericPackageDescription str of- ReadP.ParseOk _ _ -> return ()- ReadP.ParseFailed err -> print err >> exitFailure--parseParsecTest :: FilePath -> BSL.ByteString -> IO ()-parseParsecTest fpath bsl = when (not $ any ($ fpath) problematicFiles) $ do- let bs = BSL.toStrict bsl- let (_warnings, errors, parsec) = Parsec.runParseResult $ Parsec.parseGenericPackageDescription bs- case parsec of- Just _ -> return ()- Nothing -> do- traverse_ (putStrLn . Parsec.showPError fpath) errors- exitFailure--problematicFiles :: [FilePath -> Bool]-problematicFiles =- [- -- Indent failure- eq "control-monad-exception-mtl/0.10.3/control-monad-exception-mtl.cabal"- -- Other modules <- no dash- , eq "DSTM/0.1/DSTM.cabal"- , eq "DSTM/0.1.1/DSTM.cabal"- , eq "DSTM/0.1.2/DSTM.cabal"- -- colon : after section header- , eq "ds-kanren/0.2.0.0/ds-kanren.cabal"- , eq "ds-kanren/0.2.0.1/ds-kanren.cabal"- , eq "metric/0.1.4/metric.cabal"- , eq "metric/0.2.0/metric.cabal"- , eq "phasechange/0.1/phasechange.cabal"- , eq "shelltestrunner/1.3/shelltestrunner.cabal"- , eq "smartword/0.0.0.5/smartword.cabal"- -- \DEL- , eq "vacuum-opengl/0.0/vacuum-opengl.cabal"- , eq "vacuum-opengl/0.0.1/vacuum-opengl.cabal"- -- dashes in version, not even tag- , isPrefixOf "free-theorems-webui/"- -- {- comment -}- , eq "ixset/1.0.4/ixset.cabal"- -- comments in braces- , isPrefixOf "hint/"- ]- where- eq = (==)--main :: IO ()-main = do- args <- getArgs- case args of- ["read-field"] -> parseIndex readFieldTest- ["parse-readp"] -> parseIndex parseReadpTest- ["parse-parsec"] -> parseIndex parseParsecTest- [pfx] -> defaultMain pfx- _ -> defaultMain ""- where- defaultMain pfx = do- (Sum readpCount, Sum parsecCount, M warn) <- parseIndex (compareTest pfx)- putStrLn $ "readp warnings: " ++ show readpCount- putStrLn $ "parsec count: " ++ show parsecCount- for_ (Map.toList warn) $ \(t, Sum c) ->- putStrLn $ " - " ++ show t ++ " : " ++ show c------------------------------------------------------------------------------------ Index shuffling------------------------------------------------------------------------------------ TODO: Use 'Cabal' for this?-reposFromConfig :: [Parsec.Field ann] -> [String]-reposFromConfig fields = takeWhile (/= ':') <$> mapMaybe f fields- where- f (Parsec.Field (Parsec.Name _ name) fieldLines)- | B8.unpack name == "remote-repo" =- Just $ fieldLinesToString fieldLines- f (Parsec.Section (Parsec.Name _ name) [Parsec.SecArgName _ secName] _fieldLines)- | B8.unpack name == "repository" =- Just $ B8.unpack secName- f _ = Nothing---- | Looks up the given key in the cabal configuration file-lookupInConfig :: String -> [Parsec.Field ann] -> [String]-lookupInConfig key = mapMaybe f- where- f (Parsec.Field (Parsec.Name _ name) fieldLines)- | B8.unpack name == key =- Just $ fieldLinesToString fieldLines- f _ = Nothing--fieldLinesToString :: [Parsec.FieldLine ann] -> String-fieldLinesToString fieldLines =- B8.unpack $ B.concat $ bsFromFieldLine <$> fieldLines- where- bsFromFieldLine (Parsec.FieldLine _ bs) = bs------------------------------------------------------------------------------------ Distribution.Compat.Lens----------------------------------------------------------------------------------type Lens' s a = forall f. Functor f => (a -> f a) -> s -> f s-type Traversal' s a = forall f. Applicative f => (a -> f a) -> s -> f s--type Getting r s a = (a -> Const r a) -> s -> Const r s-type ASetter' s a = (a -> I a) -> s -> I s------ | View the value pointed to by a 'Getting' or 'Lens' or the--- result of folding over all the results of a 'Control.Lens.Fold.Fold' or--- 'Control.Lens.Traversal.Traversal' that points at a monoidal values.-view :: s -> Getting a s a -> a-view s l = getConst (l Const s)---- | Replace the target of a 'Lens'' or 'Traversal'' with a constant value.-set :: ASetter' s a -> a -> s -> s-set l x = over l (const x)---- | Modify the target of a 'Lens'' or all the targets of a 'Traversal''--- with a function.-over :: ASetter' s a -> (a -> a) -> s -> s-#if __GLASGOW_HASKELL__ >= 708-over l f = coerce . l (coerce . f)-#else-over l f = unsafeCoerce . l (unsafeCoerce . f)-#endif---- | Build a 'Lens'' from a getter and a setter.-lens :: (s -> a) -> (s -> a -> s) -> Lens' s a-lens sa sbt afb s = sbt s <$> afb (sa s)---- | Build an 'Getting' from an arbitrary Haskell function.-to :: (s -> a) -> Getting r s a-to f g a = Const $ getConst $ g (f a)---- | Extract a list of the targets of a 'Lens'' or 'Traversal''.-toListOf :: Getting (DList.DList a) s a -> s -> [a]-toListOf l = DList.runDList . getConst . l (Const . DList.singleton)---- | Retrieve the first entry of a 'Traversal'' or retrieve 'Just' the result--- from a 'Getting' or 'Lens''.-firstOf :: Getting (DList.DList a) s a -> s -> Maybe a-firstOf l = listToMaybe . toListOf l---- | '&' is a reverse application operator-(&) :: a -> (a -> b) -> b-(&) = flip ($)-{-# INLINE (&) #-}-infixl 1 &------------------------------------------------------------------------------------ Distribution.Compat.BasicFunctors----------------------------------------------------------------------------------newtype I a = I a--unI :: I a -> a-unI (I x) = x--instance Functor I where- fmap f (I x) = I (f x)--instance Applicative I where- pure = I- I f <*> I x = I (f x)- _ *> x = x--_2 :: Lens' (a, b) b-_2 = lens snd $ \(a, _) b -> (a, b)------------------------------------------------------------------------------------ Distribution.PackageDescription.Lens----------------------------------------------------------------------------------packageDescription_ :: Lens' GenericPackageDescription PackageDescription-packageDescription_ = lens packageDescription $ \s a -> s { packageDescription = a }--condLibrary_ :: Lens' GenericPackageDescription (Maybe (CondTree ConfVar [Dependency] Library))-condLibrary_ = lens condLibrary $ \s a -> s { condLibrary = a}--condExecutables_ :: Lens' GenericPackageDescription [(UnqualComponentName, CondTree ConfVar [Dependency] Executable)]-condExecutables_ = lens condExecutables $ \s a -> s { condExecutables = a }--condTreeData_ :: Lens' (CondTree v c a) a-condTreeData_ = lens condTreeData $ \s a -> s { condTreeData = a }--description_, synopsis_, maintainer_ :: Lens' PackageDescription String-description_ = lens description $ \s a -> s { description = a }-synopsis_ = lens synopsis $ \s a -> s { synopsis = a }-maintainer_ = lens maintainer $ \s a -> s { maintainer = a }--class HasBuildInfo a where- buildInfo_ :: Lens' a BuildInfo--instance HasBuildInfo Library where- buildInfo_ = lens libBuildInfo $ \s a -> s { libBuildInfo = a }--instance HasBuildInfo Executable where- buildInfo_ = lens buildInfo $ \s a -> s { buildInfo = a }---- | This forgets a lot of structure, but might be nice for some stuff-buildInfos_ :: Traversal' GenericPackageDescription BuildInfo-buildInfos_ f gpd = mkGpd- <$> (traverse . traverse . buildInfo_) f (condLibrary gpd)- <*> (traverse . _2 . traverse . buildInfo_) f (condExecutables gpd)- where- mkGpd lib exe = gpd- { condLibrary = lib- , condExecutables = exe- }--hsSourceDirs_ :: Lens' BuildInfo [FilePath]-hsSourceDirs_ = lens hsSourceDirs $ \s a -> s { hsSourceDirs = a }
@@ -1,31 +1,59 @@+{-# LANGUAGE CPP #-} module Main ( main ) where +import Prelude ()+import Prelude.Compat+ import Test.Tasty+import Test.Tasty.Golden.Advanced (goldenTest) import Test.Tasty.HUnit -import Data.Maybe (isJust)-import Distribution.PackageDescription.Parsec (parseGenericPackageDescription)-import Distribution.Parsec.Types.Common (PWarnType (..), PWarning (..))-import Distribution.Parsec.Types.ParseResult (runParseResult)-import System.FilePath ((</>))+import Control.Monad (void)+import Data.Algorithm.Diff (Diff (..), getGroupedDiff)+import Data.Maybe (isNothing)+import Distribution.PackageDescription (GenericPackageDescription)+import Distribution.PackageDescription.Parsec (parseGenericPackageDescription)+import Distribution.PackageDescription.PrettyPrint (showGenericPackageDescription)+import Distribution.Parsec.Common+ (PWarnType (..), PWarning (..), showPError, showPWarning)+import Distribution.Parsec.ParseResult (runParseResult)+import Distribution.Utils.Generic (fromUTF8BS, toUTF8BS)+import System.FilePath (replaceExtension, (</>)) -import qualified Data.ByteString as BS+import qualified Data.ByteString as BS+import qualified Data.ByteString.Char8 as BS8 +import qualified Distribution.InstalledPackageInfo as IPI+import qualified Distribution.ParseUtils as ReadP++#ifdef MIN_VERSION_tree_diff+import Data.TreeDiff (toExpr)+import Data.TreeDiff.Golden (ediffGolden)+import Instances.TreeDiff ()+#endif+ tests :: TestTree tests = testGroup "parsec tests"- [ warningTests+ [ regressionTests+ , warningTests+ , errorTests+ , ipiTests ] +-------------------------------------------------------------------------------+-- Warnings+-------------------------------------------------------------------------------+ -- Verify that we trigger warnings warningTests :: TestTree warningTests = testGroup "warnings triggered" [ warningTest PWTLexBOM "bom.cabal" , warningTest PWTLexNBSP "nbsp.cabal"+ , warningTest PWTLexTab "tab.cabal" , warningTest PWTUTF "utf8.cabal" , warningTest PWTBoolCase "bool.cabal"- , warningTest PWTGluedOperators "gluedop.cabal" , warningTest PWTVersionTag "versiontag.cabal" , warningTest PWTNewSyntax "newsyntax.cabal" , warningTest PWTOldSyntax "oldsyntax.cabal"@@ -34,6 +62,8 @@ , warningTest PWTUnknownField "unknownfield.cabal" , warningTest PWTUnknownSection "unknownsection.cabal" , warningTest PWTTrailingFields "trailingfield.cabal"+ , warningTest PWTDoubleDash "doubledash.cabal"+ , warningTest PWTMultipleSingularField "multiplesingular.cabal" -- TODO: not implemented yet -- , warningTest PWTExtraTestModule "extratestmodule.cabal" ]@@ -41,16 +71,232 @@ warningTest :: PWarnType -> FilePath -> TestTree warningTest wt fp = testCase (show wt) $ do contents <- BS.readFile $ "tests" </> "ParserTests" </> "warnings" </> fp+ let res = parseGenericPackageDescription contents- let (warns, errs, x) = runParseResult res+ let (warns, x) = runParseResult res - assertBool "parses successfully" $ isJust x- assertBool "parses without errors" $ null errs+ assertBool ("should parse successfully: " ++ show x) $ isRight x case warns of [PWarning wt' _ _] -> assertEqual "warning type" wt wt' [] -> assertFailure "got no warnings" _ -> assertFailure $ "got multiple warnings: " ++ show warns+ where+ isRight (Right _) = True+ isRight _ = False +-------------------------------------------------------------------------------+-- Errors+-------------------------------------------------------------------------------++errorTests :: TestTree+errorTests = testGroup "errors"+ [ errorTest "common1.cabal"+ , errorTest "common2.cabal"+ , errorTest "common3.cabal"+ , errorTest "leading-comma.cabal"+ , errorTest "range-ge-wild.cabal"+ , errorTest "forward-compat.cabal"+ , errorTest "forward-compat2.cabal"+ , errorTest "forward-compat3.cabal"+ , errorTest "issue-5055.cabal"+ , errorTest "issue-5055-2.cabal"+ , errorTest "noVersion.cabal"+ , errorTest "noVersion2.cabal"+ ]++errorTest :: FilePath -> TestTree+errorTest fp = cabalGoldenTest fp correct $ do+ contents <- BS.readFile input+ let res = parseGenericPackageDescription contents+ let (_, x) = runParseResult res++ return $ toUTF8BS $ case x of+ Right gpd ->+ "UNXPECTED SUCCESS\n" +++ showGenericPackageDescription gpd+ Left (v, errs) ->+ unlines $ ("VERSION: " ++ show v) : map (showPError fp) errs+ where+ input = "tests" </> "ParserTests" </> "errors" </> fp+ correct = replaceExtension input "errors"++-------------------------------------------------------------------------------+-- Regressions+-------------------------------------------------------------------------------++regressionTests :: TestTree+regressionTests = testGroup "regressions"+ [ regressionTest "encoding-0.8.cabal"+ , regressionTest "Octree-0.5.cabal"+ , regressionTest "nothing-unicode.cabal"+ , regressionTest "issue-774.cabal"+ , regressionTest "generics-sop.cabal"+ , regressionTest "elif.cabal"+ , regressionTest "elif2.cabal"+ , regressionTest "shake.cabal"+ , regressionTest "common.cabal"+ , regressionTest "common2.cabal"+ , regressionTest "leading-comma.cabal"+ , regressionTest "wl-pprint-indef.cabal"+ , regressionTest "th-lift-instances.cabal"+ , regressionTest "issue-5055.cabal"+ , regressionTest "noVersion.cabal"+ ]++regressionTest :: FilePath -> TestTree+regressionTest fp = testGroup fp+ [ formatGoldenTest fp+ , formatRoundTripTest fp+#ifdef MIN_VERSION_tree_diff+ , treeDiffGoldenTest fp+#endif+ ]++formatGoldenTest :: FilePath -> TestTree+formatGoldenTest fp = cabalGoldenTest "format" correct $ do+ contents <- BS.readFile input+ let res = parseGenericPackageDescription contents+ let (warns, x) = runParseResult res++ return $ toUTF8BS $ case x of+ Right gpd ->+ unlines (map (showPWarning fp) warns)+ ++ showGenericPackageDescription gpd+ Left (_, errs) ->+ unlines $ "ERROR" : map (showPError fp) errs+ where+ input = "tests" </> "ParserTests" </> "regressions" </> fp+ correct = replaceExtension input "format"++#ifdef MIN_VERSION_tree_diff+treeDiffGoldenTest :: FilePath -> TestTree+treeDiffGoldenTest fp = ediffGolden goldenTest "expr" exprFile $ do+ contents <- BS.readFile input+ let res = parseGenericPackageDescription contents+ let (_, x) = runParseResult res+ case x of+ Right gpd -> pure (toExpr gpd)+ Left (_, errs) -> fail $ unlines $ "ERROR" : map (showPError fp) errs+ where+ input = "tests" </> "ParserTests" </> "regressions" </> fp+ exprFile = replaceExtension input "expr"+#endif++formatRoundTripTest :: FilePath -> TestTree+formatRoundTripTest fp = testCase "roundtrip" $ do+ contents <- BS.readFile input+ x <- parse contents+ let contents' = showGenericPackageDescription x+ y <- parse (toUTF8BS contents')+ -- previously we mangled licenses a bit+ let y' = y+ assertEqual "re-parsed doesn't match" x y'+ where+ parse :: BS.ByteString -> IO GenericPackageDescription+ parse c = do+ let (_, x') = runParseResult $ parseGenericPackageDescription c+ case x' of+ Right gpd -> pure gpd+ Left (_, errs) -> do+ void $ assertFailure $ unlines (map (showPError fp) errs)+ fail "failure"+ input = "tests" </> "ParserTests" </> "regressions" </> fp++-------------------------------------------------------------------------------+-- InstalledPackageInfo regressions+-------------------------------------------------------------------------------++ipiTests :: TestTree+ipiTests = testGroup "ipis"+ [ ipiTest "transformers.cabal"+ , ipiTest "Includes2.cabal"+ , ipiTest "issue-2276-ghc-9885.cabal"+ , ipiTest "internal-preprocessor-test.cabal"+ ]++ipiTest :: FilePath -> TestTree+ipiTest fp = testGroup fp $+#ifdef MIN_VERSION_tree_diff+ [ ipiTreeDiffGoldenTest fp ] +++#endif+ [ ipiFormatGoldenTest fp+ , ipiFormatRoundTripTest fp+ ]++ipiFormatGoldenTest :: FilePath -> TestTree+ipiFormatGoldenTest fp = cabalGoldenTest "format" correct $ do+ contents <- readFile input+ let res = IPI.parseInstalledPackageInfo contents+ return $ toUTF8BS $ case res of+ ReadP.ParseFailed err -> "ERROR " ++ show err+ ReadP.ParseOk ws ipi ->+ unlines (map (ReadP.showPWarning fp) ws)+ ++ IPI.showInstalledPackageInfo ipi+ where+ input = "tests" </> "ParserTests" </> "ipi" </> fp+ correct = replaceExtension input "format"++#ifdef MIN_VERSION_tree_diff+ipiTreeDiffGoldenTest :: FilePath -> TestTree+ipiTreeDiffGoldenTest fp = ediffGolden goldenTest "expr" exprFile $ do+ contents <- readFile input+ let res = IPI.parseInstalledPackageInfo contents+ case res of+ ReadP.ParseFailed err -> fail $ "ERROR " ++ show err+ ReadP.ParseOk _ws ipi -> pure (toExpr ipi)+ where+ input = "tests" </> "ParserTests" </> "ipi" </> fp+ exprFile = replaceExtension input "expr"+#endif++ipiFormatRoundTripTest :: FilePath -> TestTree+ipiFormatRoundTripTest fp = testCase "roundtrip" $ do+ contents <- readFile input+ x <- parse contents+ let contents' = IPI.showInstalledPackageInfo x+ y <- parse contents'++ -- ghc-pkg prints pkgroot itself, based on cli arguments!+ let x' = x { IPI.pkgRoot = Nothing }+ let y' = y+ assertBool "pkgRoot isn't shown" (isNothing (IPI.pkgRoot y))+ assertEqual "re-parsed doesn't match" x' y'++ -- Complete round-trip+ let contents2 = IPI.showFullInstalledPackageInfo x+ z <- parse contents2+ assertEqual "re-parsed doesn't match" x z++ where+ parse :: String -> IO IPI.InstalledPackageInfo+ parse c = do+ case IPI.parseInstalledPackageInfo c of+ ReadP.ParseOk _ ipi -> return ipi+ ReadP.ParseFailed err -> do+ void $ assertFailure $ show err+ fail "failure"+ input = "tests" </> "ParserTests" </> "ipi" </> fp++-------------------------------------------------------------------------------+-- Main+-------------------------------------------------------------------------------+ main :: IO () main = defaultMain tests++cabalGoldenTest :: TestName -> FilePath -> IO BS.ByteString -> TestTree+cabalGoldenTest name ref act = goldenTest name (BS.readFile ref) act cmp upd+ where+ upd = BS.writeFile ref+ cmp x y | x == y = return Nothing+ cmp x y = return $ Just $ unlines $+ concatMap f (getGroupedDiff (BS8.lines x) (BS8.lines y))+ where+ f (First xs) = map (cons3 '-' . fromUTF8BS) xs+ f (Second ys) = map (cons3 '+' . fromUTF8BS) ys+ -- we print unchanged lines too. It shouldn't be a problem while we have+ -- reasonably small examples+ f (Both xs _) = map (cons3 ' ' . fromUTF8BS) xs+ -- we add three characters, so the changed lines are easier to spot+ cons3 c cs = c : c : c : ' ' : cs
@@ -0,0 +1,29 @@+cabal-version: 2.1+name: common+version: 0+synopsis: Common-stanza demo demo+build-type: Simple++source-repository head+ Type: git+ Location: https://github.com/hvr/-.git++common windows+ if os(windows)+ build-depends: Win32++-- Non-existing common stanza+common deps+ import: windo+ build-depends:+ base >=4.10 && <4.11,+ containers++library+ import: deps++ default-language: Haskell2010+ exposed-modules: ElseIf++ build-depends:+ ghc-prim
@@ -0,0 +1,2 @@+VERSION: Just (mkVersion [2,1])+common1.cabal:17:3: Undefined common stanza imported: windo
@@ -0,0 +1,29 @@+cabal-version: 2.1+name: common+version: 0+synopsis: Common-stanza demo demo+build-type: Simple++source-repository head+ Type: git+ Location: https://github.com/hvr/-.git++-- Used before use+common deps+ import: windows+ build-depends:+ base >=4.10 && <4.11,+ containers++common windows+ if os(windows)+ build-depends: Win32++library+ import: deps++ default-language: Haskell2010+ exposed-modules: ElseIf++ build-depends:+ ghc-prim
@@ -0,0 +1,2 @@+VERSION: Just (mkVersion [2,1])+common2.cabal:13:3: Undefined common stanza imported: windows
@@ -0,0 +1,31 @@+cabal-version: 2.1+name: common+version: 0+synopsis: Common-stanza demo demo+build-type: Simple++source-repository head+ Type: git+ Location: https://github.com/hvr/-.git++common windows+ if os(windows)+ build-depends: Win32++common deps+ import: windows+ build-depends:+ base >=4.10 && <4.11,+ containers++-- Duplicate+common deps++library+ import: deps++ default-language: Haskell2010+ exposed-modules: ElseIf++ build-depends:+ ghc-prim
@@ -0,0 +1,2 @@+VERSION: Just (mkVersion [2,1])+common3.cabal:22:1: Duplicate common stanza: deps
@@ -0,0 +1,4 @@+cabal-version: 99999.9+name: future+============+Lexically completely changed future
@@ -0,0 +1,5 @@+VERSION: Just (mkVersion [99999,9])+forward-compat.cabal:3:1: "the input" (line 3, column 1):+unexpected operator "============"+expecting field or section name+forward-compat.cabal:0:0: Unsupported cabal-version. See https://github.com/haskell/cabal/issues/4899.
@@ -0,0 +1,16 @@+name: common+version: 0+synopsis: Common-stanza demo demo+build-type: Simple+cabal-version: 2.1++source-repository head+ Type: git+ Location: https://github.com/hvr/-.git++library+ default-language: Haskell2010+ exposed-modules: ElseIf++ build-depends:+ ghc-prim
@@ -0,0 +1,2 @@+VERSION: Just (mkVersion [2,1])+forward-compat2.cabal:5:1: cabal-version should be at the beginning of the file starting with spec version 2.2. See https://github.com/haskell/cabal/issues/4899
@@ -0,0 +1,16 @@+cabal-version: 99999.99+name: forward-compat+version: 0+synopsis: Forward compat, too new cabal-version: we fail.+build-type: Simple++source-repository head+ Type: git+ Location: https://github.com/hvr/-.git++library+ default-language: Haskell2010+ exposed-modules: ElseIf++ build-depends:+ ghc-prim
@@ -0,0 +1,2 @@+VERSION: Just (mkVersion [99999,99])+forward-compat3.cabal:0:0: Unsupported cabal-version. See https://github.com/haskell/cabal/issues/4899.
@@ -0,0 +1,25 @@+name: issue+version: 5055+synopsis: no type in all branches+description: no type in all branches.+license: BSD3+category: Test+build-type: Simple+cabal-version: >=2.0++executable flag-test-exe+ main-is: FirstMain.hs+ build-depends: base >= 4.8 && < 5+ default-language: Haskell2010++test-suite flag-cabal-test+ -- TODO: fix so `type` can be on the top level+ build-depends: base >= 4.8 && < 5+ default-language: Haskell2010++ if os(windows)+ main-is: FirstMain.hs+ type: exitcode-stdio-1.0+ else:+ main-is: SecondMain.hs+ type: exitcode-stdio-1.0
@@ -0,0 +1,2 @@+VERSION: Just (mkVersion [2,0])+issue-5055-2.cabal:15:1: Test suite "flag-cabal-test" is missing required field "type" or the field is not present in all conditional branches. The available test types are: exitcode-stdio-1.0, detailed-0.9
@@ -0,0 +1,21 @@+name: issue+version: 5055+synopsis: no type in all branches+description: no type in all branches.+license: BSD3+category: Test+build-type: Simple+cabal-version: >=2.0++executable flag-test-exe+ main-is: FirstMain.hs+ build-depends: base >= 4.8 && < 5+ default-language: Haskell2010++test-suite flag-cabal-test+ build-depends: base >= 4.8 && < 5+ default-language: Haskell2010++ if os(windows)+ main-is: FirstMain.hs+ type: exitcode-stdio-1.0
@@ -0,0 +1,2 @@+VERSION: Just (mkVersion [2,0])+issue-5055.cabal:15:1: Test suite "flag-cabal-test" is missing required field "type" or the field is not present in all conditional branches. The available test types are: exitcode-stdio-1.0, detailed-0.9
@@ -0,0 +1,20 @@+name: leading-comma+version: 0+synopsis: leading comma, trailing comma, or ordinary+build-type: Simple+-- too small cabal-version+cabal-version: 2.0++library+ default-language: Haskell2010+ exposed-modules: LeadingComma++ build-depends: base, containers++ build-depends:+ deepseq,+ transformers,++ build-depends:+ , filepath+ , directory
@@ -0,0 +1,8 @@+VERSION: Just (mkVersion [2,0])+leading-comma.cabal:16:18: +unexpected end of input+expecting white space++deepseq,+transformers,+
@@ -0,0 +1,10 @@+name: noVersion+version: 0+synopsis: -none in build-depends+build-type: Simple+cabal-version: 1.20++library+ default-language: Haskell2010+ exposed-modules: ElseIf+ build-depends: bad-package -none
@@ -0,0 +1,6 @@+VERSION: Just (mkVersion [1,20])+noVersion.cabal:10:38: +unexpected -none version range used. To use this syntax the package needs to specify at least 'cabal-version: 1.22'. Alternatively, if broader compatibility is important then use <0 or other empty range.++bad-package -none+
@@ -0,0 +1,10 @@+name: noVersion+version: 0+synopsis: ^>= in build-depends+build-type: Simple+cabal-version: 1.20++library+ default-language: Haskell2010+ exposed-modules: ElseIf+ build-depends: bad-package ^>= 2.0
@@ -0,0 +1,7 @@+VERSION: Just (mkVersion [1,20])+noVersion2.cabal:10:40: +unexpected major bounded version syntax (caret, ^>=) used. To use this syntax the package need to specify at least 'cabal-version: 2.0'. Alternatively, if broader compatibility is important then use: >=2.0 && <2.1+expecting "." or "-"++bad-package ^>= 2.0+
@@ -0,0 +1,10 @@+name: range-ge-wild+version: 0+synopsis: Wild range after non-== op+build-type: Simple+cabal-version: >=1.10++library+ build-depends:+ -- comment, to check that position is right+ base >= 4.*
@@ -0,0 +1,6 @@+VERSION: Just (mkVersion [1,10])+range-ge-wild.cabal:10:16: +unexpected wild-card version after non-== operator: ">="++base >= 4.*+
@@ -0,0 +1,27 @@+name: z-Includes2-z-mylib+version: 0.1.0.0+id: Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n+instantiated-with: Database=Includes2-0.1.0.0-inplace-mysql:Database.MySQL+package-name: Includes2+lib-name: mylib+key: Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n+license: BSD3+maintainer: ezyang@cs.stanford.edu+author: Edward Z. Yang+exposed: False+indefinite: False+exposed-modules:+ Mine+abi: inplace+trusted: False+import-dirs: /home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/build/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n+library-dirs: /home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/build/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n+dynamic-library-dirs: /home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/build/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n+data-dir: /home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2+hs-libraries: HSIncludes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n+depends:+ base-4.10.1.0 Includes2-0.1.0.0-inplace-mysql+abi-depends: base-4.10.1.0=35a7f6be752ee4f7385cb5bf28677879+ Includes2-0.1.0.0-inplace-mysql=inplace+haddock-interfaces: /home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/doc/html/Includes2/Includes2.haddock+haddock-html: /home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/doc/html/Includes2
@@ -0,0 +1,50 @@+InstalledPackageInfo+ {abiDepends = [`AbiDependency {depUnitId = UnitId "base-4.10.1.0", depAbiHash = AbiHash "35a7f6be752ee4f7385cb5bf28677879"}`,+ `AbiDependency {depUnitId = UnitId "Includes2-0.1.0.0-inplace-mysql", depAbiHash = AbiHash "inplace"}`],+ abiHash = `AbiHash "inplace"`,+ author = "Edward Z. Yang",+ category = "",+ ccOptions = [],+ compatPackageKey = "Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n",+ copyright = "",+ dataDir = "/home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2",+ depends = [`UnitId "base-4.10.1.0"`,+ `UnitId "Includes2-0.1.0.0-inplace-mysql"`],+ description = "",+ exposed = False,+ exposedModules = [`ExposedModule {exposedName = ModuleName ["Mine"], exposedReexport = Nothing}`],+ extraGHCiLibraries = [],+ extraLibraries = [],+ frameworkDirs = [],+ frameworks = [],+ haddockHTMLs = ["/home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/doc/html/Includes2"],+ haddockInterfaces = ["/home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/doc/html/Includes2/Includes2.haddock"],+ hiddenModules = [],+ homepage = "",+ hsLibraries = ["HSIncludes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n"],+ importDirs = ["/home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/build/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n"],+ includeDirs = [],+ includes = [],+ indefinite = False,+ installedComponentId_ = `ComponentId ""`,+ installedUnitId = `UnitId "Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n"`,+ instantiatedWith = [_×_+ `ModuleName ["Database"]`+ (OpenModule+ (DefiniteUnitId+ (DefUnitId `UnitId "Includes2-0.1.0.0-inplace-mysql"`))+ `ModuleName ["Database","MySQL"]`)],+ ldOptions = [],+ libraryDirs = ["/home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/build/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n"],+ libraryDynDirs = ["/home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/build/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n"],+ license = Right BSD3,+ maintainer = "ezyang@cs.stanford.edu",+ pkgRoot = Nothing,+ pkgUrl = "",+ sourceLibName = Just `UnqualComponentName "mylib"`,+ sourcePackageId = PackageIdentifier+ {pkgName = `PackageName "Includes2"`,+ pkgVersion = `mkVersion [0,1,0,0]`},+ stability = "",+ synopsis = "",+ trusted = False}
@@ -0,0 +1,24 @@+name: z-Includes2-z-mylib+version: 0.1.0.0+package-name: Includes2+lib-name: mylib+id: Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n+instantiated-with: Database=Includes2-0.1.0.0-inplace-mysql:Database.MySQL+key: Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n+license: BSD3+maintainer: ezyang@cs.stanford.edu+author: Edward Z. Yang+abi: inplace+exposed-modules:+ Mine+import-dirs: /home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/build/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n+library-dirs: /home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/build/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n+dynamic-library-dirs: /home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/build/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n+data-dir: /home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2+hs-libraries: HSIncludes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n+depends:+ base-4.10.1.0 Includes2-0.1.0.0-inplace-mysql+abi-depends: base-4.10.1.0=35a7f6be752ee4f7385cb5bf28677879+ Includes2-0.1.0.0-inplace-mysql=inplace+haddock-interfaces: /home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/doc/html/Includes2/Includes2.haddock+haddock-html: /home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/doc/html/Includes2
@@ -0,0 +1,26 @@+name: internal-preprocessor-test+version: 0.1.0.0+id: internal-preprocessor-test-0.1.0.0+key: internal-preprocessor-test-0.1.0.0+license: GPL-3+maintainer: mikhail.glushenkov@gmail.com+synopsis: Internal custom preprocessor example.+description:+ See https://github.com/haskell/cabal/issues/1541#issuecomment-30155513+category: Testing+author: Mikhail Glushenkov+exposed: True+exposed-modules:+ A+trusted: False+import-dirs: /home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/build+library-dirs: /home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/build+ /home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/build+data-dir: /home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess+hs-libraries: HSinternal-preprocessor-test-0.1.0.0+depends:+ base-4.8.2.0-0d6d1084fbc041e1cded9228e80e264d+haddock-interfaces: /home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/doc/html/internal-preprocessor-test/internal-preprocessor-test.haddock+haddock-html: /home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/doc/html/internal-preprocessor-test+pkgroot: "/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist"+
@@ -0,0 +1,45 @@+InstalledPackageInfo+ {abiDepends = [],+ abiHash = `AbiHash ""`,+ author = "Mikhail Glushenkov",+ category = "Testing",+ ccOptions = [],+ compatPackageKey = "internal-preprocessor-test-0.1.0.0",+ copyright = "",+ dataDir = "/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess",+ depends = [`UnitId "base-4.8.2.0-0d6d1084fbc041e1cded9228e80e264d"`],+ description = "See https://github.com/haskell/cabal/issues/1541#issuecomment-30155513",+ exposed = True,+ exposedModules = [`ExposedModule {exposedName = ModuleName ["A"], exposedReexport = Nothing}`],+ extraGHCiLibraries = [],+ extraLibraries = [],+ frameworkDirs = [],+ frameworks = [],+ haddockHTMLs = ["/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/doc/html/internal-preprocessor-test"],+ haddockInterfaces = ["/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/doc/html/internal-preprocessor-test/internal-preprocessor-test.haddock"],+ hiddenModules = [],+ homepage = "",+ hsLibraries = ["HSinternal-preprocessor-test-0.1.0.0"],+ importDirs = ["/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/build"],+ includeDirs = [],+ includes = [],+ indefinite = False,+ installedComponentId_ = `ComponentId ""`,+ installedUnitId = `UnitId "internal-preprocessor-test-0.1.0.0"`,+ instantiatedWith = [],+ ldOptions = [],+ libraryDirs = ["/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/build",+ "/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/build"],+ libraryDynDirs = [],+ license = Right (GPL (Just `mkVersion [3]`)),+ maintainer = "mikhail.glushenkov@gmail.com",+ pkgRoot = Just+ "/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist",+ pkgUrl = "",+ sourceLibName = Nothing,+ sourcePackageId = PackageIdentifier+ {pkgName = `PackageName "internal-preprocessor-test"`,+ pkgVersion = `mkVersion [0,1,0,0]`},+ stability = "",+ synopsis = "Internal custom preprocessor example.",+ trusted = False}
@@ -0,0 +1,23 @@+name: internal-preprocessor-test+version: 0.1.0.0+id: internal-preprocessor-test-0.1.0.0+key: internal-preprocessor-test-0.1.0.0+license: GPL-3+maintainer: mikhail.glushenkov@gmail.com+author: Mikhail Glushenkov+synopsis: Internal custom preprocessor example.+description:+ See https://github.com/haskell/cabal/issues/1541#issuecomment-30155513+category: Testing+exposed: True+exposed-modules:+ A+import-dirs: /home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/build+library-dirs: /home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/build+ /home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/build+data-dir: /home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess+hs-libraries: HSinternal-preprocessor-test-0.1.0.0+depends:+ base-4.8.2.0-0d6d1084fbc041e1cded9228e80e264d+haddock-interfaces: /home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/doc/html/internal-preprocessor-test/internal-preprocessor-test.haddock+haddock-html: /home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/doc/html/internal-preprocessor-test
@@ -0,0 +1,175 @@+name: transformers+version: 0.5.2.0+id: transformers-0.5.2.0+key: transformers-0.5.2.0+license: BSD3+maintainer: Ross Paterson <R.Paterson@city.ac.uk>+synopsis: Concrete functor and monad transformers+description:+ A portable library of functor and monad transformers, inspired by+ the paper \"Functional Programming with Overloading and Higher-Order+ Polymorphism\", by Mark P Jones,+ in /Advanced School of Functional Programming/, 1995+ (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).+ .+ This package contains:+ .+ * the monad transformer class (in "Control.Monad.Trans.Class")+ and IO monad class (in "Control.Monad.IO.Class")+ .+ * concrete functor and monad transformers, each with associated+ operations and functions to lift operations associated with other+ transformers.+ .+ The package can be used on its own in portable Haskell code, in+ which case operations need to be manually lifted through transformer+ stacks (see "Control.Monad.Trans.Class" for some examples).+ Alternatively, it can be used with the non-portable monad classes in+ the @mtl@ or @monads-tf@ packages, which automatically lift operations+ introduced by monad transformers through other transformers.+category: Control+author: Andy Gill, Ross Paterson+exposed: True+indefinite: False+exposed-modules:+ Control.Applicative.Backwards Control.Applicative.Lift+ Control.Monad.Signatures Control.Monad.Trans.Class+ Control.Monad.Trans.Cont Control.Monad.Trans.Error+ Control.Monad.Trans.Except Control.Monad.Trans.Identity+ Control.Monad.Trans.List Control.Monad.Trans.Maybe+ Control.Monad.Trans.RWS Control.Monad.Trans.RWS.Lazy+ Control.Monad.Trans.RWS.Strict Control.Monad.Trans.Reader+ Control.Monad.Trans.State Control.Monad.Trans.State.Lazy+ Control.Monad.Trans.State.Strict Control.Monad.Trans.Writer+ Control.Monad.Trans.Writer.Lazy Control.Monad.Trans.Writer.Strict+ Data.Functor.Constant Data.Functor.Reverse+abi: e04579c0363c9229351d1a0b394bf2d5+trusted: False+import-dirs: /opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0+library-dirs: /opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0+dynamic-library-dirs: /opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0+data-dir: /opt/ghc/8.2.2/share/x86_64-linux-ghc-8.2.2/transformers-0.5.2.0+hs-libraries: HStransformers-0.5.2.0+depends:+ base-4.10.1.0+abi-depends: base-4.10.1.0=35a7f6be752ee4f7385cb5bf28677879+haddock-interfaces: /opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/transformers-0.5.2.0/transformers.haddock+haddock-html: /opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/transformers-0.5.2.0+ld-options: -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm
@@ -0,0 +1,2085 @@+InstalledPackageInfo+ {abiDepends = [`AbiDependency {depUnitId = UnitId "base-4.10.1.0", depAbiHash = AbiHash "35a7f6be752ee4f7385cb5bf28677879"}`],+ abiHash = `AbiHash "e04579c0363c9229351d1a0b394bf2d5"`,+ author = "Andy Gill, Ross Paterson",+ category = "Control",+ ccOptions = [],+ compatPackageKey = "transformers-0.5.2.0",+ copyright = "",+ dataDir = "/opt/ghc/8.2.2/share/x86_64-linux-ghc-8.2.2/transformers-0.5.2.0",+ depends = [`UnitId "base-4.10.1.0"`],+ description = concat+ ["A portable library of functor and monad transformers, inspired by\n",+ "the paper \\\"Functional Programming with Overloading and Higher-Order\n",+ "Polymorphism\\\", by Mark P Jones,\n",+ "in /Advanced School of Functional Programming/, 1995\n",+ "(<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).\n",+ "\n",+ "This package contains:\n",+ "\n",+ "* the monad transformer class (in \"Control.Monad.Trans.Class\")\n",+ "and IO monad class (in \"Control.Monad.IO.Class\")\n",+ "\n",+ "* concrete functor and monad transformers, each with associated\n",+ "operations and functions to lift operations associated with other\n",+ "transformers.\n",+ "\n",+ "The package can be used on its own in portable Haskell code, in\n",+ "which case operations need to be manually lifted through transformer\n",+ "stacks (see \"Control.Monad.Trans.Class\" for some examples).\n",+ "Alternatively, it can be used with the non-portable monad classes in\n",+ "the @mtl@ or @monads-tf@ packages, which automatically lift operations\n",+ "introduced by monad transformers through other transformers."],+ exposed = True,+ exposedModules = [`ExposedModule {exposedName = ModuleName ["Control","Applicative","Backwards"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Applicative","Lift"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Signatures"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","Class"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","Cont"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","Error"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","Except"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","Identity"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","List"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","Maybe"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","RWS"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","RWS","Lazy"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","RWS","Strict"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","Reader"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","State"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","State","Lazy"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","State","Strict"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","Writer"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","Writer","Lazy"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","Writer","Strict"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Data","Functor","Constant"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Data","Functor","Reverse"], exposedReexport = Nothing}`],+ extraGHCiLibraries = [],+ extraLibraries = [],+ frameworkDirs = [],+ frameworks = [],+ haddockHTMLs = ["/opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/transformers-0.5.2.0"],+ haddockInterfaces = ["/opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/transformers-0.5.2.0/transformers.haddock"],+ hiddenModules = [],+ homepage = "",+ hsLibraries = ["HStransformers-0.5.2.0"],+ importDirs = ["/opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0"],+ includeDirs = [],+ includes = [],+ indefinite = False,+ installedComponentId_ = `ComponentId ""`,+ installedUnitId = `UnitId "transformers-0.5.2.0"`,+ instantiatedWith = [],+ ldOptions = ["-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm",+ "-lm"],+ libraryDirs = ["/opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0"],+ libraryDynDirs = ["/opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0"],+ license = Right BSD3,+ maintainer = "Ross Paterson <R.Paterson@city.ac.uk>",+ pkgRoot = Nothing,+ pkgUrl = "",+ sourceLibName = Nothing,+ sourcePackageId = PackageIdentifier+ {pkgName = `PackageName "transformers"`,+ pkgVersion = `mkVersion [0,5,2,0]`},+ stability = "",+ synopsis = "Concrete functor and monad transformers",+ trusted = False}
@@ -0,0 +1,173 @@+name: transformers+version: 0.5.2.0+id: transformers-0.5.2.0+key: transformers-0.5.2.0+license: BSD3+maintainer: Ross Paterson <R.Paterson@city.ac.uk>+author: Andy Gill, Ross Paterson+synopsis: Concrete functor and monad transformers+description:+ A portable library of functor and monad transformers, inspired by+ the paper \"Functional Programming with Overloading and Higher-Order+ Polymorphism\", by Mark P Jones,+ in /Advanced School of Functional Programming/, 1995+ (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).+ .+ This package contains:+ .+ * the monad transformer class (in "Control.Monad.Trans.Class")+ and IO monad class (in "Control.Monad.IO.Class")+ .+ * concrete functor and monad transformers, each with associated+ operations and functions to lift operations associated with other+ transformers.+ .+ The package can be used on its own in portable Haskell code, in+ which case operations need to be manually lifted through transformer+ stacks (see "Control.Monad.Trans.Class" for some examples).+ Alternatively, it can be used with the non-portable monad classes in+ the @mtl@ or @monads-tf@ packages, which automatically lift operations+ introduced by monad transformers through other transformers.+category: Control+abi: e04579c0363c9229351d1a0b394bf2d5+exposed: True+exposed-modules:+ Control.Applicative.Backwards Control.Applicative.Lift+ Control.Monad.Signatures Control.Monad.Trans.Class+ Control.Monad.Trans.Cont Control.Monad.Trans.Error+ Control.Monad.Trans.Except Control.Monad.Trans.Identity+ Control.Monad.Trans.List Control.Monad.Trans.Maybe+ Control.Monad.Trans.RWS Control.Monad.Trans.RWS.Lazy+ Control.Monad.Trans.RWS.Strict Control.Monad.Trans.Reader+ Control.Monad.Trans.State Control.Monad.Trans.State.Lazy+ Control.Monad.Trans.State.Strict Control.Monad.Trans.Writer+ Control.Monad.Trans.Writer.Lazy Control.Monad.Trans.Writer.Strict+ Data.Functor.Constant Data.Functor.Reverse+import-dirs: /opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0+library-dirs: /opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0+dynamic-library-dirs: /opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0+data-dir: /opt/ghc/8.2.2/share/x86_64-linux-ghc-8.2.2/transformers-0.5.2.0+hs-libraries: HStransformers-0.5.2.0+depends:+ base-4.10.1.0+abi-depends: base-4.10.1.0=35a7f6be752ee4f7385cb5bf28677879+ld-options: -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+ -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm+haddock-interfaces: /opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/transformers-0.5.2.0/transformers.haddock+haddock-html: /opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/transformers-0.5.2.0
@@ -0,0 +1,59 @@+name: transformers+version: 0.5.2.0+id: transformers-0.5.2.0+key: transformers-0.5.2.0+license: BSD3+maintainer: Ross Paterson <R.Paterson@city.ac.uk>+synopsis: Concrete functor and monad transformers+description:+ A portable library of functor and monad transformers, inspired by+ the paper \"Functional Programming with Overloading and Higher-Order+ Polymorphism\", by Mark P Jones,+ in /Advanced School of Functional Programming/, 1995+ (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).+ .+ This package contains:+ .+ * the monad transformer class (in "Control.Monad.Trans.Class")+ and IO monad class (in "Control.Monad.IO.Class")+ .+ * concrete functor and monad transformers, each with associated+ operations and functions to lift operations associated with other+ transformers.+ .+ The package can be used on its own in portable Haskell code, in+ which case operations need to be manually lifted through transformer+ stacks (see "Control.Monad.Trans.Class" for some examples).+ Alternatively, it can be used with the non-portable monad classes in+ the @mtl@ or @monads-tf@ packages, which automatically lift operations+ introduced by monad transformers through other transformers.+category: Control+author: Andy Gill, Ross Paterson+exposed: True+indefinite: False+exposed-modules:+ Control.Applicative.Backwards Control.Applicative.Lift+ Control.Monad.Signatures Control.Monad.Trans.Class+ Control.Monad.Trans.Cont Control.Monad.Trans.Error+ Control.Monad.Trans.Except Control.Monad.Trans.Identity+ Control.Monad.Trans.List Control.Monad.Trans.Maybe+ Control.Monad.Trans.RWS Control.Monad.Trans.RWS.Lazy+ Control.Monad.Trans.RWS.Strict Control.Monad.Trans.Reader+ Control.Monad.Trans.State Control.Monad.Trans.State.Lazy+ Control.Monad.Trans.State.Strict Control.Monad.Trans.Writer+ Control.Monad.Trans.Writer.Lazy Control.Monad.Trans.Writer.Strict+ Data.Functor.Constant Data.Functor.Reverse+abi: e04579c0363c9229351d1a0b394bf2d5+trusted: False+import-dirs: /opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0+library-dirs: /opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0+dynamic-library-dirs: /opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0+data-dir: /opt/ghc/8.2.2/share/x86_64-linux-ghc-8.2.2/transformers-0.5.2.0+hs-libraries: HStransformers-0.5.2.0+depends:+ base-4.10.1.0+abi-depends: base-4.10.1.0=35a7f6be752ee4f7385cb5bf28677879+haddock-interfaces: /opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/transformers-0.5.2.0/transformers.haddock+haddock-html: /opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/transformers-0.5.2.0+pkgroot: "/opt/ghc/8.2.2/lib/ghc-8.2.2"+
@@ -0,0 +1,85 @@+InstalledPackageInfo+ {abiDepends = [`AbiDependency {depUnitId = UnitId "base-4.10.1.0", depAbiHash = AbiHash "35a7f6be752ee4f7385cb5bf28677879"}`],+ abiHash = `AbiHash "e04579c0363c9229351d1a0b394bf2d5"`,+ author = "Andy Gill, Ross Paterson",+ category = "Control",+ ccOptions = [],+ compatPackageKey = "transformers-0.5.2.0",+ copyright = "",+ dataDir = "/opt/ghc/8.2.2/share/x86_64-linux-ghc-8.2.2/transformers-0.5.2.0",+ depends = [`UnitId "base-4.10.1.0"`],+ description = concat+ ["A portable library of functor and monad transformers, inspired by\n",+ "the paper \\\"Functional Programming with Overloading and Higher-Order\n",+ "Polymorphism\\\", by Mark P Jones,\n",+ "in /Advanced School of Functional Programming/, 1995\n",+ "(<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).\n",+ "\n",+ "This package contains:\n",+ "\n",+ "* the monad transformer class (in \"Control.Monad.Trans.Class\")\n",+ "and IO monad class (in \"Control.Monad.IO.Class\")\n",+ "\n",+ "* concrete functor and monad transformers, each with associated\n",+ "operations and functions to lift operations associated with other\n",+ "transformers.\n",+ "\n",+ "The package can be used on its own in portable Haskell code, in\n",+ "which case operations need to be manually lifted through transformer\n",+ "stacks (see \"Control.Monad.Trans.Class\" for some examples).\n",+ "Alternatively, it can be used with the non-portable monad classes in\n",+ "the @mtl@ or @monads-tf@ packages, which automatically lift operations\n",+ "introduced by monad transformers through other transformers."],+ exposed = True,+ exposedModules = [`ExposedModule {exposedName = ModuleName ["Control","Applicative","Backwards"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Applicative","Lift"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Signatures"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","Class"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","Cont"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","Error"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","Except"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","Identity"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","List"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","Maybe"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","RWS"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","RWS","Lazy"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","RWS","Strict"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","Reader"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","State"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","State","Lazy"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","State","Strict"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","Writer"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","Writer","Lazy"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Control","Monad","Trans","Writer","Strict"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Data","Functor","Constant"], exposedReexport = Nothing}`,+ `ExposedModule {exposedName = ModuleName ["Data","Functor","Reverse"], exposedReexport = Nothing}`],+ extraGHCiLibraries = [],+ extraLibraries = [],+ frameworkDirs = [],+ frameworks = [],+ haddockHTMLs = ["/opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/transformers-0.5.2.0"],+ haddockInterfaces = ["/opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/transformers-0.5.2.0/transformers.haddock"],+ hiddenModules = [],+ homepage = "",+ hsLibraries = ["HStransformers-0.5.2.0"],+ importDirs = ["/opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0"],+ includeDirs = [],+ includes = [],+ indefinite = False,+ installedComponentId_ = `ComponentId ""`,+ installedUnitId = `UnitId "transformers-0.5.2.0"`,+ instantiatedWith = [],+ ldOptions = [],+ libraryDirs = ["/opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0"],+ libraryDynDirs = ["/opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0"],+ license = Right BSD3,+ maintainer = "Ross Paterson <R.Paterson@city.ac.uk>",+ pkgRoot = Just "/opt/ghc/8.2.2/lib/ghc-8.2.2",+ pkgUrl = "",+ sourceLibName = Nothing,+ sourcePackageId = PackageIdentifier+ {pkgName = `PackageName "transformers"`,+ pkgVersion = `mkVersion [0,5,2,0]`},+ stability = "",+ synopsis = "Concrete functor and monad transformers",+ trusted = False}
@@ -0,0 +1,55 @@+name: transformers+version: 0.5.2.0+id: transformers-0.5.2.0+key: transformers-0.5.2.0+license: BSD3+maintainer: Ross Paterson <R.Paterson@city.ac.uk>+author: Andy Gill, Ross Paterson+synopsis: Concrete functor and monad transformers+description:+ A portable library of functor and monad transformers, inspired by+ the paper \"Functional Programming with Overloading and Higher-Order+ Polymorphism\", by Mark P Jones,+ in /Advanced School of Functional Programming/, 1995+ (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).+ .+ This package contains:+ .+ * the monad transformer class (in "Control.Monad.Trans.Class")+ and IO monad class (in "Control.Monad.IO.Class")+ .+ * concrete functor and monad transformers, each with associated+ operations and functions to lift operations associated with other+ transformers.+ .+ The package can be used on its own in portable Haskell code, in+ which case operations need to be manually lifted through transformer+ stacks (see "Control.Monad.Trans.Class" for some examples).+ Alternatively, it can be used with the non-portable monad classes in+ the @mtl@ or @monads-tf@ packages, which automatically lift operations+ introduced by monad transformers through other transformers.+category: Control+abi: e04579c0363c9229351d1a0b394bf2d5+exposed: True+exposed-modules:+ Control.Applicative.Backwards Control.Applicative.Lift+ Control.Monad.Signatures Control.Monad.Trans.Class+ Control.Monad.Trans.Cont Control.Monad.Trans.Error+ Control.Monad.Trans.Except Control.Monad.Trans.Identity+ Control.Monad.Trans.List Control.Monad.Trans.Maybe+ Control.Monad.Trans.RWS Control.Monad.Trans.RWS.Lazy+ Control.Monad.Trans.RWS.Strict Control.Monad.Trans.Reader+ Control.Monad.Trans.State Control.Monad.Trans.State.Lazy+ Control.Monad.Trans.State.Strict Control.Monad.Trans.Writer+ Control.Monad.Trans.Writer.Lazy Control.Monad.Trans.Writer.Strict+ Data.Functor.Constant Data.Functor.Reverse+import-dirs: /opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0+library-dirs: /opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0+dynamic-library-dirs: /opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0+data-dir: /opt/ghc/8.2.2/share/x86_64-linux-ghc-8.2.2/transformers-0.5.2.0+hs-libraries: HStransformers-0.5.2.0+depends:+ base-4.10.1.0+abi-depends: base-4.10.1.0=35a7f6be752ee4f7385cb5bf28677879+haddock-interfaces: /opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/transformers-0.5.2.0/transformers.haddock+haddock-html: /opt/ghc/8.2.2/share/doc/ghc-8.2.2/html/libraries/transformers-0.5.2.0
@@ -0,0 +1,89 @@+name: MiniAgda+version: 0.2017.02.18+build-type: Simple+cabal-version: 1.22+license: OtherLicense+license-file: LICENSE+author: Andreas Abel and Karl Mehltretter+maintainer: Andreas Abel <andreas.abel@ifi.lmu.de>+homepage: http://www.tcs.ifi.lmu.de/~abel/miniagda/+bug-reports: https://github.com/andreasabel/miniagda/issues+category: Dependent types+synopsis: A toy dependently typed programming language with type-based termination.+description:+ MiniAgda is a tiny dependently-typed programming language in the style+ of Agda. It serves as a laboratory to test potential additions to the+ language and type system of Agda. MiniAgda's termination checker is a+ fusion of sized types and size-change termination and supports+ coinduction. Equality incorporates eta-expansion at record and+ singleton types. Function arguments can be declared as static; such+ arguments are discarded during equality checking and compilation.++ Recent features include bounded size quantification and destructor+ patterns for a more general handling of coinduction.++tested-with: GHC == 7.6.3+ GHC == 7.8.4+ GHC == 7.10.3+ GHC == 8.0.1++extra-source-files: Makefile++data-files: test/succeed/Makefile+ test/succeed/*.ma+ test/fail/Makefile+ test/fail/*.ma+ test/fail/*.err+ test/fail/adm/*.ma+ test/fail/adm/*.err+ lib/*.ma+source-repository head+ type: git+ location: https://github.com/andreasabel/miniagda++executable miniagda+ hs-source-dirs: src+ build-depends: array >= 0.3 && < 0.6,+ base >= 4.6 && < 4.11,+ containers >= 0.3 && < 0.6,+ haskell-src-exts >= 1.17 && < 1.18,+ mtl >= 2.2.0.1 && < 2.3,+ pretty >= 1.0 && < 1.2+ build-tools: happy >= 1.15 && < 2,+ alex >= 3.0 && < 4+ default-language: Haskell98+ default-extensions: CPP+ MultiParamTypeClasses+ TypeSynonymInstances+ FlexibleInstances+ FlexibleContexts+ GeneralizedNewtypeDeriving+ NoMonomorphismRestriction+ PatternGuards+ TupleSections+ NamedFieldPuns+ main-is: Main.hs+ other-modules: Abstract+ Collection+ Concrete+ Eval+ Extract+ HsSyntax+ Lexer+ Main+ Parser+ Polarity+ PrettyTCM+ ScopeChecker+ Semiring+ SparseMatrix+ TCM+ Termination+ ToHaskell+ Tokens+ TraceError+ TreeShapedOrder+ TypeChecker+ Util+ Value+ Warshall
@@ -0,0 +1,1 @@+MiniAgda.cabal:0:0: Version digit with leading zero. Use cabal-version: 2.0 or later to write such versions. For more information see https://github.com/haskell/cabal/issues/5092
@@ -0,0 +1,44 @@+name: Octree+version: 0.5+stability: beta+homepage: https://github.com/mgajda/octree+package-url: http://hackage.haskell.org/package/octree+synopsis: Simple unbalanced Octree for storing data about 3D points+description: Octree data structure is relatively shallow data structure for space partitioning.+category: Data+license: BSD3+license-file: LICENSE++author: Michal J. Gajda+copyright: Copyright by Michal J. Gajda '2012+maintainer: mjgajda@googlemail.com+bug-reports: mailto:mjgajda@googlemail.com+++build-type: Simple+cabal-version: >=1.8+tested-with: GHC==7.0.4,GHC==7.4.1,GHC==7.4.2,GHC==7.6.0++source-repository head+ type: git+ location: git@github.com:mgajda/octree.git++Library+ build-depends: base>=4.0 && < 4.7, AC-Vector >= 2.3.0, QuickCheck >= 2.4.0+ exposed-modules: Data.Octree+ other-modules: Data.Octree.Internal+ exposed: True+ extensions: ScopedTypeVariables++Test-suite test_Octree+ Type: exitcode-stdio-1.0+ Build-depends: base>=4.0 && < 4.7, AC-Vector >= 2.3.0, QuickCheck >= 2.4.0+ Main-is: tests/test_Octree.hs++Test-suite readme+ type: exitcode-stdio-1.0+ -- We have a symlink: README.lhs -> README.md+ main-is: README.lhs+ Build-depends: base>=4.0 && < 4.7, AC-Vector >= 2.3.0, QuickCheck >= 2.4.0, markdown-unlit+ ghc-options: -pgmL markdown-unlit+
@@ -0,0 +1,286 @@+GenericPackageDescription+ {condBenchmarks = [],+ condExecutables = [],+ condForeignLibs = [],+ condLibrary = Just+ CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "base"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [4,0]`)+ (EarlierVersion `mkVersion [4,7]`)),+ Dependency+ `PackageName "AC-Vector"`+ (OrLaterVersion `mkVersion [2,3,0]`),+ Dependency+ `PackageName "QuickCheck"`+ (OrLaterVersion `mkVersion [2,4,0]`)],+ condTreeData = Library+ {exposedModules = [`ModuleName ["Data","Octree"]`],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [EnableExtension+ ScopedTypeVariables],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [`ModuleName ["Data","Octree","Internal"]`],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "base"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [4,0]`)+ (EarlierVersion+ `mkVersion [4,7]`)),+ Dependency+ `PackageName "AC-Vector"`+ (OrLaterVersion+ `mkVersion [2,3,0]`),+ Dependency+ `PackageName "QuickCheck"`+ (OrLaterVersion+ `mkVersion [2,4,0]`)],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}},+ condSubLibraries = [],+ condTestSuites = [_×_+ `UnqualComponentName "test_Octree"`+ CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "base"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [4,0]`)+ (EarlierVersion `mkVersion [4,7]`)),+ Dependency+ `PackageName "AC-Vector"`+ (OrLaterVersion `mkVersion [2,3,0]`),+ Dependency+ `PackageName "QuickCheck"`+ (OrLaterVersion `mkVersion [2,4,0]`)],+ condTreeData = TestSuite+ {testBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "base"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [4,0]`)+ (EarlierVersion+ `mkVersion [4,7]`)),+ Dependency+ `PackageName "AC-Vector"`+ (OrLaterVersion+ `mkVersion [2,3,0]`),+ Dependency+ `PackageName "QuickCheck"`+ (OrLaterVersion+ `mkVersion [2,4,0]`)],+ virtualModules = []},+ testInterface = TestSuiteExeV10+ `mkVersion [1,0]`+ "tests/test_Octree.hs",+ testName = `UnqualComponentName ""`}},+ _×_+ `UnqualComponentName "readme"`+ CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "base"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [4,0]`)+ (EarlierVersion `mkVersion [4,7]`)),+ Dependency+ `PackageName "AC-Vector"`+ (OrLaterVersion `mkVersion [2,3,0]`),+ Dependency+ `PackageName "QuickCheck"`+ (OrLaterVersion `mkVersion [2,4,0]`),+ Dependency+ `PackageName "markdown-unlit"` AnyVersion],+ condTreeData = TestSuite+ {testBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [_×_+ GHC+ ["-pgmL",+ "markdown-unlit"]],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "base"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [4,0]`)+ (EarlierVersion+ `mkVersion [4,7]`)),+ Dependency+ `PackageName "AC-Vector"`+ (OrLaterVersion+ `mkVersion [2,3,0]`),+ Dependency+ `PackageName "QuickCheck"`+ (OrLaterVersion+ `mkVersion [2,4,0]`),+ Dependency+ `PackageName "markdown-unlit"`+ AnyVersion],+ virtualModules = []},+ testInterface = TestSuiteExeV10+ `mkVersion [1,0]` "README.lhs",+ testName = `UnqualComponentName ""`}}],+ genPackageFlags = [],+ packageDescription = PackageDescription+ {author = "Michal J. Gajda",+ benchmarks = [],+ bugReports = "mailto:mjgajda@googlemail.com",+ buildDepends = [],+ buildTypeRaw = Just Simple,+ category = "Data",+ copyright = "Copyright by Michal J. Gajda '2012",+ customFieldsPD = [],+ dataDir = "",+ dataFiles = [],+ description = "Octree data structure is relatively shallow data structure for space partitioning.",+ executables = [],+ extraDocFiles = [],+ extraSrcFiles = [],+ extraTmpFiles = [],+ foreignLibs = [],+ homepage = "https://github.com/mgajda/octree",+ library = Nothing,+ licenseFiles = ["LICENSE"],+ licenseRaw = Right BSD3,+ maintainer = "mjgajda@googlemail.com",+ package = PackageIdentifier+ {pkgName = `PackageName "Octree"`,+ pkgVersion = `mkVersion [0,5]`},+ pkgUrl = "http://hackage.haskell.org/package/octree",+ setupBuildInfo = Nothing,+ sourceRepos = [SourceRepo+ {repoBranch = Nothing,+ repoKind = RepoHead,+ repoLocation = Just "git@github.com:mgajda/octree.git",+ repoModule = Nothing,+ repoSubdir = Nothing,+ repoTag = Nothing,+ repoType = Just Git}],+ specVersionRaw = Right (OrLaterVersion `mkVersion [1,8]`),+ stability = "beta",+ subLibraries = [],+ synopsis = "Simple unbalanced Octree for storing data about 3D points",+ testSuites = [],+ testedWith = [_×_ GHC (ThisVersion `mkVersion [7,0,4]`),+ _×_ GHC (ThisVersion `mkVersion [7,4,1]`),+ _×_ GHC (ThisVersion `mkVersion [7,4,2]`),+ _×_ GHC (ThisVersion `mkVersion [7,6,0]`)]}}
@@ -0,0 +1,52 @@+Octree-0.5.cabal:39:3: Non breaking spaces at 39:3, 41:3, 43:3+cabal-version: >=1.8+name: Octree+version: 0.5+license: BSD3+license-file: LICENSE+copyright: Copyright by Michal J. Gajda '2012+maintainer: mjgajda@googlemail.com+author: Michal J. Gajda+stability: beta+tested-with: ghc ==7.0.4 ghc ==7.4.1 ghc ==7.4.2 ghc ==7.6.0+homepage: https://github.com/mgajda/octree+package-url: http://hackage.haskell.org/package/octree+bug-reports: mailto:mjgajda@googlemail.com+synopsis: Simple unbalanced Octree for storing data about 3D points+description:+ Octree data structure is relatively shallow data structure for space partitioning.+category: Data+build-type: Simple++source-repository head+ type: git+ location: git@github.com:mgajda/octree.git++library+ exposed-modules:+ Data.Octree+ other-modules:+ Data.Octree.Internal+ extensions: ScopedTypeVariables+ build-depends:+ base >=4.0 && <4.7,+ AC-Vector >=2.3.0,+ QuickCheck >=2.4.0++test-suite test_Octree+ type: exitcode-stdio-1.0+ main-is: tests/test_Octree.hs+ build-depends:+ base >=4.0 && <4.7,+ AC-Vector >=2.3.0,+ QuickCheck >=2.4.0++test-suite readme+ type: exitcode-stdio-1.0+ main-is: README.lhs+ ghc-options: -pgmL markdown-unlit+ build-depends:+ base >=4.0 && <4.7,+ AC-Vector >=2.3.0,+ QuickCheck >=2.4.0,+ markdown-unlit -any
@@ -0,0 +1,32 @@+name: common+version: 0+synopsis: Common-stanza demo demo+build-type: Simple+cabal-version: >=1.10++source-repository head+ Type: git+ Location: https://github.com/hvr/-.git++common deps+ build-depends:+ base >=4.10 && <4.11,+ containers++library+ import: deps++ default-language: Haskell2010+ exposed-modules: "ElseIf"++ build-depends:+ ghc-prim++test-suite tests+ import: deps++ type: exitcode-stdio-1.0+ main-is: Tests.hs++ build-depends:+ HUnit
@@ -0,0 +1,156 @@+GenericPackageDescription+ {condBenchmarks = [],+ condExecutables = [],+ condForeignLibs = [],+ condLibrary = Just+ CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "ghc-prim"` AnyVersion],+ condTreeData = Library+ {exposedModules = [`ModuleName ["ElseIf"]`],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Just Haskell2010,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "ghc-prim"`+ AnyVersion],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}},+ condSubLibraries = [],+ condTestSuites = [_×_+ `UnqualComponentName "tests"`+ CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "HUnit"` AnyVersion],+ condTreeData = TestSuite+ {testBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "HUnit"`+ AnyVersion],+ virtualModules = []},+ testInterface = TestSuiteExeV10+ `mkVersion [1,0]` "Tests.hs",+ testName = `UnqualComponentName ""`}}],+ genPackageFlags = [],+ packageDescription = PackageDescription+ {author = "",+ benchmarks = [],+ bugReports = "",+ buildDepends = [],+ buildTypeRaw = Just Simple,+ category = "",+ copyright = "",+ customFieldsPD = [],+ dataDir = "",+ dataFiles = [],+ description = "",+ executables = [],+ extraDocFiles = [],+ extraSrcFiles = [],+ extraTmpFiles = [],+ foreignLibs = [],+ homepage = "",+ library = Nothing,+ licenseFiles = [],+ licenseRaw = Left NONE,+ maintainer = "",+ package = PackageIdentifier+ {pkgName = `PackageName "common"`,+ pkgVersion = `mkVersion [0]`},+ pkgUrl = "",+ setupBuildInfo = Nothing,+ sourceRepos = [SourceRepo+ {repoBranch = Nothing,+ repoKind = RepoHead,+ repoLocation = Just "https://github.com/hvr/-.git",+ repoModule = Nothing,+ repoSubdir = Nothing,+ repoTag = Nothing,+ repoType = Just Git}],+ specVersionRaw = Right (OrLaterVersion `mkVersion [1,10]`),+ stability = "",+ subLibraries = [],+ synopsis = "Common-stanza demo demo",+ testSuites = [],+ testedWith = []}}
@@ -0,0 +1,25 @@+common.cabal:26:3: Unknown field: import. You should set cabal-version: 2.2 or larger to use common stanzas+common.cabal:17:3: Unknown field: import. You should set cabal-version: 2.2 or larger to use common stanzas+common.cabal:11:1: Ignoring section: common. You should set cabal-version: 2.2 or larger to use common stanzas.+cabal-version: >=1.10+name: common+version: 0+synopsis: Common-stanza demo demo+build-type: Simple++source-repository head+ type: git+ location: https://github.com/hvr/-.git++library+ exposed-modules:+ ElseIf+ default-language: Haskell2010+ build-depends:+ ghc-prim -any++test-suite tests+ type: exitcode-stdio-1.0+ main-is: Tests.hs+ build-depends:+ HUnit -any
@@ -0,0 +1,43 @@+cabal-version: 2.1+name: common+version: 0+synopsis: Common-stanza demo demo+build-type: Simple++source-repository head+ Type: git+ Location: https://github.com/hvr/-.git++common win-dows+ if os(windows)+ build-depends: Win32++common deps+ import: win-dows+ buildable: True+ build-depends:+ base >=4.10 && <4.11,+ containers++library+ import: deps++ default-language: Haskell2010+ exposed-modules: ElseIf++ build-depends:+ ghc-prim++test-suite tests+ import: deps, win-dows++ -- buildable fields verify that we don't have duplicate field warnings+ buildable: True+ if os(windows)+ buildable: False++ type: exitcode-stdio-1.0+ main-is: Tests.hs++ build-depends:+ HUnit
@@ -0,0 +1,412 @@+GenericPackageDescription+ {condBenchmarks = [],+ condExecutables = [],+ condForeignLibs = [],+ condLibrary = Just+ CondNode+ {condTreeComponents = [CondBranch+ {condBranchCondition = `Var (OS Windows)`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "Win32"`+ AnyVersion],+ condTreeData = Library+ {exposedModules = [],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "Win32"`+ AnyVersion],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}}}],+ condTreeConstraints = [Dependency+ `PackageName "base"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [4,10]`)+ (EarlierVersion `mkVersion [4,11]`)),+ Dependency `PackageName "containers"` AnyVersion,+ Dependency `PackageName "ghc-prim"` AnyVersion],+ condTreeData = Library+ {exposedModules = [`ModuleName ["ElseIf"]`],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Just Haskell2010,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "base"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [4,10]`)+ (EarlierVersion+ `mkVersion [4,11]`)),+ Dependency+ `PackageName "containers"`+ AnyVersion,+ Dependency+ `PackageName "ghc-prim"`+ AnyVersion],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}},+ condSubLibraries = [],+ condTestSuites = [_×_+ `UnqualComponentName "tests"`+ CondNode+ {condTreeComponents = [CondBranch+ {condBranchCondition = `Var (OS Windows)`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "Win32"`+ AnyVersion],+ condTreeData = TestSuite+ {testBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "Win32"`+ AnyVersion],+ virtualModules = []},+ testInterface = TestSuiteUnsupported+ (TestTypeUnknown+ ""+ `mkVersion []`),+ testName = `UnqualComponentName ""`}}},+ CondBranch+ {condBranchCondition = `Var (OS Windows)`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "Win32"`+ AnyVersion],+ condTreeData = TestSuite+ {testBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "Win32"`+ AnyVersion],+ virtualModules = []},+ testInterface = TestSuiteUnsupported+ (TestTypeUnknown+ ""+ `mkVersion []`),+ testName = `UnqualComponentName ""`}}},+ CondBranch+ {condBranchCondition = `Var (OS Windows)`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [],+ condTreeData = TestSuite+ {testBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = False,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [],+ virtualModules = []},+ testInterface = TestSuiteUnsupported+ (TestTypeUnknown+ ""+ `mkVersion []`),+ testName = `UnqualComponentName ""`}}}],+ condTreeConstraints = [Dependency+ `PackageName "base"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [4,10]`)+ (EarlierVersion `mkVersion [4,11]`)),+ Dependency `PackageName "containers"` AnyVersion,+ Dependency `PackageName "HUnit"` AnyVersion],+ condTreeData = TestSuite+ {testBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "base"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [4,10]`)+ (EarlierVersion+ `mkVersion [4,11]`)),+ Dependency+ `PackageName "containers"`+ AnyVersion,+ Dependency+ `PackageName "HUnit"`+ AnyVersion],+ virtualModules = []},+ testInterface = TestSuiteExeV10+ `mkVersion [1,0]` "Tests.hs",+ testName = `UnqualComponentName ""`}}],+ genPackageFlags = [],+ packageDescription = PackageDescription+ {author = "",+ benchmarks = [],+ bugReports = "",+ buildDepends = [],+ buildTypeRaw = Just Simple,+ category = "",+ copyright = "",+ customFieldsPD = [],+ dataDir = "",+ dataFiles = [],+ description = "",+ executables = [],+ extraDocFiles = [],+ extraSrcFiles = [],+ extraTmpFiles = [],+ foreignLibs = [],+ homepage = "",+ library = Nothing,+ licenseFiles = [],+ licenseRaw = Left NONE,+ maintainer = "",+ package = PackageIdentifier+ {pkgName = `PackageName "common"`,+ pkgVersion = `mkVersion [0]`},+ pkgUrl = "",+ setupBuildInfo = Nothing,+ sourceRepos = [SourceRepo+ {repoBranch = Nothing,+ repoKind = RepoHead,+ repoLocation = Just "https://github.com/hvr/-.git",+ repoModule = Nothing,+ repoSubdir = Nothing,+ repoTag = Nothing,+ repoType = Just Git}],+ specVersionRaw = Left `mkVersion [2,1]`,+ stability = "",+ subLibraries = [],+ synopsis = "Common-stanza demo demo",+ testSuites = [],+ testedWith = []}}
@@ -0,0 +1,41 @@+cabal-version: 2.1+name: common+version: 0+synopsis: Common-stanza demo demo+build-type: Simple++source-repository head+ type: git+ location: https://github.com/hvr/-.git++library+ exposed-modules:+ ElseIf+ default-language: Haskell2010+ build-depends:+ base >=4.10 && <4.11,+ containers -any,+ ghc-prim -any+ + if os(windows)+ build-depends:+ Win32 -any++test-suite tests+ type: exitcode-stdio-1.0+ main-is: Tests.hs+ build-depends:+ base >=4.10 && <4.11,+ containers -any,+ HUnit -any+ + if os(windows)+ build-depends:+ Win32 -any+ + if os(windows)+ build-depends:+ Win32 -any+ + if os(windows)+ buildable: False
@@ -0,0 +1,20 @@+name: elif+version: 0+synopsis: The elif demo+build-type: Simple+cabal-version: >=1.10++source-repository head+ Type: git+ Location: https://github.com/hvr/-.git++library+ default-language: Haskell2010+ exposed-modules: ElseIf++ if os(linux)+ build-depends: unix+ elif os(windows)+ build-depends: Win32+ else+ buildable: False
@@ -0,0 +1,157 @@+GenericPackageDescription+ {condBenchmarks = [],+ condExecutables = [],+ condForeignLibs = [],+ condLibrary = Just+ CondNode+ {condTreeComponents = [CondBranch+ {condBranchCondition = `Var (OS Linux)`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "unix"`+ AnyVersion],+ condTreeData = Library+ {exposedModules = [],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "unix"`+ AnyVersion],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}}}],+ condTreeConstraints = [],+ condTreeData = Library+ {exposedModules = [`ModuleName ["ElseIf"]`],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Just Haskell2010,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}},+ condSubLibraries = [],+ condTestSuites = [],+ genPackageFlags = [],+ packageDescription = PackageDescription+ {author = "",+ benchmarks = [],+ bugReports = "",+ buildDepends = [],+ buildTypeRaw = Just Simple,+ category = "",+ copyright = "",+ customFieldsPD = [],+ dataDir = "",+ dataFiles = [],+ description = "",+ executables = [],+ extraDocFiles = [],+ extraSrcFiles = [],+ extraTmpFiles = [],+ foreignLibs = [],+ homepage = "",+ library = Nothing,+ licenseFiles = [],+ licenseRaw = Left NONE,+ maintainer = "",+ package = PackageIdentifier+ {pkgName = `PackageName "elif"`,+ pkgVersion = `mkVersion [0]`},+ pkgUrl = "",+ setupBuildInfo = Nothing,+ sourceRepos = [SourceRepo+ {repoBranch = Nothing,+ repoKind = RepoHead,+ repoLocation = Just "https://github.com/hvr/-.git",+ repoModule = Nothing,+ repoSubdir = Nothing,+ repoTag = Nothing,+ repoType = Just Git}],+ specVersionRaw = Right (OrLaterVersion `mkVersion [1,10]`),+ stability = "",+ subLibraries = [],+ synopsis = "The elif demo",+ testSuites = [],+ testedWith = []}}
@@ -0,0 +1,20 @@+elif.cabal:19:3: invalid subsection "else"+elif.cabal:17:3: invalid subsection "elif". You should set cabal-version: 2.2 or larger to use elif-conditionals.+cabal-version: >=1.10+name: elif+version: 0+synopsis: The elif demo+build-type: Simple++source-repository head+ type: git+ location: https://github.com/hvr/-.git++library+ exposed-modules:+ ElseIf+ default-language: Haskell2010+ + if os(linux)+ build-depends:+ unix -any
@@ -0,0 +1,20 @@+cabal-version: 2.1+name: elif+version: 0+synopsis: The elif demo+build-type: Simple++source-repository head+ Type: git+ Location: https://github.com/hvr/-.git++library+ default-language: Haskell2010+ exposed-modules: ElseIf++ if os(linux)+ build-depends: unix+ elif os(windows)+ build-depends: Win32+ else+ buildable: False
@@ -0,0 +1,316 @@+GenericPackageDescription+ {condBenchmarks = [],+ condExecutables = [],+ condForeignLibs = [],+ condLibrary = Just+ CondNode+ {condTreeComponents = [CondBranch+ {condBranchCondition = `Var (OS Linux)`,+ condBranchIfFalse = Just+ CondNode+ {condTreeComponents = [CondBranch+ {condBranchCondition = `Var (OS Windows)`,+ condBranchIfFalse = Just+ CondNode+ {condTreeComponents = [],+ condTreeConstraints = [],+ condTreeData = Library+ {exposedModules = [],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = False,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}},+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "Win32"`+ AnyVersion],+ condTreeData = Library+ {exposedModules = [],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "Win32"`+ AnyVersion],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}}}],+ condTreeConstraints = [],+ condTreeData = Library+ {exposedModules = [],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}},+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "unix"`+ AnyVersion],+ condTreeData = Library+ {exposedModules = [],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "unix"`+ AnyVersion],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}}}],+ condTreeConstraints = [],+ condTreeData = Library+ {exposedModules = [`ModuleName ["ElseIf"]`],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Just Haskell2010,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}},+ condSubLibraries = [],+ condTestSuites = [],+ genPackageFlags = [],+ packageDescription = PackageDescription+ {author = "",+ benchmarks = [],+ bugReports = "",+ buildDepends = [],+ buildTypeRaw = Just Simple,+ category = "",+ copyright = "",+ customFieldsPD = [],+ dataDir = "",+ dataFiles = [],+ description = "",+ executables = [],+ extraDocFiles = [],+ extraSrcFiles = [],+ extraTmpFiles = [],+ foreignLibs = [],+ homepage = "",+ library = Nothing,+ licenseFiles = [],+ licenseRaw = Left NONE,+ maintainer = "",+ package = PackageIdentifier+ {pkgName = `PackageName "elif"`,+ pkgVersion = `mkVersion [0]`},+ pkgUrl = "",+ setupBuildInfo = Nothing,+ sourceRepos = [SourceRepo+ {repoBranch = Nothing,+ repoKind = RepoHead,+ repoLocation = Just "https://github.com/hvr/-.git",+ repoModule = Nothing,+ repoSubdir = Nothing,+ repoTag = Nothing,+ repoType = Just Git}],+ specVersionRaw = Left `mkVersion [2,1]`,+ stability = "",+ subLibraries = [],+ synopsis = "The elif demo",+ testSuites = [],+ testedWith = []}}
@@ -0,0 +1,25 @@+cabal-version: 2.1+name: elif+version: 0+synopsis: The elif demo+build-type: Simple++source-repository head+ type: git+ location: https://github.com/hvr/-.git++library+ exposed-modules:+ ElseIf+ default-language: Haskell2010+ + if os(linux)+ build-depends:+ unix -any+ else+ + if os(windows)+ build-depends:+ Win32 -any+ else+ buildable: False
@@ -0,0 +1,24 @@+Name: encoding-wrong+Name: encoding+Version: 0.8+cabal-version: >=1.12+-- double-dash files+extra-source-files:+ -- this is comment+ README.md "--"+ "--"++custom-setup+ setup-depends:+ base < 5,+ ghc-prim++Library+ -- version range round trip is better+ build-depends: base (> 4.4 || == 4.4)++ Exposed-Modules:+ Data.Encoding++ -- options with spaces+ GHC-Options: -Wall -O2 -threaded -rtsopts "-with-rtsopts=-N1 -A64m"
@@ -0,0 +1,119 @@+GenericPackageDescription+ {condBenchmarks = [],+ condExecutables = [],+ condForeignLibs = [],+ condLibrary = Just+ CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "base"`+ (VersionRangeParens+ (UnionVersionRanges+ (LaterVersion `mkVersion [4,4]`)+ (ThisVersion `mkVersion [4,4]`)))],+ condTreeData = Library+ {exposedModules = [`ModuleName ["Data","Encoding"]`],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [_×_+ GHC+ ["-Wall",+ "-O2",+ "-threaded",+ "-rtsopts",+ "-with-rtsopts=-N1 -A64m"]],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "base"`+ (VersionRangeParens+ (UnionVersionRanges+ (LaterVersion+ `mkVersion [4,4]`)+ (ThisVersion+ `mkVersion [4,4]`)))],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}},+ condSubLibraries = [],+ condTestSuites = [],+ genPackageFlags = [],+ packageDescription = PackageDescription+ {author = "",+ benchmarks = [],+ bugReports = "",+ buildDepends = [],+ buildTypeRaw = Nothing,+ category = "",+ copyright = "",+ customFieldsPD = [],+ dataDir = "",+ dataFiles = [],+ description = "",+ executables = [],+ extraDocFiles = [],+ extraSrcFiles = ["README.md", "--", "--"],+ extraTmpFiles = [],+ foreignLibs = [],+ homepage = "",+ library = Nothing,+ licenseFiles = [],+ licenseRaw = Left NONE,+ maintainer = "",+ package = PackageIdentifier+ {pkgName = `PackageName "encoding"`,+ pkgVersion = `mkVersion [0,8]`},+ pkgUrl = "",+ setupBuildInfo = Just+ SetupBuildInfo+ {defaultSetupDepends = False,+ setupDepends = [Dependency+ `PackageName "base"`+ (EarlierVersion `mkVersion [5]`),+ Dependency+ `PackageName "ghc-prim"`+ AnyVersion]},+ sourceRepos = [],+ specVersionRaw = Right (OrLaterVersion `mkVersion [1,12]`),+ stability = "",+ subLibraries = [],+ synopsis = "",+ testSuites = [],+ testedWith = []}}
@@ -0,0 +1,19 @@+encoding-0.8.cabal:1:1: The field "name" is specified more than once at positions 1:1, 2:1+cabal-version: >=1.12+name: encoding+version: 0.8+extra-source-files:+ README.md+ "--"+ "--"++custom-setup+ setup-depends: base <5,+ ghc-prim -any++library+ exposed-modules:+ Data.Encoding+ ghc-options: -Wall -O2 -threaded -rtsopts "-with-rtsopts=-N1 -A64m"+ build-depends:+ base (>4.4 || ==4.4)
@@ -0,0 +1,39 @@+name: extensions-paths+version: 5054+category: Test+maintainer: Oleg Grenrus+license: BSD3+license-file: LICENSe+synopsis: Paths_pkg module + "bad" extensions + old cabal+description:+ Only cabal-version: 2.2 or later will build Paths_pkg ok with++ * RebindableSyntax and++ * OverloadedLists or OverloadedStrings++ `fromList` or `fromString` will be out-of-scope when compiling Paths_ module.++ Other extensions (like NoImplicitPrelude) were handled before+build-type: Simple+cabal-version: 1.12++library+ default-language: Haskell2010+ exposed-modules: Issue Paths_extensions_paths+ default-extensions:+ RebindableSyntax+ OverloadedStrings++test-suite tests+ default-language: Haskell2010+ main-is: Test.hs+ type: exitcode-stdio-1.0+ if os(linux)+ other-modules: Paths_extensions_paths+ else+ buildable: False++ default-extensions:+ OverloadedLists+ RebindableSyntax
@@ -0,0 +1,1 @@+The package uses RebindableSyntax with OverloadedStrings or OverloadedLists in default-extensions, and also Paths_ autogen module. That configuration is known to cause compile failures with Cabal < 2.2. To use these default-extensions with Paths_ autogen module specify at least 'cabal-version: 2.2'.
@@ -0,0 +1,128 @@+name: generics-sop+version: 0.3.1.0+synopsis: Generic Programming using True Sums of Products+description:+ A library to support the definition of generic functions.+ Datatypes are viewed in a uniform, structured way:+ the choice between constructors is represented using an n-ary+ sum, and the arguments of each constructor are represented using+ an n-ary product.+ .+ The module "Generics.SOP" is the main module of this library and contains+ more detailed documentation.+ .+ Examples of using this library are provided by the following+ packages:+ .+ * @<https://hackage.haskell.org/package/basic-sop basic-sop>@ basic examples,+ .+ * @<https://hackage.haskell.org/package/pretty-sop pretty-sop>@ generic pretty printing,+ .+ * @<https://hackage.haskell.org/package/lens-sop lens-sop>@ generically computed lenses,+ .+ * @<https://hackage.haskell.org/package/json-sop json-sop>@ generic JSON conversions.+ .+ A detailed description of the ideas behind this library is provided by+ the paper:+ .+ * Edsko de Vries and Andres Löh.+ <http://www.andres-loeh.de/TrueSumsOfProducts True Sums of Products>.+ Workshop on Generic Programming (WGP) 2014.+ .+license: BSD3+license-file: LICENSE+author: Edsko de Vries <edsko@well-typed.com>, Andres Löh <andres@well-typed.com>+maintainer: andres@well-typed.com+category: Generics+build-type: Custom+cabal-version: >=1.10+extra-source-files: CHANGELOG.md+tested-with: GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1, GHC == 8.0.2, GHC == 8.2.1, GHC == 8.3.*++custom-setup+ setup-depends:+ base,+ Cabal,+ cabal-doctest >= 1.0.2 && <1.1++source-repository head+ type: git+ location: https://github.com/well-typed/generics-sop++library+ exposed-modules: Generics.SOP+ Generics.SOP.GGP+ Generics.SOP.TH+ Generics.SOP.Dict+ Generics.SOP.Type.Metadata+ -- exposed via Generics.SOP:+ Generics.SOP.BasicFunctors+ Generics.SOP.Classes+ Generics.SOP.Constraint+ Generics.SOP.Instances+ Generics.SOP.Metadata+ Generics.SOP.NP+ Generics.SOP.NS+ Generics.SOP.Universe+ Generics.SOP.Sing+ build-depends: base >= 4.7 && < 5,+ template-haskell >= 2.8 && < 2.13,+ ghc-prim >= 0.3 && < 0.6,+ deepseq >= 1.3 && < 1.5+ if !impl (ghc >= 7.8)+ build-depends: tagged >= 0.7 && < 0.9+ if !impl (ghc >= 8.0)+ build-depends: transformers-compat >= 0.3 && < 0.6,+ transformers >= 0.3 && < 0.6++ hs-source-dirs: src+ default-language: Haskell2010+ ghc-options: -Wall+ default-extensions: CPP+ ScopedTypeVariables+ TypeFamilies+ RankNTypes+ TypeOperators+ GADTs+ ConstraintKinds+ MultiParamTypeClasses+ TypeSynonymInstances+ FlexibleInstances+ FlexibleContexts+ DeriveFunctor+ DeriveFoldable+ DeriveTraversable+ DefaultSignatures+ KindSignatures+ DataKinds+ FunctionalDependencies+ if impl (ghc >= 7.8)+ default-extensions: AutoDeriveTypeable+ other-extensions: OverloadedStrings+ PolyKinds+ UndecidableInstances+ TemplateHaskell+ DeriveGeneric+ StandaloneDeriving+ if impl (ghc < 7.10)+ other-extensions: OverlappingInstances++test-suite doctests+ type: exitcode-stdio-1.0+ main-is: doctests.hs+ x-doctest-options: --preserve-it+ hs-source-dirs: test+ default-language: Haskell2010+ build-depends: base,+ doctest >= 0.13 && <0.14+ ghc-options: -Wall -threaded++test-suite generics-sop-examples+ type: exitcode-stdio-1.0+ main-is: Example.hs+ other-modules: HTransExample+ hs-source-dirs: test+ default-language: Haskell2010+ ghc-options: -Wall+ build-depends: base >= 4.6 && < 5,+ generics-sop
@@ -0,0 +1,638 @@+GenericPackageDescription+ {condBenchmarks = [],+ condExecutables = [],+ condForeignLibs = [],+ condLibrary = Just+ CondNode+ {condTreeComponents = [CondBranch+ {condBranchCondition = `CNot (Var (Impl GHC (OrLaterVersion (mkVersion [7,8]))))`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "tagged"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [0,7]`)+ (EarlierVersion+ `mkVersion [0,9]`))],+ condTreeData = Library+ {exposedModules = [],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "tagged"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [0,7]`)+ (EarlierVersion+ `mkVersion [0,9]`))],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}}},+ CondBranch+ {condBranchCondition = `CNot (Var (Impl GHC (OrLaterVersion (mkVersion [8,0]))))`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "transformers-compat"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [0,3]`)+ (EarlierVersion+ `mkVersion [0,6]`)),+ Dependency+ `PackageName "transformers"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [0,3]`)+ (EarlierVersion+ `mkVersion [0,6]`))],+ condTreeData = Library+ {exposedModules = [],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "transformers-compat"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [0,3]`)+ (EarlierVersion+ `mkVersion [0,6]`)),+ Dependency+ `PackageName "transformers"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [0,3]`)+ (EarlierVersion+ `mkVersion [0,6]`))],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}}},+ CondBranch+ {condBranchCondition = `Var (Impl GHC (OrLaterVersion (mkVersion [7,8])))`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [],+ condTreeData = Library+ {exposedModules = [],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [EnableExtension+ AutoDeriveTypeable],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}}},+ CondBranch+ {condBranchCondition = `Var (Impl GHC (EarlierVersion (mkVersion [7,10])))`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [],+ condTreeData = Library+ {exposedModules = [],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [EnableExtension+ OverlappingInstances],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}}}],+ condTreeConstraints = [Dependency+ `PackageName "base"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [4,7]`)+ (EarlierVersion `mkVersion [5]`)),+ Dependency+ `PackageName "template-haskell"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [2,8]`)+ (EarlierVersion `mkVersion [2,13]`)),+ Dependency+ `PackageName "ghc-prim"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [0,3]`)+ (EarlierVersion `mkVersion [0,6]`)),+ Dependency+ `PackageName "deepseq"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [1,3]`)+ (EarlierVersion `mkVersion [1,5]`))],+ condTreeData = Library+ {exposedModules = [`ModuleName ["Generics","SOP"]`,+ `ModuleName ["Generics","SOP","GGP"]`,+ `ModuleName ["Generics","SOP","TH"]`,+ `ModuleName ["Generics","SOP","Dict"]`,+ `ModuleName ["Generics","SOP","Type","Metadata"]`,+ `ModuleName ["Generics","SOP","BasicFunctors"]`,+ `ModuleName ["Generics","SOP","Classes"]`,+ `ModuleName ["Generics","SOP","Constraint"]`,+ `ModuleName ["Generics","SOP","Instances"]`,+ `ModuleName ["Generics","SOP","Metadata"]`,+ `ModuleName ["Generics","SOP","NP"]`,+ `ModuleName ["Generics","SOP","NS"]`,+ `ModuleName ["Generics","SOP","Universe"]`,+ `ModuleName ["Generics","SOP","Sing"]`],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [EnableExtension CPP,+ EnableExtension+ ScopedTypeVariables,+ EnableExtension+ TypeFamilies,+ EnableExtension+ RankNTypes,+ EnableExtension+ TypeOperators,+ EnableExtension+ GADTs,+ EnableExtension+ ConstraintKinds,+ EnableExtension+ MultiParamTypeClasses,+ EnableExtension+ TypeSynonymInstances,+ EnableExtension+ FlexibleInstances,+ EnableExtension+ FlexibleContexts,+ EnableExtension+ DeriveFunctor,+ EnableExtension+ DeriveFoldable,+ EnableExtension+ DeriveTraversable,+ EnableExtension+ DefaultSignatures,+ EnableExtension+ KindSignatures,+ EnableExtension+ DataKinds,+ EnableExtension+ FunctionalDependencies],+ defaultLanguage = Just Haskell2010,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = ["src"],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [_×_ GHC ["-Wall"]],+ otherExtensions = [EnableExtension+ OverloadedStrings,+ EnableExtension+ PolyKinds,+ EnableExtension+ UndecidableInstances,+ EnableExtension+ TemplateHaskell,+ EnableExtension+ DeriveGeneric,+ EnableExtension+ StandaloneDeriving],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "base"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [4,7]`)+ (EarlierVersion+ `mkVersion [5]`)),+ Dependency+ `PackageName "template-haskell"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [2,8]`)+ (EarlierVersion+ `mkVersion [2,13]`)),+ Dependency+ `PackageName "ghc-prim"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [0,3]`)+ (EarlierVersion+ `mkVersion [0,6]`)),+ Dependency+ `PackageName "deepseq"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [1,3]`)+ (EarlierVersion+ `mkVersion [1,5]`))],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}},+ condSubLibraries = [],+ condTestSuites = [_×_+ `UnqualComponentName "doctests"`+ CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency `PackageName "base"` AnyVersion,+ Dependency+ `PackageName "doctest"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [0,13]`)+ (EarlierVersion `mkVersion [0,14]`))],+ condTreeData = TestSuite+ {testBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [_×_+ "x-doctest-options"+ "--preserve-it"],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Just Haskell2010,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = ["test"],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [_×_+ GHC+ ["-Wall", "-threaded"]],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "base"`+ AnyVersion,+ Dependency+ `PackageName "doctest"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [0,13]`)+ (EarlierVersion+ `mkVersion [0,14]`))],+ virtualModules = []},+ testInterface = TestSuiteExeV10+ `mkVersion [1,0]` "doctests.hs",+ testName = `UnqualComponentName ""`}},+ _×_+ `UnqualComponentName "generics-sop-examples"`+ CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "base"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [4,6]`)+ (EarlierVersion `mkVersion [5]`)),+ Dependency+ `PackageName "generics-sop"` AnyVersion],+ condTreeData = TestSuite+ {testBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Just Haskell2010,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = ["test"],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [_×_ GHC ["-Wall"]],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [`ModuleName ["HTransExample"]`],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "base"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [4,6]`)+ (EarlierVersion+ `mkVersion [5]`)),+ Dependency+ `PackageName "generics-sop"`+ AnyVersion],+ virtualModules = []},+ testInterface = TestSuiteExeV10+ `mkVersion [1,0]` "Example.hs",+ testName = `UnqualComponentName ""`}}],+ genPackageFlags = [],+ packageDescription = PackageDescription+ {author = "Edsko de Vries <edsko@well-typed.com>, Andres L\246h <andres@well-typed.com>",+ benchmarks = [],+ bugReports = "",+ buildDepends = [],+ buildTypeRaw = Just Custom,+ category = "Generics",+ copyright = "",+ customFieldsPD = [],+ dataDir = "",+ dataFiles = [],+ description = concat+ ["A library to support the definition of generic functions.\n",+ "Datatypes are viewed in a uniform, structured way:\n",+ "the choice between constructors is represented using an n-ary\n",+ "sum, and the arguments of each constructor are represented using\n",+ "an n-ary product.\n",+ "\n",+ "The module \"Generics.SOP\" is the main module of this library and contains\n",+ "more detailed documentation.\n",+ "\n",+ "Examples of using this library are provided by the following\n",+ "packages:\n",+ "\n",+ "* @<https://hackage.haskell.org/package/basic-sop basic-sop>@ basic examples,\n",+ "\n",+ "* @<https://hackage.haskell.org/package/pretty-sop pretty-sop>@ generic pretty printing,\n",+ "\n",+ "* @<https://hackage.haskell.org/package/lens-sop lens-sop>@ generically computed lenses,\n",+ "\n",+ "* @<https://hackage.haskell.org/package/json-sop json-sop>@ generic JSON conversions.\n",+ "\n",+ "A detailed description of the ideas behind this library is provided by\n",+ "the paper:\n",+ "\n",+ "* Edsko de Vries and Andres L\246h.\n",+ "<http://www.andres-loeh.de/TrueSumsOfProducts True Sums of Products>.\n",+ "Workshop on Generic Programming (WGP) 2014.\n"],+ executables = [],+ extraDocFiles = [],+ extraSrcFiles = ["CHANGELOG.md"],+ extraTmpFiles = [],+ foreignLibs = [],+ homepage = "",+ library = Nothing,+ licenseFiles = ["LICENSE"],+ licenseRaw = Right BSD3,+ maintainer = "andres@well-typed.com",+ package = PackageIdentifier+ {pkgName = `PackageName "generics-sop"`,+ pkgVersion = `mkVersion [0,3,1,0]`},+ pkgUrl = "",+ setupBuildInfo = Just+ SetupBuildInfo+ {defaultSetupDepends = False,+ setupDepends = [Dependency+ `PackageName "base"` AnyVersion,+ Dependency+ `PackageName "Cabal"` AnyVersion,+ Dependency+ `PackageName "cabal-doctest"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [1,0,2]`)+ (EarlierVersion+ `mkVersion [1,1]`))]},+ sourceRepos = [SourceRepo+ {repoBranch = Nothing,+ repoKind = RepoHead,+ repoLocation = Just+ "https://github.com/well-typed/generics-sop",+ repoModule = Nothing,+ repoSubdir = Nothing,+ repoTag = Nothing,+ repoType = Just Git}],+ specVersionRaw = Right (OrLaterVersion `mkVersion [1,10]`),+ stability = "",+ subLibraries = [],+ synopsis = "Generic Programming using True Sums of Products",+ testSuites = [],+ testedWith = [_×_ GHC (ThisVersion `mkVersion [7,8,4]`),+ _×_ GHC (ThisVersion `mkVersion [7,10,3]`),+ _×_ GHC (ThisVersion `mkVersion [8,0,1]`),+ _×_ GHC (ThisVersion `mkVersion [8,0,2]`),+ _×_ GHC (ThisVersion `mkVersion [8,2,1]`),+ _×_ GHC (WildcardVersion `mkVersion [8,3]`)]}}
@@ -0,0 +1,121 @@+cabal-version: >=1.10+name: generics-sop+version: 0.3.1.0+license: BSD3+license-file: LICENSE+maintainer: andres@well-typed.com+author: Edsko de Vries <edsko@well-typed.com>, Andres Löh <andres@well-typed.com>+tested-with: ghc ==7.8.4 ghc ==7.10.3 ghc ==8.0.1 ghc ==8.0.2+ ghc ==8.2.1 ghc ==8.3.*+synopsis: Generic Programming using True Sums of Products+description:+ A library to support the definition of generic functions.+ Datatypes are viewed in a uniform, structured way:+ the choice between constructors is represented using an n-ary+ sum, and the arguments of each constructor are represented using+ an n-ary product.+ .+ The module "Generics.SOP" is the main module of this library and contains+ more detailed documentation.+ .+ Examples of using this library are provided by the following+ packages:+ .+ * @<https://hackage.haskell.org/package/basic-sop basic-sop>@ basic examples,+ .+ * @<https://hackage.haskell.org/package/pretty-sop pretty-sop>@ generic pretty printing,+ .+ * @<https://hackage.haskell.org/package/lens-sop lens-sop>@ generically computed lenses,+ .+ * @<https://hackage.haskell.org/package/json-sop json-sop>@ generic JSON conversions.+ .+ A detailed description of the ideas behind this library is provided by+ the paper:+ .+ * Edsko de Vries and Andres Löh.+ <http://www.andres-loeh.de/TrueSumsOfProducts True Sums of Products>.+ Workshop on Generic Programming (WGP) 2014.+ .+category: Generics+build-type: Custom+extra-source-files:+ CHANGELOG.md++source-repository head+ type: git+ location: https://github.com/well-typed/generics-sop++custom-setup+ setup-depends: base -any,+ Cabal -any,+ cabal-doctest >=1.0.2 && <1.1++library+ exposed-modules:+ Generics.SOP+ Generics.SOP.GGP+ Generics.SOP.TH+ Generics.SOP.Dict+ Generics.SOP.Type.Metadata+ Generics.SOP.BasicFunctors+ Generics.SOP.Classes+ Generics.SOP.Constraint+ Generics.SOP.Instances+ Generics.SOP.Metadata+ Generics.SOP.NP+ Generics.SOP.NS+ Generics.SOP.Universe+ Generics.SOP.Sing+ hs-source-dirs: src+ default-language: Haskell2010+ default-extensions: CPP ScopedTypeVariables TypeFamilies RankNTypes+ TypeOperators GADTs ConstraintKinds MultiParamTypeClasses+ TypeSynonymInstances FlexibleInstances FlexibleContexts+ DeriveFunctor DeriveFoldable DeriveTraversable DefaultSignatures+ KindSignatures DataKinds FunctionalDependencies+ other-extensions: OverloadedStrings PolyKinds UndecidableInstances+ TemplateHaskell DeriveGeneric StandaloneDeriving+ ghc-options: -Wall+ build-depends:+ base >=4.7 && <5,+ template-haskell >=2.8 && <2.13,+ ghc-prim >=0.3 && <0.6,+ deepseq >=1.3 && <1.5+ + if !impl(ghc >=7.8)+ build-depends:+ tagged >=0.7 && <0.9+ + if !impl(ghc >=8.0)+ build-depends:+ transformers-compat >=0.3 && <0.6,+ transformers >=0.3 && <0.6+ + if impl(ghc >=7.8)+ default-extensions: AutoDeriveTypeable+ + if impl(ghc <7.10)+ other-extensions: OverlappingInstances++test-suite doctests+ type: exitcode-stdio-1.0+ main-is: doctests.hs+ hs-source-dirs: test+ default-language: Haskell2010+ ghc-options: -Wall -threaded+ x-doctest-options: --preserve-it+ build-depends:+ base -any,+ doctest >=0.13 && <0.14++test-suite generics-sop-examples+ type: exitcode-stdio-1.0+ main-is: Example.hs+ hs-source-dirs: test+ other-modules:+ HTransExample+ default-language: Haskell2010+ ghc-options: -Wall+ build-depends:+ base >=4.6 && <5,+ generics-sop -any
@@ -0,0 +1,147 @@+name: haddock-api +version: 2.18.1 +synopsis: A documentation-generation tool for Haskell libraries +description: Haddock is a documentation-generation tool for Haskell + libraries +license: BSD3 +license-file: LICENSE +author: Simon Marlow, David Waern +maintainer: Alex Biehl <alexbiehl@gmail.com>, Simon Hengel <sol@typeful.net>, Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk> +homepage: http://www.haskell.org/haddock/ +bug-reports: https://github.com/haskell/haddock/issues +copyright: (c) Simon Marlow, David Waern +category: Documentation +build-type: Simple +cabal-version: >= 1.10 + +extra-source-files: + CHANGES.md + +data-dir: + resources +data-files: + html/solarized.css + html/haddock-util.js + html/highlight.js + html/Classic.theme/haskell_icon.gif + html/Classic.theme/minus.gif + html/Classic.theme/plus.gif + html/Classic.theme/xhaddock.css + html/Ocean.std-theme/hslogo-16.png + html/Ocean.std-theme/minus.gif + html/Ocean.std-theme/ocean.css + html/Ocean.std-theme/plus.gif + html/Ocean.std-theme/synopsis.png + latex/haddock.sty + +library + default-language: Haskell2010 + + -- this package typically supports only single major versions + build-depends: base ^>= 4.10.0 + , Cabal ^>= 2.0.0 + , ghc ^>= 8.2 + , ghc-paths ^>= 0.1.0.9 + , haddock-library == 1.4.4.* + , xhtml ^>= 3000.2.2 + + -- Versions for the dependencies below are transitively pinned by + -- the non-reinstallable `ghc` package and hence need no version + -- bounds + build-depends: array + , bytestring + , containers + , deepseq + , directory + , filepath + , ghc-boot + , transformers + + hs-source-dirs: src + + ghc-options: -funbox-strict-fields -Wall -fwarn-tabs -O2 + ghc-options: -Wall + if impl(ghc >= 8.0) + ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances + + exposed-modules: + Documentation.Haddock + + other-modules: + Haddock + Haddock.Interface + Haddock.Interface.Rename + Haddock.Interface.Create + Haddock.Interface.AttachInstances + Haddock.Interface.LexParseRn + Haddock.Interface.ParseModuleHeader + Haddock.Interface.Specialize + Haddock.Parser + Haddock.Utils + Haddock.Backends.Xhtml + Haddock.Backends.Xhtml.Decl + Haddock.Backends.Xhtml.DocMarkup + Haddock.Backends.Xhtml.Layout + Haddock.Backends.Xhtml.Names + Haddock.Backends.Xhtml.Themes + Haddock.Backends.Xhtml.Types + Haddock.Backends.Xhtml.Utils + Haddock.Backends.LaTeX + Haddock.Backends.HaddockDB + Haddock.Backends.Hoogle + Haddock.Backends.Hyperlinker + Haddock.Backends.Hyperlinker.Ast + Haddock.Backends.Hyperlinker.Parser + Haddock.Backends.Hyperlinker.Renderer + Haddock.Backends.Hyperlinker.Types + Haddock.Backends.Hyperlinker.Utils + Haddock.ModuleTree + Haddock.Types + Haddock.Doc + Haddock.Version + Haddock.InterfaceFile + Haddock.Options + Haddock.GhcUtils + Haddock.Syb + Haddock.Convert + Paths_haddock_api + + autogen-modules: + Paths_haddock_api + +test-suite spec + type: exitcode-stdio-1.0 + default-language: Haskell2010 + main-is: Spec.hs + ghc-options: -Wall + + hs-source-dirs: + test + , src + + -- NB: We only use a small subset of lib:haddock-api here, which + -- explains why this component has a smaller build-depends set + other-modules: + Haddock.Backends.Hyperlinker.ParserSpec + Haddock.Backends.Hyperlinker.Parser + Haddock.Backends.Hyperlinker.Types + + build-depends: + ghc ^>= 8.2 + , hspec ^>= 2.4.4 + , QuickCheck ^>= 2.10 + + -- Versions for the dependencies below are transitively pinned by + -- the non-reinstallable `ghc` package and hence need no version + -- bounds + build-depends: + base + , containers + + build-tool-depends: + hspec-discover:hspec-discover ^>= 2.4.4 + +source-repository head + type: git + subdir: haddock-api + location: https://github.com/haskell/haddock.git
@@ -0,0 +1,11 @@+ERROR: haddock-api-2.18.1-check.cabal:41:44: +unexpected major bounded version syntax (caret, ^>=) used. To use this syntax the package need to specify at least 'cabal-version: 2.0'. Alternatively, if broader compatibility is important then use: >=4.10.0 && <4.11+expecting "." or "-"++base ^>= 4.10.0+, Cabal ^>= 2.0.0+, ghc ^>= 8.2+, ghc-paths ^>= 0.1.0.9+, haddock-library == 1.4.4.*+, xhtml ^>= 3000.2.2+
@@ -0,0 +1,25 @@+name: issue+version: 5055+synopsis: no type in all branches+description: no type in all branches.+license: BSD3+category: Test+build-type: Simple+cabal-version: >=2.0++executable flag-test-exe+ main-is: FirstMain.hs+ build-depends: base >= 4.8 && < 5+ default-language: Haskell2010++test-suite flag-cabal-test+ -- TODO: fix so `type` can be on the top level+ build-depends: base >= 4.8 && < 5+ default-language: Haskell2010++ main-is: SecondMain.hs+ type: exitcode-stdio-1.0++ if os(windows)+ main-is: FirstMain.hs+ -- type: exitcode-stdio-1.0
@@ -0,0 +1,215 @@+GenericPackageDescription+ {condBenchmarks = [],+ condExecutables = [_×_+ `UnqualComponentName "flag-test-exe"`+ CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "base"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [4,8]`)+ (EarlierVersion `mkVersion [5]`))],+ condTreeData = Executable+ {buildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Just Haskell2010,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "base"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [4,8]`)+ (EarlierVersion+ `mkVersion [5]`))],+ virtualModules = []},+ exeName = `UnqualComponentName "flag-test-exe"`,+ exeScope = ExecutablePublic,+ modulePath = "FirstMain.hs"}}],+ condForeignLibs = [],+ condLibrary = Nothing,+ condSubLibraries = [],+ condTestSuites = [_×_+ `UnqualComponentName "flag-cabal-test"`+ CondNode+ {condTreeComponents = [CondBranch+ {condBranchCondition = `Var (OS Windows)`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [],+ condTreeData = TestSuite+ {testBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [],+ virtualModules = []},+ testInterface = TestSuiteUnsupported+ (TestTypeUnknown+ ""+ `mkVersion []`),+ testName = `UnqualComponentName ""`}}}],+ condTreeConstraints = [Dependency+ `PackageName "base"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [4,8]`)+ (EarlierVersion `mkVersion [5]`))],+ condTreeData = TestSuite+ {testBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Just Haskell2010,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "base"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [4,8]`)+ (EarlierVersion+ `mkVersion [5]`))],+ virtualModules = []},+ testInterface = TestSuiteExeV10+ `mkVersion [1,0]` "SecondMain.hs",+ testName = `UnqualComponentName ""`}}],+ genPackageFlags = [],+ packageDescription = PackageDescription+ {author = "",+ benchmarks = [],+ bugReports = "",+ buildDepends = [],+ buildTypeRaw = Just Simple,+ category = "Test",+ copyright = "",+ customFieldsPD = [],+ dataDir = "",+ dataFiles = [],+ description = "no type in all branches.",+ executables = [],+ extraDocFiles = [],+ extraSrcFiles = [],+ extraTmpFiles = [],+ foreignLibs = [],+ homepage = "",+ library = Nothing,+ licenseFiles = [],+ licenseRaw = Right BSD3,+ maintainer = "",+ package = PackageIdentifier+ {pkgName = `PackageName "issue"`,+ pkgVersion = `mkVersion [5055]`},+ pkgUrl = "",+ setupBuildInfo = Nothing,+ sourceRepos = [],+ specVersionRaw = Right (OrLaterVersion `mkVersion [2,0]`),+ stability = "",+ subLibraries = [],+ synopsis = "no type in all branches",+ testSuites = [],+ testedWith = []}}
@@ -0,0 +1,24 @@+cabal-version: >=2.0+name: issue+version: 5055+license: BSD3+synopsis: no type in all branches+description:+ no type in all branches.+category: Test+build-type: Simple++executable flag-test-exe+ main-is: FirstMain.hs+ default-language: Haskell2010+ build-depends:+ base >=4.8 && <5++test-suite flag-cabal-test+ type: exitcode-stdio-1.0+ main-is: SecondMain.hs+ default-language: Haskell2010+ build-depends:+ base >=4.8 && <5+ + if os(windows)
@@ -0,0 +1,21 @@+name: issue+version: 744+synopsis: Package description parser interprets curly braces in the description field+description: Here is some C code:+ .+ > for(i = 0; i < 100; i++) {+ > printf("%d\n",i);+ > }+ .+ What does it look like?+build-type: Simple+-- we test that check warns about this+cabal-version: >=1.12++library+ default-language: Haskell2010+ exposed-modules: Issue++ -- Test for round-trip of ghc-options here too+ -- See https://github.com/haskell/cabal/issues/2661+ ghc-options: -Wall -threaded "-with-rtsopts=-N -s -M1G -c" -rtsopts
@@ -0,0 +1,7 @@+No 'category' field.+No 'maintainer' field.+The 'license' field is missing or is NONE.+'ghc-options: -threaded' has no effect for libraries. It should only be used for executables.+'ghc-options: -rtsopts' has no effect for libraries. It should only be used for executables.+'ghc-options: -with-rtsopts' has no effect for libraries. It should only be used for executables.+Packages relying on Cabal 1.12 or later should specify a version range of the form 'cabal-version: x.y'. Use 'cabal-version: 1.12'.
@@ -0,0 +1,105 @@+GenericPackageDescription+ {condBenchmarks = [],+ condExecutables = [],+ condForeignLibs = [],+ condLibrary = Just+ CondNode+ {condTreeComponents = [],+ condTreeConstraints = [],+ condTreeData = Library+ {exposedModules = [`ModuleName ["Issue"]`],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Just Haskell2010,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [_×_+ GHC+ ["-Wall",+ "-threaded",+ "-with-rtsopts=-N -s -M1G -c",+ "-rtsopts"]],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}},+ condSubLibraries = [],+ condTestSuites = [],+ genPackageFlags = [],+ packageDescription = PackageDescription+ {author = "",+ benchmarks = [],+ bugReports = "",+ buildDepends = [],+ buildTypeRaw = Just Simple,+ category = "",+ copyright = "",+ customFieldsPD = [],+ dataDir = "",+ dataFiles = [],+ description = concat+ ["Here is some C code:\n",+ "\n",+ "> for(i = 0; i < 100; i++) {\n",+ "> printf(\"%d\\n\",i);\n",+ "> }\n",+ "\n",+ "What does it look like?"],+ executables = [],+ extraDocFiles = [],+ extraSrcFiles = [],+ extraTmpFiles = [],+ foreignLibs = [],+ homepage = "",+ library = Nothing,+ licenseFiles = [],+ licenseRaw = Left NONE,+ maintainer = "",+ package = PackageIdentifier+ {pkgName = `PackageName "issue"`,+ pkgVersion = `mkVersion [744]`},+ pkgUrl = "",+ setupBuildInfo = Nothing,+ sourceRepos = [],+ specVersionRaw = Right (OrLaterVersion `mkVersion [1,12]`),+ stability = "",+ subLibraries = [],+ synopsis = "Package description parser interprets curly braces in the description field",+ testSuites = [],+ testedWith = []}}
@@ -0,0 +1,19 @@+cabal-version: >=1.12+name: issue+version: 744+synopsis: Package description parser interprets curly braces in the description field+description:+ Here is some C code:+ .+ > for(i = 0; i < 100; i++) {+ > printf("%d\n",i);+ > }+ .+ What does it look like?+build-type: Simple++library+ exposed-modules:+ Issue+ default-language: Haskell2010+ ghc-options: -Wall -threaded "-with-rtsopts=-N -s -M1G -c" -rtsopts
@@ -0,0 +1,19 @@+cabal-version: 2.1+name: leading-comma+version: 0+synopsis: leading comma, trailing comma, or ordinary+build-type: Simple++library+ default-language: Haskell2010+ exposed-modules: LeadingComma++ build-depends: base, containers++ build-depends:+ deepseq,+ transformers,++ build-depends:+ , filepath+ , directory
@@ -0,0 +1,115 @@+GenericPackageDescription+ {condBenchmarks = [],+ condExecutables = [],+ condForeignLibs = [],+ condLibrary = Just+ CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency `PackageName "base"` AnyVersion,+ Dependency `PackageName "containers"` AnyVersion,+ Dependency `PackageName "deepseq"` AnyVersion,+ Dependency `PackageName "transformers"` AnyVersion,+ Dependency `PackageName "filepath"` AnyVersion,+ Dependency `PackageName "directory"` AnyVersion],+ condTreeData = Library+ {exposedModules = [`ModuleName ["LeadingComma"]`],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Just Haskell2010,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "base"`+ AnyVersion,+ Dependency+ `PackageName "containers"`+ AnyVersion,+ Dependency+ `PackageName "deepseq"`+ AnyVersion,+ Dependency+ `PackageName "transformers"`+ AnyVersion,+ Dependency+ `PackageName "filepath"`+ AnyVersion,+ Dependency+ `PackageName "directory"`+ AnyVersion],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}},+ condSubLibraries = [],+ condTestSuites = [],+ genPackageFlags = [],+ packageDescription = PackageDescription+ {author = "",+ benchmarks = [],+ bugReports = "",+ buildDepends = [],+ buildTypeRaw = Just Simple,+ category = "",+ copyright = "",+ customFieldsPD = [],+ dataDir = "",+ dataFiles = [],+ description = "",+ executables = [],+ extraDocFiles = [],+ extraSrcFiles = [],+ extraTmpFiles = [],+ foreignLibs = [],+ homepage = "",+ library = Nothing,+ licenseFiles = [],+ licenseRaw = Left NONE,+ maintainer = "",+ package = PackageIdentifier+ {pkgName = `PackageName "leading-comma"`,+ pkgVersion = `mkVersion [0]`},+ pkgUrl = "",+ setupBuildInfo = Nothing,+ sourceRepos = [],+ specVersionRaw = Left `mkVersion [2,1]`,+ stability = "",+ subLibraries = [],+ synopsis = "leading comma, trailing comma, or ordinary",+ testSuites = [],+ testedWith = []}}
@@ -0,0 +1,17 @@+cabal-version: 2.1+name: leading-comma+version: 0+synopsis: leading comma, trailing comma, or ordinary+build-type: Simple++library+ exposed-modules:+ LeadingComma+ default-language: Haskell2010+ build-depends:+ base -any,+ containers -any,+ deepseq -any,+ transformers -any,+ filepath -any,+ directory -any
@@ -0,0 +1,11 @@+name: noVersion+version: 0+synopsis: -none in build-depends+build-type: Simple+cabal-version: 1.22++library+ default-language: Haskell2010+ exposed-modules: ElseIf++ build-depends: bad-package -none
@@ -0,0 +1,103 @@+GenericPackageDescription+ {condBenchmarks = [],+ condExecutables = [],+ condForeignLibs = [],+ condLibrary = Just+ CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "bad-package"`+ (IntersectVersionRanges+ (LaterVersion `mkVersion [1]`)+ (EarlierVersion `mkVersion [1]`))],+ condTreeData = Library+ {exposedModules = [`ModuleName ["ElseIf"]`],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Just Haskell2010,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "bad-package"`+ (IntersectVersionRanges+ (LaterVersion+ `mkVersion [1]`)+ (EarlierVersion+ `mkVersion [1]`))],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}},+ condSubLibraries = [],+ condTestSuites = [],+ genPackageFlags = [],+ packageDescription = PackageDescription+ {author = "",+ benchmarks = [],+ bugReports = "",+ buildDepends = [],+ buildTypeRaw = Just Simple,+ category = "",+ copyright = "",+ customFieldsPD = [],+ dataDir = "",+ dataFiles = [],+ description = "",+ executables = [],+ extraDocFiles = [],+ extraSrcFiles = [],+ extraTmpFiles = [],+ foreignLibs = [],+ homepage = "",+ library = Nothing,+ licenseFiles = [],+ licenseRaw = Left NONE,+ maintainer = "",+ package = PackageIdentifier+ {pkgName = `PackageName "noVersion"`,+ pkgVersion = `mkVersion [0]`},+ pkgUrl = "",+ setupBuildInfo = Nothing,+ sourceRepos = [],+ specVersionRaw = Left `mkVersion [1,22]`,+ stability = "",+ subLibraries = [],+ synopsis = "-none in build-depends",+ testSuites = [],+ testedWith = []}}
@@ -0,0 +1,12 @@+cabal-version: 1.22+name: noVersion+version: 0+synopsis: -none in build-depends+build-type: Simple++library+ exposed-modules:+ ElseIf+ default-language: Haskell2010+ build-depends:+ bad-package >1 && <1
@@ -0,0 +1,21 @@+name: 無+version: 0+synopsis: The canonical non-package 無+build-type: Simple+cabal-version: >=1.10+x-無: 無++source-repository head+ Type: git+ Location: https://github.com/hvr/-.git++flag 無+ description: 無++library+ default-language: Haskell2010++ exposed-modules: Ω++ if !flag(無)+ buildable:False
@@ -0,0 +1,6 @@+No 'category' field.+No 'maintainer' field.+No 'description' field.+The 'license' field is missing or is NONE.+Suspicious flag names: 無. To avoid ambiguity in command line interfaces, flag shouldn't start with a dash. Also for better compatibility, flag names shouldn't contain non-ascii characters.+Non ascii custom fields: x-無. For better compatibility, custom field names shouldn't contain non-ascii characters.
@@ -0,0 +1,157 @@+GenericPackageDescription+ {condBenchmarks = [],+ condExecutables = [],+ condForeignLibs = [],+ condLibrary = Just+ CondNode+ {condTreeComponents = [CondBranch+ {condBranchCondition = `CNot (Var (Flag (FlagName "\\28961")))`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [],+ condTreeData = Library+ {exposedModules = [],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = False,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}}}],+ condTreeConstraints = [],+ condTreeData = Library+ {exposedModules = [`ModuleName ["\\937"]`],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Just Haskell2010,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}},+ condSubLibraries = [],+ condTestSuites = [],+ genPackageFlags = [MkFlag+ {flagDefault = True,+ flagDescription = "\28961",+ flagManual = False,+ flagName = `FlagName "\\28961"`}],+ packageDescription = PackageDescription+ {author = "",+ benchmarks = [],+ bugReports = "",+ buildDepends = [],+ buildTypeRaw = Just Simple,+ category = "",+ copyright = "",+ customFieldsPD = [_×_ "x-\28961" "\28961"],+ dataDir = "",+ dataFiles = [],+ description = "",+ executables = [],+ extraDocFiles = [],+ extraSrcFiles = [],+ extraTmpFiles = [],+ foreignLibs = [],+ homepage = "",+ library = Nothing,+ licenseFiles = [],+ licenseRaw = Left NONE,+ maintainer = "",+ package = PackageIdentifier+ {pkgName = `PackageName "\\28961"`,+ pkgVersion = `mkVersion [0]`},+ pkgUrl = "",+ setupBuildInfo = Nothing,+ sourceRepos = [SourceRepo+ {repoBranch = Nothing,+ repoKind = RepoHead,+ repoLocation = Just "https://github.com/hvr/-.git",+ repoModule = Nothing,+ repoSubdir = Nothing,+ repoTag = Nothing,+ repoType = Just Git}],+ specVersionRaw = Right (OrLaterVersion `mkVersion [1,10]`),+ stability = "",+ subLibraries = [],+ synopsis = "The canonical non-package \28961",+ testSuites = [],+ testedWith = []}}
@@ -0,0 +1,22 @@+cabal-version: >=1.10+name: 無+version: 0+synopsis: The canonical non-package 無+x-無: 無+build-type: Simple++source-repository head+ type: git+ location: https://github.com/hvr/-.git++flag 無+ description:+ 無++library+ exposed-modules:+ Ω+ default-language: Haskell2010+ + if !flag(無)+ buildable: False
@@ -0,0 +1,402 @@+cabal-version: >= 1.18+build-type: Simple+name: shake+version: 0.15.11+license: BSD3+license-file: LICENSE+category: Development, Shake+author: Neil Mitchell <ndmitchell@gmail.com>+maintainer: Neil Mitchell <ndmitchell@gmail.com>+copyright: Neil Mitchell 2011-2017+synopsis: Build system library, like Make, but more accurate dependencies.+description:+ Shake is a Haskell library for writing build systems - designed as a+ replacement for @make@. See "Development.Shake" for an introduction,+ including an example. Further examples are included in the Cabal tarball,+ under the @Examples@ directory. The homepage contains links to a user+ manual, an academic paper and further information:+ <http://shakebuild.com>+ .+ To use Shake the user writes a Haskell program+ that imports "Development.Shake", defines some build rules, and calls+ the 'Development.Shake.shakeArgs' function. Thanks to do notation and infix+ operators, a simple Shake build system+ is not too dissimilar from a simple Makefile. However, as build systems+ get more complex, Shake is able to take advantage of the excellent+ abstraction facilities offered by Haskell and easily support much larger+ projects. The Shake library provides all the standard features available in other+ build systems, including automatic parallelism and minimal rebuilds.+ Shake also provides more accurate dependency tracking, including seamless+ support for generated files, and dependencies on system information+ (e.g. compiler version).+homepage: http://shakebuild.com+bug-reports: https://github.com/ndmitchell/shake/issues+tested-with: GHC==8.0.1, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2+extra-doc-files:+ CHANGES.txt+ README.md+extra-source-files:+ src/Test/C/constants.c+ src/Test/C/constants.h+ src/Test/C/main.c+ src/Test/MakeTutor/Makefile+ src/Test/MakeTutor/hellofunc.c+ src/Test/MakeTutor/hellomake.c+ src/Test/MakeTutor/hellomake.h+ src/Test/Tar/list.txt+ src/Test/Ninja/*.ninja+ src/Test/Ninja/subdir/*.ninja+ src/Test/Ninja/*.output+ src/Test/Progress/*.prog+ src/Test/Tup/hello.c+ src/Test/Tup/root.cfg+ src/Test/Tup/newmath/root.cfg+ src/Test/Tup/newmath/square.c+ src/Test/Tup/newmath/square.h+ src/Paths.hs+ docs/Manual.md+ docs/shake-progress.png++data-files:+ html/viz.js+ html/profile.html+ html/progress.html+ html/shake.js+ docs/manual/build.bat+ docs/manual/Build.hs+ docs/manual/build.sh+ docs/manual/constants.c+ docs/manual/constants.h+ docs/manual/main.c++source-repository head+ type: git+ location: https://github.com/ndmitchell/shake.git++flag portable+ default: False+ manual: True+ description: Obtain FileTime using portable functions++library+ default-language: Haskell2010+ hs-source-dirs: src+ build-depends:+ base >= 4.5,+ directory,+ hashable >= 1.1.2.3,+ binary,+ filepath,+ process >= 1.1,+ unordered-containers >= 0.2.1,+ bytestring,+ utf8-string >= 0.3,+ time,+ random,+ js-jquery,+ js-flot,+ transformers >= 0.2,+ extra >= 1.4.8,+ deepseq >= 1.1++ if flag(portable)+ cpp-options: -DPORTABLE+ if impl(ghc < 7.6)+ build-depends: old-time+ else+ if !os(windows)+ build-depends: unix >= 2.5.1+ if !os(windows)+ build-depends: unix++ exposed-modules:+ Development.Shake+ Development.Shake.Classes+ Development.Shake.Command+ Development.Shake.Config+ Development.Shake.FilePath+ Development.Shake.Forward+ Development.Shake.Rule+ Development.Shake.Util++ other-modules:+ Development.Ninja.Env+ Development.Ninja.Lexer+ Development.Ninja.Parse+ Development.Ninja.Type+ Development.Shake.Args+ Development.Shake.ByteString+ Development.Shake.Core+ Development.Shake.CmdOption+ Development.Shake.Database+ Development.Shake.Demo+ Development.Shake.Derived+ Development.Shake.Errors+ Development.Shake.FileInfo+ Development.Shake.FilePattern+ Development.Shake.Monad+ Development.Shake.Pool+ Development.Shake.Profile+ Development.Shake.Progress+ Development.Shake.Resource+ Development.Shake.Rules.Directory+ Development.Shake.Rules.File+ Development.Shake.Rules.Files+ Development.Shake.Rules.Oracle+ Development.Shake.Rules.OrderOnly+ Development.Shake.Rules.Rerun+ Development.Shake.Shake+ Development.Shake.Special+ Development.Shake.Storage+ Development.Shake.Types+ Development.Shake.Value+ General.Bilist+ General.Binary+ General.Cleanup+ General.Concurrent+ General.Extra+ General.FileLock+ General.Intern+ General.Process+ General.String+ General.Template+ General.Timing+ Paths_shake+++executable shake+ default-language: Haskell2010+ hs-source-dirs: src+ ghc-options: -main-is Run.main+ main-is: Run.hs+ ghc-options: -rtsopts+ -- GHC bug 7646 means -threaded causes errors+ if impl(ghc >= 7.8)+ ghc-options: -threaded "-with-rtsopts=-I0 -qg -qb"+ build-depends:+ base == 4.*,+ directory,+ hashable >= 1.1.2.3,+ binary,+ filepath,+ process >= 1.1,+ unordered-containers >= 0.2.1,+ bytestring,+ utf8-string >= 0.3,+ time,+ random,+ js-jquery,+ js-flot,+ transformers >= 0.2,+ extra >= 1.4.8,+ deepseq >= 1.1,+ primitive++ if flag(portable)+ cpp-options: -DPORTABLE+ if impl(ghc < 7.6)+ build-depends: old-time+ else+ if !os(windows)+ build-depends: unix >= 2.5.1+ if !os(windows)+ build-depends: unix++ other-modules:+ Development.Make.All+ Development.Make.Env+ Development.Make.Parse+ Development.Make.Rules+ Development.Make.Type+ Development.Ninja.All+ Development.Ninja.Env+ Development.Ninja.Lexer+ Development.Ninja.Parse+ Development.Ninja.Type+ Development.Shake+ Development.Shake.Args+ Development.Shake.ByteString+ Development.Shake.Classes+ Development.Shake.CmdOption+ Development.Shake.Command+ Development.Shake.Core+ Development.Shake.Database+ Development.Shake.Demo+ Development.Shake.Derived+ Development.Shake.Errors+ Development.Shake.FileInfo+ Development.Shake.FilePath+ Development.Shake.FilePattern+ Development.Shake.Forward+ Development.Shake.Monad+ Development.Shake.Pool+ Development.Shake.Profile+ Development.Shake.Progress+ Development.Shake.Resource+ Development.Shake.Rule+ Development.Shake.Rules.Directory+ Development.Shake.Rules.File+ Development.Shake.Rules.Files+ Development.Shake.Rules.Oracle+ Development.Shake.Rules.OrderOnly+ Development.Shake.Rules.Rerun+ Development.Shake.Shake+ Development.Shake.Special+ Development.Shake.Storage+ Development.Shake.Types+ Development.Shake.Value+ General.Bilist+ General.Binary+ General.Cleanup+ General.Concurrent+ General.Extra+ General.FileLock+ General.Intern+ General.Process+ General.String+ General.Template+ General.Timing+ Paths_shake+ Run+++test-suite shake-test+ default-language: Haskell2010+ type: exitcode-stdio-1.0+ main-is: Test.hs+ hs-source-dirs: src++ ghc-options: -main-is Test.main -rtsopts+ if impl(ghc >= 7.6)+ -- space leak introduced by -O1 in 7.4, see #445+ ghc-options: -with-rtsopts=-K1K+ if impl(ghc >= 7.8)+ -- GHC bug 7646 (fixed in 7.8) means -threaded causes errors+ ghc-options: -threaded++ build-depends:+ base == 4.*,+ directory,+ hashable >= 1.1.2.3,+ binary,+ filepath,+ process >= 1.1,+ unordered-containers >= 0.2.1,+ bytestring,+ utf8-string >= 0.3,+ time,+ random,+ js-jquery,+ js-flot,+ transformers >= 0.2,+ deepseq >= 1.1,+ extra >= 1.4.8,+ QuickCheck >= 2.0++ if flag(portable)+ cpp-options: -DPORTABLE+ if impl(ghc < 7.6)+ build-depends: old-time+ else+ if !os(windows)+ build-depends: unix >= 2.5.1+ if !os(windows)+ build-depends: unix++ other-modules:+ Development.Make.All+ Development.Make.Env+ Development.Make.Parse+ Development.Make.Rules+ Development.Make.Type+ Development.Ninja.All+ Development.Ninja.Env+ Development.Ninja.Lexer+ Development.Ninja.Parse+ Development.Ninja.Type+ Development.Shake+ Development.Shake.Args+ Development.Shake.ByteString+ Development.Shake.Classes+ Development.Shake.CmdOption+ Development.Shake.Command+ Development.Shake.Config+ Development.Shake.Core+ Development.Shake.Database+ Development.Shake.Demo+ Development.Shake.Derived+ Development.Shake.Errors+ Development.Shake.FileInfo+ Development.Shake.FilePath+ Development.Shake.FilePattern+ Development.Shake.Forward+ Development.Shake.Monad+ Development.Shake.Pool+ Development.Shake.Profile+ Development.Shake.Progress+ Development.Shake.Resource+ Development.Shake.Rule+ Development.Shake.Rules.Directory+ Development.Shake.Rules.File+ Development.Shake.Rules.Files+ Development.Shake.Rules.Oracle+ Development.Shake.Rules.OrderOnly+ Development.Shake.Rules.Rerun+ Development.Shake.Shake+ Development.Shake.Special+ Development.Shake.Storage+ Development.Shake.Types+ Development.Shake.Util+ Development.Shake.Value+ General.Bilist+ General.Binary+ General.Cleanup+ General.Concurrent+ General.Extra+ General.FileLock+ General.Intern+ General.Process+ General.String+ General.Template+ General.Timing+ Paths_shake+ Run+ Test.Assume+ Test.Basic+ Test.Benchmark+ Test.C+ Test.Cache+ Test.Command+ Test.Config+ Test.Digest+ Test.Directory+ Test.Docs+ Test.Errors+ Test.FileLock+ Test.FilePath+ Test.FilePattern+ Test.Files+ Test.Forward+ Test.Journal+ Test.Lint+ Test.Live+ Test.Makefile+ Test.Manual+ Test.Match+ Test.Monad+ Test.Ninja+ Test.Oracle+ Test.OrderOnly+ Test.Parallel+ Test.Pool+ Test.Progress+ Test.Random+ Test.Resources+ Test.Self+ Test.Tar+ Test.Tup+ Test.Type+ Test.Unicode+ Test.Util+ Test.Verbosity+ Test.Version
@@ -0,0 +1,1721 @@+GenericPackageDescription+ {condBenchmarks = [],+ condExecutables = [_×_+ `UnqualComponentName "shake"`+ CondNode+ {condTreeComponents = [CondBranch+ {condBranchCondition = `Var (Impl GHC (OrLaterVersion (mkVersion [7,8])))`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [],+ condTreeData = Executable+ {buildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [_×_+ GHC+ ["-threaded",+ "-with-rtsopts=-I0 -qg -qb"]],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [],+ virtualModules = []},+ exeName = `UnqualComponentName "shake"`,+ exeScope = ExecutablePublic,+ modulePath = ""}}},+ CondBranch+ {condBranchCondition = `Var (Flag (FlagName "portable"))`,+ condBranchIfFalse = Just+ CondNode+ {condTreeComponents = [CondBranch+ {condBranchCondition = `CNot (Var (OS Windows))`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "unix"`+ (OrLaterVersion+ `mkVersion [2,5,1]`)],+ condTreeData = Executable+ {buildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "unix"`+ (OrLaterVersion+ `mkVersion [2,5,1]`)],+ virtualModules = []},+ exeName = `UnqualComponentName "shake"`,+ exeScope = ExecutablePublic,+ modulePath = ""}}}],+ condTreeConstraints = [],+ condTreeData = Executable+ {buildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [],+ virtualModules = []},+ exeName = `UnqualComponentName "shake"`,+ exeScope = ExecutablePublic,+ modulePath = ""}},+ condBranchIfTrue = CondNode+ {condTreeComponents = [CondBranch+ {condBranchCondition = `Var (Impl GHC (EarlierVersion (mkVersion [7,6])))`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "old-time"`+ AnyVersion],+ condTreeData = Executable+ {buildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "old-time"`+ AnyVersion],+ virtualModules = []},+ exeName = `UnqualComponentName "shake"`,+ exeScope = ExecutablePublic,+ modulePath = ""}}}],+ condTreeConstraints = [],+ condTreeData = Executable+ {buildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = ["-DPORTABLE"],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [],+ virtualModules = []},+ exeName = `UnqualComponentName "shake"`,+ exeScope = ExecutablePublic,+ modulePath = ""}}},+ CondBranch+ {condBranchCondition = `CNot (Var (OS Windows))`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "unix"`+ AnyVersion],+ condTreeData = Executable+ {buildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "unix"`+ AnyVersion],+ virtualModules = []},+ exeName = `UnqualComponentName "shake"`,+ exeScope = ExecutablePublic,+ modulePath = ""}}}],+ condTreeConstraints = [Dependency+ `PackageName "base"`+ (WildcardVersion `mkVersion [4]`),+ Dependency `PackageName "directory"` AnyVersion,+ Dependency+ `PackageName "hashable"`+ (OrLaterVersion `mkVersion [1,1,2,3]`),+ Dependency `PackageName "binary"` AnyVersion,+ Dependency `PackageName "filepath"` AnyVersion,+ Dependency+ `PackageName "process"`+ (OrLaterVersion `mkVersion [1,1]`),+ Dependency+ `PackageName "unordered-containers"`+ (OrLaterVersion `mkVersion [0,2,1]`),+ Dependency `PackageName "bytestring"` AnyVersion,+ Dependency+ `PackageName "utf8-string"`+ (OrLaterVersion `mkVersion [0,3]`),+ Dependency `PackageName "time"` AnyVersion,+ Dependency `PackageName "random"` AnyVersion,+ Dependency `PackageName "js-jquery"` AnyVersion,+ Dependency `PackageName "js-flot"` AnyVersion,+ Dependency+ `PackageName "transformers"`+ (OrLaterVersion `mkVersion [0,2]`),+ Dependency+ `PackageName "extra"`+ (OrLaterVersion `mkVersion [1,4,8]`),+ Dependency+ `PackageName "deepseq"`+ (OrLaterVersion `mkVersion [1,1]`),+ Dependency `PackageName "primitive"` AnyVersion],+ condTreeData = Executable+ {buildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Just Haskell2010,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = ["src"],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [_×_+ GHC+ ["-main-is",+ "Run.main",+ "-rtsopts"]],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [`ModuleName ["Development","Make","All"]`,+ `ModuleName ["Development","Make","Env"]`,+ `ModuleName ["Development","Make","Parse"]`,+ `ModuleName ["Development","Make","Rules"]`,+ `ModuleName ["Development","Make","Type"]`,+ `ModuleName ["Development","Ninja","All"]`,+ `ModuleName ["Development","Ninja","Env"]`,+ `ModuleName ["Development","Ninja","Lexer"]`,+ `ModuleName ["Development","Ninja","Parse"]`,+ `ModuleName ["Development","Ninja","Type"]`,+ `ModuleName ["Development","Shake"]`,+ `ModuleName ["Development","Shake","Args"]`,+ `ModuleName ["Development","Shake","ByteString"]`,+ `ModuleName ["Development","Shake","Classes"]`,+ `ModuleName ["Development","Shake","CmdOption"]`,+ `ModuleName ["Development","Shake","Command"]`,+ `ModuleName ["Development","Shake","Core"]`,+ `ModuleName ["Development","Shake","Database"]`,+ `ModuleName ["Development","Shake","Demo"]`,+ `ModuleName ["Development","Shake","Derived"]`,+ `ModuleName ["Development","Shake","Errors"]`,+ `ModuleName ["Development","Shake","FileInfo"]`,+ `ModuleName ["Development","Shake","FilePath"]`,+ `ModuleName ["Development","Shake","FilePattern"]`,+ `ModuleName ["Development","Shake","Forward"]`,+ `ModuleName ["Development","Shake","Monad"]`,+ `ModuleName ["Development","Shake","Pool"]`,+ `ModuleName ["Development","Shake","Profile"]`,+ `ModuleName ["Development","Shake","Progress"]`,+ `ModuleName ["Development","Shake","Resource"]`,+ `ModuleName ["Development","Shake","Rule"]`,+ `ModuleName ["Development","Shake","Rules","Directory"]`,+ `ModuleName ["Development","Shake","Rules","File"]`,+ `ModuleName ["Development","Shake","Rules","Files"]`,+ `ModuleName ["Development","Shake","Rules","Oracle"]`,+ `ModuleName ["Development","Shake","Rules","OrderOnly"]`,+ `ModuleName ["Development","Shake","Rules","Rerun"]`,+ `ModuleName ["Development","Shake","Shake"]`,+ `ModuleName ["Development","Shake","Special"]`,+ `ModuleName ["Development","Shake","Storage"]`,+ `ModuleName ["Development","Shake","Types"]`,+ `ModuleName ["Development","Shake","Value"]`,+ `ModuleName ["General","Bilist"]`,+ `ModuleName ["General","Binary"]`,+ `ModuleName ["General","Cleanup"]`,+ `ModuleName ["General","Concurrent"]`,+ `ModuleName ["General","Extra"]`,+ `ModuleName ["General","FileLock"]`,+ `ModuleName ["General","Intern"]`,+ `ModuleName ["General","Process"]`,+ `ModuleName ["General","String"]`,+ `ModuleName ["General","Template"]`,+ `ModuleName ["General","Timing"]`,+ `ModuleName ["Paths_shake"]`,+ `ModuleName ["Run"]`],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "base"`+ (WildcardVersion+ `mkVersion [4]`),+ Dependency+ `PackageName "directory"`+ AnyVersion,+ Dependency+ `PackageName "hashable"`+ (OrLaterVersion+ `mkVersion [1,1,2,3]`),+ Dependency+ `PackageName "binary"`+ AnyVersion,+ Dependency+ `PackageName "filepath"`+ AnyVersion,+ Dependency+ `PackageName "process"`+ (OrLaterVersion+ `mkVersion [1,1]`),+ Dependency+ `PackageName "unordered-containers"`+ (OrLaterVersion+ `mkVersion [0,2,1]`),+ Dependency+ `PackageName "bytestring"`+ AnyVersion,+ Dependency+ `PackageName "utf8-string"`+ (OrLaterVersion+ `mkVersion [0,3]`),+ Dependency+ `PackageName "time"`+ AnyVersion,+ Dependency+ `PackageName "random"`+ AnyVersion,+ Dependency+ `PackageName "js-jquery"`+ AnyVersion,+ Dependency+ `PackageName "js-flot"`+ AnyVersion,+ Dependency+ `PackageName "transformers"`+ (OrLaterVersion+ `mkVersion [0,2]`),+ Dependency+ `PackageName "extra"`+ (OrLaterVersion+ `mkVersion [1,4,8]`),+ Dependency+ `PackageName "deepseq"`+ (OrLaterVersion+ `mkVersion [1,1]`),+ Dependency+ `PackageName "primitive"`+ AnyVersion],+ virtualModules = []},+ exeName = `UnqualComponentName "shake"`,+ exeScope = ExecutablePublic,+ modulePath = "Run.hs"}}],+ condForeignLibs = [],+ condLibrary = Just+ CondNode+ {condTreeComponents = [CondBranch+ {condBranchCondition = `Var (Flag (FlagName "portable"))`,+ condBranchIfFalse = Just+ CondNode+ {condTreeComponents = [CondBranch+ {condBranchCondition = `CNot (Var (OS Windows))`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "unix"`+ (OrLaterVersion+ `mkVersion [2,5,1]`)],+ condTreeData = Library+ {exposedModules = [],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "unix"`+ (OrLaterVersion+ `mkVersion [2,5,1]`)],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}}}],+ condTreeConstraints = [],+ condTreeData = Library+ {exposedModules = [],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}},+ condBranchIfTrue = CondNode+ {condTreeComponents = [CondBranch+ {condBranchCondition = `Var (Impl GHC (EarlierVersion (mkVersion [7,6])))`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "old-time"`+ AnyVersion],+ condTreeData = Library+ {exposedModules = [],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "old-time"`+ AnyVersion],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}}}],+ condTreeConstraints = [],+ condTreeData = Library+ {exposedModules = [],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = ["-DPORTABLE"],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}}},+ CondBranch+ {condBranchCondition = `CNot (Var (OS Windows))`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "unix"`+ AnyVersion],+ condTreeData = Library+ {exposedModules = [],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "unix"`+ AnyVersion],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}}}],+ condTreeConstraints = [Dependency+ `PackageName "base"`+ (OrLaterVersion `mkVersion [4,5]`),+ Dependency `PackageName "directory"` AnyVersion,+ Dependency+ `PackageName "hashable"`+ (OrLaterVersion `mkVersion [1,1,2,3]`),+ Dependency `PackageName "binary"` AnyVersion,+ Dependency `PackageName "filepath"` AnyVersion,+ Dependency+ `PackageName "process"`+ (OrLaterVersion `mkVersion [1,1]`),+ Dependency+ `PackageName "unordered-containers"`+ (OrLaterVersion `mkVersion [0,2,1]`),+ Dependency `PackageName "bytestring"` AnyVersion,+ Dependency+ `PackageName "utf8-string"`+ (OrLaterVersion `mkVersion [0,3]`),+ Dependency `PackageName "time"` AnyVersion,+ Dependency `PackageName "random"` AnyVersion,+ Dependency `PackageName "js-jquery"` AnyVersion,+ Dependency `PackageName "js-flot"` AnyVersion,+ Dependency+ `PackageName "transformers"`+ (OrLaterVersion `mkVersion [0,2]`),+ Dependency+ `PackageName "extra"`+ (OrLaterVersion `mkVersion [1,4,8]`),+ Dependency+ `PackageName "deepseq"`+ (OrLaterVersion `mkVersion [1,1]`)],+ condTreeData = Library+ {exposedModules = [`ModuleName ["Development","Shake"]`,+ `ModuleName ["Development","Shake","Classes"]`,+ `ModuleName ["Development","Shake","Command"]`,+ `ModuleName ["Development","Shake","Config"]`,+ `ModuleName ["Development","Shake","FilePath"]`,+ `ModuleName ["Development","Shake","Forward"]`,+ `ModuleName ["Development","Shake","Rule"]`,+ `ModuleName ["Development","Shake","Util"]`],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Just Haskell2010,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = ["src"],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [`ModuleName ["Development","Ninja","Env"]`,+ `ModuleName ["Development","Ninja","Lexer"]`,+ `ModuleName ["Development","Ninja","Parse"]`,+ `ModuleName ["Development","Ninja","Type"]`,+ `ModuleName ["Development","Shake","Args"]`,+ `ModuleName ["Development","Shake","ByteString"]`,+ `ModuleName ["Development","Shake","Core"]`,+ `ModuleName ["Development","Shake","CmdOption"]`,+ `ModuleName ["Development","Shake","Database"]`,+ `ModuleName ["Development","Shake","Demo"]`,+ `ModuleName ["Development","Shake","Derived"]`,+ `ModuleName ["Development","Shake","Errors"]`,+ `ModuleName ["Development","Shake","FileInfo"]`,+ `ModuleName ["Development","Shake","FilePattern"]`,+ `ModuleName ["Development","Shake","Monad"]`,+ `ModuleName ["Development","Shake","Pool"]`,+ `ModuleName ["Development","Shake","Profile"]`,+ `ModuleName ["Development","Shake","Progress"]`,+ `ModuleName ["Development","Shake","Resource"]`,+ `ModuleName ["Development","Shake","Rules","Directory"]`,+ `ModuleName ["Development","Shake","Rules","File"]`,+ `ModuleName ["Development","Shake","Rules","Files"]`,+ `ModuleName ["Development","Shake","Rules","Oracle"]`,+ `ModuleName ["Development","Shake","Rules","OrderOnly"]`,+ `ModuleName ["Development","Shake","Rules","Rerun"]`,+ `ModuleName ["Development","Shake","Shake"]`,+ `ModuleName ["Development","Shake","Special"]`,+ `ModuleName ["Development","Shake","Storage"]`,+ `ModuleName ["Development","Shake","Types"]`,+ `ModuleName ["Development","Shake","Value"]`,+ `ModuleName ["General","Bilist"]`,+ `ModuleName ["General","Binary"]`,+ `ModuleName ["General","Cleanup"]`,+ `ModuleName ["General","Concurrent"]`,+ `ModuleName ["General","Extra"]`,+ `ModuleName ["General","FileLock"]`,+ `ModuleName ["General","Intern"]`,+ `ModuleName ["General","Process"]`,+ `ModuleName ["General","String"]`,+ `ModuleName ["General","Template"]`,+ `ModuleName ["General","Timing"]`,+ `ModuleName ["Paths_shake"]`],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "base"`+ (OrLaterVersion+ `mkVersion [4,5]`),+ Dependency+ `PackageName "directory"`+ AnyVersion,+ Dependency+ `PackageName "hashable"`+ (OrLaterVersion+ `mkVersion [1,1,2,3]`),+ Dependency+ `PackageName "binary"`+ AnyVersion,+ Dependency+ `PackageName "filepath"`+ AnyVersion,+ Dependency+ `PackageName "process"`+ (OrLaterVersion+ `mkVersion [1,1]`),+ Dependency+ `PackageName "unordered-containers"`+ (OrLaterVersion+ `mkVersion [0,2,1]`),+ Dependency+ `PackageName "bytestring"`+ AnyVersion,+ Dependency+ `PackageName "utf8-string"`+ (OrLaterVersion+ `mkVersion [0,3]`),+ Dependency+ `PackageName "time"`+ AnyVersion,+ Dependency+ `PackageName "random"`+ AnyVersion,+ Dependency+ `PackageName "js-jquery"`+ AnyVersion,+ Dependency+ `PackageName "js-flot"`+ AnyVersion,+ Dependency+ `PackageName "transformers"`+ (OrLaterVersion+ `mkVersion [0,2]`),+ Dependency+ `PackageName "extra"`+ (OrLaterVersion+ `mkVersion [1,4,8]`),+ Dependency+ `PackageName "deepseq"`+ (OrLaterVersion+ `mkVersion [1,1]`)],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}},+ condSubLibraries = [],+ condTestSuites = [_×_+ `UnqualComponentName "shake-test"`+ CondNode+ {condTreeComponents = [CondBranch+ {condBranchCondition = `Var (Impl GHC (OrLaterVersion (mkVersion [7,6])))`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [],+ condTreeData = TestSuite+ {testBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [_×_+ GHC+ ["-with-rtsopts=-K1K"]],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [],+ virtualModules = []},+ testInterface = TestSuiteUnsupported+ (TestTypeUnknown+ ""+ `mkVersion []`),+ testName = `UnqualComponentName ""`}}},+ CondBranch+ {condBranchCondition = `Var (Impl GHC (OrLaterVersion (mkVersion [7,8])))`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [],+ condTreeData = TestSuite+ {testBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [_×_+ GHC+ ["-threaded"]],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [],+ virtualModules = []},+ testInterface = TestSuiteUnsupported+ (TestTypeUnknown+ ""+ `mkVersion []`),+ testName = `UnqualComponentName ""`}}},+ CondBranch+ {condBranchCondition = `Var (Flag (FlagName "portable"))`,+ condBranchIfFalse = Just+ CondNode+ {condTreeComponents = [CondBranch+ {condBranchCondition = `CNot (Var (OS Windows))`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "unix"`+ (OrLaterVersion+ `mkVersion [2,5,1]`)],+ condTreeData = TestSuite+ {testBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "unix"`+ (OrLaterVersion+ `mkVersion [2,5,1]`)],+ virtualModules = []},+ testInterface = TestSuiteUnsupported+ (TestTypeUnknown+ ""+ `mkVersion []`),+ testName = `UnqualComponentName ""`}}}],+ condTreeConstraints = [],+ condTreeData = TestSuite+ {testBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [],+ virtualModules = []},+ testInterface = TestSuiteUnsupported+ (TestTypeUnknown+ ""+ `mkVersion []`),+ testName = `UnqualComponentName ""`}},+ condBranchIfTrue = CondNode+ {condTreeComponents = [CondBranch+ {condBranchCondition = `Var (Impl GHC (EarlierVersion (mkVersion [7,6])))`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "old-time"`+ AnyVersion],+ condTreeData = TestSuite+ {testBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "old-time"`+ AnyVersion],+ virtualModules = []},+ testInterface = TestSuiteUnsupported+ (TestTypeUnknown+ ""+ `mkVersion []`),+ testName = `UnqualComponentName ""`}}}],+ condTreeConstraints = [],+ condTreeData = TestSuite+ {testBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = ["-DPORTABLE"],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [],+ virtualModules = []},+ testInterface = TestSuiteUnsupported+ (TestTypeUnknown+ ""+ `mkVersion []`),+ testName = `UnqualComponentName ""`}}},+ CondBranch+ {condBranchCondition = `CNot (Var (OS Windows))`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "unix"`+ AnyVersion],+ condTreeData = TestSuite+ {testBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "unix"`+ AnyVersion],+ virtualModules = []},+ testInterface = TestSuiteUnsupported+ (TestTypeUnknown+ ""+ `mkVersion []`),+ testName = `UnqualComponentName ""`}}}],+ condTreeConstraints = [Dependency+ `PackageName "base"`+ (WildcardVersion `mkVersion [4]`),+ Dependency `PackageName "directory"` AnyVersion,+ Dependency+ `PackageName "hashable"`+ (OrLaterVersion `mkVersion [1,1,2,3]`),+ Dependency `PackageName "binary"` AnyVersion,+ Dependency `PackageName "filepath"` AnyVersion,+ Dependency+ `PackageName "process"`+ (OrLaterVersion `mkVersion [1,1]`),+ Dependency+ `PackageName "unordered-containers"`+ (OrLaterVersion `mkVersion [0,2,1]`),+ Dependency `PackageName "bytestring"` AnyVersion,+ Dependency+ `PackageName "utf8-string"`+ (OrLaterVersion `mkVersion [0,3]`),+ Dependency `PackageName "time"` AnyVersion,+ Dependency `PackageName "random"` AnyVersion,+ Dependency `PackageName "js-jquery"` AnyVersion,+ Dependency `PackageName "js-flot"` AnyVersion,+ Dependency+ `PackageName "transformers"`+ (OrLaterVersion `mkVersion [0,2]`),+ Dependency+ `PackageName "deepseq"`+ (OrLaterVersion `mkVersion [1,1]`),+ Dependency+ `PackageName "extra"`+ (OrLaterVersion `mkVersion [1,4,8]`),+ Dependency+ `PackageName "QuickCheck"`+ (OrLaterVersion `mkVersion [2,0]`)],+ condTreeData = TestSuite+ {testBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Just Haskell2010,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = ["src"],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [_×_+ GHC+ ["-main-is",+ "Test.main",+ "-rtsopts"]],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [`ModuleName ["Development","Make","All"]`,+ `ModuleName ["Development","Make","Env"]`,+ `ModuleName ["Development","Make","Parse"]`,+ `ModuleName ["Development","Make","Rules"]`,+ `ModuleName ["Development","Make","Type"]`,+ `ModuleName ["Development","Ninja","All"]`,+ `ModuleName ["Development","Ninja","Env"]`,+ `ModuleName ["Development","Ninja","Lexer"]`,+ `ModuleName ["Development","Ninja","Parse"]`,+ `ModuleName ["Development","Ninja","Type"]`,+ `ModuleName ["Development","Shake"]`,+ `ModuleName ["Development","Shake","Args"]`,+ `ModuleName ["Development","Shake","ByteString"]`,+ `ModuleName ["Development","Shake","Classes"]`,+ `ModuleName ["Development","Shake","CmdOption"]`,+ `ModuleName ["Development","Shake","Command"]`,+ `ModuleName ["Development","Shake","Config"]`,+ `ModuleName ["Development","Shake","Core"]`,+ `ModuleName ["Development","Shake","Database"]`,+ `ModuleName ["Development","Shake","Demo"]`,+ `ModuleName ["Development","Shake","Derived"]`,+ `ModuleName ["Development","Shake","Errors"]`,+ `ModuleName ["Development","Shake","FileInfo"]`,+ `ModuleName ["Development","Shake","FilePath"]`,+ `ModuleName ["Development","Shake","FilePattern"]`,+ `ModuleName ["Development","Shake","Forward"]`,+ `ModuleName ["Development","Shake","Monad"]`,+ `ModuleName ["Development","Shake","Pool"]`,+ `ModuleName ["Development","Shake","Profile"]`,+ `ModuleName ["Development","Shake","Progress"]`,+ `ModuleName ["Development","Shake","Resource"]`,+ `ModuleName ["Development","Shake","Rule"]`,+ `ModuleName ["Development","Shake","Rules","Directory"]`,+ `ModuleName ["Development","Shake","Rules","File"]`,+ `ModuleName ["Development","Shake","Rules","Files"]`,+ `ModuleName ["Development","Shake","Rules","Oracle"]`,+ `ModuleName ["Development","Shake","Rules","OrderOnly"]`,+ `ModuleName ["Development","Shake","Rules","Rerun"]`,+ `ModuleName ["Development","Shake","Shake"]`,+ `ModuleName ["Development","Shake","Special"]`,+ `ModuleName ["Development","Shake","Storage"]`,+ `ModuleName ["Development","Shake","Types"]`,+ `ModuleName ["Development","Shake","Util"]`,+ `ModuleName ["Development","Shake","Value"]`,+ `ModuleName ["General","Bilist"]`,+ `ModuleName ["General","Binary"]`,+ `ModuleName ["General","Cleanup"]`,+ `ModuleName ["General","Concurrent"]`,+ `ModuleName ["General","Extra"]`,+ `ModuleName ["General","FileLock"]`,+ `ModuleName ["General","Intern"]`,+ `ModuleName ["General","Process"]`,+ `ModuleName ["General","String"]`,+ `ModuleName ["General","Template"]`,+ `ModuleName ["General","Timing"]`,+ `ModuleName ["Paths_shake"]`,+ `ModuleName ["Run"]`,+ `ModuleName ["Test","Assume"]`,+ `ModuleName ["Test","Basic"]`,+ `ModuleName ["Test","Benchmark"]`,+ `ModuleName ["Test","C"]`,+ `ModuleName ["Test","Cache"]`,+ `ModuleName ["Test","Command"]`,+ `ModuleName ["Test","Config"]`,+ `ModuleName ["Test","Digest"]`,+ `ModuleName ["Test","Directory"]`,+ `ModuleName ["Test","Docs"]`,+ `ModuleName ["Test","Errors"]`,+ `ModuleName ["Test","FileLock"]`,+ `ModuleName ["Test","FilePath"]`,+ `ModuleName ["Test","FilePattern"]`,+ `ModuleName ["Test","Files"]`,+ `ModuleName ["Test","Forward"]`,+ `ModuleName ["Test","Journal"]`,+ `ModuleName ["Test","Lint"]`,+ `ModuleName ["Test","Live"]`,+ `ModuleName ["Test","Makefile"]`,+ `ModuleName ["Test","Manual"]`,+ `ModuleName ["Test","Match"]`,+ `ModuleName ["Test","Monad"]`,+ `ModuleName ["Test","Ninja"]`,+ `ModuleName ["Test","Oracle"]`,+ `ModuleName ["Test","OrderOnly"]`,+ `ModuleName ["Test","Parallel"]`,+ `ModuleName ["Test","Pool"]`,+ `ModuleName ["Test","Progress"]`,+ `ModuleName ["Test","Random"]`,+ `ModuleName ["Test","Resources"]`,+ `ModuleName ["Test","Self"]`,+ `ModuleName ["Test","Tar"]`,+ `ModuleName ["Test","Tup"]`,+ `ModuleName ["Test","Type"]`,+ `ModuleName ["Test","Unicode"]`,+ `ModuleName ["Test","Util"]`,+ `ModuleName ["Test","Verbosity"]`,+ `ModuleName ["Test","Version"]`],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "base"`+ (WildcardVersion+ `mkVersion [4]`),+ Dependency+ `PackageName "directory"`+ AnyVersion,+ Dependency+ `PackageName "hashable"`+ (OrLaterVersion+ `mkVersion [1,1,2,3]`),+ Dependency+ `PackageName "binary"`+ AnyVersion,+ Dependency+ `PackageName "filepath"`+ AnyVersion,+ Dependency+ `PackageName "process"`+ (OrLaterVersion+ `mkVersion [1,1]`),+ Dependency+ `PackageName "unordered-containers"`+ (OrLaterVersion+ `mkVersion [0,2,1]`),+ Dependency+ `PackageName "bytestring"`+ AnyVersion,+ Dependency+ `PackageName "utf8-string"`+ (OrLaterVersion+ `mkVersion [0,3]`),+ Dependency+ `PackageName "time"`+ AnyVersion,+ Dependency+ `PackageName "random"`+ AnyVersion,+ Dependency+ `PackageName "js-jquery"`+ AnyVersion,+ Dependency+ `PackageName "js-flot"`+ AnyVersion,+ Dependency+ `PackageName "transformers"`+ (OrLaterVersion+ `mkVersion [0,2]`),+ Dependency+ `PackageName "deepseq"`+ (OrLaterVersion+ `mkVersion [1,1]`),+ Dependency+ `PackageName "extra"`+ (OrLaterVersion+ `mkVersion [1,4,8]`),+ Dependency+ `PackageName "QuickCheck"`+ (OrLaterVersion+ `mkVersion [2,0]`)],+ virtualModules = []},+ testInterface = TestSuiteExeV10+ `mkVersion [1,0]` "Test.hs",+ testName = `UnqualComponentName ""`}}],+ genPackageFlags = [MkFlag+ {flagDefault = False,+ flagDescription = "Obtain FileTime using portable functions",+ flagManual = True,+ flagName = `FlagName "portable"`}],+ packageDescription = PackageDescription+ {author = "Neil Mitchell <ndmitchell@gmail.com>",+ benchmarks = [],+ bugReports = "https://github.com/ndmitchell/shake/issues",+ buildDepends = [],+ buildTypeRaw = Just Simple,+ category = "Development, Shake",+ copyright = "Neil Mitchell 2011-2017",+ customFieldsPD = [],+ dataDir = "",+ dataFiles = ["html/viz.js",+ "html/profile.html",+ "html/progress.html",+ "html/shake.js",+ "docs/manual/build.bat",+ "docs/manual/Build.hs",+ "docs/manual/build.sh",+ "docs/manual/constants.c",+ "docs/manual/constants.h",+ "docs/manual/main.c"],+ description = concat+ ["Shake is a Haskell library for writing build systems - designed as a\n",+ "replacement for @make@. See \"Development.Shake\" for an introduction,\n",+ "including an example. Further examples are included in the Cabal tarball,\n",+ "under the @Examples@ directory. The homepage contains links to a user\n",+ "manual, an academic paper and further information:\n",+ "<http://shakebuild.com>\n",+ "\n",+ "To use Shake the user writes a Haskell program\n",+ "that imports \"Development.Shake\", defines some build rules, and calls\n",+ "the 'Development.Shake.shakeArgs' function. Thanks to do notation and infix\n",+ "operators, a simple Shake build system\n",+ "is not too dissimilar from a simple Makefile. However, as build systems\n",+ "get more complex, Shake is able to take advantage of the excellent\n",+ "abstraction facilities offered by Haskell and easily support much larger\n",+ "projects. The Shake library provides all the standard features available in other\n",+ "build systems, including automatic parallelism and minimal rebuilds.\n",+ "Shake also provides more accurate dependency tracking, including seamless\n",+ "support for generated files, and dependencies on system information\n",+ "(e.g. compiler version)."],+ executables = [],+ extraDocFiles = ["CHANGES.txt", "README.md"],+ extraSrcFiles = ["src/Test/C/constants.c",+ "src/Test/C/constants.h",+ "src/Test/C/main.c",+ "src/Test/MakeTutor/Makefile",+ "src/Test/MakeTutor/hellofunc.c",+ "src/Test/MakeTutor/hellomake.c",+ "src/Test/MakeTutor/hellomake.h",+ "src/Test/Tar/list.txt",+ "src/Test/Ninja/*.ninja",+ "src/Test/Ninja/subdir/*.ninja",+ "src/Test/Ninja/*.output",+ "src/Test/Progress/*.prog",+ "src/Test/Tup/hello.c",+ "src/Test/Tup/root.cfg",+ "src/Test/Tup/newmath/root.cfg",+ "src/Test/Tup/newmath/square.c",+ "src/Test/Tup/newmath/square.h",+ "src/Paths.hs",+ "docs/Manual.md",+ "docs/shake-progress.png"],+ extraTmpFiles = [],+ foreignLibs = [],+ homepage = "http://shakebuild.com",+ library = Nothing,+ licenseFiles = ["LICENSE"],+ licenseRaw = Right BSD3,+ maintainer = "Neil Mitchell <ndmitchell@gmail.com>",+ package = PackageIdentifier+ {pkgName = `PackageName "shake"`,+ pkgVersion = `mkVersion [0,15,11]`},+ pkgUrl = "",+ setupBuildInfo = Nothing,+ sourceRepos = [SourceRepo+ {repoBranch = Nothing,+ repoKind = RepoHead,+ repoLocation = Just+ "https://github.com/ndmitchell/shake.git",+ repoModule = Nothing,+ repoSubdir = Nothing,+ repoTag = Nothing,+ repoType = Just Git}],+ specVersionRaw = Right (OrLaterVersion `mkVersion [1,18]`),+ stability = "",+ subLibraries = [],+ synopsis = "Build system library, like Make, but more accurate dependencies.",+ testSuites = [],+ testedWith = [_×_ GHC (ThisVersion `mkVersion [8,0,1]`),+ _×_ GHC (ThisVersion `mkVersion [7,10,3]`),+ _×_ GHC (ThisVersion `mkVersion [7,8,4]`),+ _×_ GHC (ThisVersion `mkVersion [7,6,3]`),+ _×_ GHC (ThisVersion `mkVersion [7,4,2]`)]}}
@@ -0,0 +1,411 @@+cabal-version: >=1.18+name: shake+version: 0.15.11+license: BSD3+license-file: LICENSE+copyright: Neil Mitchell 2011-2017+maintainer: Neil Mitchell <ndmitchell@gmail.com>+author: Neil Mitchell <ndmitchell@gmail.com>+tested-with: ghc ==8.0.1 ghc ==7.10.3 ghc ==7.8.4 ghc ==7.6.3+ ghc ==7.4.2+homepage: http://shakebuild.com+bug-reports: https://github.com/ndmitchell/shake/issues+synopsis: Build system library, like Make, but more accurate dependencies.+description:+ Shake is a Haskell library for writing build systems - designed as a+ replacement for @make@. See "Development.Shake" for an introduction,+ including an example. Further examples are included in the Cabal tarball,+ under the @Examples@ directory. The homepage contains links to a user+ manual, an academic paper and further information:+ <http://shakebuild.com>+ .+ To use Shake the user writes a Haskell program+ that imports "Development.Shake", defines some build rules, and calls+ the 'Development.Shake.shakeArgs' function. Thanks to do notation and infix+ operators, a simple Shake build system+ is not too dissimilar from a simple Makefile. However, as build systems+ get more complex, Shake is able to take advantage of the excellent+ abstraction facilities offered by Haskell and easily support much larger+ projects. The Shake library provides all the standard features available in other+ build systems, including automatic parallelism and minimal rebuilds.+ Shake also provides more accurate dependency tracking, including seamless+ support for generated files, and dependencies on system information+ (e.g. compiler version).+category: Development, Shake+build-type: Simple+data-files:+ html/viz.js+ html/profile.html+ html/progress.html+ html/shake.js+ docs/manual/build.bat+ docs/manual/Build.hs+ docs/manual/build.sh+ docs/manual/constants.c+ docs/manual/constants.h+ docs/manual/main.c+extra-source-files:+ src/Test/C/constants.c+ src/Test/C/constants.h+ src/Test/C/main.c+ src/Test/MakeTutor/Makefile+ src/Test/MakeTutor/hellofunc.c+ src/Test/MakeTutor/hellomake.c+ src/Test/MakeTutor/hellomake.h+ src/Test/Tar/list.txt+ src/Test/Ninja/*.ninja+ src/Test/Ninja/subdir/*.ninja+ src/Test/Ninja/*.output+ src/Test/Progress/*.prog+ src/Test/Tup/hello.c+ src/Test/Tup/root.cfg+ src/Test/Tup/newmath/root.cfg+ src/Test/Tup/newmath/square.c+ src/Test/Tup/newmath/square.h+ src/Paths.hs+ docs/Manual.md+ docs/shake-progress.png+extra-doc-files: CHANGES.txt+ README.md++source-repository head+ type: git+ location: https://github.com/ndmitchell/shake.git++flag portable+ description:+ Obtain FileTime using portable functions+ default: False+ manual: True++library+ exposed-modules:+ Development.Shake+ Development.Shake.Classes+ Development.Shake.Command+ Development.Shake.Config+ Development.Shake.FilePath+ Development.Shake.Forward+ Development.Shake.Rule+ Development.Shake.Util+ hs-source-dirs: src+ other-modules:+ Development.Ninja.Env+ Development.Ninja.Lexer+ Development.Ninja.Parse+ Development.Ninja.Type+ Development.Shake.Args+ Development.Shake.ByteString+ Development.Shake.Core+ Development.Shake.CmdOption+ Development.Shake.Database+ Development.Shake.Demo+ Development.Shake.Derived+ Development.Shake.Errors+ Development.Shake.FileInfo+ Development.Shake.FilePattern+ Development.Shake.Monad+ Development.Shake.Pool+ Development.Shake.Profile+ Development.Shake.Progress+ Development.Shake.Resource+ Development.Shake.Rules.Directory+ Development.Shake.Rules.File+ Development.Shake.Rules.Files+ Development.Shake.Rules.Oracle+ Development.Shake.Rules.OrderOnly+ Development.Shake.Rules.Rerun+ Development.Shake.Shake+ Development.Shake.Special+ Development.Shake.Storage+ Development.Shake.Types+ Development.Shake.Value+ General.Bilist+ General.Binary+ General.Cleanup+ General.Concurrent+ General.Extra+ General.FileLock+ General.Intern+ General.Process+ General.String+ General.Template+ General.Timing+ Paths_shake+ default-language: Haskell2010+ build-depends:+ base >=4.5,+ directory -any,+ hashable >=1.1.2.3,+ binary -any,+ filepath -any,+ process >=1.1,+ unordered-containers >=0.2.1,+ bytestring -any,+ utf8-string >=0.3,+ time -any,+ random -any,+ js-jquery -any,+ js-flot -any,+ transformers >=0.2,+ extra >=1.4.8,+ deepseq >=1.1+ + if flag(portable)+ cpp-options: -DPORTABLE+ + if impl(ghc <7.6)+ build-depends:+ old-time -any+ else+ + if !os(windows)+ build-depends:+ unix >=2.5.1+ + if !os(windows)+ build-depends:+ unix -any++executable shake+ main-is: Run.hs+ hs-source-dirs: src+ other-modules:+ Development.Make.All+ Development.Make.Env+ Development.Make.Parse+ Development.Make.Rules+ Development.Make.Type+ Development.Ninja.All+ Development.Ninja.Env+ Development.Ninja.Lexer+ Development.Ninja.Parse+ Development.Ninja.Type+ Development.Shake+ Development.Shake.Args+ Development.Shake.ByteString+ Development.Shake.Classes+ Development.Shake.CmdOption+ Development.Shake.Command+ Development.Shake.Core+ Development.Shake.Database+ Development.Shake.Demo+ Development.Shake.Derived+ Development.Shake.Errors+ Development.Shake.FileInfo+ Development.Shake.FilePath+ Development.Shake.FilePattern+ Development.Shake.Forward+ Development.Shake.Monad+ Development.Shake.Pool+ Development.Shake.Profile+ Development.Shake.Progress+ Development.Shake.Resource+ Development.Shake.Rule+ Development.Shake.Rules.Directory+ Development.Shake.Rules.File+ Development.Shake.Rules.Files+ Development.Shake.Rules.Oracle+ Development.Shake.Rules.OrderOnly+ Development.Shake.Rules.Rerun+ Development.Shake.Shake+ Development.Shake.Special+ Development.Shake.Storage+ Development.Shake.Types+ Development.Shake.Value+ General.Bilist+ General.Binary+ General.Cleanup+ General.Concurrent+ General.Extra+ General.FileLock+ General.Intern+ General.Process+ General.String+ General.Template+ General.Timing+ Paths_shake+ Run+ default-language: Haskell2010+ ghc-options: -main-is Run.main -rtsopts+ build-depends:+ base ==4.*,+ directory -any,+ hashable >=1.1.2.3,+ binary -any,+ filepath -any,+ process >=1.1,+ unordered-containers >=0.2.1,+ bytestring -any,+ utf8-string >=0.3,+ time -any,+ random -any,+ js-jquery -any,+ js-flot -any,+ transformers >=0.2,+ extra >=1.4.8,+ deepseq >=1.1,+ primitive -any+ + if impl(ghc >=7.8)+ ghc-options: -threaded "-with-rtsopts=-I0 -qg -qb"+ + if flag(portable)+ cpp-options: -DPORTABLE+ + if impl(ghc <7.6)+ build-depends:+ old-time -any+ else+ + if !os(windows)+ build-depends:+ unix >=2.5.1+ + if !os(windows)+ build-depends:+ unix -any++test-suite shake-test+ type: exitcode-stdio-1.0+ main-is: Test.hs+ hs-source-dirs: src+ other-modules:+ Development.Make.All+ Development.Make.Env+ Development.Make.Parse+ Development.Make.Rules+ Development.Make.Type+ Development.Ninja.All+ Development.Ninja.Env+ Development.Ninja.Lexer+ Development.Ninja.Parse+ Development.Ninja.Type+ Development.Shake+ Development.Shake.Args+ Development.Shake.ByteString+ Development.Shake.Classes+ Development.Shake.CmdOption+ Development.Shake.Command+ Development.Shake.Config+ Development.Shake.Core+ Development.Shake.Database+ Development.Shake.Demo+ Development.Shake.Derived+ Development.Shake.Errors+ Development.Shake.FileInfo+ Development.Shake.FilePath+ Development.Shake.FilePattern+ Development.Shake.Forward+ Development.Shake.Monad+ Development.Shake.Pool+ Development.Shake.Profile+ Development.Shake.Progress+ Development.Shake.Resource+ Development.Shake.Rule+ Development.Shake.Rules.Directory+ Development.Shake.Rules.File+ Development.Shake.Rules.Files+ Development.Shake.Rules.Oracle+ Development.Shake.Rules.OrderOnly+ Development.Shake.Rules.Rerun+ Development.Shake.Shake+ Development.Shake.Special+ Development.Shake.Storage+ Development.Shake.Types+ Development.Shake.Util+ Development.Shake.Value+ General.Bilist+ General.Binary+ General.Cleanup+ General.Concurrent+ General.Extra+ General.FileLock+ General.Intern+ General.Process+ General.String+ General.Template+ General.Timing+ Paths_shake+ Run+ Test.Assume+ Test.Basic+ Test.Benchmark+ Test.C+ Test.Cache+ Test.Command+ Test.Config+ Test.Digest+ Test.Directory+ Test.Docs+ Test.Errors+ Test.FileLock+ Test.FilePath+ Test.FilePattern+ Test.Files+ Test.Forward+ Test.Journal+ Test.Lint+ Test.Live+ Test.Makefile+ Test.Manual+ Test.Match+ Test.Monad+ Test.Ninja+ Test.Oracle+ Test.OrderOnly+ Test.Parallel+ Test.Pool+ Test.Progress+ Test.Random+ Test.Resources+ Test.Self+ Test.Tar+ Test.Tup+ Test.Type+ Test.Unicode+ Test.Util+ Test.Verbosity+ Test.Version+ default-language: Haskell2010+ ghc-options: -main-is Test.main -rtsopts+ build-depends:+ base ==4.*,+ directory -any,+ hashable >=1.1.2.3,+ binary -any,+ filepath -any,+ process >=1.1,+ unordered-containers >=0.2.1,+ bytestring -any,+ utf8-string >=0.3,+ time -any,+ random -any,+ js-jquery -any,+ js-flot -any,+ transformers >=0.2,+ deepseq >=1.1,+ extra >=1.4.8,+ QuickCheck >=2.0+ + if impl(ghc >=7.6)+ ghc-options: -with-rtsopts=-K1K+ + if impl(ghc >=7.8)+ ghc-options: -threaded+ + if flag(portable)+ cpp-options: -DPORTABLE+ + if impl(ghc <7.6)+ build-depends:+ old-time -any+ else+ + if !os(windows)+ build-depends:+ unix >=2.5.1+ + if !os(windows)+ build-depends:+ unix -any
@@ -0,0 +1,76 @@+name: th-lift-instances+version: 0.1.4+x-revision: 1+license: BSD3+cabal-version: >= 1.10+license-file: LICENSE+author: Benno Fünfstück+maintainer: Benno Fünfstück <benno.fuenfstueck@gmail.com>+stability: experimental+homepage: http://github.com/bennofs/th-lift-instances/+bug-reports: http://github.com/bennofs/th-lift-instances/issues+copyright: Copyright (C) 2013-2014 Benno Fünfstück+synopsis: Lift instances for template-haskell for common data types.+description: Most data types in haskell platform do not have Lift instances. This package provides orphan instances+ for containers, text, bytestring and vector.+build-type: Custom+category: Template Haskell++extra-source-files:+ .ghci+ .gitignore+ .travis.yml+ .vim.custom+ README.md++source-repository head+ type: git+ location: https://github.com/bennofs/th-lift-instances.git++library+ hs-source-dirs: src+ default-language: Haskell2010+ ghc-options: -Wall -fwarn-tabs+ build-depends:+ base >= 4.4 && < 5+ , template-haskell < 2.10+ , th-lift+ , containers >= 0.4 && < 0.6+ , vector >= 0.9 && < 0.11+ , text >= 0.11 && < 1.3+ , bytestring >= 0.9 && < 0.11+ exposed-modules:+ Instances.TH.Lift+ other-extensions: TemplateHaskell++test-suite tests+ type: exitcode-stdio-1.0+ main-is: Main.hs+ other-modules:+ Data+ default-language: Haskell2010+ build-depends:+ base+ , template-haskell <2.10+ , containers >= 0.4 && < 0.6+ , vector >= 0.9 && < 0.11+ , text >= 0.11 && < 1.2+ , bytestring >= 0.9 && < 0.11+ , th-lift-instances+ , QuickCheck >= 2.6 && < 2.8+ hs-source-dirs: tests+ other-extensions: TemplateHaskell++test-suite doctests+ type: exitcode-stdio-1.0+ main-is: doctests.hs+ default-language: Haskell2010+ build-depends:+ base+ , directory >= 1.0+ , doctest >= 0.9.1+ , filepath+ ghc-options: -Wall -threaded+ if impl(ghc<7.6.1)+ ghc-options: -Werror+ hs-source-dirs: tests
@@ -0,0 +1,432 @@+GenericPackageDescription+ {condBenchmarks = [],+ condExecutables = [],+ condForeignLibs = [],+ condLibrary = Just+ CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "base"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [4,4]`)+ (EarlierVersion `mkVersion [5]`)),+ Dependency+ `PackageName "template-haskell"`+ (EarlierVersion `mkVersion [2,10]`),+ Dependency `PackageName "th-lift"` AnyVersion,+ Dependency+ `PackageName "containers"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [0,4]`)+ (EarlierVersion `mkVersion [0,6]`)),+ Dependency+ `PackageName "vector"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [0,9]`)+ (EarlierVersion `mkVersion [0,11]`)),+ Dependency+ `PackageName "text"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [0,11]`)+ (EarlierVersion `mkVersion [1,3]`)),+ Dependency+ `PackageName "bytestring"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [0,9]`)+ (EarlierVersion `mkVersion [0,11]`))],+ condTreeData = Library+ {exposedModules = [`ModuleName ["Instances","TH","Lift"]`],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Just Haskell2010,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = ["src"],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [_×_+ GHC+ ["-Wall", "-fwarn-tabs"]],+ otherExtensions = [EnableExtension+ TemplateHaskell],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "base"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [4,4]`)+ (EarlierVersion+ `mkVersion [5]`)),+ Dependency+ `PackageName "template-haskell"`+ (EarlierVersion+ `mkVersion [2,10]`),+ Dependency+ `PackageName "th-lift"`+ AnyVersion,+ Dependency+ `PackageName "containers"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [0,4]`)+ (EarlierVersion+ `mkVersion [0,6]`)),+ Dependency+ `PackageName "vector"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [0,9]`)+ (EarlierVersion+ `mkVersion [0,11]`)),+ Dependency+ `PackageName "text"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [0,11]`)+ (EarlierVersion+ `mkVersion [1,3]`)),+ Dependency+ `PackageName "bytestring"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [0,9]`)+ (EarlierVersion+ `mkVersion [0,11]`))],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}},+ condSubLibraries = [],+ condTestSuites = [_×_+ `UnqualComponentName "tests"`+ CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency `PackageName "base"` AnyVersion,+ Dependency+ `PackageName "template-haskell"`+ (EarlierVersion `mkVersion [2,10]`),+ Dependency+ `PackageName "containers"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [0,4]`)+ (EarlierVersion `mkVersion [0,6]`)),+ Dependency+ `PackageName "vector"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [0,9]`)+ (EarlierVersion `mkVersion [0,11]`)),+ Dependency+ `PackageName "text"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [0,11]`)+ (EarlierVersion `mkVersion [1,2]`)),+ Dependency+ `PackageName "bytestring"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [0,9]`)+ (EarlierVersion `mkVersion [0,11]`)),+ Dependency+ `PackageName "th-lift-instances"` AnyVersion,+ Dependency+ `PackageName "QuickCheck"`+ (IntersectVersionRanges+ (OrLaterVersion `mkVersion [2,6]`)+ (EarlierVersion `mkVersion [2,8]`))],+ condTreeData = TestSuite+ {testBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Just Haskell2010,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = ["tests"],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [EnableExtension+ TemplateHaskell],+ otherLanguages = [],+ otherModules = [`ModuleName ["Data"]`],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "base"`+ AnyVersion,+ Dependency+ `PackageName "template-haskell"`+ (EarlierVersion+ `mkVersion [2,10]`),+ Dependency+ `PackageName "containers"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [0,4]`)+ (EarlierVersion+ `mkVersion [0,6]`)),+ Dependency+ `PackageName "vector"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [0,9]`)+ (EarlierVersion+ `mkVersion [0,11]`)),+ Dependency+ `PackageName "text"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [0,11]`)+ (EarlierVersion+ `mkVersion [1,2]`)),+ Dependency+ `PackageName "bytestring"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [0,9]`)+ (EarlierVersion+ `mkVersion [0,11]`)),+ Dependency+ `PackageName "th-lift-instances"`+ AnyVersion,+ Dependency+ `PackageName "QuickCheck"`+ (IntersectVersionRanges+ (OrLaterVersion+ `mkVersion [2,6]`)+ (EarlierVersion+ `mkVersion [2,8]`))],+ virtualModules = []},+ testInterface = TestSuiteExeV10+ `mkVersion [1,0]` "Main.hs",+ testName = `UnqualComponentName ""`}},+ _×_+ `UnqualComponentName "doctests"`+ CondNode+ {condTreeComponents = [CondBranch+ {condBranchCondition = `Var (Impl GHC (EarlierVersion (mkVersion [7,6,1])))`,+ condBranchIfFalse = Nothing,+ condBranchIfTrue = CondNode+ {condTreeComponents = [],+ condTreeConstraints = [],+ condTreeData = TestSuite+ {testBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [_×_+ GHC+ ["-Werror"]],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [],+ virtualModules = []},+ testInterface = TestSuiteUnsupported+ (TestTypeUnknown+ ""+ `mkVersion []`),+ testName = `UnqualComponentName ""`}}}],+ condTreeConstraints = [Dependency `PackageName "base"` AnyVersion,+ Dependency+ `PackageName "directory"`+ (OrLaterVersion `mkVersion [1,0]`),+ Dependency+ `PackageName "doctest"`+ (OrLaterVersion `mkVersion [0,9,1]`),+ Dependency `PackageName "filepath"` AnyVersion],+ condTreeData = TestSuite+ {testBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Just Haskell2010,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = ["tests"],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [_×_+ GHC+ ["-Wall", "-threaded"]],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "base"`+ AnyVersion,+ Dependency+ `PackageName "directory"`+ (OrLaterVersion+ `mkVersion [1,0]`),+ Dependency+ `PackageName "doctest"`+ (OrLaterVersion+ `mkVersion [0,9,1]`),+ Dependency+ `PackageName "filepath"`+ AnyVersion],+ virtualModules = []},+ testInterface = TestSuiteExeV10+ `mkVersion [1,0]` "doctests.hs",+ testName = `UnqualComponentName ""`}}],+ genPackageFlags = [],+ packageDescription = PackageDescription+ {author = "Benno F\252nfst\252ck",+ benchmarks = [],+ bugReports = "http://github.com/bennofs/th-lift-instances/issues",+ buildDepends = [],+ buildTypeRaw = Just Custom,+ category = "Template Haskell",+ copyright = "Copyright (C) 2013-2014 Benno F\252nfst\252ck",+ customFieldsPD = [_×_ "x-revision" "1"],+ dataDir = "",+ dataFiles = [],+ description = concat+ ["Most data types in haskell platform do not have Lift instances. This package provides orphan instances\n",+ "for containers, text, bytestring and vector."],+ executables = [],+ extraDocFiles = [],+ extraSrcFiles = [".ghci",+ ".gitignore",+ ".travis.yml",+ ".vim.custom",+ "README.md"],+ extraTmpFiles = [],+ foreignLibs = [],+ homepage = "http://github.com/bennofs/th-lift-instances/",+ library = Nothing,+ licenseFiles = ["LICENSE"],+ licenseRaw = Right BSD3,+ maintainer = "Benno F\252nfst\252ck <benno.fuenfstueck@gmail.com>",+ package = PackageIdentifier+ {pkgName = `PackageName "th-lift-instances"`,+ pkgVersion = `mkVersion [0,1,4]`},+ pkgUrl = "",+ setupBuildInfo = Nothing,+ sourceRepos = [SourceRepo+ {repoBranch = Nothing,+ repoKind = RepoHead,+ repoLocation = Just+ "https://github.com/bennofs/th-lift-instances.git",+ repoModule = Nothing,+ repoSubdir = Nothing,+ repoTag = Nothing,+ repoType = Just Git}],+ specVersionRaw = Right (OrLaterVersion `mkVersion [1,10]`),+ stability = "experimental",+ subLibraries = [],+ synopsis = "Lift instances for template-haskell for common data types.",+ testSuites = [],+ testedWith = []}}
@@ -0,0 +1,78 @@+th-lift-instances.cabal:15:9: Tabs used as indentation at 15:9+cabal-version: >=1.10+name: th-lift-instances+version: 0.1.4+license: BSD3+license-file: LICENSE+copyright: Copyright (C) 2013-2014 Benno Fünfstück+maintainer: Benno Fünfstück <benno.fuenfstueck@gmail.com>+author: Benno Fünfstück+stability: experimental+homepage: http://github.com/bennofs/th-lift-instances/+bug-reports: http://github.com/bennofs/th-lift-instances/issues+synopsis: Lift instances for template-haskell for common data types.+description:+ Most data types in haskell platform do not have Lift instances. This package provides orphan instances+ for containers, text, bytestring and vector.+category: Template Haskell+x-revision: 1+build-type: Custom+extra-source-files:+ .ghci+ .gitignore+ .travis.yml+ .vim.custom+ README.md++source-repository head+ type: git+ location: https://github.com/bennofs/th-lift-instances.git++library+ exposed-modules:+ Instances.TH.Lift+ hs-source-dirs: src+ default-language: Haskell2010+ other-extensions: TemplateHaskell+ ghc-options: -Wall -fwarn-tabs+ build-depends:+ base >=4.4 && <5,+ template-haskell <2.10,+ th-lift -any,+ containers >=0.4 && <0.6,+ vector >=0.9 && <0.11,+ text >=0.11 && <1.3,+ bytestring >=0.9 && <0.11++test-suite tests+ type: exitcode-stdio-1.0+ main-is: Main.hs+ hs-source-dirs: tests+ other-modules:+ Data+ default-language: Haskell2010+ other-extensions: TemplateHaskell+ build-depends:+ base -any,+ template-haskell <2.10,+ containers >=0.4 && <0.6,+ vector >=0.9 && <0.11,+ text >=0.11 && <1.2,+ bytestring >=0.9 && <0.11,+ th-lift-instances -any,+ QuickCheck >=2.6 && <2.8++test-suite doctests+ type: exitcode-stdio-1.0+ main-is: doctests.hs+ hs-source-dirs: tests+ default-language: Haskell2010+ ghc-options: -Wall -threaded+ build-depends:+ base -any,+ directory >=1.0,+ doctest >=0.9.1,+ filepath -any+ + if impl(ghc <7.6.1)+ ghc-options: -Werror
@@ -0,0 +1,34 @@+Name: wl-pprint-indef+Version: 1.2+Cabal-Version: >=1.6+Synopsis: The Wadler/Leijen Pretty Printer+Category: Text+Description:+ This is a pretty printing library based on Wadler's paper "A Prettier+ Printer". See the haddocks for full info. This version allows the+ library user to declare overlapping instances of the 'Pretty' class.+License: BSD3+License-file: LICENSE+Author: Daan Leijen+Maintainer: Noam Lewis <jones.noamle@gmail.com>+Build-Type: Simple++Executable wl-pprint-string-example+ Main-is: Main.hs+ Hs-Source-Dirs: example-string+ Other-Modules: StringImpl+ Build-Depends: base < 5,+ str-string >= 0.1.0.0,+ wl-pprint-indef+ Mixins: wl-pprint-indef requires (Text.PrettyPrint.Leijen.Str as StringImpl)++Library+ Exposed-Modules: Text.PrettyPrint.Leijen+ Signatures: Text.PrettyPrint.Leijen.Str+ Mixins: str-sig requires (Str as Text.PrettyPrint.Leijen.Str)+ Build-Depends: base < 5,+ str-sig >= 0.1.0.0++source-repository head+ type: git+ location: git@github.com:danidiaz/wl-pprint-indef.git
@@ -0,0 +1,183 @@+GenericPackageDescription+ {condBenchmarks = [],+ condExecutables = [_×_+ `UnqualComponentName "wl-pprint-string-example"`+ CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "base"`+ (EarlierVersion `mkVersion [5]`),+ Dependency+ `PackageName "str-string"`+ (OrLaterVersion `mkVersion [0,1,0,0]`),+ Dependency+ `PackageName "wl-pprint-indef"` AnyVersion],+ condTreeData = Executable+ {buildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = ["example-string"],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [`ModuleName ["StringImpl"]`],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "base"`+ (EarlierVersion+ `mkVersion [5]`),+ Dependency+ `PackageName "str-string"`+ (OrLaterVersion+ `mkVersion [0,1,0,0]`),+ Dependency+ `PackageName "wl-pprint-indef"`+ AnyVersion],+ virtualModules = []},+ exeName = `UnqualComponentName "wl-pprint-string-example"`,+ exeScope = ExecutablePublic,+ modulePath = "Main.hs"}}],+ condForeignLibs = [],+ condLibrary = Just+ CondNode+ {condTreeComponents = [],+ condTreeConstraints = [Dependency+ `PackageName "base"`+ (EarlierVersion `mkVersion [5]`),+ Dependency+ `PackageName "str-sig"`+ (OrLaterVersion `mkVersion [0,1,0,0]`)],+ condTreeData = Library+ {exposedModules = [`ModuleName ["Text","PrettyPrint","Leijen"]`],+ libBuildInfo = BuildInfo+ {asmOptions = [],+ asmSources = [],+ autogenModules = [],+ buildToolDepends = [],+ buildTools = [],+ buildable = True,+ cSources = [],+ ccOptions = [],+ cmmOptions = [],+ cmmSources = [],+ cppOptions = [],+ customFieldsBI = [],+ cxxOptions = [],+ cxxSources = [],+ defaultExtensions = [],+ defaultLanguage = Nothing,+ extraBundledLibs = [],+ extraFrameworkDirs = [],+ extraGHCiLibs = [],+ extraLibDirs = [],+ extraLibFlavours = [],+ extraLibs = [],+ frameworks = [],+ hsSourceDirs = [],+ includeDirs = [],+ includes = [],+ installIncludes = [],+ jsSources = [],+ ldOptions = [],+ mixins = [],+ oldExtensions = [],+ options = [],+ otherExtensions = [],+ otherLanguages = [],+ otherModules = [],+ pkgconfigDepends = [],+ profOptions = [],+ sharedOptions = [],+ staticOptions = [],+ targetBuildDepends = [Dependency+ `PackageName "base"`+ (EarlierVersion+ `mkVersion [5]`),+ Dependency+ `PackageName "str-sig"`+ (OrLaterVersion+ `mkVersion [0,1,0,0]`)],+ virtualModules = []},+ libExposed = True,+ libName = Nothing,+ reexportedModules = [],+ signatures = []}},+ condSubLibraries = [],+ condTestSuites = [],+ genPackageFlags = [],+ packageDescription = PackageDescription+ {author = "Daan Leijen",+ benchmarks = [],+ bugReports = "",+ buildDepends = [],+ buildTypeRaw = Just Simple,+ category = "Text",+ copyright = "",+ customFieldsPD = [],+ dataDir = "",+ dataFiles = [],+ description = concat+ ["This is a pretty printing library based on Wadler's paper \"A Prettier\n",+ "Printer\". See the haddocks for full info. This version allows the\n",+ "library user to declare overlapping instances of the 'Pretty' class."],+ executables = [],+ extraDocFiles = [],+ extraSrcFiles = [],+ extraTmpFiles = [],+ foreignLibs = [],+ homepage = "",+ library = Nothing,+ licenseFiles = ["LICENSE"],+ licenseRaw = Right BSD3,+ maintainer = "Noam Lewis <jones.noamle@gmail.com>",+ package = PackageIdentifier+ {pkgName = `PackageName "wl-pprint-indef"`,+ pkgVersion = `mkVersion [1,2]`},+ pkgUrl = "",+ setupBuildInfo = Nothing,+ sourceRepos = [SourceRepo+ {repoBranch = Nothing,+ repoKind = RepoHead,+ repoLocation = Just+ "git@github.com:danidiaz/wl-pprint-indef.git",+ repoModule = Nothing,+ repoSubdir = Nothing,+ repoTag = Nothing,+ repoType = Just Git}],+ specVersionRaw = Right (OrLaterVersion `mkVersion [1,6]`),+ stability = "",+ subLibraries = [],+ synopsis = "The Wadler/Leijen Pretty Printer",+ testSuites = [],+ testedWith = []}}
@@ -0,0 +1,38 @@+wl-pprint-indef.cabal:28:3: The field "mixins" is available since Cabal [2,0]+wl-pprint-indef.cabal:27:3: The field "signatures" is available since Cabal [2,0]+wl-pprint-indef.cabal:23:3: The field "mixins" is available since Cabal [2,0]+cabal-version: >=1.6+name: wl-pprint-indef+version: 1.2+license: BSD3+license-file: LICENSE+maintainer: Noam Lewis <jones.noamle@gmail.com>+author: Daan Leijen+synopsis: The Wadler/Leijen Pretty Printer+description:+ This is a pretty printing library based on Wadler's paper "A Prettier+ Printer". See the haddocks for full info. This version allows the+ library user to declare overlapping instances of the 'Pretty' class.+category: Text+build-type: Simple++source-repository head+ type: git+ location: git@github.com:danidiaz/wl-pprint-indef.git++library+ exposed-modules:+ Text.PrettyPrint.Leijen+ build-depends:+ base <5,+ str-sig >=0.1.0.0++executable wl-pprint-string-example+ main-is: Main.hs+ hs-source-dirs: example-string+ other-modules:+ StringImpl+ build-depends:+ base <5,+ str-string >=0.1.0.0,+ wl-pprint-indef -any
@@ -0,0 +1,9 @@+name: bool+version: 1+cabal-version: >= 1.6+extra-source-files:+ README.md -- we include it++library+ build-depends: base >= 4.9 && <4.10+ hs-source-dirs: .
@@ -0,0 +1,8 @@+name: multiplesingular+name: multiplesingular2+version: 1+cabal-version: >= 1.6++library+ build-depends: base >= 4.9 && <4.10+ hs-source-dirs: .
@@ -6,4 +6,4 @@ build-depends: base >= 4.9 && <4.10 hs-source-dirs: . iff os(windows)- build-depends: containers+ build-depends: containers
@@ -0,0 +1,12 @@+name: tab+version: 1+cabal-version: >= 1.6++library + build-depends: { base >= 4.9 && <4.10 } + hs-source-dirs: .++test-suite tests { + type: exitcode-stdio-1.0+ main-is: Main.hs+}
@@ -1,162 +0,0 @@-{- |--At the ZuriHac 2016 I worked on the new parsec-based parser for the *.cabal files.-The obvious test case is to compare new and old parser results for all of Hackage.-Traversing the Hackage is quite trivial. The difficult part is inspecting-the result 'GenericPackageDescription's to spot the difference.--In the same event, Andres Löh showed his library @generics-sop@. Obvious choice-to quickly put something together for the repetetive task. After all you can-compare records field-wise. And if sum constructors are different, that's-enough for our case as well!--Generic programming ftw.--}--{-# LANGUAGE CPP #-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DefaultSignatures #-}-{-# LANGUAGE FlexibleContexts #-}-{-# LANGUAGE GADTs #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE PolyKinds #-}-{-# LANGUAGE ScopedTypeVariables #-}-{-# LANGUAGE TypeFamilies #-}-{-# LANGUAGE TypeOperators #-}-{-# LANGUAGE UndecidableInstances #-}--- | TODO: package as a library? is this useful elsewhere?-module StructDiff where--import Control.Applicative (liftA2)-import Data.Align.Key (AlignWithKey (..))-import Data.Foldable (Foldable, fold, traverse_)-import Data.Key (Key)-import Data.List (intercalate)-import Data.Map (Map)-import Data.Monoid (Monoid (..), (<>))-import Data.Singletons.Bool (SBool (..), SBoolI (..), eqToRefl)-import Data.These (These (..))-import Data.Type.Equality-import Generics.SOP---- | Because @'Data.Proxy.Proxy' :: 'Data.Proxy.Proxy' a@ is so long.-data P a = P------------------------------------------------------------------------------------ Structure diffs------------------------------------------------------------------------------------ | Each thunk has a path, removed and added "stuff"-data DiffThunk = DiffThunk { dtPath :: [String], dtA :: String, dtB :: String }- deriving Show---- | Diff result is a collection of thunks-data DiffResult = DiffResult [DiffThunk]- deriving Show--prefixThunk :: String -> DiffThunk -> DiffThunk-prefixThunk pfx (DiffThunk path a b) = DiffThunk (pfx : path) a b--prefixResult :: String -> DiffResult -> DiffResult-prefixResult name (DiffResult thunks) = DiffResult $ map (prefixThunk name) thunks---- | Pretty print a result-prettyResultIO :: DiffResult -> IO ()-prettyResultIO (DiffResult []) = putStrLn "Equal"-prettyResultIO (DiffResult xs) = traverse_ p xs- where- p (DiffThunk paths a b) = do- putStrLn $ intercalate " " paths ++ " : "- putStrLn $ "- " ++ a- putStrLn $ "+ " ++ b---- | We can join diff results-instance Monoid DiffResult where- mempty = DiffResult mempty- mappend (DiffResult x) (DiffResult y) = DiffResult (mappend x y)---- | And we have a class for things we can diff-class Diff a where- diff :: a -> a -> DiffResult- default diff- :: (Generic a, HasDatatypeInfo a, All2 Diff (Code a))- => a -> a -> DiffResult- diff = gdiff---- | And generic implementation!-gdiff :: forall a. (Generic a, HasDatatypeInfo a, All2 Diff (Code a)) => a -> a -> DiffResult-gdiff x y = gdiffS (constructorInfo (P :: P a)) (unSOP $ from x) (unSOP $ from y)--gdiffS :: All2 Diff xss => NP ConstructorInfo xss -> NS (NP I) xss -> NS (NP I) xss -> DiffResult-gdiffS (c :* _) (Z xs) (Z ys) = mconcat $ hcollapse $ hczipWith3 (P :: P Diff) f (fieldNames c) xs ys- where- f :: Diff a => K FieldName a -> I a -> I a -> K DiffResult a- f (K fieldName) x y = K . prefixResult fieldName . unI $ liftA2 diff x y-gdiffS (_ :* cs) (S xss) (S yss) = gdiffS cs xss yss-gdiffS cs xs ys = DiffResult [DiffThunk [] (constructorNameOf cs xs) (constructorNameOf cs ys)]--eqDiff :: (Eq a, Show a) => a -> a -> DiffResult-eqDiff x y- | x == y = DiffResult []- | otherwise = DiffResult [DiffThunk [] (show x) (show y)]--alignDiff- :: (Show (Key f), Show a, Diff a, AlignWithKey f, Foldable f)- => f a -> f a -> DiffResult-alignDiff x y = fold $ alignWithKey (\k -> prefixResult (show k) . f) x y- where- f (These a b) = diff a b- f (This a) = DiffResult [DiffThunk [] (show a) "<none>"]- f (That b) = DiffResult [DiffThunk [] "<none>" (show b)]--instance Diff Char where diff = eqDiff-instance Diff Bool-instance Diff a => Diff (Maybe a)-instance Diff Int where diff = eqDiff-instance (Diff a, Diff b) => Diff (Either a b)--instance (Diff a, Diff b) => Diff (a, b) where- diff (a, b) (a', b') =- prefixResult "_1" (diff a a') <>- prefixResult "_2" (diff b b')--instance (Diff a, Diff b, Diff c) => Diff (a, b, c) where- diff (a, b, c) (a', b', c') =- prefixResult "_1" (diff a a') <>- prefixResult "_2" (diff b b') <>- prefixResult "_3" (diff c c')--instance (SBoolI (a == Char), Show a, Diff a) => Diff [a] where- diff = case sbool :: SBool (a == Char) of- STrue -> case eqToRefl :: a :~: Char of- Refl -> eqDiff- SFalse -> alignDiff--instance (Ord k, Show k, Diff v, Show v) => Diff (Map k v) where diff = alignDiff------------------------------------------------------------------------------------ SOP helpers----------------------------------------------------------------------------------constructorInfo :: (HasDatatypeInfo a, xss ~ Code a) => proxy a -> NP ConstructorInfo xss-constructorInfo p = case datatypeInfo p of- ADT _ _ cs -> cs- Newtype _ _ c -> c :* Nil--constructorNameOf :: NP ConstructorInfo xss -> NS f xss -> ConstructorName-constructorNameOf (c :* _) (Z _) = constructorName c-constructorNameOf (_ :* cs) (S xs) = constructorNameOf cs xs-#if __GLASGOW_HASKELL__ < 800-constructorNameOf _ _ = error "Should never happen"-#endif--constructorName :: ConstructorInfo xs -> ConstructorName-constructorName (Constructor name) = name-constructorName (Infix name _ _) = "(" ++ name ++ ")"-constructorName (Record name _) = name---- | This is a little lie.-fieldNames :: ConstructorInfo xs -> NP (K FieldName) xs-fieldNames (Constructor name) = hpure (K name) -- TODO: add .1 .2 etc.-fieldNames (Infix name _ _) = K ("-(" ++ name ++ ")") :* K ("(" ++ name ++ ")-") :* Nil-fieldNames (Record _ fis) = hmap (\(FieldInfo fieldName) -> K fieldName) fis
@@ -20,9 +20,12 @@ import qualified UnitTests.Distribution.Simple.Program.Internal import qualified UnitTests.Distribution.Simple.Utils import qualified UnitTests.Distribution.System+import qualified UnitTests.Distribution.Utils.Generic import qualified UnitTests.Distribution.Utils.NubList import qualified UnitTests.Distribution.Utils.ShortText import qualified UnitTests.Distribution.Version (versionTests)+import qualified UnitTests.Distribution.SPDX (spdxTests)+import qualified UnitTests.Distribution.Types.GenericPackageDescription tests :: Int -> TestTree tests mtimeChangeCalibrated =@@ -44,14 +47,20 @@ UnitTests.Distribution.Simple.Program.Internal.tests , testGroup "Distribution.Simple.Utils" UnitTests.Distribution.Simple.Utils.tests+ , testGroup "Distribution.Utils.Generic"+ UnitTests.Distribution.Utils.Generic.tests , testGroup "Distribution.Utils.NubList" UnitTests.Distribution.Utils.NubList.tests , testGroup "Distribution.Utils.ShortText" UnitTests.Distribution.Utils.ShortText.tests , testGroup "Distribution.System" UnitTests.Distribution.System.tests+ , testGroup "Distribution.Types.GenericPackageDescription"+ UnitTests.Distribution.Types.GenericPackageDescription.tests , testGroup "Distribution.Version" UnitTests.Distribution.Version.versionTests+ , testGroup "Distribution.SPDX"+ UnitTests.Distribution.SPDX.spdxTests ] extraOptions :: [OptionDescription]
@@ -0,0 +1,99 @@+{-# OPTIONS_GHC -fno-warn-orphans -fno-warn-deprecations #-}+module UnitTests.Distribution.SPDX (spdxTests) where++import Distribution.Compat.Prelude.Internal+import Prelude ()++import Distribution.SPDX+import Distribution.Parsec.Class (eitherParsec)+import Distribution.Pretty (prettyShow)++import Test.Tasty+import Test.Tasty.QuickCheck++spdxTests :: [TestTree]+spdxTests =+ [ testProperty "LicenseId roundtrip" licenseIdRoundtrip+ , testProperty "LicenseExceptionId roundtrip" licenseExceptionIdRoundtrip+ , testProperty "LicenseRef roundtrip" licenseRefRoundtrip+ , testProperty "SimpleLicenseExpression roundtrip" simpleLicenseExpressionRoundtrip+ , testProperty "LicenseExpression roundtrip" licenseExpressionRoundtrip+ ]++licenseIdRoundtrip :: LicenseId -> Property+licenseIdRoundtrip x = + counterexample (prettyShow x) $+ Right x === eitherParsec (prettyShow x)++licenseExceptionIdRoundtrip :: LicenseExceptionId -> Property+licenseExceptionIdRoundtrip x =+ counterexample (prettyShow x) $+ Right x === eitherParsec (prettyShow x)++licenseRefRoundtrip :: LicenseRef -> Property+licenseRefRoundtrip x =+ counterexample (prettyShow x) $+ Right x === eitherParsec (prettyShow x)++simpleLicenseExpressionRoundtrip :: SimpleLicenseExpression -> Property+simpleLicenseExpressionRoundtrip x = + counterexample (prettyShow x) $+ Right x === eitherParsec (prettyShow x)++licenseExpressionRoundtrip :: LicenseExpression -> Property+licenseExpressionRoundtrip x = + counterexample (prettyShow x) $+ Right (reassoc x) === eitherParsec (prettyShow x)++-- Parser produces right biased trees of and/or expressions+reassoc :: LicenseExpression -> LicenseExpression+reassoc (EOr a b) = case reassoc a of+ EOr x y -> EOr x (reassoc (EOr y b))+ x -> EOr x (reassoc b)+reassoc (EAnd a b) = case reassoc a of+ EAnd x y -> EAnd x (reassoc (EAnd y b))+ x -> EAnd x (reassoc b)+reassoc l = l++-------------------------------------------------------------------------------+-- Instances+-------------------------------------------------------------------------------++instance Arbitrary LicenseId where+ arbitrary = arbitraryBoundedEnum++instance Arbitrary LicenseExceptionId where+ arbitrary = arbitraryBoundedEnum++instance Arbitrary LicenseRef where+ arbitrary = mkLicenseRef' <$> ids' <*> ids+ where+ ids = listOf1 $ elements $ ['a'..'z'] ++ ['A' .. 'Z'] ++ ['0'..'9'] ++ "_-"+ ids' = oneof [ pure Nothing, Just <$> ids ]++instance Arbitrary SimpleLicenseExpression where+ arbitrary = oneof+ [ ELicenseId <$> arbitrary+ , ELicenseIdPlus <$> arbitrary+ , ELicenseRef <$> arbitrary+ ]++instance Arbitrary LicenseExpression where+ arbitrary = sized arb+ where+ arb n+ | n <= 0 = ELicense <$> arbitrary <*> pure Nothing+ | otherwise = oneof+ [ ELicense <$> arbitrary <*> arbitrary+ , EAnd <$> arbA <*> arbB+ , EOr <$> arbA <*> arbB+ ]+ where+ m = n `div` 2+ arbA = arb m + arbB = arb (n - m)++ shrink (EAnd a b) = a : b : map (uncurry EAnd) (shrink (a, b))+ shrink (EOr a b) = a : b : map (uncurry EOr) (shrink (a, b))+ shrink _ = []+
@@ -66,20 +66,21 @@ hClose handleExe -- Compile- compilationResult <- rawSystemStdInOut normal+ (IODataText resOutput, resErrors, resExitCode) <- rawSystemStdInOut normal "ghc" ["-o", filenameExe, filenameHs] Nothing Nothing Nothing- False- print compilationResult+ IODataModeText+ print (resOutput, resErrors, resExitCode) -- Execute Exception.try $ do rawSystemStdInOut normal filenameExe [] Nothing Nothing Nothing- False -- not binary mode output, ie utf8 text mode so try to decode+ IODataModeText -- not binary mode output, ie utf8 text mode so try to decode case res of- Right x -> assertFailure $ "expected IO decoding exception: " ++ show x+ Right (IODataText x1, x2, x3) -> assertFailure $ "expected IO decoding exception: " ++ show (x1,x2,x3)+ Right (IODataBinary _, _, _) -> assertFailure "internal error" Left err | isDoesNotExistError err -> Exception.throwIO err -- no ghc! | otherwise -> return ()
@@ -0,0 +1,37 @@+{-# OPTIONS_GHC -fno-warn-deprecations #-} -- for importing "Distribution.Compat.Prelude.Internal"++module UnitTests.Distribution.Types.GenericPackageDescription where++import Prelude ()+import Distribution.Compat.Prelude.Internal+import Distribution.Types.GenericPackageDescription++import Test.Tasty+import Test.Tasty.HUnit+import qualified Control.Exception as C++tests :: [TestTree]+tests =+ [ testCase "GenericPackageDescription deepseq" gpdDeepseq+ ]++gpdFields :: [(String, GenericPackageDescription -> GenericPackageDescription)]+gpdFields =+ [ ("packageDescription", \gpd -> gpd { packageDescription = undefined })+ , ("genPackageFlags", \gpd -> gpd { genPackageFlags = undefined })+ , ("condLibrary", \gpd -> gpd { condLibrary = undefined })+ , ("condSubLibraries", \gpd -> gpd { condSubLibraries = undefined })+ , ("condForeignLibs", \gpd -> gpd { condForeignLibs = undefined })+ , ("condExecutables", \gpd -> gpd { condExecutables = undefined })+ , ("condTestSuites", \gpd -> gpd { condTestSuites = undefined })+ , ("condBenchmarks", \gpd -> gpd { condBenchmarks = undefined })+ ]++gpdDeepseq :: Assertion+gpdDeepseq = sequence_+ [ throwsUndefined msg (f emptyGenericPackageDescription) | (msg, f) <- gpdFields ]++throwsUndefined :: NFData a => String -> a -> Assertion+throwsUndefined field a =+ C.catch (C.evaluate (rnf a) >> assertFailure ("Deepseq failed to evaluate " ++ show field))+ (\(C.ErrorCall _) -> return ())
@@ -0,0 +1,71 @@+{-# LANGUAGE OverloadedStrings #-}++-- to suppress WARNING in "Distribution.Compat.Prelude.Internal"+{-# OPTIONS_GHC -fno-warn-deprecations #-}++module UnitTests.Distribution.Utils.Generic ( tests ) where++import Prelude ()+import Distribution.Compat.Prelude.Internal++import Distribution.Utils.Generic++import qualified Data.ByteString.Char8 as BS+import qualified Data.Text as T+import qualified Data.Text.Encoding as T++import Test.Tasty+import Test.Tasty.HUnit+import Test.Tasty.QuickCheck++tests :: [TestTree]+tests =+ [ -- fromUTF8BS / toUTF8BS+ testCase "fromUTF8BS mempty" testFromUTF8BSEmpty+ , testCase "toUTF8BS mempty" testToUTF8BSEmpty+ , testCase "toUTF8BS [U+D800..U+DFFF]" testToUTF8BSSurr+ , testCase "toUTF8BS [U+0000..U+7F]" testToUTF8BSAscii+ , testCase "toUTF8BS [U+0000..U+10FFFF]" testToUTF8BSText+ , testCase "fromUTF8BS.toUTF8BS [U+0000..U+10FFFF]" testToFromUTF8BS++ , testProperty "fromUTF8BS.toUTF8BS == id" prop_toFromUTF8BS+ , testProperty "toUTF8BS == encodeUtf8" prop_toUTF8BS++ , testProperty "Nothing = validateUtf8 (encodeUtf8 x)" prop_validateUtf8+ ]++testFromUTF8BSEmpty :: Assertion+testFromUTF8BSEmpty = mempty @=? fromUTF8BS mempty++testToUTF8BSEmpty :: Assertion+testToUTF8BSEmpty = mempty @=? toUTF8BS mempty++testToUTF8BSSurr :: Assertion+testToUTF8BSSurr = BS.concat (replicate 2048 u_fffd) @=? toUTF8BS surrogates+ where+ surrogates = ['\xD800'..'\xDFFF']+ u_fffd = "\xEF\xBF\xBD"++testToUTF8BSText :: Assertion+testToUTF8BSText = T.encodeUtf8 (T.pack txt) @=? toUTF8BS txt+ where+ txt = ['\x00'..'\x10FFFF']++testToUTF8BSAscii :: Assertion+testToUTF8BSAscii = BS.pack txt @=? toUTF8BS txt+ where+ txt = ['\x00'..'\x7F']++testToFromUTF8BS :: Assertion+testToFromUTF8BS = txt @=? (fromUTF8BS . toUTF8BS) txt+ where+ txt = ['\x0000'..'\xD7FF'] ++ ['\xE000'..'\x10FFFF']++prop_toFromUTF8BS :: [Char] -> Property+prop_toFromUTF8BS txt = txt === (fromUTF8BS . toUTF8BS) txt++prop_toUTF8BS :: [Char] -> Property+prop_toUTF8BS txt = T.encodeUtf8 (T.pack txt) === toUTF8BS txt++prop_validateUtf8 :: [Char] -> Property+prop_validateUtf8 txt = Nothing === validateUTF8 (toUTF8BS txt)
@@ -1,26 +1,28 @@-{-# LANGUAGE CPP #-}+{-# LANGUAGE CPP, StandaloneDeriving, DeriveDataTypeable #-} {-# OPTIONS_GHC -fno-warn-orphans -fno-warn-incomplete-patterns -fno-warn-deprecations -fno-warn-unused-binds #-} --FIXME module UnitTests.Distribution.Version (versionTests) where +import Distribution.Compat.Prelude.Internal+import Prelude ()+ import Distribution.Version import Distribution.Text+import Distribution.Parsec.Class (simpleParsec) +import Data.Typeable (typeOf)+import Math.NumberTheory.Logarithms (intLog2) import Text.PrettyPrint as Disp (text, render, parens, hcat- ,punctuate, int, char, (<>), (<+>))-+ ,punctuate, int, char, (<+>)) import Test.Tasty import Test.Tasty.QuickCheck import qualified Test.Laws as Laws import Test.QuickCheck.Utils -import Control.Monad (liftM, liftM2)-import Data.Maybe (isJust, fromJust)-import Data.List (sort, sortBy, nub)-import Data.Ord (comparing)+import Data.Maybe (fromJust) import Data.Function (on) #if MIN_VERSION_base(4,6,0) import Text.Read (readMaybe)@@ -38,74 +40,85 @@ , tp "readMaybe . show = Just" prop_ShowRead , tp "read example" prop_ShowRead_example++ , tp "normaliseVersionRange involutive" prop_normalise_inv+ , tp "parse . display involutive" prop_parse_disp_inv+ , tp "parsec . display involutive" prop_parsec_disp_inv++ , tp "simpleParsec . display = Just" prop_parse_disp ] - ++ - zipWith (\n p -> testProperty ("Range Property " ++ show n) p) [1::Int ..]+ +++ zipWith+ (\n (rep, p) -> testProperty ("Range Property " ++ show n ++ " (" ++ show rep ++ ")") p)+ [1::Int ..] -- properties to validate the test framework- [ property prop_nonNull- , property prop_gen_intervals1- , property prop_gen_intervals2- --, property prop_equivalentVersionRange --FIXME: runs out of test cases- , property prop_intermediateVersion+ [ typProperty prop_nonNull+ , typProperty prop_gen_intervals1+ , typProperty prop_gen_intervals2+ --, typProperty prop_equivalentVersionRange --FIXME: runs out of test cases+ , typProperty prop_intermediateVersion - , property prop_anyVersion- , property prop_noVersion- , property prop_thisVersion- , property prop_notThisVersion- , property prop_laterVersion- , property prop_orLaterVersion- , property prop_earlierVersion- , property prop_orEarlierVersion- , property prop_unionVersionRanges- , property prop_intersectVersionRanges- , property prop_differenceVersionRanges- , property prop_invertVersionRange- , property prop_withinVersion- , property prop_foldVersionRange- , property prop_foldVersionRange'+ , typProperty prop_anyVersion+ , typProperty prop_noVersion+ , typProperty prop_thisVersion+ , typProperty prop_notThisVersion+ , typProperty prop_laterVersion+ , typProperty prop_orLaterVersion+ , typProperty prop_earlierVersion+ , typProperty prop_orEarlierVersion+ , typProperty prop_unionVersionRanges+ , typProperty prop_intersectVersionRanges+ , typProperty prop_differenceVersionRanges+ , typProperty prop_invertVersionRange+ , typProperty prop_withinVersion+ , typProperty prop_foldVersionRange+ , typProperty prop_foldVersionRange' -- the semantic query functions- --, property prop_isAnyVersion1 --FIXME: runs out of test cases- --, property prop_isAnyVersion2 --FIXME: runs out of test cases- --, property prop_isNoVersion --FIXME: runs out of test cases- --, property prop_isSpecificVersion1 --FIXME: runs out of test cases- --, property prop_isSpecificVersion2 --FIXME: runs out of test cases- , property prop_simplifyVersionRange1- , property prop_simplifyVersionRange1'- --, property prop_simplifyVersionRange2 --FIXME: runs out of test cases- --, property prop_simplifyVersionRange2' --FIXME: runs out of test cases- --, property prop_simplifyVersionRange2'' --FIXME: actually wrong+ --, typProperty prop_isAnyVersion1 --FIXME: runs out of test cases+ --, typProperty prop_isAnyVersion2 --FIXME: runs out of test cases+ --, typProperty prop_isNoVersion --FIXME: runs out of test cases+ --, typProperty prop_isSpecificVersion1 --FIXME: runs out of test cases+ --, typProperty prop_isSpecificVersion2 --FIXME: runs out of test cases+ , typProperty prop_simplifyVersionRange1+ , typProperty prop_simplifyVersionRange1'+ --, typProperty prop_simplifyVersionRange2 --FIXME: runs out of test cases+ --, typProperty prop_simplifyVersionRange2' --FIXME: runs out of test cases+ --, typProperty prop_simplifyVersionRange2'' --FIXME: actually wrong -- converting between version ranges and version intervals- , property prop_to_intervals- --, property prop_to_intervals_canonical --FIXME: runs out of test cases- --, property prop_to_intervals_canonical' --FIXME: runs out of test cases- , property prop_from_intervals- , property prop_to_from_intervals- , property prop_from_to_intervals- , property prop_from_to_intervals'+ , typProperty prop_to_intervals+ --, typProperty prop_to_intervals_canonical --FIXME: runs out of test cases+ --, typProperty prop_to_intervals_canonical' --FIXME: runs out of test cases+ , typProperty prop_from_intervals+ , typProperty prop_to_from_intervals+ , typProperty prop_from_to_intervals+ , typProperty prop_from_to_intervals' -- union and intersection of version intervals- , property prop_unionVersionIntervals- , property prop_unionVersionIntervals_idempotent- , property prop_unionVersionIntervals_commutative- , property prop_unionVersionIntervals_associative- , property prop_intersectVersionIntervals- , property prop_intersectVersionIntervals_idempotent- , property prop_intersectVersionIntervals_commutative- , property prop_intersectVersionIntervals_associative- , property prop_union_intersect_distributive- , property prop_intersect_union_distributive+ , typProperty prop_unionVersionIntervals+ , typProperty prop_unionVersionIntervals_idempotent+ , typProperty prop_unionVersionIntervals_commutative+ , typProperty prop_unionVersionIntervals_associative+ , typProperty prop_intersectVersionIntervals+ , typProperty prop_intersectVersionIntervals_idempotent+ , typProperty prop_intersectVersionIntervals_commutative+ , typProperty prop_intersectVersionIntervals_associative+ , typProperty prop_union_intersect_distributive+ , typProperty prop_intersect_union_distributive -- inversion of version intervals- , property prop_invertVersionIntervals- , property prop_invertVersionIntervalsTwice+ , typProperty prop_invertVersionIntervals+ , typProperty prop_invertVersionIntervalsTwice ] where tp :: Testable p => String -> p -> TestTree tp = testProperty + typProperty p = (typeOf p, property p)++ -- parseTests :: [TestTree] -- parseTests = -- zipWith (\n p -> testProperty ("Parse Property " ++ show n) p) [1::Int ..]@@ -173,6 +186,7 @@ , (1, liftM orEarlierVersion arbitrary) , (1, liftM orEarlierVersion' arbitrary) , (1, liftM withinVersion arbitrary)+ , (1, liftM majorBoundVersion arbitrary) , (2, liftM VersionRangeParens arbitrary) ] ++ if n == 0 then [] else [ (2, liftM2 unionVersionRanges verRangeExp2 verRangeExp2)@@ -186,6 +200,18 @@ orEarlierVersion' v = unionVersionRanges (EarlierVersion v) (ThisVersion v) + shrink AnyVersion = []+ shrink (ThisVersion v) = map ThisVersion (shrink v)+ shrink (LaterVersion v) = map LaterVersion (shrink v)+ shrink (EarlierVersion v) = map EarlierVersion (shrink v)+ shrink (OrLaterVersion v) = LaterVersion v : map OrLaterVersion (shrink v)+ shrink (OrEarlierVersion v) = EarlierVersion v : map OrEarlierVersion (shrink v)+ shrink (WildcardVersion v) = map WildcardVersion ( shrink v)+ shrink (MajorBoundVersion v) = map MajorBoundVersion (shrink v)+ shrink (VersionRangeParens vr) = vr : map VersionRangeParens (shrink vr)+ shrink (UnionVersionRanges a b) = a : b : map (uncurry UnionVersionRanges) (shrink (a, b))+ shrink (IntersectVersionRanges a b) = a : b : map (uncurry IntersectVersionRanges) (shrink (a, b))+ --------------------- -- Version properties --@@ -230,12 +256,16 @@ -- VersionRange properties -- +prop_normalise_inv :: VersionRange -> Property+prop_normalise_inv vr =+ normaliseVersionRange vr === normaliseVersionRange (normaliseVersionRange vr)+ prop_nonNull :: Version -> Bool prop_nonNull = (/= nullVersion) prop_anyVersion :: Version -> Bool prop_anyVersion v' =- withinRange v' anyVersion == True+ withinRange v' anyVersion prop_noVersion :: Version -> Bool prop_noVersion v' =@@ -298,51 +328,43 @@ where upper = alterVersion $ \numbers -> init numbers ++ [last numbers + 1] -prop_foldVersionRange :: VersionRange -> Bool+prop_foldVersionRange :: VersionRange -> Property prop_foldVersionRange range =- expandWildcard range- == foldVersionRange anyVersion thisVersion+ expandVR range+ === foldVersionRange anyVersion thisVersion laterVersion earlierVersion unionVersionRanges intersectVersionRanges range where- expandWildcard (WildcardVersion v) =- intersectVersionRanges (orLaterVersion v) (earlierVersion (upper v))- expandWildcard (UnionVersionRanges v1 v2) =- UnionVersionRanges (expandWildcard v1) (expandWildcard v2)- expandWildcard (IntersectVersionRanges v1 v2) =- IntersectVersionRanges (expandWildcard v1) (expandWildcard v2)- expandWildcard (VersionRangeParens v) = expandWildcard v- expandWildcard v = v+ expandVR (WildcardVersion v) =+ intersectVersionRanges (expandVR (orLaterVersion v)) (earlierVersion (wildcardUpperBound v))+ expandVR (MajorBoundVersion v) =+ intersectVersionRanges (expandVR (orLaterVersion v)) (earlierVersion (majorUpperBound v))+ expandVR (OrEarlierVersion v) =+ unionVersionRanges (thisVersion v) (earlierVersion v)+ expandVR (OrLaterVersion v) =+ unionVersionRanges (thisVersion v) (laterVersion v)+ expandVR (UnionVersionRanges v1 v2) =+ UnionVersionRanges (expandVR v1) (expandVR v2)+ expandVR (IntersectVersionRanges v1 v2) =+ IntersectVersionRanges (expandVR v1) (expandVR v2)+ expandVR (VersionRangeParens v) = expandVR v+ expandVR v = v upper = alterVersion $ \numbers -> init numbers ++ [last numbers + 1] -prop_foldVersionRange' :: VersionRange -> Bool+prop_foldVersionRange' :: VersionRange -> Property prop_foldVersionRange' range =- canonicalise range- == foldVersionRange' anyVersion thisVersion+ normaliseVersionRange srange+ === foldVersionRange' anyVersion thisVersion laterVersion earlierVersion orLaterVersion orEarlierVersion (\v _ -> withinVersion v) (\v _ -> majorBoundVersion v) unionVersionRanges intersectVersionRanges id- range+ srange where- canonicalise (UnionVersionRanges (LaterVersion v)- (ThisVersion v')) | v == v'- = UnionVersionRanges (ThisVersion v')- (LaterVersion v)- canonicalise (UnionVersionRanges (EarlierVersion v)- (ThisVersion v')) | v == v'- = UnionVersionRanges (ThisVersion v')- (EarlierVersion v)- canonicalise (UnionVersionRanges v1 v2) =- UnionVersionRanges (canonicalise v1) (canonicalise v2)- canonicalise (IntersectVersionRanges v1 v2) =- IntersectVersionRanges (canonicalise v1) (canonicalise v2)- canonicalise (VersionRangeParens v) = canonicalise v- canonicalise v = v-+ srange = stripParensVersionRange range prop_isAnyVersion1 :: VersionRange -> Version -> Property prop_isAnyVersion1 range version =@@ -420,82 +442,53 @@ -- make a local type for generating the internal representation. Then we check -- that this lets us construct valid 'VersionIntervals'. ---newtype VersionIntervals' = VersionIntervals' [VersionInterval]- deriving (Eq, Show) -instance Arbitrary VersionIntervals' where- arbitrary = do- ubound <- arbitrary- bounds <- arbitrary- let intervals = mergeTouching- . map fixEmpty- . replaceUpper ubound- . pairs- . sortBy (comparing fst)- $ bounds- return (VersionIntervals' intervals)-+instance Arbitrary VersionIntervals where+ arbitrary = fmap mkVersionIntervals' arbitrary where- pairs ((l, lb):(u, ub):bs) = (LowerBound l lb, UpperBound u ub)- : pairs bs- pairs _ = []-- replaceUpper NoUpperBound [(l,_)] = [(l, NoUpperBound)]- replaceUpper NoUpperBound (i:is) = i : replaceUpper NoUpperBound is- replaceUpper _ is = is-- -- merge adjacent intervals that touch- mergeTouching (i1@(l,u):i2@(l',u'):is)- | doesNotTouch u l' = i1 : mergeTouching (i2:is)- | otherwise = mergeTouching ((l,u'):is)- mergeTouching is = is-- doesNotTouch :: UpperBound -> LowerBound -> Bool- doesNotTouch NoUpperBound _ = False- doesNotTouch (UpperBound u ub) (LowerBound l lb) =- u < l- || (u == l && ub == ExclusiveBound && lb == ExclusiveBound)-- fixEmpty (LowerBound l _, UpperBound u _)- | l == u = (LowerBound l InclusiveBound, UpperBound u InclusiveBound)- fixEmpty i = i+ mkVersionIntervals' :: [(Version, Bound)] -> VersionIntervals+ mkVersionIntervals' = mkVersionIntervals . go version0+ where+ go :: Version -> [(Version, Bound)] -> [VersionInterval]+ go _ [] = []+ go v [(lv, lb)] =+ [(LowerBound (addVersion lv v) lb, NoUpperBound)]+ go v ((lv, lb) : (uv, ub) : rest) =+ (LowerBound lv' lb, UpperBound uv' ub) : go uv' rest+ where+ lv' = addVersion v lv+ uv' = addVersion lv' uv - shrink (VersionIntervals' intervals) =- [ VersionIntervals' intervals' | intervals' <- shrink intervals ]+ addVersion :: Version -> Version -> Version+ addVersion xs ys = mkVersion $ z (versionNumbers xs) (versionNumbers ys)+ where+ z [] ys' = ys'+ z xs' [] = xs'+ z (x : xs') (y : ys') = x + y : z xs' ys' instance Arbitrary Bound where arbitrary = elements [ExclusiveBound, InclusiveBound] -instance Arbitrary LowerBound where- arbitrary = liftM2 LowerBound arbitrary arbitrary--instance Arbitrary UpperBound where- arbitrary = oneof [return NoUpperBound- ,liftM2 UpperBound arbitrary arbitrary]- -- | Check that our VersionIntervals' arbitrary instance generates intervals -- that satisfies the invariant. ---prop_gen_intervals1 :: VersionIntervals' -> Bool-prop_gen_intervals1 (VersionIntervals' intervals) =- isJust (mkVersionIntervals intervals)--instance Arbitrary VersionIntervals where- arbitrary = do- VersionIntervals' intervals <- arbitrary- case mkVersionIntervals intervals of- Just xs -> return xs+prop_gen_intervals1 :: VersionIntervals -> Property+prop_gen_intervals1 i+ = label ("length i ≈ 2 ^ " ++ show metric ++ " - 1")+ $ xs === ys+ where+ metric = intLog2 (length xs + 1) + xs = versionIntervals i+ ys = versionIntervals (mkVersionIntervals xs) -- | Check that constructing our intervals type and converting it to a -- 'VersionRange' and then into the true intervals type gives us back -- the exact same sequence of intervals. This tells us that our arbitrary -- instance for 'VersionIntervals'' is ok. ---prop_gen_intervals2 :: VersionIntervals' -> Bool-prop_gen_intervals2 (VersionIntervals' intervals') =- asVersionIntervals (fromVersionIntervals intervals) == intervals'- where- Just intervals = mkVersionIntervals intervals'+prop_gen_intervals2 :: VersionIntervals -> Property+prop_gen_intervals2 intervals =+ toVersionIntervals (fromVersionIntervals intervals) === intervals -- | Check that 'VersionIntervals' models 'VersionRange' via -- 'toVersionIntervals'.@@ -701,41 +694,33 @@ -- Parsing and pretty printing -- -prop_parse_disp1 :: VersionRange -> Bool-prop_parse_disp1 vr =- fmap stripParens (simpleParse (display vr)) == Just (canonicalise vr)-+prop_parse_disp_inv :: VersionRange -> Property+prop_parse_disp_inv vr =+ parseDisp vr === (parseDisp vr >>= parseDisp) where- canonicalise = swizzle . swap-- swizzle (UnionVersionRanges (UnionVersionRanges v1 v2) v3)- | not (isOrLaterVersion v1 v2) && not (isOrEarlierVersion v1 v2)- = swizzle (UnionVersionRanges v1 (UnionVersionRanges v2 v3))-- swizzle (IntersectVersionRanges (IntersectVersionRanges v1 v2) v3)- = swizzle (IntersectVersionRanges v1 (IntersectVersionRanges v2 v3))-- swizzle (UnionVersionRanges v1 v2) =- UnionVersionRanges (swizzle v1) (swizzle v2)- swizzle (IntersectVersionRanges v1 v2) =- IntersectVersionRanges (swizzle v1) (swizzle v2)- swizzle (VersionRangeParens v) = swizzle v- swizzle v = v-- isOrLaterVersion (ThisVersion v) (LaterVersion v') = v == v'- isOrLaterVersion _ _ = False+ parseDisp = simpleParse . display - isOrEarlierVersion (ThisVersion v) (EarlierVersion v') = v == v'- isOrEarlierVersion _ _ = False+prop_parsec_disp_inv :: VersionRange -> Property+prop_parsec_disp_inv vr =+ parseDisp vr === (parseDisp vr >>= parseDisp)+ where+ parseDisp = simpleParsec . display - swap =- foldVersionRange' anyVersion thisVersion- laterVersion earlierVersion- orLaterVersion orEarlierVersion- (\v _ -> withinVersion v)- (\v _ -> MajorBoundVersion v)- unionVersionRanges intersectVersionRanges id+prop_parse_disp :: VersionRange -> Property+prop_parse_disp vr = counterexample (show (display vr')) $+ fmap s (simpleParse (display vr')) === Just vr'+ .&&.+ fmap s (simpleParsec (display vr')) === Just vr'+ where+ -- we have to strip parens, because arbitrary 'VersionRange' may have+ -- too little parens constructors.+ s = stripParensVersionRange+ vr' = s vr +prop_parse_disp1 :: VersionRange -> Bool+prop_parse_disp1 vr =+ fmap stripParens (simpleParse (display vr)) == Just (normaliseVersionRange vr)+ where stripParens :: VersionRange -> VersionRange stripParens (VersionRangeParens v) = stripParens v stripParens (UnionVersionRanges v1 v2) =@@ -786,13 +771,13 @@ . foldVersionRange' -- precedence: -- All the same as the usual pretty printer, except for the parens ( Disp.text "-any")- (\v -> Disp.text "==" <> disp v)- (\v -> Disp.char '>' <> disp v)- (\v -> Disp.char '<' <> disp v)- (\v -> Disp.text ">=" <> disp v)- (\v -> Disp.text "<=" <> disp v)- (\v _ -> Disp.text "==" <> dispWild v)- (\v _ -> Disp.text "^>=" <> disp v)+ (\v -> Disp.text "==" <<>> disp v)+ (\v -> Disp.char '>' <<>> disp v)+ (\v -> Disp.char '<' <<>> disp v)+ (\v -> Disp.text ">=" <<>> disp v)+ (\v -> Disp.text "<=" <<>> disp v)+ (\v _ -> Disp.text "==" <<>> dispWild v)+ (\v _ -> Disp.text "^>=" <<>> disp v) (\r1 r2 -> r1 <+> Disp.text "||" <+> r2) (\r1 r2 -> r1 <+> Disp.text "&&" <+> r2) (\r -> Disp.parens r) -- parens@@ -801,4 +786,4 @@ dispWild v = Disp.hcat (Disp.punctuate (Disp.char '.') (map Disp.int (versionNumbers v)))- <> Disp.text ".*"+ <<>> Disp.text ".*"
@@ -0,0 +1,475 @@+-- This is Distribution.Extra.Doctest module from cabal-doctest-1.0.4+-- This isn't technically a Custom-Setup script, but it /was/.++{-++Copyright (c) 2017, Oleg Grenrus++All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are met:++ * Redistributions of source code must retain the above copyright+ notice, this list of conditions and the following disclaimer.++ * Redistributions in binary form must reproduce the above+ copyright notice, this list of conditions and the following+ disclaimer in the documentation and/or other materials provided+ with the distribution.++ * Neither the name of Oleg Grenrus nor the names of other+ contributors may be used to endorse or promote products derived+ from this software without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.++-}++{-# LANGUAGE CPP #-}+{-# LANGUAGE OverloadedStrings #-}+-- | The provided 'generateBuildModule' generates 'Build_doctests' module.+-- That module exports enough configuration, so your doctests could be simply+--+-- @+-- module Main where+--+-- import Build_doctests (flags, pkgs, module_sources)+-- import Data.Foldable (traverse_)+-- import Test.Doctest (doctest)+--+-- main :: IO ()+-- main = do+-- traverse_ putStrLn args -- optionally print arguments+-- doctest args+-- where+-- args = flags ++ pkgs ++ module_sources+-- @+--+-- To use this library in the @Setup.hs@, you should specify a @custom-setup@+-- section in the cabal file, for example:+--+-- @+-- custom-setup+-- setup-depends:+-- base >= 4 && <5,+-- cabal-doctest >= 1 && <1.1+-- @+--+-- /Note:/ you don't need to depend on @Cabal@ if you use only+-- 'defaultMainWithDoctests' in the @Setup.hs@.+--+module CabalDoctestSetup (+ defaultMainWithDoctests,+ defaultMainAutoconfWithDoctests,+ addDoctestsUserHook,+ doctestsUserHooks,+ generateBuildModule,+ ) where++-- Hacky way to suppress few deprecation warnings.+#if MIN_VERSION_Cabal(1,24,0)+#define InstalledPackageId UnitId+#endif++import Control.Monad+ (when)+import Data.List+ (nub)+import Data.Maybe+ (maybeToList, mapMaybe)+import Data.String+ (fromString)+import qualified Data.Foldable as F+ (for_)+import qualified Data.Traversable as T+ (traverse)+import qualified Distribution.ModuleName as ModuleName+ (fromString)+import Distribution.ModuleName+ (ModuleName)+import Distribution.Package+ (InstalledPackageId)+import Distribution.Package+ (Package (..), PackageId, packageVersion)+import Distribution.PackageDescription+ (BuildInfo (..), Executable (..), Library (..),+ PackageDescription (), TestSuite (..))+import Distribution.Simple+ (UserHooks (..), autoconfUserHooks, defaultMainWithHooks, simpleUserHooks)+import Distribution.Simple.BuildPaths+ (autogenModulesDir)+import Distribution.Simple.Compiler+ (PackageDB (..), showCompilerId)+import Distribution.Simple.LocalBuildInfo+ (ComponentLocalBuildInfo (componentPackageDeps), LocalBuildInfo (),+ compiler, withExeLBI, withLibLBI, withPackageDB, withTestLBI)+import Distribution.Simple.Setup+ (BuildFlags (buildDistPref, buildVerbosity), fromFlag)+import Distribution.Simple.Utils+ (createDirectoryIfMissingVerbose, findFile, rewriteFile)+import Distribution.Text+ (display, simpleParse)+import System.FilePath+ ((</>), (<.>), dropExtension)++import Data.IORef (newIORef, modifyIORef, readIORef)++#if MIN_VERSION_Cabal(1,25,0)+import Distribution.Simple.BuildPaths+ (autogenComponentModulesDir)+#endif+#if MIN_VERSION_Cabal(2,0,0)+import Distribution.Types.MungedPackageId+ (MungedPackageId)+import Distribution.Types.UnqualComponentName+ (unUnqualComponentName)+#endif++#if MIN_VERSION_directory(1,2,2)+import System.Directory+ (makeAbsolute)+#else+import System.Directory+ (getCurrentDirectory)+import System.FilePath+ (isAbsolute)++makeAbsolute :: FilePath -> IO FilePath+makeAbsolute p | isAbsolute p = return p+ | otherwise = do+ cwd <- getCurrentDirectory+ return $ cwd </> p+#endif++-- | A default main with doctests:+--+-- @+-- import Distribution.Extra.Doctest+-- (defaultMainWithDoctests)+--+-- main :: IO ()+-- main = defaultMainWithDoctests "doctests"+-- @+defaultMainWithDoctests+ :: String -- ^ doctests test-suite name+ -> IO ()+defaultMainWithDoctests = defaultMainWithHooks . doctestsUserHooks++-- | Like 'defaultMainWithDoctests', for 'build-type: Configure' packages.+--+-- @since 1.0.2+defaultMainAutoconfWithDoctests+ :: String -- ^ doctests test-suite name+ -> IO ()+defaultMainAutoconfWithDoctests n =+ defaultMainWithHooks (addDoctestsUserHook n autoconfUserHooks)++-- | 'simpleUserHooks' with 'generateBuildModule' prepended to the 'buildHook'.+doctestsUserHooks+ :: String -- ^ doctests test-suite name+ -> UserHooks+doctestsUserHooks testsuiteName =+ addDoctestsUserHook testsuiteName simpleUserHooks++-- |+--+-- @since 1.0.2+addDoctestsUserHook :: String -> UserHooks -> UserHooks+addDoctestsUserHook testsuiteName uh = uh+ { buildHook = \pkg lbi hooks flags -> do+ generateBuildModule testsuiteName flags pkg lbi+ buildHook uh pkg lbi hooks flags+ }++data Name = NameLib (Maybe String) | NameExe String deriving (Eq, Show)++nameToString :: Name -> String+nameToString n = case n of+ NameLib x -> maybe "" (("_lib_" ++) . map fixchar) x+ NameExe x -> "_exe_" ++ map fixchar x+ where+ -- Taken from Cabal:+ -- https://github.com/haskell/cabal/blob/20de0bfea72145ba1c37e3f500cee5258cc18e51/Cabal/Distribution/Simple/Build/Macros.hs#L156-L158+ --+ -- Needed to fix component names with hyphens in them, as hyphens aren't+ -- allowed in Haskell identifier names.+ fixchar :: Char -> Char+ fixchar '-' = '_'+ fixchar c = c++data Component = Component Name [String] [String] [String]+ deriving Show++-- | Generate a build module for the test suite.+--+-- @+-- import Distribution.Simple+-- (defaultMainWithHooks, UserHooks(..), simpleUserHooks)+-- import Distribution.Extra.Doctest+-- (generateBuildModule)+--+-- main :: IO ()+-- main = defaultMainWithHooks simpleUserHooks+-- { buildHook = \pkg lbi hooks flags -> do+-- generateBuildModule "doctests" flags pkg lbi+-- buildHook simpleUserHooks pkg lbi hooks flags+-- }+-- @+generateBuildModule+ :: String -- ^ doctests test-suite name+ -> BuildFlags -> PackageDescription -> LocalBuildInfo -> IO ()+generateBuildModule testSuiteName flags pkg lbi = do+ let verbosity = fromFlag (buildVerbosity flags)+ let distPref = fromFlag (buildDistPref flags)++ -- Package DBs+ let dbStack = withPackageDB lbi ++ [ SpecificPackageDB $ distPref </> "package.conf.inplace" ]+ let dbFlags = "-hide-all-packages" : packageDbArgs dbStack++ withTestLBI pkg lbi $ \suite suitecfg -> when (testName suite == fromString testSuiteName) $ do+#if MIN_VERSION_Cabal(1,25,0)+ let testAutogenDir = autogenComponentModulesDir lbi suitecfg+#else+ let testAutogenDir = autogenModulesDir lbi+#endif++ createDirectoryIfMissingVerbose verbosity True testAutogenDir++ let buildDoctestsFile = testAutogenDir </> "Build_doctests.hs"++ -- First, we create the autogen'd module Build_doctests.+ -- Initially populate Build_doctests with a simple preamble.+ writeFile buildDoctestsFile $ unlines+ [ "module Build_doctests where"+ , ""+ , "import Prelude"+ , ""+ , "data Name = NameLib (Maybe String) | NameExe String deriving (Eq, Show)"+ , "data Component = Component Name [String] [String] [String] deriving (Eq, Show)"+ , ""+ ]++ -- we cannot traverse, only traverse_+ -- so we use IORef to collect components+ componentsRef <- newIORef []++ let testBI = testBuildInfo suite++ -- TODO: `words` is not proper parser (no support for quotes)+ let additionalFlags = maybe [] words+ $ lookup "x-doctest-options"+ $ customFieldsBI testBI++ let additionalModules = maybe [] words+ $ lookup "x-doctest-modules"+ $ customFieldsBI testBI++ let additionalDirs' = maybe [] words+ $ lookup "x-doctest-source-dirs"+ $ customFieldsBI testBI++ additionalDirs <- mapM (fmap ("-i" ++) . makeAbsolute) additionalDirs'++ -- Next, for each component (library or executable), we get to Build_doctests+ -- the sets of flags needed to run doctest on that component.+ let getBuildDoctests withCompLBI mbCompName compExposedModules compMainIs compBuildInfo =+ withCompLBI pkg lbi $ \comp compCfg -> do+ let compBI = compBuildInfo comp++ -- modules+ let modules = compExposedModules comp ++ otherModules compBI+ -- it seems that doctest is happy to take in module names, not actual files!+ let module_sources = modules++ -- We need the directory with the component's cabal_macros.h!+#if MIN_VERSION_Cabal(1,25,0)+ let compAutogenDir = autogenComponentModulesDir lbi compCfg+#else+ let compAutogenDir = autogenModulesDir lbi+#endif++ -- Lib sources and includes+ iArgsNoPrefix+ <- mapM makeAbsolute+ $ compAutogenDir -- autogenerated files+ : (distPref ++ "/build") -- preprocessed files (.hsc -> .hs); "build" is hardcoded in Cabal.+ : hsSourceDirs compBI+ includeArgs <- mapM (fmap ("-I"++) . makeAbsolute) $ includeDirs compBI+ -- We clear all includes, so the CWD isn't used.+ let iArgs' = map ("-i"++) iArgsNoPrefix+ iArgs = "-i" : iArgs'++ -- default-extensions+ let extensionArgs = map (("-X"++) . display) $ defaultExtensions compBI++ -- CPP includes, i.e. include cabal_macros.h+ let cppFlags = map ("-optP"++) $+ [ "-include", compAutogenDir ++ "/cabal_macros.h" ]+ ++ cppOptions compBI++ -- Unlike other modules, the main-is module of an executable is not+ -- guaranteed to share a module name with its filepath name. That is,+ -- even though the main-is module is named Main, its filepath might+ -- actually be Something.hs. To account for this possibility, we simply+ -- pass the full path to the main-is module instead.+ mainIsPath <- T.traverse (findFile iArgsNoPrefix) (compMainIs comp)++ let all_sources = map display module_sources+ ++ additionalModules+ ++ maybeToList mainIsPath++ let component = Component+ (mbCompName comp)+ (formatDeps $ testDeps compCfg suitecfg)+ (concat+ [ iArgs+ , additionalDirs+ , includeArgs+ , dbFlags+ , cppFlags+ , extensionArgs+ , additionalFlags+ ])+ all_sources++ -- modify IORef, append component+ modifyIORef componentsRef (\cs -> cs ++ [component])++ -- For now, we only check for doctests in libraries and executables.+ getBuildDoctests withLibLBI mbLibraryName exposedModules (const Nothing) libBuildInfo+ getBuildDoctests withExeLBI (NameExe . executableName) (const []) (Just . modulePath) buildInfo++ components <- readIORef componentsRef+ F.for_ components $ \(Component name pkgs flags sources) -> do+ let compSuffix = nameToString name+ pkgs_comp = "pkgs" ++ compSuffix+ flags_comp = "flags" ++ compSuffix+ module_sources_comp = "module_sources" ++ compSuffix++ -- write autogen'd file+ appendFile buildDoctestsFile $ unlines+ [ -- -package-id etc. flags+ pkgs_comp ++ " :: [String]"+ , pkgs_comp ++ " = " ++ show pkgs+ , ""+ , flags_comp ++ " :: [String]"+ , flags_comp ++ " = " ++ show flags+ , ""+ , module_sources_comp ++ " :: [String]"+ , module_sources_comp ++ " = " ++ show sources+ , ""+ ]++ -- write enabled components, i.e. x-doctest-components+ -- if none enabled, pick library+ let enabledComponents = maybe [NameLib Nothing] (mapMaybe parseComponentName . words)+ $ lookup "x-doctest-components"+ $ customFieldsBI testBI++ let components' =+ filter (\(Component n _ _ _) -> n `elem` enabledComponents) components+ appendFile buildDoctestsFile $ unlines+ [ "-- " ++ show enabledComponents+ , "components :: [Component]"+ , "components = " ++ show components'+ ]++ where+ parseComponentName :: String -> Maybe Name+ parseComponentName "lib" = Just (NameLib Nothing)+ parseComponentName ('l' : 'i' : 'b' : ':' : x) = Just (NameLib (Just x))+ parseComponentName ('e' : 'x' : 'e' : ':' : x) = Just (NameExe x)+ parseComponentName _ = Nothing++ -- we do this check in Setup, as then doctests don't need to depend on Cabal+ isOldCompiler = maybe False id $ do+ a <- simpleParse $ showCompilerId $ compiler lbi+ b <- simpleParse "7.5"+ return $ packageVersion (a :: PackageId) < b++ formatDeps = map formatOne+ formatOne (installedPkgId, pkgId)+ -- The problem is how different cabal executables handle package databases+ -- when doctests depend on the library+ --+ -- If the pkgId is current package, we don't output the full package-id+ -- but only the name+ --+ -- Because of MungedPackageId we compare display version of identifiers+ -- not the identifiers themfselves.+ | display (packageId pkg) == display pkgId = "-package=" ++ display pkgId+ | otherwise = "-package-id=" ++ display installedPkgId++ -- From Distribution.Simple.Program.GHC+ packageDbArgs :: [PackageDB] -> [String]+ packageDbArgs | isOldCompiler = packageDbArgsConf+ | otherwise = packageDbArgsDb++ -- GHC <7.6 uses '-package-conf' instead of '-package-db'.+ packageDbArgsConf :: [PackageDB] -> [String]+ packageDbArgsConf dbstack = case dbstack of+ (GlobalPackageDB:UserPackageDB:dbs) -> concatMap specific dbs+ (GlobalPackageDB:dbs) -> ("-no-user-package-conf")+ : concatMap specific dbs+ _ -> ierror+ where+ specific (SpecificPackageDB db) = [ "-package-conf=" ++ db ]+ specific _ = ierror+ ierror = error $ "internal error: unexpected package db stack: "+ ++ show dbstack++ -- GHC >= 7.6 uses the '-package-db' flag. See+ -- https://ghc.haskell.org/trac/ghc/ticket/5977.+ packageDbArgsDb :: [PackageDB] -> [String]+ -- special cases to make arguments prettier in common scenarios+ packageDbArgsDb dbstack = case dbstack of+ (GlobalPackageDB:UserPackageDB:dbs)+ | all isSpecific dbs -> concatMap single dbs+ (GlobalPackageDB:dbs)+ | all isSpecific dbs -> "-no-user-package-db"+ : concatMap single dbs+ dbs -> "-clear-package-db"+ : concatMap single dbs+ where+ single (SpecificPackageDB db) = [ "-package-db=" ++ db ]+ single GlobalPackageDB = [ "-global-package-db" ]+ single UserPackageDB = [ "-user-package-db" ]+ isSpecific (SpecificPackageDB _) = True+ isSpecific _ = False++ mbLibraryName :: Library -> Name+#if MIN_VERSION_Cabal(2,0,0)+ -- Cabal-2.0 introduced internal libraries, which are named.+ mbLibraryName = NameLib . fmap unUnqualComponentName . libName+#else+ -- Before that, there was only ever at most one library per+ -- .cabal file, which has no name.+ mbLibraryName _ = NameLib Nothing+#endif++ executableName :: Executable -> String+#if MIN_VERSION_Cabal(2,0,0)+ executableName = unUnqualComponentName . exeName+#else+ executableName = exeName+#endif++-- | In compat settings it's better to omit the type-signature+testDeps :: ComponentLocalBuildInfo -> ComponentLocalBuildInfo+#if MIN_VERSION_Cabal(2,0,0)+ -> [(InstalledPackageId, MungedPackageId)]+#else+ -> [(InstalledPackageId, PackageId)]+#endif+testDeps xs ys = nub $ componentPackageDeps xs ++ componentPackageDeps ys
@@ -0,0 +1,8 @@+-- This test-suite verifies some custom-setup scripts compile ok+-- so we don't break them by accident, i.e. when breakage can be prevented.+module Main (main) where+import CabalDoctestSetup ()+import IdrisSetup ()++main :: IO ()+main = return ()
@@ -0,0 +1,383 @@+-- This is Setup.hs script from idris-1.1.1++{-++Copyright (c) 2011 Edwin Brady+ School of Computer Science, University of St Andrews+All rights reserved.++This code is derived from software written by Edwin Brady+(eb@cs.st-andrews.ac.uk).++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions+are met:+1. Redistributions of source code must retain the above copyright+ notice, this list of conditions and the following disclaimer.+2. Redistributions in binary form must reproduce the above copyright+ notice, this list of conditions and the following disclaimer in the+ documentation and/or other materials provided with the distribution.+3. None of the names of the copyright holders may be used to endorse+ or promote products derived from this software without specific+ prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN+IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.++*** End of disclaimer. ***++-}++{-# LANGUAGE CPP #-}+{-# OPTIONS_GHC -fno-warn-deprecations #-}+module IdrisSetup (main) where++#if !defined(MIN_VERSION_Cabal)+# define MIN_VERSION_Cabal(x,y,z) 0+#endif++#if !defined(MIN_VERSION_base)+# define MIN_VERSION_base(x,y,z) 0+#endif++import Control.Monad+import Data.IORef+import Control.Exception (SomeException, catch)+import Data.String (fromString)++import Distribution.Simple+import Distribution.Simple.BuildPaths+import Distribution.Simple.InstallDirs as I+import Distribution.Simple.LocalBuildInfo as L+import qualified Distribution.Simple.Setup as S+import qualified Distribution.Simple.Program as P+import Distribution.Simple.Utils (createDirectoryIfMissingVerbose, rewriteFile, notice, installOrdinaryFiles)+import Distribution.Compiler+import Distribution.PackageDescription+import Distribution.Text++import System.Environment+import System.Exit+import System.FilePath ((</>), splitDirectories,isAbsolute)+import System.Directory+import qualified System.FilePath.Posix as Px+import System.Process++-- This is difference from vanilla idris-1.1.1+configConfigurationsFlags :: S.ConfigFlags -> [(FlagName, Bool)]+#if MIN_VERSION_Cabal(2,1,0)+configConfigurationsFlags = unFlagAssignment . S.configConfigurationsFlags+#else+configConfigurationsFlags = S.configConfigurationsFlags+#endif++#if !MIN_VERSION_base(4,6,0)+lookupEnv :: String -> IO (Maybe String)+lookupEnv v = lookup v `fmap` getEnvironment+#endif++-- After Idris is built, we need to check and install the prelude and other libs++-- -----------------------------------------------------------------------------+-- Idris Command Path++-- make on mingw32 exepects unix style separators+#ifdef mingw32_HOST_OS+(<//>) = (Px.</>)+idrisCmd local = Px.joinPath $ splitDirectories $ ".." <//> ".." <//> buildDir local <//> "idris" <//> "idris"+#else+idrisCmd local = ".." </> ".." </> buildDir local </> "idris" </> "idris"+#endif++-- -----------------------------------------------------------------------------+-- Make Commands++-- use GNU make on FreeBSD+#if defined(freebsd_HOST_OS) || defined(dragonfly_HOST_OS)\+ || defined(openbsd_HOST_OS) || defined(netbsd_HOST_OS)+mymake = "gmake"+#else+mymake = "make"+#endif+make verbosity =+ P.runProgramInvocation verbosity . P.simpleProgramInvocation mymake++#ifdef mingw32_HOST_OS+windres verbosity = P.runProgramInvocation verbosity . P.simpleProgramInvocation "windres"+#endif+-- -----------------------------------------------------------------------------+-- Flags++usesGMP :: S.ConfigFlags -> Bool+usesGMP flags =+ case lookup (mkFlagName "gmp") (configConfigurationsFlags flags) of+ Just True -> True+ Just False -> False+ Nothing -> False++execOnly :: S.ConfigFlags -> Bool+execOnly flags =+ case lookup (mkFlagName "execonly") (configConfigurationsFlags flags) of+ Just True -> True+ Just False -> False+ Nothing -> False++isRelease :: S.ConfigFlags -> Bool+isRelease flags =+ case lookup (mkFlagName "release") (configConfigurationsFlags flags) of+ Just True -> True+ Just False -> False+ Nothing -> False++isFreestanding :: S.ConfigFlags -> Bool+isFreestanding flags =+ case lookup (mkFlagName "freestanding") (configConfigurationsFlags flags) of+ Just True -> True+ Just False -> False+ Nothing -> False++#if !(MIN_VERSION_Cabal(2,0,0))+mkFlagName :: String -> FlagName+mkFlagName = FlagName+#endif++-- -----------------------------------------------------------------------------+-- Clean++idrisClean _ flags _ _ = cleanStdLib+ where+ verbosity = S.fromFlag $ S.cleanVerbosity flags++ cleanStdLib = makeClean "libs"++ makeClean dir = make verbosity [ "-C", dir, "clean", "IDRIS=idris" ]++-- -----------------------------------------------------------------------------+-- Configure++gitHash :: IO String+gitHash = do h <- Control.Exception.catch (readProcess "git" ["rev-parse", "--short", "HEAD"] "")+ (\e -> let e' = (e :: SomeException) in return "PRE")+ return $ takeWhile (/= '\n') h++-- Put the Git hash into a module for use in the program+-- For release builds, just put the empty string in the module+generateVersionModule verbosity dir release = do+ hash <- gitHash+ let versionModulePath = dir </> "Version_idris" Px.<.> "hs"+ putStrLn $ "Generating " ++ versionModulePath +++ if release then " for release" else " for prerelease " ++ hash+ createDirectoryIfMissingVerbose verbosity True dir+ rewriteFile versionModulePath (versionModuleContents hash)++ where versionModuleContents h = "module Version_idris where\n\n" +++ "gitHash :: String\n" +++ if release+ then "gitHash = \"\"\n"+ else "gitHash = \"git:" ++ h ++ "\"\n"++-- Generate a module that contains the lib path for a freestanding Idris+generateTargetModule verbosity dir targetDir = do+ let absPath = isAbsolute targetDir+ let targetModulePath = dir </> "Target_idris" Px.<.> "hs"+ putStrLn $ "Generating " ++ targetModulePath+ createDirectoryIfMissingVerbose verbosity True dir+ rewriteFile targetModulePath (versionModuleContents absPath targetDir)+ where versionModuleContents absolute td = "module Target_idris where\n\n" +++ "import System.FilePath\n" +++ "import System.Environment\n" +++ "getDataDir :: IO String\n" +++ if absolute+ then "getDataDir = return \"" ++ td ++ "\"\n"+ else "getDataDir = do \n" +++ " expath <- getExecutablePath\n" +++ " execDir <- return $ dropFileName expath\n" +++ " return $ execDir ++ \"" ++ td ++ "\"\n"+ ++ "getDataFileName :: FilePath -> IO FilePath\n"+ ++ "getDataFileName name = do\n"+ ++ " dir <- getDataDir\n"+ ++ " return (dir ++ \"/\" ++ name)"++-- a module that has info about existence and location of a bundled toolchain+generateToolchainModule verbosity srcDir toolDir = do+ let commonContent = "module Tools_idris where\n\n"+ let toolContent = case toolDir of+ Just dir -> "hasBundledToolchain = True\n" +++ "getToolchainDir = \"" ++ dir ++ "\"\n"+ Nothing -> "hasBundledToolchain = False\n" +++ "getToolchainDir = \"\""+ let toolPath = srcDir </> "Tools_idris" Px.<.> "hs"+ createDirectoryIfMissingVerbose verbosity True srcDir+ rewriteFile toolPath (commonContent ++ toolContent)++idrisConfigure _ flags pkgdesc local = do+ configureRTS+ withLibLBI pkgdesc local $ \_ libcfg -> do+ let libAutogenDir = autogenComponentModulesDir local libcfg+ generateVersionModule verbosity libAutogenDir (isRelease (configFlags local))+ if isFreestanding $ configFlags local+ then do+ toolDir <- lookupEnv "IDRIS_TOOLCHAIN_DIR"+ generateToolchainModule verbosity libAutogenDir toolDir+ targetDir <- lookupEnv "IDRIS_LIB_DIR"+ case targetDir of+ Just d -> generateTargetModule verbosity libAutogenDir d+ Nothing -> error $ "Trying to build freestanding without a target directory."+ ++ " Set it by defining IDRIS_LIB_DIR."+ else+ generateToolchainModule verbosity libAutogenDir Nothing+ where+ verbosity = S.fromFlag $ S.configVerbosity flags+ version = pkgVersion . package $ localPkgDescr local++ -- This is a hack. I don't know how to tell cabal that a data file needs+ -- installing but shouldn't be in the distribution. And it won't make the+ -- distribution if it's not there, so instead I just delete+ -- the file after configure.+ configureRTS = make verbosity ["-C", "rts", "clean"]++#if !(MIN_VERSION_Cabal(2,0,0))+ autogenComponentModulesDir lbi _ = autogenModulesDir lbi+#endif++idrisPreSDist args flags = do+ let dir = S.fromFlag (S.sDistDirectory flags)+ let verb = S.fromFlag (S.sDistVerbosity flags)+ generateVersionModule verb "src" True+ generateTargetModule verb "src" "./libs"+ generateToolchainModule verb "src" Nothing+ preSDist simpleUserHooks args flags++idrisSDist sdist pkgDesc bi hooks flags = do+ pkgDesc' <- addGitFiles pkgDesc+ sdist pkgDesc' bi hooks flags+ where+ addGitFiles :: PackageDescription -> IO PackageDescription+ addGitFiles pkgDesc = do+ files <- gitFiles+ return $ pkgDesc { extraSrcFiles = extraSrcFiles pkgDesc ++ files}+ gitFiles :: IO [FilePath]+ gitFiles = liftM lines (readProcess "git" ["ls-files"] "")++idrisPostSDist args flags desc lbi = do+ Control.Exception.catch (do let file = "src" </> "Version_idris" Px.<.> "hs"+ let targetFile = "src" </> "Target_idris" Px.<.> "hs"+ putStrLn $ "Removing generated modules:\n "+ ++ file ++ "\n" ++ targetFile+ removeFile file+ removeFile targetFile)+ (\e -> let e' = (e :: SomeException) in return ())+ postSDist simpleUserHooks args flags desc lbi++-- -----------------------------------------------------------------------------+-- Build++getVersion :: Args -> S.BuildFlags -> IO HookedBuildInfo+getVersion args flags = do+ hash <- gitHash+ let buildinfo = (emptyBuildInfo { cppOptions = ["-DVERSION="++hash] }) :: BuildInfo+ return (Just buildinfo, [])++idrisPreBuild args flags = do+#ifdef mingw32_HOST_OS+ createDirectoryIfMissingVerbose verbosity True dir+ windres verbosity ["icons/idris_icon.rc","-o", dir++"/idris_icon.o"]+ return (Nothing, [(fromString "idris", emptyBuildInfo { ldOptions = [dir ++ "/idris_icon.o"] })])+ where+ verbosity = S.fromFlag $ S.buildVerbosity flags+ dir = S.fromFlagOrDefault "dist" $ S.buildDistPref flags+#else+ return (Nothing, [])+#endif++idrisBuild _ flags _ local+ = if (execOnly (configFlags local)) then buildRTS+ else do buildStdLib+ buildRTS+ where+ verbosity = S.fromFlag $ S.buildVerbosity flags++ buildStdLib = do+ putStrLn "Building libraries..."+ makeBuild "libs"+ where+ makeBuild dir = make verbosity [ "-C", dir, "build" , "IDRIS=" ++ idrisCmd local]++ buildRTS = make verbosity (["-C", "rts", "build"] +++ gmpflag (usesGMP (configFlags local)))++ gmpflag False = []+ gmpflag True = ["GMP=-DIDRIS_GMP"]++-- -----------------------------------------------------------------------------+-- Copy/Install++idrisInstall verbosity copy pkg local+ = if (execOnly (configFlags local)) then installRTS+ else do installStdLib+ installRTS+ installManPage+ where+ target = datadir $ L.absoluteInstallDirs pkg local copy++ installStdLib = do+ let target' = target -- </> "libs"+ putStrLn $ "Installing libraries in " ++ target'+ makeInstall "libs" target'++ installRTS = do+ let target' = target </> "rts"+ putStrLn $ "Installing run time system in " ++ target'+ makeInstall "rts" target'++ installManPage = do+ let mandest = mandir (L.absoluteInstallDirs pkg local copy) ++ "/man1"+ notice verbosity $ unwords ["Copying man page to", mandest]+ installOrdinaryFiles verbosity mandest [("man", "idris.1")]++ makeInstall src target =+ make verbosity [ "-C", src, "install" , "TARGET=" ++ target, "IDRIS=" ++ idrisCmd local]++-- -----------------------------------------------------------------------------+-- Test++-- There are two "dataDir" in cabal, and they don't relate to each other.+-- When fetching modules, idris uses the second path (in the pkg record),+-- which by default is the root folder of the project.+-- We want it to be the install directory where we put the idris libraries.+fixPkg pkg target = pkg { dataDir = target }++idrisTestHook args pkg local hooks flags = do+ let target = datadir $ L.absoluteInstallDirs pkg local NoCopyDest+ testHook simpleUserHooks args (fixPkg pkg target) local hooks flags++-- -----------------------------------------------------------------------------+-- Main++-- Install libraries during both copy and install+-- See https://github.com/haskell/cabal/issues/709+main = defaultMainWithHooks $ simpleUserHooks+ { postClean = idrisClean+ , postConf = idrisConfigure+ , preBuild = idrisPreBuild+ , postBuild = idrisBuild+ , postCopy = \_ flags pkg local ->+ idrisInstall (S.fromFlag $ S.copyVerbosity flags)+ (S.fromFlag $ S.copyDest flags) pkg local+ , postInst = \_ flags pkg local ->+ idrisInstall (S.fromFlag $ S.installVerbosity flags)+ NoCopyDest pkg local+ , preSDist = idrisPreSDist+ , sDistHook = idrisSDist (sDistHook simpleUserHooks)+ , postSDist = idrisPostSDist+ , testHook = idrisTestHook+ }